diff --git a/.eslintrc.cjs b/.eslintrc.cjs new file mode 100644 index 0000000000..ab6a833602 --- /dev/null +++ b/.eslintrc.cjs @@ -0,0 +1,101 @@ +/* eslint-env node */ + +const CODE_EXT = "js,jsx,cjs,mjs,ts,tsx,cts,mts" +const MARKDOWN_EXT = "md,mdx" + +module.exports = { + root: true, + plugins: ["@graphql-eslint", "mdx", "@typescript-eslint", "tailwindcss"], + overrides: [ + { + files: [`**/*.{${CODE_EXT}}`], + extends: [ + "eslint:recommended", + "plugin:@typescript-eslint/recommended", + "plugin:tailwindcss/recommended", + "prettier", + ], + rules: { + "tailwindcss/classnames-order": "off", + "@typescript-eslint/no-restricted-imports": [ + "error", + { + paths: [ + { + name: "next/image", + message: "Please use `next-image-export-optimizer` instead", + allowTypeImports: true, + }, + ], + }, + ], + "prefer-const": ["error", { destructuring: "all" }], + "prefer-rest-params": "off", + "@typescript-eslint/no-explicit-any": "off", + "@typescript-eslint/no-unused-vars": "off", + "@typescript-eslint/ban-ts-comment": "off", + "@typescript-eslint/no-var-requires": "off", + "@typescript-eslint/ban-types": "off", + }, + settings: { + tailwindcss: { + whitelist: ["roboto-mono"], + }, + }, + }, + { + files: [`**/*.{${MARKDOWN_EXT}}`], + parser: "eslint-mdx", + extends: ["plugin:mdx/recommended"], + processor: "mdx/remark", + parserOptions: { + ecmaVersion: 13, + sourceType: "module", + }, + settings: { + "mdx/code-blocks": true, + "mdx/language-mapper": { + js: "espree", + graphql: "@graphql-eslint/parser", + ts: "@typescript-eslint/parser", + typescript: "@typescript-eslint/parser", + }, + }, + rules: { + "mdx/remark": "error", + }, + }, + { + files: ["**/*.graphql"], + parser: "@graphql-eslint/parser", + rules: { + "@graphql-eslint/no-syntax-errors": "error", + "@graphql-eslint/unique-operation-name": "error", + "@graphql-eslint/unique-fragment-name": "error", + "@graphql-eslint/no-anonymous-operations": "warn", + "@graphql-eslint/lone-anonymous-operation": "error", + "@graphql-eslint/no-duplicate-fields": "error", + "@graphql-eslint/no-unused-fragments": "warn", + "@graphql-eslint/no-duplicate-fragment-names": "error", + "@graphql-eslint/no-undefined-variables": "error", + "@graphql-eslint/unique-variable-names": "error", + }, + }, + { + files: [`**/*.{${CODE_EXT}}`, `**/*.{${MARKDOWN_EXT}}`], + parserOptions: { + plugins: ["graphql"], + }, + }, + { + files: [ + `src/pages/blog/**/*.{${MARKDOWN_EXT}}`, + `src/code/**/*.{${MARKDOWN_EXT}}`, + ], + rules: { + // Disable `remark-lint-first-heading-level` since in blogs we don't want to enforce the first heading to be an `h1` + "mdx/remark": "off", + }, + }, + ], +} diff --git a/.github/ISSUE_TEMPLATE/bug-report.md b/.github/ISSUE_TEMPLATE/bug-report.md new file mode 100644 index 0000000000..13ade362dc --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug-report.md @@ -0,0 +1,32 @@ +--- +name: "Bug Report" +about: Notice something off? Tell us about it here. +labels: bug +--- + + + +### Description + + + +### Steps to Reproduce + + + +### Expected Result + + + +### Actual Result + + + +### Additional Context + + diff --git a/.github/ISSUE_TEMPLATE/code-changes.md b/.github/ISSUE_TEMPLATE/code-changes.md new file mode 100644 index 0000000000..a8e5849bd3 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/code-changes.md @@ -0,0 +1,23 @@ +--- +name: "Code Changes" +about: Tell us more about how you want to improve graphql.org +labels: enhancement +--- + + + +### Description + + + +### Motivation + + + +### Collaboration + + + +### Additional Context + + diff --git a/.github/ISSUE_TEMPLATE/new-faq-question.md b/.github/ISSUE_TEMPLATE/new-faq-question.md new file mode 100644 index 0000000000..d596fb62c0 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/new-faq-question.md @@ -0,0 +1,23 @@ +--- +name: "New FAQ Question" +about: Propose a new question to add to our FAQ page +labels: faq +--- + + + +### Question + + + +### Proposed answer + + + +### Collaboration + + + +### Additional Context + + diff --git a/.github/ISSUE_TEMPLATE/question.md b/.github/ISSUE_TEMPLATE/question.md new file mode 100644 index 0000000000..d45f50dd58 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/question.md @@ -0,0 +1,7 @@ +--- +name: "Question" +about: Ask us anything! +labels: question +--- + + diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000000..8c623d5fb9 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,15 @@ + + +Closes # + +## Description + + diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml new file mode 100644 index 0000000000..6894e33cd7 --- /dev/null +++ b/.github/workflows/check.yml @@ -0,0 +1,25 @@ +name: Lint and check formatting + +on: pull_request + +jobs: + prettier-check: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - uses: the-guild-org/shared-config/setup@main + name: setup env + with: + packageManager: pnpm + workingDirectory: ./ + + - name: Install Dependencies + run: pnpm i + + # Commented out until later PR that changes the ESLint config + # - name: Run ESLint + # run: pnpm lint --quiet + + - name: Run Prettier Check + run: pnpm format:check diff --git a/.github/workflows/conference-sync.yml b/.github/workflows/conference-sync.yml new file mode 100644 index 0000000000..776dc7aa58 --- /dev/null +++ b/.github/workflows/conference-sync.yml @@ -0,0 +1,26 @@ +# Sched's API rate limits are very limited, so we sync non-critical part of the data on a cron. +on: + workflow_dispatch: + # schedule: + # - cron: "*/10 * * * *" # every ten minutes + +jobs: + sync: + runs-on: ubuntu-latest + permissions: + contents: write + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Sync conference data from Sched + run: | + tsx scripts/sync-sched/sync.ts --year 2025 + env: + SCHED_ACCESS_TOKEN_2025: ${{ secrets.SCHED_ACCESS_TOKEN_2025 }} + + - name: Commit changes + uses: stefanzweifel/git-auto-commit-action@v5 + with: + file_pattern: "scripts/sync-sched/*.json" + commit_message: "Sync conference data from Sched" diff --git a/.github/workflows/docs-validation.yml b/.github/workflows/docs-validation.yml new file mode 100644 index 0000000000..77dad776b8 --- /dev/null +++ b/.github/workflows/docs-validation.yml @@ -0,0 +1,64 @@ +# Docs validation workflow runs on each PR on main w/ broken link checker +# and code snippet validation + +name: Docs validation + +on: + pull_request: + branches: + - main + push: + branches: + - main + +jobs: +link-check: + name: Broken link checker + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Set up Node.js + uses: actions/setup-node@v4 + with: + node-version: "20" + cache: "pnpm" + + - name: Install dependencies + run: pnpm install --frozen-lockfile + + - name: Build static site + run: pnpm build + + - name: Set up Rust + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + + - name: Install lychee + run: cargo install lychee + + - name: Check links + run: lychee --verbose --no-progress './out/**/*.html' + +code-validate: + name: Code snippet and GraphQL validation + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-node@v4 + with: + node-version: "20" + cache: "pnpm" + + - name: Install dependencies + run: pnpm install --frozen-lockfile + + - name: Run validation w/ annotations + run: pnpm lint:docs:ci + + - name: Validate code snippets + run: pnpm validate:snippets diff --git a/.gitignore b/.gitignore index aa091beba7..2d422a0b51 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,65 @@ -*.swp -*~ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# nyc test coverage +.nyc_output + +# Compiled binary addons (http://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ + +# Typescript v1 declaration files +typings/ + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# dotenv environment variable files +.env* + +!static/img/__og-image/** +static/img/__og-image/* +!static/img/__og-image/**/*.png + +# Mac files .DS_Store -.nvmrc -node_modules -npm-debug.log -/build/ -.tmp.* \ No newline at end of file +# Swap files +*.swp + +# Codegen stuff +src/__generated__/ + +.idea/ +.next/ +public/sitemap.xml +out/ + +tsconfig.tsbuildinfo diff --git a/.node-version b/.node-version new file mode 100644 index 0000000000..1d9b7831ba --- /dev/null +++ b/.node-version @@ -0,0 +1 @@ +22.12.0 diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000000..6c59086d86 --- /dev/null +++ b/.npmrc @@ -0,0 +1 @@ +enable-pre-post-scripts=true diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000000..e3f467af83 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,11 @@ +public/ +pnpm-lock.yaml +*.mdx +!src/pages/blog/2024-04-11-announcing-new-graphql-website/index.mdx +!src/pages/blog/2024-08-15-graphql-local-initiative.mdx +!src/pages/community/foundation/community-grant.mdx +!src/pages/blog/2025-06-01-graphiql-4/index.mdx +*.jpg + +scripts/sync-sched/*.json +src/github-stats.json diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000000..4041064071 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,22 @@ +{ + "arrowParens": "avoid", + "semi": false, + "singleQuote": false, + "useTabs": false, + "tabWidth": 2, + "overrides": [ + { + "files": "*.svg", + "options": { "parser": "html" } + }, + { + "files": "*.mdx", + "options": { + "proseWrap": "always", + "semi": false, + "trailingComma": "none" + } + } + ], + "plugins": ["prettier-plugin-pkg", "prettier-plugin-tailwindcss"] +} diff --git a/.remarkrc.js b/.remarkrc.js new file mode 100644 index 0000000000..45a8a7eba4 --- /dev/null +++ b/.remarkrc.js @@ -0,0 +1,7 @@ +export default { + plugins: [ + "frontmatter", // Required to parse frontmatter for linting + "remark-lint-first-heading-level", + "remark-lint-heading-increment", + ], +} diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index de27033073..0000000000 --- a/.travis.yml +++ /dev/null @@ -1,13 +0,0 @@ -language: node_js -node_js: 6 - -env: - global: - - secure: "HisahnzlpVlTi239Z80UtqRWYEWUBXyVDYsxX9vxwg332jSxO7Hr6TFmNjghpJPtT/HRjQ/FQ4Cfain2ae2OBi0a1mBNNvOTrfy8/Rvs+FwxlmPolzXKZg1PLx1A9HMlhVkAxYuk5AKv5wLNN3xWzPS9xcHASiCgHE1imq9tuf53tuflNpoAlRT6WVYqxuLluDTbfiTrmjjydfh/iTkYyU7mdfowEyS7+b7ltx8tzGD5Fif1dKBVZEkImxC5KV3oczk5zxIBC/j0SEmd4KLl5NH/kbUcD/mFSgtoKRSW0QwJdwR0I3AurP/D8FlTzVyCwwxMrZfnWjoync1bMJvRbz02KkiICt2lfI0BFo1dDD1yO8lYOhSHcXZRhhEypLu9mho2Cy0zy5zF5PF5t2X8zfGgkQ5eTy6xYCHOAl4eqO9NU2mtpKLdYpXfkBLRTa2e5U+DBqYt8fVXyBR2qVCbpIkg96Hx/FCCKtNlzjyhyTJmyoZr7BxPpHQZkmroieEMfpM7VfF729npf0n6jrfBLwyWFjCFAG9xLey537sUdczEltdWgOuW1rs0KaP4uM1si3S+fNndXLDX70n8BsadnJgq0y1RWAH1y8Y+Pa5cRl0QXQOJUgK4ZcS29+BzZ6RIsFUrAJXHCRdaTDrQNw8CepW443Ke9quwG8IJLCAPV0c=" - -deploy: - skip_cleanup: true - provider: script - script: ./resources/publish.sh - on: - branch: source diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000000..02d49400e5 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,13 @@ +{ + "eslint.format.enable": true, + "editor.formatOnSave": true, + "editor.defaultFormatter": "esbenp.prettier-vscode", + "yaml.schemas": { + "https://json.schemastore.org/github-workflow.json": ".github/workflows/**/*.yml" + }, + "typescript.tsdk": "node_modules/typescript/lib", + "[typescript]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "tailwindCSS.classFunctions": ["clsx"] +} diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000000..06b99b5de1 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,180 @@ +# Contributing to graphql.org + +> This repository is governed by the [GraphQL Code of Conduct](https://graphql.org/codeofconduct). By contributing, you agree to abide by its terms. + +Thanks for taking the time to contribute! The GraphQL community is great because of people like you 🎉 + +There are many ways to get involved. Follow this guide and feel free to [reach out if you have questions](#asking-questions). + +## What's in this document + +- [Development guide](#development-guide) + - [Running the site locally](#running-the-site-locally) + - [Checking for broken links](#checking-for-broken-links) + - [Branching](#branching) + - [Project structure](#project-structure) + - [Publishing the updated site](#publishing-the-updated-site) +- [Updating content](#updating-content) + - [Fix a typo, code sample bug, or formatting](#fix-a-typo-code-sample-bug-or-formatting) + - [Add a library or tool to the Code page](#add-a-library-or-tool-to-the-code-page) + - [Add a resource to the Community page](#add-a-resource-to-the-community-page) + - [Add a question to the FAQ](#add-a-question-to-the-faq) + - [Write a new section or guide](#write-a-new-section-or-guide) +- [Making changes to the code](#making-changes-to-the-code) + - [Browser support](#browser-support) +- [Contributing something else](#contributing-something-else) +- [Asking questions](#asking-questions) + +## Development guide + +### Running the site locally + +First, clone this repository and move into the directory: + +```sh +git clone https://github.com/graphql/graphql.github.io.git +cd graphql.github.io +``` + +Then, use [pnpm](https://pnpm.io) to install and load all the necessary dependencies: + +```sh +pnpm i +``` + +> Note: [pnpm is currently the only way to run the site locally](https://github.com/graphql/graphql.github.io/issues/946). + +Run the `dev` script to launch the server: + +```sh +pnpm dev +``` + +Finally, open http://localhost:3000 to view it in the browser. + +The GraphQL website is built with [Nextra](https://nextra.site). This means that a hot-reloading development environment will be accessible by default. + +### Checking for broken links + +We use [Lychee](https://github.com/lycheeverse/lychee), a Rust-based CLI tool, to check for broken links in our documentation. + +To install Lychee locally: + +1. Install Rust: https://www.rust-lang.org/tools/install +2. After installing Rust, run: + +```bash +cargo install lychee +``` + +With Rust and Lychee installed, run the link checker: `pnpm run check:links`. + +### Branching + +Active development for graphql.org happens on the `source` branch. Be sure to create any new branches or direct any pull requests back to `source`. + +### Project structure + +- `public`: Static files, like images, can be referenced by your code starting from the base URL (`/`) +- `out`: Output files that will be served by a static HTTP server +- `src`: Markdown and the TypeScript/JavaScript files used to generate the website + - `app`: A new App Router built on React Server Components which supports shared layouts, nested routing, loading states, error handling, and more + - `pages`: A file-system based router, when a file is added to the `pages` directory, it's automatically available as a route + - `components`: React components used for pages + +### Publishing the updated site + +Your changes will be merged into the `source` branch. Then, the CI will automatically publish a new version of https://graphql.org via [Vercel](https://vercel.com/docs). + +## Updating content + +### Fix a typo, code sample bug, or formatting + +If you notice something wrong in the text or code samples, please follow our [development guide](#development-guide) to [open a pull request](https://github.com/graphql/graphql.github.io/pulls) with your fix. + +All of the content on https://graphql.org is written and formatted in [Markdown](https://nextra.site/docs/guide/markdown). + +### Add a library, tool, or service to the Code page + +The [Code page](https://graphql.org/code) is a collection of libraries, tools, and services built for GraphQL. + +#### General guidelines + +**Adding a resource:** + +- With rare exceptions, any pull request that adds a new library, tool, or service to the Code page will be accepted. +- Any library should include a few paragraphs describing the usage and offering people a chance to grok the project priorities. +- If there isn't a section already for your programming language, please add it. + +If it isn't a library, tool, or service - then it could go on the [Community page](#add-a-resource-to-the-community-page). If you aren't sure where your resource would fit, you can [open an issue](https://github.com/graphql/graphql.github.io/issues/new) and ask. + +**Removing a resource:** + +- Services that don't work anymore +- Code repositories that are archived +- Projects declared to be abandoned by their maintainers +- Any link that 404s + +We rely on these concrete signals before removing a resource. Even if a project hasn't been released in a few years, that doesn't mean that it's not working. + +#### Workflow + +To add or remove a resource to this page, follow our [development guide](#development-guide) to [open a pull request](https://github.com/graphql/graphql.github.io/pulls). + +The content for this page is located in [various directories under `src/code`](./src/code). Everything is written and formatted in [Markdown](https://nextra.site/docs/guide/markdown). + +### Add a resource to the Community page + +The [Community page](https://graphql.org/community) highlights resources and groups that help people get more involved with GraphQL. + +To add something to this page, follow our [development guide](#development-guide) to [open a pull request](https://github.com/graphql/graphql.github.io/pulls). + +The content for this page is located in a [directory under `src/pages/community`](./src/pages/community). Everything is written and formatted in [Markdown](https://nextra.site/docs/guide/markdown). + +### Add a question to the FAQ + +Our [Frequently Asked Questions (FAQ) page](https://graphql.org/faq) is designed to help answer questions from the community. This page is still in development, so if you think there's a question missing - please [open an issue](https://github.com/graphql/graphql.github.io/issues/new)! It'd be great if you could include both the question and a proposed answer outline in the issue description. + +Once you have approval from a maintainer, use the [development guide](#development-guide) to add your question and answer. The content for the FAQ is located in [`src/pages/faq`](./src/pages/faq). Each section has its own [Markdown](https://nextra.site/docs/guide/markdown) file. + +> Note: All answers in this section should be vendor-neutral and accessible to GraphQL users of all levels. + +When your answer is ready, [open a pull request](https://github.com/graphql/graphql.github.io/pulls). + +### Write a new section or guide + +There are still several [Best Practices guides that no one has written](https://github.com/graphql/graphql.github.io/issues/41) yet. If you want to take one of these, comment on [the original issue](https://github.com/graphql/graphql.github.io/issues/41) and mention which topic you'll work on. + +Then, use our [development guide](#development-guide) to determine where your new page best fits. Our documentation is written and formatted in [Markdown](https://nextra.site/docs/guide/markdown). + +Once it's ready for review, please [open a pull request](https://github.com/graphql/graphql.github.io/pulls). + +## Making changes to the code + +Before diving into any code updates, please [open an issue](https://github.com/graphql/graphql.github.io/issues/new) describing the change(s) you'd like to make. + +If you're working off an [existing issue](https://github.com/graphql/graphql.github.io/issues), follow our [development guide](#development-guide) to make your changes. Once it's ready for review, please [open a pull request](https://github.com/graphql/graphql.github.io/pulls) and reference the original issue. + +### Browser support + +We aim to support the latest stable versions of Chrome, Edge, Firefox, Safari, and Safari on mobile. + +## Contributing something else + +Interested in adding something not covered in this guide? Please [open an issue](https://github.com/graphql/graphql.github.io/issues/new) and tell us all about your idea. + +## Asking questions + +If you run into any problems or have questions while contributing, you're always welcome to [open an issue](https://github.com/graphql/graphql.github.io/issues/new). + +# Opening a PR to contribute your code + +You can also ping our team in the [#website channel on the GraphQL Slack](https://graphql.slack.com/messages/website/). [Get your invite here!](https://graphql-slack.herokuapp.com/) + +This repository is managed by EasyCLA. Project participants must sign the free [GraphQL Specification Membership agreement](https://preview-spec-membership.graphql.org) before making a contribution. You only need to do this one time, and it can be signed by [individual contributors](https://individual-spec-membership.graphql.org) or their [employers](https://corporate-spec-membership.graphql.org). + +To initiate the signature process please open a PR against this repo. The EasyCLA bot will block the merge if we still need a membership agreement from you. + +You can find [detailed information here](https://github.com/graphql/graphql-wg/tree/main/membership). If you have issues, please email operations@graphql.org. + +If your company benefits from GraphQL and you would like to provide essential financial support for the systems and people that power our community, please also consider membership in the [GraphQL Foundation](https://foundation.graphql.org/join). diff --git a/LICENSE b/LICENSE index 4e061975a4..7bbf892a04 100644 --- a/LICENSE +++ b/LICENSE @@ -1,26 +1,21 @@ -LICENSE AGREEMENT For graphql.org software +MIT License -Facebook, Inc. (“Facebook”) owns all right, title and interest, including all -intellectual property and other proprietary rights, in and to the graphql.org -software. Subject to your compliance with these terms, you are hereby granted a -non-exclusive, worldwide, royalty-free copyright license to (1) use and copy the -graphql.org software; and (2) reproduce and distribute the graphql.org software -as part of your own software (“Your Software”). Facebook reserves all rights not -expressly granted to you in this license agreement. +Copyright (c) GraphQL Contributors -THE SOFTWARE AND DOCUMENTATION, IF ANY, ARE PROVIDED "AS IS" AND ANY EXPRESS OR -IMPLIED WARRANTIES (INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE) ARE DISCLAIMED. IN NO -EVENT SHALL FACEBOOK OR ITS AFFILIATES, OFFICES, DIRECTORS OR EMPLOYEES BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF -THE USE OF THE SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -You will include in Your Software (e.g., in the file(s), documentation or other -materials accompanying your software): (1) the disclaimer set forth above; (2) -this sentence; and (3) the following copyright notice: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -Copyright (c) 2015, Facebook, Inc. All rights reserved. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md index 6e43ff7534..f2f2a29b6e 100644 --- a/README.md +++ b/README.md @@ -1,30 +1,66 @@ -# Contributing +# Source Repository for GraphQL.org -Organization gh-pages deploy the `master` branch, so active development occurs -on this `source` branch. +This repository contains the source code for the [GraphQL website](https://graphql.org). -The site is written in JS and Markdown files in `site/`. +You can find more discussions on the #website channel on [the GraphQL Discord](https://discord.graphql.org). -The site chrome are all in JS files in `site/_core/`. +## Table of Contents -### Making changes +- [Overview](#overview) +- [Documentation](#documentation) +- [Deployment](#deployment) +- [How to Contribute](#how-to-contribute) +- [CLA Process](#cla-process) +- [Financial Support](#financial-support) -The first time, get all the dependencies loaded via +## Overview -``` -npm install -``` +**GraphQL** is a query language for APIs and a runtime for fulfilling those queries with your existing data. It provides: -Then, run the server via +- a complete and understandable description of the data in your API, +- support for powerful developer tooling, and +- precise querying, which offers several benefits: + - clients request only the data they need, improving efficiency; + - new fields and features can be added without impacting existing clients; and + - field-level usage can be tracked and monitored for insights and optimization. -``` -npm start -Open http://localhost:8444/ -``` +The [GraphQL Specification](https://spec.graphql.org/) is open source and governed by the [GraphQL Foundation](https://foundation.graphql.org/). -Anytime you change the contents, just refresh the page and it's going to be updated. +## Documentation -### Publish the Website +- [GraphQL Website](https://graphql.org/) +- [Reference Documentation](https://graphql.org/learn/) +- [Language Support, Tools, and Services](https://graphql.org/code/) +- [Frequently Asked Questions (FAQ)](https://graphql.org/faq/) +- [Community Resources](https://graphql.org/community/) -Once pushed to the `source` branch, Travis CI will publish http://graphql.org/ +## Deployment +The website is deployed via [Vercel](https://vercel.com) on merges to the `source` branch. To preview changes locally, follow these steps: + +1. Clone the repository: + `git clone https://github.com/graphql/graphql.github.io.git` + `cd graphql.github.io` +2. Install dependencies: + `npm install` +3. Run the site locally: + `npm run dev` + +## How to Contribute + +We welcome contributions! 🎉 Please refer to our [contributing guide](./CONTRIBUTING.md) for detailed instructions on how to make changes to the GraphQL website. + +### CLA Process + +Before contributing, all participants must sign the free [GraphQL Specification Membership Agreement](https://preview-spec-membership.graphql.org). You only need to do this once, and it can be signed by: + +- [Individual contributors](http://individual-spec-membership.graphql.org/) +- [Employers](http://corporate-spec-membership.graphql.org/) + +To initiate the signature process, please open a PR against this repository. The EasyCLA bot will block the merge if the membership agreement has not been signed. + +For more information on the CLA, check out the [detailed instructions here](https://github.com/graphql/graphql-wg/tree/main/membership). If you encounter any issues, please contact us at [operations@graphql.org](mailto:operations@graphql.org). + +## Join the Foundation! + +If your company benefits from GraphQL and you would like to provide essential financial support for the systems and people that power our community, please consider becoming a member of the [GraphQL Foundation](https://foundation.graphql.org/join). diff --git a/generate-videos-mappings.py b/generate-videos-mappings.py new file mode 100644 index 0000000000..fbdde5e56b --- /dev/null +++ b/generate-videos-mappings.py @@ -0,0 +1,77 @@ +import os +import googleapiclient.discovery +import googleapiclient.errors +from dotenv import load_dotenv + + +load_dotenv(dotenv_path='.env.development') + +api_service_name = "youtube" +api_version = "v3" +api_key = os.getenv("YOUTUBE_ACCESS_TOKEN") + +youtube = googleapiclient.discovery.build( + api_service_name, api_version, developerKey=api_key) + +def get_videos(channel_id, max_results_per_page=50): + videos = [] + page_token = None # Start with no pageToken + total_fetched = 0 # Keep track of the total number of fetched videos + + while total_fetched < 200: # Keep looping until 200 videos have been fetched + request = youtube.search().list( + part="snippet", + channelId=channel_id, + maxResults=max_results_per_page, + order="date", + type="video", + pageToken=page_token # Include the current pageToken + ) + + response = request.execute() + + for item in response.get("items", []): + if total_fetched >= 200: + break # Break out of the loop if 200 videos have been fetched + + video_id = item["id"]["videoId"] + title = item["snippet"]["title"] + videos.append({'id': video_id, 'title': title}) + total_fetched += 1 # Increment the total_fetched count + + page_token = response.get("nextPageToken") # Get the next pageToken + + if not page_token: + break # Exit the loop if there are no more pages + + return videos + +def get_channel_id(channel_name): + request = youtube.search().list( + part="snippet", + q=channel_name, + type="channel", + maxResults=1 + ) + response = request.execute() + items = response.get("items", []) + if items: + return items[0]["snippet"]["channelId"] + else: + return None + +channel_name = "GraphQLFoundation" +channel_id = get_channel_id(channel_name) + +if channel_id: + videos = get_videos(channel_id) + + + with open('videos.ts', 'w') as f: + f.write('export const videos = [\n') + for video in videos: + f.write(f" {{ id: '{video['id']}', title: `{video['title']}` }},\n") + f.write('];\n') + print("JS file has been written with video information!") +else: + print(f"No channel found with name {channel_name}") \ No newline at end of file diff --git a/next-env.d.ts b/next-env.d.ts new file mode 100644 index 0000000000..725dd6f245 --- /dev/null +++ b/next-env.d.ts @@ -0,0 +1,6 @@ +/// +/// +/// + +// NOTE: This file should not be edited +// see https://nextjs.org/docs/app/building-your-application/configuring/typescript for more information. diff --git a/next-sitemap.config.js b/next-sitemap.config.js new file mode 100644 index 0000000000..b7f1b427aa --- /dev/null +++ b/next-sitemap.config.js @@ -0,0 +1,8 @@ +/* eslint-env node */ + +/** @type {import('next-sitemap').IConfig} */ +export default { + siteUrl: process.env.SITE_URL || "https://graphql.org/", + generateIndexSitemap: false, + output: "export", // Set static output here +} diff --git a/next.config.js b/next.config.js new file mode 100644 index 0000000000..24baa11c51 --- /dev/null +++ b/next.config.js @@ -0,0 +1,132 @@ +/* eslint-env node */ + +import nextra from "nextra" +import path from "node:path" +import withLess from "next-with-less" +import { remarkGraphiQLComment } from "./src/remark-graphiql-comment.js" +import fs from "fs" + +const vercelJSON = JSON.parse(fs.readFileSync("./vercel.json", "utf-8")) + +const withNextra = nextra({ + theme: "nextra-theme-docs", + themeConfig: "./theme.config.tsx", + mdxOptions: { + remarkPlugins: [remarkGraphiQLComment], + }, +}) + +const sep = path.sep === "/" ? "/" : "\\\\" + +const ALLOWED_SVG_REGEX = new RegExp(`${sep}icons${sep}.+\\.svg$`) + +/** + * @type {import('next').NextConfig} + */ +export default withLess( + withNextra({ + // reactStrictMode: true, provoke duplicated codemirror editors + webpack(config) { + const fileLoaderRule = config.module.rules.find(rule => + rule.test?.test?.(".svg"), + ) + + fileLoaderRule.exclude = /\.svg$/i + + config.module.rules.push( + // All .svg from /icons/ and with ?svgr are going to be processed by @svgr/webpack + { + test: ALLOWED_SVG_REGEX, + use: ["@svgr/webpack"], + }, + { + test: /\.svg$/i, + exclude: ALLOWED_SVG_REGEX, + resourceQuery: /svgr/, + use: [ + { + loader: "@svgr/webpack", + options: { + dimensions: false, // **adds** viewBox. + }, + }, + ], + }, + // Otherwise, we use the default file loader + { + ...fileLoaderRule, + test: /\.svg$/i, + exclude: ALLOWED_SVG_REGEX, + resourceQuery: { + not: [...fileLoaderRule.resourceQuery.not, /svgr/], + }, + }, + ) + + return config + }, + output: "export", + images: { + loader: "custom", + imageSizes: [16, 32, 48, 64, 96, 128, 256, 384], + deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840], + }, + transpilePackages: ["next-image-export-optimizer"], + env: { + nextImageExportOptimizer_imageFolderPath: "public/images", + nextImageExportOptimizer_exportFolderPath: "out", + nextImageExportOptimizer_quality: "75", + nextImageExportOptimizer_storePicturesInWEBP: "true", + nextImageExportOptimizer_exportFolderName: "nextImageExportOptimizer", + // If you do not want to use blurry placeholder images, then you can set + // nextImageExportOptimizer_generateAndUseBlurImages to false and pass + // `placeholder="empty"` to all components. + nextImageExportOptimizer_generateAndUseBlurImages: "true", + // If you want to cache the remote images, you can set the time to live of the cache in seconds. + // The default value is 0 seconds. + nextImageExportOptimizer_remoteImageCacheTTL: "0", + NEXT_PUBLIC_GA_ID: + process.env.NODE_ENV === "production" ? "UA-44373548-16" : "", + }, + headers: async () => { + return [ + { + source: "/graphql", + headers: [ + { + key: "Access-Control-Allow-Origin", + value: "*", + }, + { + key: "Access-Control-Allow-Methods", + value: "GET, POST, OPTIONS", + }, + { + key: "Access-Control-Allow-Headers", + value: "Content-Type", + }, + ], + }, + ] + }, + trailingSlash: true, + // Only for local development, skip 200 statusCode due following error: + // + // `statusCode` is not undefined or valid statusCode for route {"source":"/conf/attendee/:path*","destination":"https://graphql-conf-attendee-nextjs.vercel.app/:path*","statusCode":200} + // `statusCode` is not undefined or valid statusCode for route {"source":"/swapi-graphql/:path*","destination":"https://graphql.github.io/swapi-graphql/:path*","statusCode":200} + // Valid redirect statusCode values are 301, 302, 303, 307, 308 + redirects: () => vercelJSON.redirects.filter(o => o.statusCode !== 200), + async rewrites() { + return [ + { + source: "/swapi-graphql/:path*", + destination: "https://swapi-graphql.netlify.app/:path*", + }, + { + source: "/graphql", + destination: "https://swapi-graphql.netlify.app/graphql", + }, + ] + }, + }), +) diff --git a/notes/ContributingToCodePage.md b/notes/ContributingToCodePage.md new file mode 100644 index 0000000000..89af8d680b --- /dev/null +++ b/notes/ContributingToCodePage.md @@ -0,0 +1,79 @@ +# Contributing to the Code Page + +Hi, thanks for reading the docs! + +Secondly, we want to provide a really strong overview of all the libraries in the GraphQL eco-system. To make this +easy for contributors the code page is automatically generated from a series of markdown files in this repo. + +```sh +$ tree src/code +src/code +├── language-support +│ ├── c-c +│ │ └── tools +│ │ └── libgraphqlparser.md +│ ├── clojure +│ │ ├── client +│ │ │ └── regraph.md +│ │ └── server +│ │ ├── alumbra.md +│ │ ├── graphql-clj.md +│ │ └── lacinia.md +│ ├── c-net +│ │ ├── client +│ │ │ ├── graphql-client.md +│ │ │ ├── graphql-net-client.md +│ │ │ └── sahb-graphqlclient.md +// etc +``` + +We'd love any new project to include a few paragraphs describing its goals and usage, the goal here is to make it easy for people to decide between options. + +Here's an optimal example of what we're looking for: + +- It uses yaml frontmatter to provide additional information like repo, npm +- It explains itself in the 'description' then fills fleshes out that description with some code samples + +````md +--- +name: Express GraphQL +description: The reference implementation of a GraphQL API server over an Express webserver. You can use this to run GraphQL in conjunction with a regular Express webserver, or as a standalone GraphQL server. +url: /graphql-js/running-an-express-graphql-server/ +github: graphql/graphql-http +npm: "graphql-http" +--- + +To run an `graphql-http` hello world server: + +```sh +npm install express graphql-http graphql +``` + +Then run `node server.js` with this code in `server.js`: + +```js +var express = require("express") +var { createHandler } = require("graphql-http/lib/use/express") +var { buildSchema } = require("graphql") + +var schema = buildSchema(/* GraphQL */ ` + type Query { + hello: String + } +`) + +var root = { hello: () => "Hello world!" } + +var app = express() +app.all( + "/graphql", + createHandler({ + schema: schema, + rootValue: root, + }), +) +app.listen(4000, () => console.log("Now browse to localhost:4000/graphql")) +``` +```` + +Any library/tool/service has a maximum height in the site, and then it can be expanded by clicking, so if you need quite a lot of space to explain your project then that's OK. diff --git a/notes/NewSiteArchitecture.md b/notes/NewSiteArchitecture.md index fb5bed0d79..09cfeeb506 100644 --- a/notes/NewSiteArchitecture.md +++ b/notes/NewSiteArchitecture.md @@ -2,172 +2,173 @@ ## Index -*Goal:* This is the landing page and is our opportunity to quickly capture attention and explain what GraphQL is and why you should care. +_Goal:_ This is the landing page and is our opportunity to quickly capture attention and explain what GraphQL is and why you should care. -*Timeframe:* Launch Mon, Sept 12th +_Timeframe:_ Launch Mon, Sept 12th This page is effectively a marketing page for GraphQL and should be the visual, scrollable version of the "Introducing GraphQL" conference talks and should be rich with visual metaphor and illustration and take advantage of whitespace to make individual salient points. -Above the fold, this page should succinctly explain what GraphQL is and illustrate with a simple (editable) query/response example. Before scrolling you should understand the following: +Above the fold, this page should succinctly explain what GraphQL is and illustrate with a simple (editable) query/response example. Before scrolling, you should understand the following: -* GraphQL solves the same problem as REST. -* GraphQL is an query language for APIs (and not Databases). -* GraphQL is sent by client applications, such as an iOS app. -* GraphQL is evaluated by a web service and often returned as JSON. -* GraphQL services provide a complete description of your data with a type system. -* It's easy to build powerful tools for your data using GraphQL. +- GraphQL solves the same problem as REST. +- GraphQL is a query language for APIs (and not Databases). +- GraphQL is sent by client applications, such as an iOS app. +- GraphQL is evaluated by a web service and often returned as JSON. +- GraphQL services provide a complete description of your data with a type system. +- It's easy to build powerful tools for your data using GraphQL. Below the fold we should introduce concepts one at a time, each with visual metaphor and take-aways: -1) GraphQL clients describe what they need in terms of how client developers think about data. +1. GraphQL clients describe what they need in terms of how client developers think about data. -* If you're familiar with JSON, GraphQL is easy to learn and understand. -* GraphQL only sends what you ask for, nothing more or less, making your app faster and more stable. -* It's easy to anticipate the shape of the result of any query. +- If you're familiar with JSON, GraphQL is easy to learn and understand. +- GraphQL only sends what you ask for, nothing more or less, making your app faster and more stable. +- It's easy to anticipate the shape of the result of any query. -2) GraphQL queries can access many "resources" in a single network request. +2. GraphQL queries can access many "resources" in a single network request. -* A query can access properties of not just one object, but of many related objects. -* A query can access multiple unrelated objects at once. -* Compared to REST, GraphQL collects all the data needed for your app with much less network activity, making your app faster. +- A query can access properties of not just one object, but of many related objects. +- A query can access multiple unrelated objects at once. +- Compared to REST, GraphQL collects all the data needed for your app with much less network activity, making your app faster. -3) GraphQL services describes what's possible with a strong type system. +3. GraphQL services describes what's possible with a strong type system. -* GraphQL services provide a complete description of your data. -* Every `{ }` corresponds to an object of a particular type, and every type describes the fields available. -* GraphQL only runs queries that make sense and provides helpful error messages. -* Tools and IDEs can make editing queries easy via type-aheads. - * GraphiQL is a free tool that you can use. -* Type system defines descriptions, making it easy to keep documentation up to date. -* Every query guarantees the shape and type of its response. +- GraphQL services provide a complete description of your data. +- Every `{ }` corresponds to an object of a particular type, and every type describes the fields available. +- GraphQL only runs queries that make sense and provides helpful error messages. +- Tools and IDEs can make editing queries easy via type-aheads. + - GraphiQL is a free tool that you can use. +- Type system defines descriptions, making it easy to keep documentation up to date. +- Every query guarantees the shape and type of its response. -4) GraphQL is composable via fragments. +4. GraphQL is composable via fragments. -* Fragments describe a portion of some Type to be queried. -* Fragments are often used next to View code where data is used. -* Fragments are composed together to create full queries. +- Fragments describe a portion of some Type to be queried. +- Fragments are often used next to View code where data is used. +- Fragments are composed together to create full queries. -5) GraphQL makes backwards-compatible APIs easy. +5. GraphQL makes backwards-compatible APIs easy. -* Server does not need to worry about concerns of any particular client, only the complete set of capabilities. Clients are responsible for the data they receive. -* Because GraphQL only sends what you ask for, new capabilities can be introduced via new fields on types with no impact on existing queries. -* Old capabilities can be marked "deprecated" with no impact on existing queries. -* No versioning your API when using GraphQL leads to cleaner code on the server. +- Server does not need to worry about concerns of any particular client, only the complete set of capabilities. Clients are responsible for the data they receive. +- Because GraphQL only sends what you ask for, new capabilities can be introduced via new fields on types with no impact on existing queries. +- Old capabilities can be marked "deprecated" with no impact on existing queries. +- No versioning your API when using GraphQL leads to cleaner code on the server. -6) GraphQL queries are answered by simple functions on your server. +6. GraphQL queries are answered by simple functions on your server. -* GraphQL is not backed by any database technology, just like REST. -* Every field on each type is represented by a function for retrieving that data. -* GraphQL will call your functions and execute a query with optimal concurrency. -* It's easy to write a GraphQL API using your existing data model. +- GraphQL is not backed by any database technology, just like REST. +- Every field on each type is represented by a function for retrieving that data. +- GraphQL will call your functions and execute a query with optimal concurrency. +- It's easy to write a GraphQL API using your existing data model. Finally, there will be a set of links for learning more (diving into `Learn`) and for getting started (in `Code`). As well as a wall-o-logo for companies using GraphQL. ## Learn -*Goal:* Introduce GraphQL, one concept at a time, covering both primary concepts and best practices. +_Goal:_ Introduce GraphQL, one concept at a time, covering both primary concepts and best practices. -*Timeframe:* Basic primary concepts by Sept 12th, advanced primary concepts by Sept 30th, best practices as ready over Q3/Q4. +_Timeframe:_ Basic primary concepts by Sept 12th, advanced primary concepts by Sept 30th, best practices as ready over Q3/Q4. Where "GraphQL the Spec" is designed for a specific audience of those building GraphQL servers, this represents "GraphQL the Book" and is designed for the audience of anyone who wishes to use GraphQL. It should cover both GraphQL core concepts in addition to best practices and further topics, and it should range from introductory concepts through advanced concepts. The landing page for this section should begin as a more information-rich introduction to GraphQL, explaining why you might use it, and give a brief overview of the constituent parts. Take-aways from this introduction page: -* GraphQL is a query language. -* GraphQL servers describe a type system, called a "schema". -* Clients can access a GraphQL server's type system to learn about what's possible. -* Clients send queries to servers and typically get back JSON. -* GraphQL servers validate and execute GraphQL queries. +- GraphQL is a query language. +- GraphQL servers describe a type system, called a "schema". +- Clients can access a GraphQL server's type system to learn about what's possible. +- Clients send queries to servers and typically get back JSON. +- GraphQL servers validate and execute GraphQL queries. There is then a TOC through the sections and chapters (this is a straw-man list, open to reordering and addition) -* Introducing GraphQL (this initial page) -* Core Concepts: - * Requests: - * Basics (queries & mutations, fields, arguments, aliases, comments) - * Variables - * Fragments - * Values - * Directives (skip & include) - * Type System: - * Basics (Schema, Objects & Fields) - * Scalars & Enums - * Lists & NonNull (mention error handling) - * Interfaces & Unions - * How GraphQL Works: - * Validation - * Execution & Error Handling - * Introspection -* Best Practices: - * Servers: - * Serving over HTTP - * Authentication & Authorization - * Mutations - * Paginating Lists - * Schema Changes & Versioning - * Query Performance (Batching & Caching) - * Security & Rate Limiting - * Schema Design Guidelines - * Clients: - * Using Variables - * Co-locating Fragments - * Caching Results - * Persisted Queries - * Generating Models - * Migrating from REST +- Introducing GraphQL (this initial page) +- Core Concepts: + - Requests: + - Basics (queries & mutations, fields, arguments, aliases, comments) + - Variables + - Fragments + - Values + - Directives (skip & include) + - Type System: + - Basics (Schema, Objects & Fields) + - Scalars & Enums + - Lists & NonNull (mention error handling) + - Interfaces & Unions + - How GraphQL Works: + - Validation + - Execution & Error Handling + - Introspection +- Best Practices: + - Servers: + - Serving over HTTP + - Authentication & Authorization + - Mutations + - Paginating Lists + - Schema Changes & Versioning + - Query Performance (Batching & Caching) + - Security & Rate Limiting + - Schema Design Guidelines + - Clients: + - Using Variables + - Co-locating Fragments + - Caching Results + - Persisted Queries + - Generating Models + - Migrating from REST ## Code -*Goal:* Introduce open source GraphQL tools along with quick getting started guidelines for each. +_Goal:_ Introduce open source GraphQL tools along with quick getting started guidelines for each. -*Timeframe:* At least 3 servers described by Sept 12th, remainder by Sept 30th. +_Timeframe:_ At least 3 servers described by Sept 12th, remainder by Sept 30th. This page is all about fulfilling the "Ok I'm sold! Now what?" conundrum. It should first very quickly reintroduce the elements of GraphQL you would expect to see software for as well as offer a quick path towards getting something working. -1) Servers +1. Servers Explain the purpose of a GraphQL server, that there are servers written for many different languages and environments, and that graphql-js is the reference implementation operated by Facebook. Each server should contain the following: -* Logo -* Name of Project -* Language/Environment -* Link to website -* Getting started (e.g. npm install + code sample) -2) Clients +- Logo +- Name of Project +- Language/Environment +- Link to website +- Getting started (e.g. npm install + code sample) + +2. Clients Explain the purpose of a GraphQL client, that it's okay to just use curl/XHR/fetch, and that clients can offer more value via smart caches and integration with UI frameworks. Each client should contain similar set of info as servers. -3) Services +3. Services Hosted GraphQL-as-a-service have an opportunity to pitch themselves here. -4) Tools +4. Tools Common tools used by GraphQL community, e.g. GraphiQL. ## Community -*Goal:* Central dispatch for finding help for GraphQL questions, learning about conferences and meetups, and connecting with the community. +_Goal:_ Central dispatch for finding help for GraphQL questions, learning about conferences and meetups, and connecting with the community. -*Timeframe:* Simple version by Sept 12th, evolve over time. +_Timeframe:_ Simple version by Sept 12th, evolve over time. This page should serve as a high-level view of what resources are available and what's going on in the community. It should encourage pull-requests to facilitate being updated by the community over time. -* Links out to: - * Stack Overflow topic - * Slack/Discord channels - * Popular blogs - * Twitter feed -* Calendar of upcoming meetups or conference talks related to GraphQL (encourage edits by community) -* Grid of recorded videos about GraphQL (conf talks, etc). +- Links out to: + - Stack Overflow topic + - Slack/Discord channels + - Popular blogs + - Twitter feed +- Calendar of upcoming meetups or conference talks related to GraphQL (encourage edits by community) +- Grid of recorded videos about GraphQL (conf talks, etc.). ## Blog -*Goal:* GraphQL core team's blog, signal-boosting popular articles written elsewhere. +_Goal:_ GraphQL core team's blog, signal-boosting popular articles written elsewhere. While any evergreen content typically belongs as chapters in the "Learn" section, the Blog is an opportunity for GraphQL core team members or occasional invited contributors to discuss experiments, interesting applications, or signal-boost things like new releases of the GraphQL spec, the reference implementation, upcoming events, or links out to interesting articles. diff --git a/package.json b/package.json index 1d1ab5ebd6..b7d60df083 100644 --- a/package.json +++ b/package.json @@ -1,41 +1,98 @@ { - "repository": "graphql/graphql.github.io", - "private": true, "version": "0.0.0", + "type": "module", + "repository": "graphql/graphql.github.io website", + "private": true, + "packageManager": "pnpm@9.15.2", "scripts": { - "start": "rm -rf build && babel-node resources/server.js", - "build": "rm -rf build && babel-node resources/build.js", - "watch": "rm -rf build && babel-node resources/watch.js", - "test": "npm run build" - }, - "babel": { - "optional": [ - "es7.asyncFunctions", - "es7.objectRestSpread" - ] + "build": "next build && next-image-export-optimizer", + "check:links": "lychee --verbose --no-progress './src/pages/**/*.mdx' --base https://graphql.org", + "dev": "next", + "format": "pnpm format:check --write", + "format:check": "prettier --cache --check .", + "lint": "eslint --ignore-path .gitignore .", + "lint:docs": "eslint --ignore-path .gitignore src/pages/learn --format stylish", + "lint:docs:ci": "eslint --ignore-path .gitignore src/pages/learn --format eslint-formatter-github", + "postbuild": "next-sitemap", + "prebuild": "tsx src/get-github-info.ts", + "start": "next start", + "test": "echo \"no tests\" && exit 1", + "validate:snippets": "node scripts/validate-snippets.js" }, - "site": { - "source": "./site", - "build": "./build" + "dependencies": { + "@graphql-tools/schema": "10.0.15", + "@headlessui/react": "^1.7.17", + "@radix-ui/react-radio-group": "^1.1.3", + "@tailwindcss/container-queries": "^0.1.1", + "@tailwindcss/nesting": "0.0.0-insiders.565cd3e", + "@tailwindcss/typography": "^0.5.10", + "autoprefixer": "^10.4.17", + "clsx": "^2.1.0", + "codemirror": "^5.65.19", + "codemirror-graphql": "1.3.2", + "date-fns": "^2.30.0", + "fast-glob": "^3.3.2", + "graphql": "16.10.0", + "gray-matter": "^4.0.3", + "hast-util-to-string": "3.0.1", + "iframe-resizer-react": "^1.1.0", + "leaflet": "^1.9.4", + "lucide-react": "^0.469.0", + "markdown-to-jsx": "^7.4.0", + "marked": "5.1.2", + "motion": "^12.11.0", + "next": "^14.2.5", + "next-image-export-optimizer": "^1.12.3", + "next-query-params": "^5.0.0", + "next-sitemap": "^4.2.3", + "next-with-less": "^3.0.1", + "nextra": "3.0.0-alpha.28", + "nextra-theme-docs": "3.0.0-alpha.28", + "numbro": "2.5.0", + "p-limit": "^4.0.0", + "parser-front-matter": "1.6.4", + "postcss": "^8.4.33", + "react": "^18.3.1", + "react-dom": "^18.3.1", + "react-medium-image-zoom": "5.2.13", + "react-use-measure": "^2.1.7", + "rss": "1.2.2", + "server-only": "0.0.1", + "string-similarity": "^4.0.4", + "string-strip-html": "^13.4.5", + "tailwindcss": "^3.4.1", + "timeago.js": "4.0.2", + "unified": "11.0.5", + "unist-util-visit": "^5.0.0", + "use-query-params": "^2.2.1" }, "devDependencies": { - "babel": "^5.8.23", - "babel-core": "^5.8.23", - "babel-loader": "^5.3.2", - "babel-runtime": "^5.8.20", - "express": "^4.13.3", - "js-yaml": "^3.4.0", - "less": "^2.7.1", - "react": "15.3.1", - "react-dom": "15.3.1", - "sane": "^1.2.0", - "webpack": "^1.12.1" + "@graphql-eslint/eslint-plugin": "4.3.0", + "@svgr/webpack": "^8.0.1", + "@types/codemirror": "5.60.7", + "@types/hast": "3.0.4", + "@types/node": "^22.10.2", + "@types/react": "^18.2.73", + "@types/rss": "0.0.32", + "@types/string-similarity": "^4.0.2", + "@typescript-eslint/eslint-plugin": "7.18.0", + "@typescript-eslint/parser": "7.18.0", + "eslint": "8.57.1", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-mdx": "^3.1.5", + "eslint-plugin-tailwindcss": "3.17.5", + "prettier": "3.4.2", + "prettier-plugin-pkg": "^0.18.1", + "prettier-plugin-tailwindcss": "^0.6.9", + "remark-frontmatter": "5.0.0", + "remark-lint-first-heading-level": "3.1.2", + "remark-lint-heading-increment": "3.1.2", + "tsx": "^4.7.0", + "typescript": "^5.4.3" }, - "dependencies": { - "codemirror": "^5.6.0", - "codemirror-graphql": "^0.5.7", - "graphql": "^0.7.0", - "graphql-tools": "^0.6.6", - "marked": "^0.3.5" + "pnpm": { + "patchedDependencies": { + "nextra@3.0.0-alpha.28": "patches/nextra@3.0.0-alpha.22.patch" + } } } diff --git a/patches/nextra@3.0.0-alpha.22.patch b/patches/nextra@3.0.0-alpha.22.patch new file mode 100644 index 0000000000..09f7508769 --- /dev/null +++ b/patches/nextra@3.0.0-alpha.22.patch @@ -0,0 +1,11 @@ +diff --git a/dist/client/mdx.js b/dist/client/mdx.js +index af0891e3c2084edd326f40e6e18107b193640e0b..885858fa17285fb75649cf0ebd2576d1411c1076 100644 +--- a/dist/client/mdx.js ++++ b/dist/client/mdx.js +@@ -1,5 +1,5 @@ + import { useMDXComponents as originalUseMDXComponents } from "@mdx-js/react"; +-import Image from "next/image"; ++import Image from "next-image-export-optimizer"; + import { createElement } from "react"; + const DEFAULT_COMPONENTS = { + img: (props) => createElement( diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000000..c2cde5d2db --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,10335 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +patchedDependencies: + nextra@3.0.0-alpha.28: + hash: rggcgtpcrgz5zyoxmhwje4p6rm + path: patches/nextra@3.0.0-alpha.22.patch + +importers: + + .: + dependencies: + '@graphql-tools/schema': + specifier: 10.0.15 + version: 10.0.15(graphql@16.10.0) + '@headlessui/react': + specifier: ^1.7.17 + version: 1.7.19(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-radio-group': + specifier: ^1.1.3 + version: 1.2.2(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tailwindcss/container-queries': + specifier: ^0.1.1 + version: 0.1.1(tailwindcss@3.4.17) + '@tailwindcss/nesting': + specifier: 0.0.0-insiders.565cd3e + version: 0.0.0-insiders.565cd3e(postcss@8.4.49) + '@tailwindcss/typography': + specifier: ^0.5.10 + version: 0.5.15(tailwindcss@3.4.17) + autoprefixer: + specifier: ^10.4.17 + version: 10.4.20(postcss@8.4.49) + clsx: + specifier: ^2.1.0 + version: 2.1.1 + codemirror: + specifier: ^5.65.19 + version: 5.65.19 + codemirror-graphql: + specifier: 1.3.2 + version: 1.3.2(@codemirror/language@0.20.2)(codemirror@5.65.19)(graphql@16.10.0) + date-fns: + specifier: ^2.30.0 + version: 2.30.0 + fast-glob: + specifier: ^3.3.2 + version: 3.3.3 + graphql: + specifier: 16.10.0 + version: 16.10.0 + gray-matter: + specifier: ^4.0.3 + version: 4.0.3 + hast-util-to-string: + specifier: 3.0.1 + version: 3.0.1 + iframe-resizer-react: + specifier: ^1.1.0 + version: 1.1.1(@babel/core@7.26.0)(prop-types@15.8.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + leaflet: + specifier: ^1.9.4 + version: 1.9.4 + lucide-react: + specifier: ^0.469.0 + version: 0.469.0(react@18.3.1) + markdown-to-jsx: + specifier: ^7.4.0 + version: 7.7.2(react@18.3.1) + marked: + specifier: 5.1.2 + version: 5.1.2 + motion: + specifier: ^12.11.0 + version: 12.11.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + next: + specifier: ^14.2.5 + version: 14.2.22(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + next-image-export-optimizer: + specifier: ^1.12.3 + version: 1.18.0(next@14.2.22(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) + next-query-params: + specifier: ^5.0.0 + version: 5.0.1(next@14.2.22(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(use-query-params@2.2.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + next-sitemap: + specifier: ^4.2.3 + version: 4.2.3(next@14.2.22(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + next-with-less: + specifier: ^3.0.1 + version: 3.0.1(less-loader@12.2.0(less@4.2.1))(less@4.2.1)(next@14.2.22(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + nextra: + specifier: 3.0.0-alpha.28 + version: 3.0.0-alpha.28(patch_hash=rggcgtpcrgz5zyoxmhwje4p6rm)(@types/react@18.3.18)(next@14.2.22(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + nextra-theme-docs: + specifier: 3.0.0-alpha.28 + version: 3.0.0-alpha.28(next@14.2.22(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(nextra@3.0.0-alpha.28(patch_hash=rggcgtpcrgz5zyoxmhwje4p6rm)(@types/react@18.3.18)(next@14.2.22(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + numbro: + specifier: 2.5.0 + version: 2.5.0 + p-limit: + specifier: ^4.0.0 + version: 4.0.0 + parser-front-matter: + specifier: 1.6.4 + version: 1.6.4 + postcss: + specifier: ^8.4.33 + version: 8.4.49 + react: + specifier: ^18.3.1 + version: 18.3.1 + react-dom: + specifier: ^18.3.1 + version: 18.3.1(react@18.3.1) + react-medium-image-zoom: + specifier: 5.2.13 + version: 5.2.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-use-measure: + specifier: ^2.1.7 + version: 2.1.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + rss: + specifier: 1.2.2 + version: 1.2.2 + server-only: + specifier: 0.0.1 + version: 0.0.1 + string-similarity: + specifier: ^4.0.4 + version: 4.0.4 + string-strip-html: + specifier: ^13.4.5 + version: 13.4.8 + tailwindcss: + specifier: ^3.4.1 + version: 3.4.17 + timeago.js: + specifier: 4.0.2 + version: 4.0.2 + unified: + specifier: 11.0.5 + version: 11.0.5 + unist-util-visit: + specifier: ^5.0.0 + version: 5.0.0 + use-query-params: + specifier: ^2.2.1 + version: 2.2.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + devDependencies: + '@graphql-eslint/eslint-plugin': + specifier: 4.3.0 + version: 4.3.0(@types/node@22.10.5)(eslint@8.57.1)(graphql@16.10.0)(typescript@5.7.2) + '@svgr/webpack': + specifier: ^8.0.1 + version: 8.1.0(typescript@5.7.2) + '@types/codemirror': + specifier: 5.60.7 + version: 5.60.7 + '@types/hast': + specifier: 3.0.4 + version: 3.0.4 + '@types/node': + specifier: ^22.10.2 + version: 22.10.5 + '@types/react': + specifier: ^18.2.73 + version: 18.3.18 + '@types/rss': + specifier: 0.0.32 + version: 0.0.32 + '@types/string-similarity': + specifier: ^4.0.2 + version: 4.0.2 + '@typescript-eslint/eslint-plugin': + specifier: 7.18.0 + version: 7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2) + '@typescript-eslint/parser': + specifier: 7.18.0 + version: 7.18.0(eslint@8.57.1)(typescript@5.7.2) + eslint: + specifier: 8.57.1 + version: 8.57.1 + eslint-config-prettier: + specifier: ^9.1.0 + version: 9.1.0(eslint@8.57.1) + eslint-plugin-mdx: + specifier: ^3.1.5 + version: 3.1.5(eslint@8.57.1) + eslint-plugin-tailwindcss: + specifier: 3.17.5 + version: 3.17.5(tailwindcss@3.4.17) + prettier: + specifier: 3.4.2 + version: 3.4.2 + prettier-plugin-pkg: + specifier: ^0.18.1 + version: 0.18.1(prettier@3.4.2) + prettier-plugin-tailwindcss: + specifier: ^0.6.9 + version: 0.6.9(prettier@3.4.2) + remark-frontmatter: + specifier: 5.0.0 + version: 5.0.0 + remark-lint-first-heading-level: + specifier: 3.1.2 + version: 3.1.2 + remark-lint-heading-increment: + specifier: 3.1.2 + version: 3.1.2 + tsx: + specifier: ^4.7.0 + version: 4.19.2 + typescript: + specifier: ^5.4.3 + version: 5.7.2 + +packages: + + '@aashutoshrathi/word-wrap@1.2.6': + resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} + engines: {node: '>=0.10.0'} + + '@alloc/quick-lru@5.2.0': + resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} + engines: {node: '>=10'} + + '@ampproject/remapping@2.3.0': + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + + '@ardatan/sync-fetch@0.0.1': + resolution: {integrity: sha512-xhlTqH0m31mnsG0tIP4ETgfSB6gXDaYYsUWTrlUV93fFQPI9dd8hE0Ot6MHLCtqgB32hwJAC3YZMWlXZw7AleA==} + engines: {node: '>=14'} + + '@babel/code-frame@7.24.2': + resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} + engines: {node: '>=6.9.0'} + + '@babel/code-frame@7.26.2': + resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} + engines: {node: '>=6.9.0'} + + '@babel/compat-data@7.26.3': + resolution: {integrity: sha512-nHIxvKPniQXpmQLb0vhY3VaFb3S0YrTAwpOWJZh1wn3oJPjJk9Asva204PsBdmAE8vpzfHudT8DB0scYvy9q0g==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.26.0': + resolution: {integrity: sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.26.3': + resolution: {integrity: sha512-6FF/urZvD0sTeO7k6/B15pMLC4CHUv1426lzr3N01aHJTl046uCAh9LXW/fzeXXjPNCJ6iABW5XaWOsIZB93aQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-annotate-as-pure@7.25.9': + resolution: {integrity: sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==} + engines: {node: '>=6.9.0'} + + '@babel/helper-compilation-targets@7.25.9': + resolution: {integrity: sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-create-class-features-plugin@7.25.9': + resolution: {integrity: sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-create-regexp-features-plugin@7.26.3': + resolution: {integrity: sha512-G7ZRb40uUgdKOQqPLjfD12ZmGA54PzqDFUv2BKImnC9QIfGhIHKvVML0oN8IUiDq4iRqpq74ABpvOaerfWdong==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-define-polyfill-provider@0.6.3': + resolution: {integrity: sha512-HK7Bi+Hj6H+VTHA3ZvBis7V/6hu9QuTrnMXNybfUf2iiuU/N97I8VjB+KbhFF8Rld/Lx5MzoCwPCpPjfK+n8Cg==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + '@babel/helper-member-expression-to-functions@7.25.9': + resolution: {integrity: sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-imports@7.25.9': + resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-transforms@7.26.0': + resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-optimise-call-expression@7.25.9': + resolution: {integrity: sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-plugin-utils@7.25.9': + resolution: {integrity: sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-remap-async-to-generator@7.25.9': + resolution: {integrity: sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-replace-supers@7.25.9': + resolution: {integrity: sha512-IiDqTOTBQy0sWyeXyGSC5TBJpGFXBkRynjBeXsvbhQFKj2viwJC76Epz35YLU1fpe/Am6Vppb7W7zM4fPQzLsQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-skip-transparent-expression-wrappers@7.25.9': + resolution: {integrity: sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@7.25.9': + resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.22.20': + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.25.9': + resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-option@7.25.9': + resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-wrap-function@7.25.9': + resolution: {integrity: sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g==} + engines: {node: '>=6.9.0'} + + '@babel/helpers@7.26.0': + resolution: {integrity: sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==} + engines: {node: '>=6.9.0'} + + '@babel/highlight@7.24.2': + resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.26.3': + resolution: {integrity: sha512-WJ/CvmY8Mea8iDXo6a7RK2wbmJITT5fN3BEkRuFlxVyNx8jOKIIhmC4fSkTcPcf8JyavbBwIe6OpiCOBXt/IcA==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9': + resolution: {integrity: sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.9': + resolution: {integrity: sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.9': + resolution: {integrity: sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.25.9': + resolution: {integrity: sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.13.0 + + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.9': + resolution: {integrity: sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2': + resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-proposal-private-property-in-object@7.21.11': + resolution: {integrity: sha512-0QZ8qP/3RLDVBwBFoWAwCtgcDZJVwA5LUJRZU8x2YFfKNuFq161wK3cuGrALu5yiPu+vzwTAg/sMWVNeWeNyaw==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-property-in-object instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-assertions@7.26.0': + resolution: {integrity: sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-attributes@7.26.0': + resolution: {integrity: sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-jsx@7.25.9': + resolution: {integrity: sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-private-property-in-object@7.14.5': + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-typescript@7.25.9': + resolution: {integrity: sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-unicode-sets-regex@7.18.6': + resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-arrow-functions@7.25.9': + resolution: {integrity: sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-async-generator-functions@7.25.9': + resolution: {integrity: sha512-RXV6QAzTBbhDMO9fWwOmwwTuYaiPbggWQ9INdZqAYeSHyG7FzQ+nOZaUUjNwKv9pV3aE4WFqFm1Hnbci5tBCAw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-async-to-generator@7.25.9': + resolution: {integrity: sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-block-scoped-functions@7.25.9': + resolution: {integrity: sha512-toHc9fzab0ZfenFpsyYinOX0J/5dgJVA2fm64xPewu7CoYHWEivIWKxkK2rMi4r3yQqLnVmheMXRdG+k239CgA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-block-scoping@7.25.9': + resolution: {integrity: sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-class-properties@7.25.9': + resolution: {integrity: sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-class-static-block@7.26.0': + resolution: {integrity: sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.12.0 + + '@babel/plugin-transform-classes@7.25.9': + resolution: {integrity: sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-computed-properties@7.25.9': + resolution: {integrity: sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-destructuring@7.25.9': + resolution: {integrity: sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-dotall-regex@7.25.9': + resolution: {integrity: sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-duplicate-keys@7.25.9': + resolution: {integrity: sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.9': + resolution: {integrity: sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-dynamic-import@7.25.9': + resolution: {integrity: sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-exponentiation-operator@7.26.3': + resolution: {integrity: sha512-7CAHcQ58z2chuXPWblnn1K6rLDnDWieghSOEmqQsrBenH0P9InCUtOJYD89pvngljmZlJcz3fcmgYsXFNGa1ZQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-export-namespace-from@7.25.9': + resolution: {integrity: sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-for-of@7.25.9': + resolution: {integrity: sha512-LqHxduHoaGELJl2uhImHwRQudhCM50pT46rIBNvtT/Oql3nqiS3wOwP+5ten7NpYSXrrVLgtZU3DZmPtWZo16A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-function-name@7.25.9': + resolution: {integrity: sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-json-strings@7.25.9': + resolution: {integrity: sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-literals@7.25.9': + resolution: {integrity: sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-logical-assignment-operators@7.25.9': + resolution: {integrity: sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-member-expression-literals@7.25.9': + resolution: {integrity: sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-amd@7.25.9': + resolution: {integrity: sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-commonjs@7.26.3': + resolution: {integrity: sha512-MgR55l4q9KddUDITEzEFYn5ZsGDXMSsU9E+kh7fjRXTIC3RHqfCo8RPRbyReYJh44HQ/yomFkqbOFohXvDCiIQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-systemjs@7.25.9': + resolution: {integrity: sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-umd@7.25.9': + resolution: {integrity: sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-named-capturing-groups-regex@7.25.9': + resolution: {integrity: sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-new-target@7.25.9': + resolution: {integrity: sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-nullish-coalescing-operator@7.25.9': + resolution: {integrity: sha512-ENfftpLZw5EItALAD4WsY/KUWvhUlZndm5GC7G3evUsVeSJB6p0pBeLQUnRnBCBx7zV0RKQjR9kCuwrsIrjWog==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-numeric-separator@7.25.9': + resolution: {integrity: sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-object-rest-spread@7.25.9': + resolution: {integrity: sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-object-super@7.25.9': + resolution: {integrity: sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-optional-catch-binding@7.25.9': + resolution: {integrity: sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-optional-chaining@7.25.9': + resolution: {integrity: sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-parameters@7.25.9': + resolution: {integrity: sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-private-methods@7.25.9': + resolution: {integrity: sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-private-property-in-object@7.25.9': + resolution: {integrity: sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-property-literals@7.25.9': + resolution: {integrity: sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-constant-elements@7.25.9': + resolution: {integrity: sha512-Ncw2JFsJVuvfRsa2lSHiC55kETQVLSnsYGQ1JDDwkUeWGTL/8Tom8aLTnlqgoeuopWrbbGndrc9AlLYrIosrow==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-display-name@7.25.9': + resolution: {integrity: sha512-KJfMlYIUxQB1CJfO3e0+h0ZHWOTLCPP115Awhaz8U0Zpq36Gl/cXlpoyMRnUWlhNUBAzldnCiAZNvCDj7CrKxQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx-development@7.25.9': + resolution: {integrity: sha512-9mj6rm7XVYs4mdLIpbZnHOYdpW42uoiBCTVowg7sP1thUOiANgMb4UtpRivR0pp5iL+ocvUv7X4mZgFRpJEzGw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx@7.25.9': + resolution: {integrity: sha512-s5XwpQYCqGerXl+Pu6VDL3x0j2d82eiV77UJ8a2mDHAW7j9SWRqQ2y1fNo1Z74CdcYipl5Z41zvjj4Nfzq36rw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-pure-annotations@7.25.9': + resolution: {integrity: sha512-KQ/Takk3T8Qzj5TppkS1be588lkbTp5uj7w6a0LeQaTMSckU/wK0oJ/pih+T690tkgI5jfmg2TqDJvd41Sj1Cg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-regenerator@7.25.9': + resolution: {integrity: sha512-vwDcDNsgMPDGP0nMqzahDWE5/MLcX8sv96+wfX7as7LoF/kr97Bo/7fI00lXY4wUXYfVmwIIyG80fGZ1uvt2qg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-regexp-modifiers@7.26.0': + resolution: {integrity: sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-reserved-words@7.25.9': + resolution: {integrity: sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-shorthand-properties@7.25.9': + resolution: {integrity: sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-spread@7.25.9': + resolution: {integrity: sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-sticky-regex@7.25.9': + resolution: {integrity: sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-template-literals@7.25.9': + resolution: {integrity: sha512-o97AE4syN71M/lxrCtQByzphAdlYluKPDBzDVzMmfCobUjjhAryZV0AIpRPrxN0eAkxXO6ZLEScmt+PNhj2OTw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-typeof-symbol@7.25.9': + resolution: {integrity: sha512-v61XqUMiueJROUv66BVIOi0Fv/CUuZuZMl5NkRoCVxLAnMexZ0A3kMe7vvZ0nulxMuMp0Mk6S5hNh48yki08ZA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-typescript@7.26.3': + resolution: {integrity: sha512-6+5hpdr6mETwSKjmJUdYw0EIkATiQhnELWlE3kJFBwSg/BGIVwVaVbX+gOXBCdc7Ln1RXZxyWGecIXhUfnl7oA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-escapes@7.25.9': + resolution: {integrity: sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-property-regex@7.25.9': + resolution: {integrity: sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-regex@7.25.9': + resolution: {integrity: sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-sets-regex@7.25.9': + resolution: {integrity: sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/preset-env@7.26.0': + resolution: {integrity: sha512-H84Fxq0CQJNdPFT2DrfnylZ3cf5K43rGfWK4LJGPpjKHiZlk0/RzwEus3PDDZZg+/Er7lCA03MVacueUuXdzfw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/preset-modules@0.1.6-no-external-plugins': + resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} + peerDependencies: + '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 + + '@babel/preset-react@7.26.3': + resolution: {integrity: sha512-Nl03d6T9ky516DGK2YMxrTqvnpUW63TnJMOMonj+Zae0JiPC5BC9xPMSL6L8fiSpA5vP88qfygavVQvnLp+6Cw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/preset-typescript@7.26.0': + resolution: {integrity: sha512-NMk1IGZ5I/oHhoXEElcm+xUnL/szL6xflkFZmoEU9xj1qSJXpiS7rsspYo92B4DRCDvZn2erT5LdsCeXAKNCkg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/runtime@7.24.1': + resolution: {integrity: sha512-+BIznRzyqBf+2wCTxcKE3wDjfGeCoVE61KSHGpkzqrLi8qxqFwBeUFyId2cxkTmm55fzDGnm0+yCxaxygrLUnQ==} + engines: {node: '>=6.9.0'} + + '@babel/runtime@7.26.0': + resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==} + engines: {node: '>=6.9.0'} + + '@babel/template@7.25.9': + resolution: {integrity: sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.26.4': + resolution: {integrity: sha512-fH+b7Y4p3yqvApJALCPJcwb0/XaOSgtK4pzV6WVjPR5GLFQBRI7pfoX2V2iM48NXvX07NUxxm1Vw98YjqTcU5w==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.26.3': + resolution: {integrity: sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==} + engines: {node: '>=6.9.0'} + + '@braintree/sanitize-url@6.0.4': + resolution: {integrity: sha512-s3jaWicZd0pkP0jf5ysyHUI/RE7MHos6qlToFcGWXVp+ykHOy77OUMrfbgJ9it2C5bow7OIQwYYaHjk9XlBQ2A==} + + '@codemirror/language@0.20.2': + resolution: {integrity: sha512-WB3Bnuusw0xhVvhBocieYKwJm04SOk5bPoOEYksVHKHcGHFOaYaw+eZVxR4gIqMMcGzOIUil0FsCmFk8yrhHpw==} + + '@codemirror/state@0.20.1': + resolution: {integrity: sha512-ms0tlV5A02OK0pFvTtSUGMLkoarzh1F8mr6jy1cD7ucSC2X/VLHtQCxfhdSEGqTYlQF2hoZtmLv+amqhdgbwjQ==} + + '@codemirror/view@0.20.7': + resolution: {integrity: sha512-pqEPCb9QFTOtHgAH5XU/oVy9UR/Anj6r+tG5CRmkNVcqSKEPmBU05WtN/jxJCFZBXf6HumzWC9ydE4qstO3TxQ==} + + '@corex/deepmerge@4.0.43': + resolution: {integrity: sha512-N8uEMrMPL0cu/bdboEWpQYb/0i2K5Qn8eCsxzOmxSggJbbQte7ljMRoXm917AbntqTGOzdTu+vP3KOOzoC70HQ==} + + '@emnapi/runtime@1.3.1': + resolution: {integrity: sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==} + + '@esbuild/aix-ppc64@0.23.1': + resolution: {integrity: sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.23.1': + resolution: {integrity: sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.23.1': + resolution: {integrity: sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.23.1': + resolution: {integrity: sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.23.1': + resolution: {integrity: sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.23.1': + resolution: {integrity: sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.23.1': + resolution: {integrity: sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.23.1': + resolution: {integrity: sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.23.1': + resolution: {integrity: sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.23.1': + resolution: {integrity: sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.23.1': + resolution: {integrity: sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.23.1': + resolution: {integrity: sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.23.1': + resolution: {integrity: sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.23.1': + resolution: {integrity: sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.23.1': + resolution: {integrity: sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.23.1': + resolution: {integrity: sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.23.1': + resolution: {integrity: sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-x64@0.23.1': + resolution: {integrity: sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-arm64@0.23.1': + resolution: {integrity: sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.23.1': + resolution: {integrity: sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/sunos-x64@0.23.1': + resolution: {integrity: sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.23.1': + resolution: {integrity: sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.23.1': + resolution: {integrity: sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.23.1': + resolution: {integrity: sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + + '@eslint-community/eslint-utils@4.4.0': + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + + '@eslint-community/regexpp@4.10.0': + resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + + '@eslint/eslintrc@2.1.4': + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + '@eslint/js@8.57.1': + resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + '@graphql-eslint/eslint-plugin@4.3.0': + resolution: {integrity: sha512-9UTJfYNGAK5GuFapsNvA+508ke8YPc9Yt6mgT4Lc+gS18p53oG5wmXd3jdmNeVOfxhUefJcJbn925vIrjg/8/g==} + engines: {node: '>=18'} + peerDependencies: + '@apollo/subgraph': ^2 + eslint: '>=8.44.0' + graphql: ^16 + json-schema-to-ts: ^3 + peerDependenciesMeta: + '@apollo/subgraph': + optional: true + json-schema-to-ts: + optional: true + + '@graphql-hive/gateway-abort-signal-any@0.0.1': + resolution: {integrity: sha512-H2z8EwwzUf3y8U4ivlP5oCagS/bgom7hqcSr81oC3LQkf6NDKEzLRJ6Zw9aS7wCZcDPRQOwZXgT0P0CZu8pFwQ==} + engines: {node: '>=18.0.0'} + + '@graphql-tools/batch-execute@9.0.10': + resolution: {integrity: sha512-nCRNFq2eqy+ONDknd8DfqidY/Ljgyq67Q0Hb9SMJ3FOWpKrApqmNT9J1BA3JW4r+/zIGtM1VKi+P9FYu3zMHHA==} + engines: {node: '>=18.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/code-file-loader@8.1.10': + resolution: {integrity: sha512-f/AVZCh4LWFDYOYNAscHiT1BvldaG1FTVn58jBNdWOx56IK1qdyLEayWDfBBxs1WRZ2+dpvsqoyay7ClGtlDKA==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/delegate@10.2.8': + resolution: {integrity: sha512-pUnsfsczDleGwixW18QLXBFGFqaJ12ApHaSZbbwoIqir/kZEl0Oqa9n5VDYxml0glVvK+AjYJzC3gJ+F/refvA==} + engines: {node: '>=18.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/executor-graphql-ws@1.3.5': + resolution: {integrity: sha512-8BZf9a9SkaJAkF5Byb4ZdiwzCNoTrfl515m206XvCkCHM7dM1AwvX1rYZTrnJWgXgQUxhPjvll5vgciOe1APaA==} + engines: {node: '>=18.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/executor-http@1.2.1': + resolution: {integrity: sha512-tBmw6v/hYKS7/oK7gnz7Niqk1YYt3aCwwXRudbsEQTlBBi7b2HMhQzdABX5QSv1XlNBvQ6ey4fqQgJhY4oyPwQ==} + engines: {node: '>=18.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/executor-legacy-ws@1.1.7': + resolution: {integrity: sha512-F118QBHCbqybFwvyljcn4XKp7wWdVK5At9Aljfedn/U+OTKz3SFTCrzk2/oy9WK8yLHgdeh3aKKHY9lHtfrP7Q==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/executor@1.3.9': + resolution: {integrity: sha512-BpBWW6WMgIQeLQIFHJ9HHPaCX9mzEn4sv2qP0mb4acW4z45HB4znRFf3vxq83jMOOhWjrvY0vE2UjMVYnsvvSQ==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/graphql-file-loader@8.0.8': + resolution: {integrity: sha512-aGmUI/ds7uo0dvE3Re1gD6a++fKy1wX8vw2N/cz9w9uq8mq+LFt9UFj8F3YCAwaqlum0/UDDmDHY16QrT8beww==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/graphql-tag-pluck@8.3.9': + resolution: {integrity: sha512-DwyGblVRx8eTRbPkp1srNd5UuqCvzz5kDwYSCxlaIyCm2PhXjMglAC9BcYwXfyHz8ehURIl44wfMyTGJQ/s+fw==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/import@7.0.8': + resolution: {integrity: sha512-1/3gNFEaRdehwnlxHBgCPSw3kO4dSm7MQj9b/UOXAHGXjzSB+ezE4oudpensd2p41WnoeFFC0S5SZmjThNByWQ==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/json-file-loader@8.0.8': + resolution: {integrity: sha512-YqBGYXILLq+4ZQtGW1xyes8s3XBhMFkwUYm46gZuBVnQZ5WDgNCkn+emEGJAAj+hE/FIkA9Z1PPU23ZeGc5xqQ==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/load@8.0.9': + resolution: {integrity: sha512-ty0Lhdc9uUCl8zLc3kfcWXLFEdK2ixJA1XPkiATxGh76K/C53vgatJ3RjpVk07f8yPyzL5IV2fvHc4c9XK3eMg==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/merge@9.0.14': + resolution: {integrity: sha512-MO7VXnm3ShpdG51hs4hYsLyu+8o/tSLjNYQmLmR4rkHoFi3kQCDu2r8B4IVwd+Ve39cechj0NyCmMsg+mRvwDQ==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/merge@9.0.16': + resolution: {integrity: sha512-Ek2ee3e4qMsMM2pBBZpDmL7j51b3F5qYsHtckO05e8zvOWuS28yBu+VhZYOtUPr/q+lBWhL+0rvFXaUwHZEuQQ==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/schema@10.0.15': + resolution: {integrity: sha512-QAD9XeC/iaVugMYWet73Vz/4wp1qmKHYPj1z/TyIW/fX41oNmNSBGNqdstMsvSG97PWLhFgbUqVCvY+1KesQKw==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/url-loader@8.0.20': + resolution: {integrity: sha512-4gC3lcHPHRI3WbYoMFVcZO1mk7haCPmgOqvqXqdirotjsM0/gxa/17IaorwDZjXq40EHzwzUgSx55CMeuEy+QQ==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/utils@10.6.4': + resolution: {integrity: sha512-itCgjwVxbO+3uI/K73G9heedG8KelNFzgn368rUhPjTrkJX6NyLQwT5EMq/A8tvazMXyJYdtnN5nD+tT4DUpbQ==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/utils@10.7.1': + resolution: {integrity: sha512-mpHAA5EddtxvnkHIBEEon5++tvL5T+j3OeOP4CAXbguAK2RBRM9DVVsoc9U68vSPLJjBRGp+b5NjlRn04g9rMA==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/wrap@10.0.26': + resolution: {integrity: sha512-vCeM30vm5gtTswg1Tebn0bSBrn74axlqmu9kDrPwlqjum5ykZQjkSwuCXcGuBS/4pNhmaTirXLuUL1vP5FvEHA==} + engines: {node: '>=18.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-typed-document-node/core@3.2.0': + resolution: {integrity: sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==} + peerDependencies: + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@headlessui/react@1.7.19': + resolution: {integrity: sha512-Ll+8q3OlMJfJbAKM/+/Y2q6PPYbryqNTXDbryx7SXLIDamkF6iQFbriYHga0dY44PvDhvvBWCx1Xj4U5+G4hOw==} + engines: {node: '>=10'} + peerDependencies: + react: ^16 || ^17 || ^18 + react-dom: ^16 || ^17 || ^18 + + '@humanwhocodes/config-array@0.13.0': + resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} + engines: {node: '>=10.10.0'} + deprecated: Use @eslint/config-array instead + + '@humanwhocodes/module-importer@1.0.1': + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + + '@humanwhocodes/object-schema@2.0.3': + resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} + deprecated: Use @eslint/object-schema instead + + '@img/sharp-darwin-arm64@0.33.5': + resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [darwin] + + '@img/sharp-darwin-x64@0.33.5': + resolution: {integrity: sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [darwin] + + '@img/sharp-libvips-darwin-arm64@1.0.4': + resolution: {integrity: sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==} + cpu: [arm64] + os: [darwin] + + '@img/sharp-libvips-darwin-x64@1.0.4': + resolution: {integrity: sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==} + cpu: [x64] + os: [darwin] + + '@img/sharp-libvips-linux-arm64@1.0.4': + resolution: {integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==} + cpu: [arm64] + os: [linux] + + '@img/sharp-libvips-linux-arm@1.0.5': + resolution: {integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==} + cpu: [arm] + os: [linux] + + '@img/sharp-libvips-linux-s390x@1.0.4': + resolution: {integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==} + cpu: [s390x] + os: [linux] + + '@img/sharp-libvips-linux-x64@1.0.4': + resolution: {integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==} + cpu: [x64] + os: [linux] + + '@img/sharp-libvips-linuxmusl-arm64@1.0.4': + resolution: {integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==} + cpu: [arm64] + os: [linux] + + '@img/sharp-libvips-linuxmusl-x64@1.0.4': + resolution: {integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==} + cpu: [x64] + os: [linux] + + '@img/sharp-linux-arm64@0.33.5': + resolution: {integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [linux] + + '@img/sharp-linux-arm@0.33.5': + resolution: {integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm] + os: [linux] + + '@img/sharp-linux-s390x@0.33.5': + resolution: {integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [s390x] + os: [linux] + + '@img/sharp-linux-x64@0.33.5': + resolution: {integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [linux] + + '@img/sharp-linuxmusl-arm64@0.33.5': + resolution: {integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [linux] + + '@img/sharp-linuxmusl-x64@0.33.5': + resolution: {integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [linux] + + '@img/sharp-wasm32@0.33.5': + resolution: {integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [wasm32] + + '@img/sharp-win32-ia32@0.33.5': + resolution: {integrity: sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [ia32] + os: [win32] + + '@img/sharp-win32-x64@0.33.5': + resolution: {integrity: sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [win32] + + '@isaacs/cliui@8.0.2': + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + + '@jridgewell/gen-mapping@0.3.8': + resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} + engines: {node: '>=6.0.0'} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/set-array@1.2.1': + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + + '@jridgewell/sourcemap-codec@1.4.15': + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + + '@jridgewell/sourcemap-codec@1.5.0': + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} + + '@jridgewell/trace-mapping@0.3.25': + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + + '@kamilkisiela/fast-url-parser@1.1.4': + resolution: {integrity: sha512-gbkePEBupNydxCelHCESvFSFM8XPh1Zs/OAVRW/rKpEqPAl5PbOM90Si8mv9bvnR53uPD2s/FiRxdvSejpRJew==} + + '@lezer/common@0.16.1': + resolution: {integrity: sha512-qPmG7YTZ6lATyTOAWf8vXE+iRrt1NJd4cm2nJHK+v7X9TsOF6+HtuU/ctaZy2RCrluxDb89hI6KWQ5LfQGQWuA==} + + '@lezer/highlight@0.16.0': + resolution: {integrity: sha512-iE5f4flHlJ1g1clOStvXNLbORJoiW4Kytso6ubfYzHnaNo/eo5SKhxs4wv/rtvwZQeZrK3we8S9SyA7OGOoRKQ==} + + '@lezer/lr@0.16.3': + resolution: {integrity: sha512-pau7um4eAw94BEuuShUIeQDTf3k4Wt6oIUOYxMmkZgDHdqtIcxWND4LRxi8nI9KuT4I1bXQv67BCapkxt7Ywqw==} + + '@mdx-js/mdx@3.0.1': + resolution: {integrity: sha512-eIQ4QTrOWyL3LWEe/bu6Taqzq2HQvHcyTMaOrI95P2/LmJE7AsfPfgJGuFLPVqBUE1BC1rik3VIhU+s9u72arA==} + + '@mdx-js/react@3.0.1': + resolution: {integrity: sha512-9ZrPIU4MGf6et1m1ov3zKf+q9+deetI51zprKB1D/z3NOb+rUxxtEl3mCjW5wTGh6VhRdwPueh1oRzi6ezkA8A==} + peerDependencies: + '@types/react': '>=16' + react: '>=16' + + '@napi-rs/simple-git-android-arm-eabi@0.1.16': + resolution: {integrity: sha512-dbrCL0Pl5KZG7x7tXdtVsA5CO6At5ohDX3myf5xIYn9kN4jDFxsocl8bNt6Vb/hZQoJd8fI+k5VlJt+rFhbdVw==} + engines: {node: '>= 10'} + cpu: [arm] + os: [android] + + '@napi-rs/simple-git-android-arm64@0.1.16': + resolution: {integrity: sha512-xYz+TW5J09iK8SuTAKK2D5MMIsBUXVSs8nYp7HcMi8q6FCRO7yJj96YfP9PvKsc/k64hOyqGmL5DhCzY9Cu1FQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [android] + + '@napi-rs/simple-git-darwin-arm64@0.1.16': + resolution: {integrity: sha512-XfgsYqxhUE022MJobeiX563TJqyQyX4FmYCnqrtJwAfivESVeAJiH6bQIum8dDEYMHXCsG7nL8Ok0Dp8k2m42g==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@napi-rs/simple-git-darwin-x64@0.1.16': + resolution: {integrity: sha512-tkEVBhD6vgRCbeWsaAQqM3bTfpIVGeitamPPRVSbsq8qgzJ5Dx6ZedH27R7KSsA/uao7mZ3dsrNLXbu1Wy5MzA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@napi-rs/simple-git-linux-arm-gnueabihf@0.1.16': + resolution: {integrity: sha512-R6VAyNnp/yRaT7DV1Ao3r67SqTWDa+fNq2LrNy0Z8gXk2wB9ZKlrxFtLPE1WSpWknWtyRDLpRlsorh7Evk7+7w==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + + '@napi-rs/simple-git-linux-arm64-gnu@0.1.16': + resolution: {integrity: sha512-LAGI0opFKw/HBMCV2qIBK3uWSEW9h4xd2ireZKLJy8DBPymX6NrWIamuxYNyCuACnFdPRxR4LaRFy4J5ZwuMdw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@napi-rs/simple-git-linux-arm64-musl@0.1.16': + resolution: {integrity: sha512-I57Ph0F0Yn2KW93ep+V1EzKhACqX0x49vvSiapqIsdDA2PifdEWLc1LJarBolmK7NKoPqKmf6lAKKO9lhiZzkg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@napi-rs/simple-git-linux-x64-gnu@0.1.16': + resolution: {integrity: sha512-AZYYFY2V7hlcQASPEOWyOa3e1skzTct9QPzz0LiDM3f/hCFY/wBaU2M6NC5iG3d2Kr38heuyFS/+JqxLm5WaKA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@napi-rs/simple-git-linux-x64-musl@0.1.16': + resolution: {integrity: sha512-9TyMcYSBJwjT8jwjY9m24BZbu7ozyWTjsmYBYNtK3B0Um1Ov6jthSNneLVvouQ6x+k3Ow+00TiFh6bvmT00r8g==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@napi-rs/simple-git-win32-arm64-msvc@0.1.16': + resolution: {integrity: sha512-uslJ1WuAHCYJWui6xjsyT47SjX6KOHDtClmNO8hqKz1pmDSNY7AjyUY8HxvD1lK9bDnWwc4JYhikS9cxCqHybw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@napi-rs/simple-git-win32-x64-msvc@0.1.16': + resolution: {integrity: sha512-SoEaVeCZCDF1MP+M9bMSXsZWgEjk4On9GWADO5JOulvzR1bKjk0s9PMHwe/YztR9F0sJzrCxwtvBZowhSJsQPg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@napi-rs/simple-git@0.1.16': + resolution: {integrity: sha512-C5wRPw9waqL2jk3jEDeJv+f7ScuO3N0a39HVdyFLkwKxHH4Sya4ZbzZsu2JLi6eEqe7RuHipHL6mC7B2OfYZZw==} + engines: {node: '>= 10'} + + '@next/env@13.5.6': + resolution: {integrity: sha512-Yac/bV5sBGkkEXmAX5FWPS9Mmo2rthrOPRQQNfycJPkjUAUclomCPH7QFVCDQ4Mp2k2K1SSM6m0zrxYrOwtFQw==} + + '@next/env@14.2.22': + resolution: {integrity: sha512-EQ6y1QeNQglNmNIXvwP/Bb+lf7n9WtgcWvtoFsHquVLCJUuxRs+6SfZ5EK0/EqkkLex4RrDySvKgKNN7PXip7Q==} + + '@next/swc-darwin-arm64@14.2.22': + resolution: {integrity: sha512-HUaLiehovgnqY4TMBZJ3pDaOsTE1spIXeR10pWgdQVPYqDGQmHJBj3h3V6yC0uuo/RoY2GC0YBFRkOX3dI9WVQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@next/swc-darwin-x64@14.2.22': + resolution: {integrity: sha512-ApVDANousaAGrosWvxoGdLT0uvLBUC+srqOcpXuyfglA40cP2LBFaGmBjhgpxYk5z4xmunzqQvcIgXawTzo2uQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@next/swc-linux-arm64-gnu@14.2.22': + resolution: {integrity: sha512-3O2J99Bk9aM+d4CGn9eEayJXHuH9QLx0BctvWyuUGtJ3/mH6lkfAPRI4FidmHMBQBB4UcvLMfNf8vF0NZT7iKw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@next/swc-linux-arm64-musl@14.2.22': + resolution: {integrity: sha512-H/hqfRz75yy60y5Eg7DxYfbmHMjv60Dsa6IWHzpJSz4MRkZNy5eDnEW9wyts9bkxwbOVZNPHeb3NkqanP+nGPg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@next/swc-linux-x64-gnu@14.2.22': + resolution: {integrity: sha512-LckLwlCLcGR1hlI5eiJymR8zSHPsuruuwaZ3H2uudr25+Dpzo6cRFjp/3OR5UYJt8LSwlXv9mmY4oI2QynwpqQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@next/swc-linux-x64-musl@14.2.22': + resolution: {integrity: sha512-qGUutzmh0PoFU0fCSu0XYpOfT7ydBZgDfcETIeft46abPqP+dmePhwRGLhFKwZWxNWQCPprH26TjaTxM0Nv8mw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@next/swc-win32-arm64-msvc@14.2.22': + resolution: {integrity: sha512-K6MwucMWmIvMb9GlvT0haYsfIPxfQD8yXqxwFy4uLFMeXIb2TcVYQimxkaFZv86I7sn1NOZnpOaVk5eaxThGIw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@next/swc-win32-ia32-msvc@14.2.22': + resolution: {integrity: sha512-5IhDDTPEbzPR31ZzqHe90LnNe7BlJUZvC4sA1thPJV6oN5WmtWjZ0bOYfNsyZx00FJt7gggNs6SrsX0UEIcIpA==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + + '@next/swc-win32-x64-msvc@14.2.22': + resolution: {integrity: sha512-nvRaB1PyG4scn9/qNzlkwEwLzuoPH3Gjp7Q/pLuwUgOTt1oPMlnCI3A3rgkt+eZnU71emOiEv/mR201HoURPGg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + + '@npmcli/config@8.2.0': + resolution: {integrity: sha512-YoEYZFg0hRSRP/Chmq+J4FvULFvji6SORUYWQc10FiJ+ReAnViXcDCENg6kM6dID04bAoKNUygrby798+gYBbQ==} + engines: {node: ^16.14.0 || >=18.0.0} + + '@npmcli/map-workspaces@3.0.4': + resolution: {integrity: sha512-Z0TbvXkRbacjFFLpVpV0e2mheCh+WzQpcqL+4xp49uNJOxOnIAPZyXtUxZ5Qn3QBTGKA11Exjd9a5411rBrhDg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + '@npmcli/name-from-folder@2.0.0': + resolution: {integrity: sha512-pwK+BfEBZJbKdNYpHHRTNBwBoqrN/iIMO0AiGvYsp3Hoaq0WbgGSWQR6SCldZovoDpY3yje5lkFUe6gsDgJ2vg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + '@pkgjs/parseargs@0.11.0': + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + + '@pkgr/core@0.1.1': + resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + + '@popperjs/core@2.11.8': + resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} + + '@radix-ui/primitive@1.1.1': + resolution: {integrity: sha512-SJ31y+Q/zAyShtXJc8x83i9TYdbAfHZ++tUZnvjJJqFjzsdUnKsxPL6IEtBlxKkU7yzer//GQtZSV4GbldL3YA==} + + '@radix-ui/react-collection@1.1.1': + resolution: {integrity: sha512-LwT3pSho9Dljg+wY2KN2mrrh6y3qELfftINERIzBUO9e0N+t0oMTyn3k9iv+ZqgrwGkRnLpNJrsMv9BZlt2yuA==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-compose-refs@1.1.1': + resolution: {integrity: sha512-Y9VzoRDSJtgFMUCoiZBDVo084VQ5hfpXxVE+NgkdNsjiDBByiImMZKKhxMwCbdHvhlENG6a833CbFkOQvTricw==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-context@1.1.1': + resolution: {integrity: sha512-UASk9zi+crv9WteK/NU4PLvOoL3OuE6BWVKNF6hPRBtYBDXQ2u5iu3O59zUlJiTVvkyuycnqrztsHVJwcK9K+Q==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-direction@1.1.0': + resolution: {integrity: sha512-BUuBvgThEiAXh2DWu93XsT+a3aWrGqolGlqqw5VU1kG7p/ZH2cuDlM1sRLNnY3QcBS69UIz2mcKhMxDsdewhjg==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-id@1.1.0': + resolution: {integrity: sha512-EJUrI8yYh7WOjNOqpoJaf1jlFIH2LvtgAl+YcFqNCa+4hj64ZXmPkAKOFs/ukjz3byN6bdb/AVUqHkI8/uWWMA==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-presence@1.1.2': + resolution: {integrity: sha512-18TFr80t5EVgL9x1SwF/YGtfG+l0BS0PRAlCWBDoBEiDQjeKgnNZRVJp/oVBl24sr3Gbfwc/Qpj4OcWTQMsAEg==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-primitive@2.0.1': + resolution: {integrity: sha512-sHCWTtxwNn3L3fH8qAfnF3WbUZycW93SM1j3NFDzXBiz8D6F5UTTy8G1+WFEaiCdvCVRJWj6N2R4Xq6HdiHmDg==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-radio-group@1.2.2': + resolution: {integrity: sha512-E0MLLGfOP0l8P/NxgVzfXJ8w3Ch8cdO6UDzJfDChu4EJDy+/WdO5LqpdY8PYnCErkmZH3gZhDL1K7kQ41fAHuQ==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-roving-focus@1.1.1': + resolution: {integrity: sha512-QE1RoxPGJ/Nm8Qmk0PxP8ojmoaS67i0s7hVssS7KuI2FQoc/uzVlZsqKfQvxPE6D8hICCPHJ4D88zNhT3OOmkw==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-slot@1.1.1': + resolution: {integrity: sha512-RApLLOcINYJA+dMVbOju7MYv1Mb2EBp2nH4HdDzXTSyaR5optlm6Otrz1euW3HbdOR8UmmFK06TD+A9frYWv+g==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-callback-ref@1.1.0': + resolution: {integrity: sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-controllable-state@1.1.0': + resolution: {integrity: sha512-MtfMVJiSr2NjzS0Aa90NPTnvTSg6C/JLCV7ma0W6+OMV78vd8OyRpID+Ng9LxzsPbLeuBnWBA1Nq30AtBIDChw==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-layout-effect@1.1.0': + resolution: {integrity: sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-previous@1.1.0': + resolution: {integrity: sha512-Z/e78qg2YFnnXcW88A4JmTtm4ADckLno6F7OXotmkQfeuCVaKuYzqAATPhVzl3delXE7CxIV8shofPn3jPc5Og==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-size@1.1.0': + resolution: {integrity: sha512-XW3/vWuIXHa+2Uwcc2ABSfcCledmXhhQPlGbfcRXbiUQI5Icjcg19BGCZVKKInYbvUCut/ufbbLLPFC5cbb1hw==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@repeaterjs/repeater@3.0.6': + resolution: {integrity: sha512-Javneu5lsuhwNCryN+pXH93VPQ8g0dBX7wItHFgYiwQmzE1sVdg5tWHiOgHywzL2W21XQopa7IwIEnNbmeUJYA==} + + '@shikijs/core@1.2.1': + resolution: {integrity: sha512-KaIS0H4EQ3KI2d++TjYqRNgwp8E3M/68e9veR4QtInzA7kKFgcjeiJqb80fuXW+blDy5fmd11PN9g9soz/3ANQ==} + + '@shikijs/twoslash@1.2.1': + resolution: {integrity: sha512-QyrBtKhIXjByPbC2dS/8LAqCLfoVmZHgNqc4eqLVIkOxZp6AAkAak1A3E+oiMP9vLaMY9qQI1pnV45c8FB5PRw==} + + '@svgr/babel-plugin-add-jsx-attribute@8.0.0': + resolution: {integrity: sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-remove-jsx-attribute@8.0.0': + resolution: {integrity: sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0': + resolution: {integrity: sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0': + resolution: {integrity: sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-svg-dynamic-title@8.0.0': + resolution: {integrity: sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-svg-em-dimensions@8.0.0': + resolution: {integrity: sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-transform-react-native-svg@8.1.0': + resolution: {integrity: sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-transform-svg-component@8.0.0': + resolution: {integrity: sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==} + engines: {node: '>=12'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-preset@8.1.0': + resolution: {integrity: sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/core@8.1.0': + resolution: {integrity: sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==} + engines: {node: '>=14'} + + '@svgr/hast-util-to-babel-ast@8.0.0': + resolution: {integrity: sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==} + engines: {node: '>=14'} + + '@svgr/plugin-jsx@8.1.0': + resolution: {integrity: sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==} + engines: {node: '>=14'} + peerDependencies: + '@svgr/core': '*' + + '@svgr/plugin-svgo@8.1.0': + resolution: {integrity: sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==} + engines: {node: '>=14'} + peerDependencies: + '@svgr/core': '*' + + '@svgr/webpack@8.1.0': + resolution: {integrity: sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==} + engines: {node: '>=14'} + + '@swc/counter@0.1.3': + resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} + + '@swc/helpers@0.5.5': + resolution: {integrity: sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==} + + '@tailwindcss/container-queries@0.1.1': + resolution: {integrity: sha512-p18dswChx6WnTSaJCSGx6lTmrGzNNvm2FtXmiO6AuA1V4U5REyoqwmT6kgAsIMdjo07QdAfYXHJ4hnMtfHzWgA==} + peerDependencies: + tailwindcss: '>=3.2.0' + + '@tailwindcss/nesting@0.0.0-insiders.565cd3e': + resolution: {integrity: sha512-WhHoFBx19TnH/c+xLwT/sxei6+4RpdfiyG3MYXfmLaMsADmVqBkF7B6lDalgZD9YdM459MF7DtxVbWkOrV7IaQ==} + peerDependencies: + postcss: ^8.2.15 + + '@tailwindcss/typography@0.5.15': + resolution: {integrity: sha512-AqhlCXl+8grUz8uqExv5OTtgpjuVIwFTSXTrh8y9/pw6q2ek7fJ+Y8ZEVw7EB2DCcuCOtEjf9w3+J3rzts01uA==} + peerDependencies: + tailwindcss: '>=3.0.0 || insiders || >=4.0.0-alpha.20' + + '@tanstack/react-virtual@3.8.4': + resolution: {integrity: sha512-Dq0VQr3QlTS2qL35g360QaJWBt7tCn/0xw4uZ0dHXPLO1Ak4Z4nVX4vuj1Npg1b/jqNMDToRtR5OIxM2NXRBWg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + + '@tanstack/virtual-core@3.8.4': + resolution: {integrity: sha512-iO5Ujgw3O1yIxWDe9FgUPNkGjyT657b1WNX52u+Wv1DyBFEpdCdGkuVaky0M3hHFqNWjAmHWTn4wgj9rTr7ZQg==} + + '@theguild/remark-mermaid@0.0.7': + resolution: {integrity: sha512-sh2xlwOllU6Abh+MPWdJDlNwirDcjdlH1wrDWxNLFNVbEzyVb1BTwhecc6ot5hxBUe38z1Ecja8xor9Wkb61gg==} + peerDependencies: + react: ^18.2.0 + + '@theguild/remark-npm2yarn@0.3.0': + resolution: {integrity: sha512-Fofw+9airYgjBd9G6PiHHCrptjyUybQ50JH9/5o9LCH54kggJ7stpCofzHjICB8L7VQbQ1Gwu23P/3CMVY1R4Q==} + + '@trysound/sax@0.2.0': + resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} + engines: {node: '>=10.13.0'} + + '@types/acorn@4.0.6': + resolution: {integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==} + + '@types/codemirror@5.60.7': + resolution: {integrity: sha512-QXIC+RPzt/1BGSuD6iFn6UMC9TDp+9hkOANYNPVsjjrDdzKphfRkwQDKGp2YaC54Yhz0g6P5uYTCCibZZEiMAA==} + + '@types/concat-stream@2.0.3': + resolution: {integrity: sha512-3qe4oQAPNwVNwK4C9c8u+VJqv9kez+2MR4qJpoPFfXtgxxif1QbFusvXzK0/Wra2VX07smostI2VMmJNSpZjuQ==} + + '@types/d3-scale-chromatic@3.0.3': + resolution: {integrity: sha512-laXM4+1o5ImZv3RpFAsTRn3TEkzqkytiOY0Dz0sq5cnd1dtNlk6sHLon4OvqaiJb28T0S/TdsBI3Sjsy+keJrw==} + + '@types/d3-scale@4.0.8': + resolution: {integrity: sha512-gkK1VVTr5iNiYJ7vWDI+yUFFlszhNMtVeneJ6lUTKPjprsvLLI9/tgEGiXJOnlINJA8FyA88gfnQsHbybVZrYQ==} + + '@types/d3-time@3.0.3': + resolution: {integrity: sha512-2p6olUZ4w3s+07q3Tm2dbiMZy5pCDfYwtLXXHUnVzXgQlZ/OyPtUz6OL382BkOuGlLXqfT+wqv8Fw2v8/0geBw==} + + '@types/debug@4.1.12': + resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} + + '@types/estree-jsx@1.0.5': + resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==} + + '@types/estree@1.0.5': + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + + '@types/hast@3.0.4': + resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} + + '@types/is-empty@1.2.3': + resolution: {integrity: sha512-4J1l5d79hoIvsrKh5VUKVRA1aIdsOb10Hu5j3J2VfP/msDnfTdGPmNp2E1Wg+vs97Bktzo+MZePFFXSGoykYJw==} + + '@types/katex@0.16.7': + resolution: {integrity: sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ==} + + '@types/lodash-es@4.17.12': + resolution: {integrity: sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==} + + '@types/lodash@4.17.13': + resolution: {integrity: sha512-lfx+dftrEZcdBPczf9d0Qv0x+j/rfNCMuC6OcfXmO8gkfeNAY88PgKUbvG56whcN23gc27yenwF6oJZXGFpYxg==} + + '@types/mdast@3.0.15': + resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==} + + '@types/mdast@4.0.3': + resolution: {integrity: sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==} + + '@types/mdx@2.0.12': + resolution: {integrity: sha512-H9VZ9YqE+H28FQVchC83RCs5xQ2J7mAAv6qdDEaWmXEVl3OpdH+xfrSUzQ1lp7U7oSTRZ0RvW08ASPJsYBi7Cw==} + + '@types/ms@0.7.34': + resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} + + '@types/nlcst@2.0.3': + resolution: {integrity: sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==} + + '@types/node@20.17.11': + resolution: {integrity: sha512-Ept5glCK35R8yeyIeYlRIZtX6SLRyqMhOFTgj5SOkMpLTdw3SEHI9fHx60xaUZ+V1aJxQJODE+7/j5ocZydYTg==} + + '@types/node@22.10.5': + resolution: {integrity: sha512-F8Q+SeGimwOo86fiovQh8qiXfFEh2/ocYv7tU5pJ3EXMSSxk1Joj5wefpFK2fHTf/N6HKGSxIDBT9f3gCxXPkQ==} + + '@types/prop-types@15.7.14': + resolution: {integrity: sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==} + + '@types/react@18.3.18': + resolution: {integrity: sha512-t4yC+vtgnkYjNSKlFx1jkAhH8LgTo2N/7Qvi83kdEaUtMDiwpbLAktKDaAMlRcJ5eSxZkH74eEGt1ky31d7kfQ==} + + '@types/rss@0.0.32': + resolution: {integrity: sha512-2oKNqKyUY4RSdvl5eZR1n2Q9yvw3XTe3mQHsFPn9alaNBxfPnbXBtGP8R0SV8pK1PrVnLul0zx7izbm5/gF5Qw==} + + '@types/string-similarity@4.0.2': + resolution: {integrity: sha512-LkJQ/jsXtCVMK+sKYAmX/8zEq+/46f1PTQw7YtmQwb74jemS1SlNLmARM2Zml9DgdDTWKAtc5L13WorpHPDjDA==} + + '@types/supports-color@8.1.3': + resolution: {integrity: sha512-Hy6UMpxhE3j1tLpl27exp1XqHD7n8chAiNPzWfz16LPZoMMoSc4dzLl6w9qijkEb/r5O1ozdu1CWGA2L83ZeZg==} + + '@types/tern@0.23.9': + resolution: {integrity: sha512-ypzHFE/wBzh+BlH6rrBgS5I/Z7RD21pGhZ2rltb/+ZrVM1awdZwjx7hE5XfuYgHWk9uvV5HLZN3SloevCAp3Bw==} + + '@types/unist@2.0.10': + resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==} + + '@types/unist@3.0.2': + resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==} + + '@types/ws@8.5.10': + resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} + + '@typescript-eslint/eslint-plugin@7.18.0': + resolution: {integrity: sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + '@typescript-eslint/parser': ^7.0.0 + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/parser@7.18.0': + resolution: {integrity: sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/scope-manager@7.18.0': + resolution: {integrity: sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==} + engines: {node: ^18.18.0 || >=20.0.0} + + '@typescript-eslint/type-utils@7.18.0': + resolution: {integrity: sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/types@7.18.0': + resolution: {integrity: sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==} + engines: {node: ^18.18.0 || >=20.0.0} + + '@typescript-eslint/typescript-estree@7.18.0': + resolution: {integrity: sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/utils@7.18.0': + resolution: {integrity: sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + eslint: ^8.56.0 + + '@typescript-eslint/visitor-keys@7.18.0': + resolution: {integrity: sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==} + engines: {node: ^18.18.0 || >=20.0.0} + + '@typescript/vfs@1.5.0': + resolution: {integrity: sha512-AJS307bPgbsZZ9ggCT3wwpg3VbTKMFNHfaY/uF0ahSkYYrPF2dSSKDNIDIQAHm9qJqbLvCsSJH7yN4Vs/CsMMg==} + + '@ungap/structured-clone@1.2.0': + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + + '@whatwg-node/disposablestack@0.0.5': + resolution: {integrity: sha512-9lXugdknoIequO4OYvIjhygvfSEgnO8oASLqLelnDhkRjgBZhc39shC3QSlZuyDO9bgYSIVa2cHAiN+St3ty4w==} + engines: {node: '>=18.0.0'} + + '@whatwg-node/fetch@0.10.1': + resolution: {integrity: sha512-gmPOLrsjSZWEZlr9Oe5+wWFBq3CG6fN13rGlM91Jsj/vZ95G9CCvrORGBAxMXy0AJGiC83aYiHXn3JzTzXQmbA==} + engines: {node: '>=18.0.0'} + + '@whatwg-node/node-fetch@0.7.5': + resolution: {integrity: sha512-t7kGrt2fdfNvzy1LCAE9/OnIyMtizgFhgJmk7iLJwQsLmR7S86F8Q4aDRPbCfo7pISJP6Fx/tPdfFNjHS23WTA==} + engines: {node: '>=18.0.0'} + + abbrev@2.0.0: + resolution: {integrity: sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + acorn-jsx@5.3.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + acorn@8.11.3: + resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} + engines: {node: '>=0.4.0'} + hasBin: true + + ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-regex@6.1.0: + resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} + engines: {node: '>=12'} + + ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + + any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + + arch@2.2.0: + resolution: {integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==} + + arg@1.0.0: + resolution: {integrity: sha512-Wk7TEzl1KqvTGs/uyhmHO/3XLd3t1UeU4IstvPXVzGPM522cTjqjNZ99esCkcL52sjqjo8e8CTBcWhkxvGzoAw==} + + arg@5.0.2: + resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} + + argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + array-iterate@2.0.1: + resolution: {integrity: sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==} + + array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + + arrify@1.0.1: + resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} + engines: {node: '>=0.10.0'} + + astring@1.8.6: + resolution: {integrity: sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==} + hasBin: true + + autoprefixer@10.4.20: + resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + + babel-plugin-polyfill-corejs2@0.4.12: + resolution: {integrity: sha512-CPWT6BwvhrTO2d8QVorhTCQw9Y43zOu7G9HigcfxvepOU6b8o3tcWad6oVgZIsZCTt42FFv97aA7ZJsbM4+8og==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-polyfill-corejs3@0.10.6: + resolution: {integrity: sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-polyfill-regenerator@0.6.3: + resolution: {integrity: sha512-LiWSbl4CRSIa5x/JAU6jZiG9eit9w6mz+yVMFwDE83LAWvt0AfGBoZ7HS/mkhrKuh2ZlzfVZYKoLjXdqw6Yt7Q==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + bail@2.0.2: + resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + better-react-mathjax@2.0.3: + resolution: {integrity: sha512-wfifT8GFOKb1TWm2+E50I6DJpLZ5kLbch283Lu043EJtwSv0XvZDjr4YfR4d2MjAhqP6SH4VjjrKgbX8R00oCQ==} + peerDependencies: + react: '>=16.8' + + bignumber.js@8.1.1: + resolution: {integrity: sha512-QD46ppGintwPGuL1KqmwhR0O+N2cZUg8JG/VzwI2e28sM9TqHjQB10lI4QAaMHVbLzwVLLAwEglpKPViWX+5NQ==} + + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + + boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + + brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + + brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + browserslist@4.24.3: + resolution: {integrity: sha512-1CPmv8iobE2fyRMV97dAcMVegvvWKxmq94hkLiAkUGwKVTyDLw33K+ZxiFrREKmmps4rIw6grcCFCnTMSZ/YiA==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + + busboy@1.6.0: + resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} + engines: {node: '>=10.16.0'} + + callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + camelcase-css@2.0.1: + resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} + engines: {node: '>= 6'} + + camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + + caniuse-lite@1.0.30001690: + resolution: {integrity: sha512-5ExiE3qQN6oF8Clf8ifIDcMRCRE/dMGcETG/XGMD8/XiXm6HXQgQTh1yZYLXXpSOsEUlJm1Xr7kGULZTuGtP/w==} + + ccount@2.0.1: + resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} + + chalk@2.3.0: + resolution: {integrity: sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==} + engines: {node: '>=4'} + + chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + character-entities-html4@2.1.0: + resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} + + character-entities-legacy@1.1.4: + resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==} + + character-entities-legacy@3.0.0: + resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} + + character-entities@1.2.4: + resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==} + + character-entities@2.0.2: + resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} + + character-reference-invalid@1.1.4: + resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==} + + character-reference-invalid@2.0.1: + resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} + + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + + ci-info@4.0.0: + resolution: {integrity: sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==} + engines: {node: '>=8'} + + client-only@0.0.1: + resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} + + clipboardy@1.2.2: + resolution: {integrity: sha512-16KrBOV7bHmHdxcQiCvfUFYVFyEah4FI8vYT1Fr7CGSA4G+xBWMEfUEQJS1hxeHGtI9ju1Bzs9uXSbj5HZKArw==} + engines: {node: '>=4'} + + clone-deep@4.0.1: + resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} + engines: {node: '>=6'} + + clsx@2.1.1: + resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} + engines: {node: '>=6'} + + codemirror-graphql@1.3.2: + resolution: {integrity: sha512-glwFsEVlH5TvxjSKGymZ1sNy37f3Mes58CB4fXOd0zy9+JzDL08Wti1b5ycy4vFZYghMDK1/Or/zRSjMAGtC2w==} + peerDependencies: + '@codemirror/language': ^0.20.0 + codemirror: ^5.65.3 + graphql: ^15.5.0 || ^16.0.0 + + codemirror@5.65.19: + resolution: {integrity: sha512-+aFkvqhaAVr1gferNMuN8vkTSrWIFvzlMV9I2KBLCWS2WpZ2+UAkZjlMZmEuT+gcXTi6RrGQCkWq1/bDtGqhIA==} + + codsen-utils@1.6.4: + resolution: {integrity: sha512-PDyvQ5f2PValmqZZIJATimcokDt4JjIev8cKbZgEOoZm+U1IJDYuLeTcxZPQdep99R/X0RIlQ6ReQgPOVnPbNw==} + engines: {node: '>=14.18.0'} + + collapse-white-space@2.1.0: + resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==} + + color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + color-string@1.9.1: + resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} + + color@4.2.3: + resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} + engines: {node: '>=12.5.0'} + + comma-separated-tokens@2.0.3: + resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} + + commander@4.1.1: + resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} + engines: {node: '>= 6'} + + commander@7.2.0: + resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} + engines: {node: '>= 10'} + + commander@8.3.0: + resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} + engines: {node: '>= 12'} + + commander@9.2.0: + resolution: {integrity: sha512-e2i4wANQiSXgnrBlIatyHtP1odfUp0BbV5Y5nEGbxtIrStkEOAAzCUirvLBNXHLr7kwLvJl6V+4V3XV9x7Wd9w==} + engines: {node: ^12.20.0 || >=14} + + compute-scroll-into-view@3.1.0: + resolution: {integrity: sha512-rj8l8pD4bJ1nx+dAkMhV1xB5RuZEyVysfxJqB1pRchh1KVvwOv9b7CGB8ZfjTImVv2oF+sYMUkMZq6Na5Ftmbg==} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + concat-stream@2.0.0: + resolution: {integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==} + engines: {'0': node >= 6.0} + + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + copy-anything@2.0.6: + resolution: {integrity: sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==} + + core-js-compat@3.39.0: + resolution: {integrity: sha512-VgEUx3VwlExr5no0tXlBt+silBvhTryPwCXRI2Id1PN8WTKu7MreethvddqOubrYxkFdv/RnYrqlv1sFNAUelw==} + + cose-base@1.0.3: + resolution: {integrity: sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==} + + cosmiconfig@8.3.6: + resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} + engines: {node: '>=14'} + peerDependencies: + typescript: '>=4.9.5' + peerDependenciesMeta: + typescript: + optional: true + + cross-inspect@1.0.1: + resolution: {integrity: sha512-Pcw1JTvZLSJH83iiGWt6fRcT+BjZlCDRVwYLbUcHzv/CRpB7r0MlSrGbIyQvVSNyGnbt7G4AXuyCiDR3POvZ1A==} + engines: {node: '>=16.0.0'} + + cross-spawn@5.1.0: + resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==} + + cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + + css-select@5.1.0: + resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} + + css-tree@2.2.1: + resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + + css-tree@2.3.1: + resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + + css-what@6.1.0: + resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} + engines: {node: '>= 6'} + + cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + + csso@5.0.5: + resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + + csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + + cytoscape-cose-bilkent@4.1.0: + resolution: {integrity: sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==} + peerDependencies: + cytoscape: ^3.2.0 + + cytoscape@3.28.1: + resolution: {integrity: sha512-xyItz4O/4zp9/239wCcH8ZcFuuZooEeF8KHRmzjDfGdXsj3OG9MFSMA0pJE0uX3uCN/ygof6hHf4L7lst+JaDg==} + engines: {node: '>=0.10'} + + d3-array@2.12.1: + resolution: {integrity: sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==} + + d3-array@3.2.4: + resolution: {integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==} + engines: {node: '>=12'} + + d3-axis@3.0.0: + resolution: {integrity: sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==} + engines: {node: '>=12'} + + d3-brush@3.0.0: + resolution: {integrity: sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==} + engines: {node: '>=12'} + + d3-chord@3.0.1: + resolution: {integrity: sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==} + engines: {node: '>=12'} + + d3-color@3.1.0: + resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==} + engines: {node: '>=12'} + + d3-contour@4.0.2: + resolution: {integrity: sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==} + engines: {node: '>=12'} + + d3-delaunay@6.0.4: + resolution: {integrity: sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==} + engines: {node: '>=12'} + + d3-dispatch@3.0.1: + resolution: {integrity: sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==} + engines: {node: '>=12'} + + d3-drag@3.0.0: + resolution: {integrity: sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==} + engines: {node: '>=12'} + + d3-dsv@3.0.1: + resolution: {integrity: sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==} + engines: {node: '>=12'} + hasBin: true + + d3-ease@3.0.1: + resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==} + engines: {node: '>=12'} + + d3-fetch@3.0.1: + resolution: {integrity: sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==} + engines: {node: '>=12'} + + d3-force@3.0.0: + resolution: {integrity: sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==} + engines: {node: '>=12'} + + d3-format@3.1.0: + resolution: {integrity: sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==} + engines: {node: '>=12'} + + d3-geo@3.1.1: + resolution: {integrity: sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==} + engines: {node: '>=12'} + + d3-hierarchy@3.1.2: + resolution: {integrity: sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==} + engines: {node: '>=12'} + + d3-interpolate@3.0.1: + resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==} + engines: {node: '>=12'} + + d3-path@1.0.9: + resolution: {integrity: sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==} + + d3-path@3.1.0: + resolution: {integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==} + engines: {node: '>=12'} + + d3-polygon@3.0.1: + resolution: {integrity: sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==} + engines: {node: '>=12'} + + d3-quadtree@3.0.1: + resolution: {integrity: sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==} + engines: {node: '>=12'} + + d3-random@3.0.1: + resolution: {integrity: sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==} + engines: {node: '>=12'} + + d3-sankey@0.12.3: + resolution: {integrity: sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==} + + d3-scale-chromatic@3.1.0: + resolution: {integrity: sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==} + engines: {node: '>=12'} + + d3-scale@4.0.2: + resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==} + engines: {node: '>=12'} + + d3-selection@3.0.0: + resolution: {integrity: sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==} + engines: {node: '>=12'} + + d3-shape@1.3.7: + resolution: {integrity: sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==} + + d3-shape@3.2.0: + resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==} + engines: {node: '>=12'} + + d3-time-format@4.1.0: + resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==} + engines: {node: '>=12'} + + d3-time@3.1.0: + resolution: {integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==} + engines: {node: '>=12'} + + d3-timer@3.0.1: + resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==} + engines: {node: '>=12'} + + d3-transition@3.0.1: + resolution: {integrity: sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==} + engines: {node: '>=12'} + peerDependencies: + d3-selection: 2 - 3 + + d3-zoom@3.0.0: + resolution: {integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==} + engines: {node: '>=12'} + + d3@7.9.0: + resolution: {integrity: sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==} + engines: {node: '>=12'} + + dagre-d3-es@7.0.10: + resolution: {integrity: sha512-qTCQmEhcynucuaZgY5/+ti3X/rnszKZhEQH/ZdWdtP1tA/y3VoHJzcVrO9pjjJCNpigfscAtoUB5ONcd2wNn0A==} + + dataloader@2.2.3: + resolution: {integrity: sha512-y2krtASINtPFS1rSDjacrFgn1dcUuoREVabwlOGOe4SdxenREqwjwjElAdwvbGM7kgZz9a3KVicWR7vcz8rnzA==} + + date-fns@2.30.0: + resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==} + engines: {node: '>=0.11'} + + dayjs@1.11.10: + resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==} + + debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@4.3.7: + resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@4.4.0: + resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + decode-named-character-reference@1.0.2: + resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} + + deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + + deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + + delaunator@5.0.1: + resolution: {integrity: sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==} + + dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + + detect-libc@2.0.3: + resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} + engines: {node: '>=8'} + + devlop@1.1.0: + resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + + didyoumean@1.2.2: + resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} + + diff@5.2.0: + resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} + engines: {node: '>=0.3.1'} + + dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + + dlv@1.1.3: + resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} + + doctrine@3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + + dom-serializer@2.0.0: + resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} + + domelementtype@2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + + domhandler@5.0.3: + resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} + engines: {node: '>= 4'} + + dompurify@3.0.11: + resolution: {integrity: sha512-Fan4uMuyB26gFV3ovPoEoQbxRRPfTu3CvImyZnhGq5fsIEO+gEFLp45ISFt+kQBWsK5ulDdT0oV28jS1UrwQLg==} + + domutils@3.1.0: + resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} + + dot-case@3.0.4: + resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} + + dset@3.1.3: + resolution: {integrity: sha512-20TuZZHCEZ2O71q9/+8BwKwZ0QtD9D8ObhrihJPr+vLLYlSuAU3/zL4cSlgbfeoGHTjCSJBa7NGcrF9/Bx/WJQ==} + engines: {node: '>=4'} + + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + + electron-to-chromium@1.5.74: + resolution: {integrity: sha512-ck3//9RC+6oss/1Bh9tiAVFy5vfSKbRHAFh7Z3/eTRkEqJeWgymloShB17Vg3Z4nmDNp35vAd1BZ6CMW4Wt6Iw==} + + elkjs@0.9.2: + resolution: {integrity: sha512-2Y/RaA1pdgSHpY0YG4TYuYCD2wh97CRvu22eLG3Kz0pgQ/6KbIFTxsTnDc4MH/6hFlg2L/9qXrDMG0nMjP63iw==} + + emoji-regex@10.4.0: + resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + + entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + + errno@0.1.8: + resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==} + hasBin: true + + error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + + esbuild@0.23.1: + resolution: {integrity: sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==} + engines: {node: '>=18'} + hasBin: true + + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + escape-string-regexp@5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + + eslint-config-prettier@9.1.0: + resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + + eslint-mdx@3.1.5: + resolution: {integrity: sha512-ynztX0k7CQ3iDL7fDEIeg3g0O/d6QPv7IBI9fdYLhXp5fAp0fi8X22xF/D3+Pk0f90R27uwqa1clHpay6t0l8Q==} + engines: {node: '>=18.0.0'} + peerDependencies: + eslint: '>=8.0.0' + + eslint-plugin-markdown@3.0.1: + resolution: {integrity: sha512-8rqoc148DWdGdmYF6WSQFT3uQ6PO7zXYgeBpHAOAakX/zpq+NvFYbDA/H7PYzHajwtmaOzAwfxyl++x0g1/N9A==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + + eslint-plugin-mdx@3.1.5: + resolution: {integrity: sha512-lUE7tP7IrIRHU3gTtASDe5u4YM2SvQveYVJfuo82yn3MLh/B/v05FNySURCK4aIxIYF1QYo3IRemQG/lyQzpAg==} + engines: {node: '>=18.0.0'} + peerDependencies: + eslint: '>=8.0.0' + + eslint-plugin-tailwindcss@3.17.5: + resolution: {integrity: sha512-8Mi7p7dm+mO1dHgRHHFdPu4RDTBk69Cn4P0B40vRQR+MrguUpwmKwhZy1kqYe3Km8/4nb+cyrCF+5SodOEmaow==} + engines: {node: '>=18.12.0'} + peerDependencies: + tailwindcss: ^3.4.0 + + eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint@8.57.1: + resolution: {integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. + hasBin: true + + esm@3.2.25: + resolution: {integrity: sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==} + engines: {node: '>=6'} + + espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + + esquery@1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} + + esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + + estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + estree-util-attach-comments@3.0.0: + resolution: {integrity: sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==} + + estree-util-build-jsx@3.0.1: + resolution: {integrity: sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==} + + estree-util-is-identifier-name@2.1.0: + resolution: {integrity: sha512-bEN9VHRyXAUOjkKVQVvArFym08BTWB0aJPppZZr0UNyAqWsLaVfAqP7hbaTJjzHifmB5ebnR8Wm7r7yGN/HonQ==} + + estree-util-is-identifier-name@3.0.0: + resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==} + + estree-util-to-js@2.0.0: + resolution: {integrity: sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==} + + estree-util-value-to-estree@1.3.0: + resolution: {integrity: sha512-Y+ughcF9jSUJvncXwqRageavjrNPAI+1M/L3BI3PyLp1nmgYTGUXU6t5z1Y7OWuThoDdhPME07bQU+d5LxdJqw==} + engines: {node: '>=12.0.0'} + + estree-util-value-to-estree@3.0.1: + resolution: {integrity: sha512-b2tdzTurEIbwRh+mKrEcaWfu1wgb8J1hVsgREg7FFiecWwK/PhO8X0kyc+0bIcKNtD4sqxIdNoRy6/p/TvECEA==} + engines: {node: '>=16.0.0'} + + estree-util-visit@2.0.0: + resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==} + + estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + + esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + execa@0.8.0: + resolution: {integrity: sha512-zDWS+Rb1E8BlqqhALSt9kUhss8Qq4nN3iof3gsOdyINksElaPyNBtKUMTR62qhvgVWR0CqCX7sdnKe4MnUbFEA==} + engines: {node: '>=4'} + + extend-shallow@2.0.1: + resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} + engines: {node: '>=0.10.0'} + + extend@3.0.2: + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + + extract-files@11.0.0: + resolution: {integrity: sha512-FuoE1qtbJ4bBVvv94CC7s0oTnKUGvQs+Rjf1L2SJFfS+HTVVjhPFtehPdQ0JiGPqVNfSSZvL5yzHHQq2Z4WNhQ==} + engines: {node: ^12.20 || >= 14.13} + + fast-decode-uri-component@1.0.1: + resolution: {integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-glob@3.3.3: + resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} + engines: {node: '>=8.6.0'} + + fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + + fast-querystring@1.1.2: + resolution: {integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==} + + fastq@1.18.0: + resolution: {integrity: sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw==} + + fault@2.0.1: + resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==} + + file-entry-cache@6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + + file-is-binary@1.0.0: + resolution: {integrity: sha512-71I2LciuolZDBUCu4JzFBKxSvVurMD84G97uCYgt9PZ7ElhEomGqYHTKKU2NcDOxR1g2bwn+hRbkTFSrD80Pfw==} + engines: {node: '>=0.10.0'} + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + + flat-cache@3.2.0: + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} + engines: {node: ^10.12.0 || >=12.0.0} + + flatted@3.3.1: + resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} + + flexsearch@0.7.43: + resolution: {integrity: sha512-c5o/+Um8aqCSOXGcZoqZOm+NqtVwNsvVpWv6lfmSclU954O3wvQKxxK8zj74fPaSJbXpSLTs4PRhh+wnoCXnKg==} + + focus-visible@5.2.0: + resolution: {integrity: sha512-Rwix9pBtC1Nuy5wysTmKy+UjbDJpIfg8eHjw0rjZ1mX4GNLz1Bmd16uDpI3Gk1i70Fgcs8Csg2lPm8HULFg9DQ==} + + for-in@1.0.2: + resolution: {integrity: sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==} + engines: {node: '>=0.10.0'} + + foreground-child@3.3.0: + resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} + engines: {node: '>=14'} + + format@0.2.2: + resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} + engines: {node: '>=0.4.x'} + + fraction.js@4.3.7: + resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} + + framer-motion@12.11.0: + resolution: {integrity: sha512-BaBPmkhaC2l0n619Kt1nQaxSdUdyyz5V1Z7EKJ1CcraOTZitgVx0RTbL8lmg2XesaFi6o8MPBIhkWDIvzDpGaQ==} + peerDependencies: + '@emotion/is-prop-valid': '*' + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@emotion/is-prop-valid': + optional: true + react: + optional: true + react-dom: + optional: true + + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + get-stream@3.0.0: + resolution: {integrity: sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==} + engines: {node: '>=4'} + + get-tsconfig@4.8.1: + resolution: {integrity: sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg==} + + github-slugger@2.0.0: + resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} + + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + + glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + + glob@10.3.10: + resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + + glob@10.4.5: + resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} + hasBin: true + + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported + + globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + + globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} + + globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + + graphql-config@5.1.3: + resolution: {integrity: sha512-RBhejsPjrNSuwtckRlilWzLVt2j8itl74W9Gke1KejDTz7oaA5kVd6wRn9zK9TS5mcmIYGxf7zN7a1ORMdxp1Q==} + engines: {node: '>= 16.0.0'} + peerDependencies: + cosmiconfig-toml-loader: ^1.0.0 + graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + peerDependenciesMeta: + cosmiconfig-toml-loader: + optional: true + + graphql-depth-limit@1.1.0: + resolution: {integrity: sha512-+3B2BaG8qQ8E18kzk9yiSdAa75i/hnnOwgSeAxVJctGQPvmeiLtqKOYF6HETCyRjiF7Xfsyal0HbLlxCQkgkrw==} + engines: {node: '>=6.0.0'} + peerDependencies: + graphql: '*' + + graphql-language-service@5.2.0: + resolution: {integrity: sha512-o/ZgTS0pBxWm3hSF4+6GwiV1//DxzoLWEbS38+jqpzzy1d/QXBidwQuVYTOksclbtOJZ3KR/tZ8fi/tI6VpVMg==} + hasBin: true + peerDependencies: + graphql: ^15.5.0 || ^16.0.0 + + graphql-ws@5.16.0: + resolution: {integrity: sha512-Ju2RCU2dQMgSKtArPbEtsK5gNLnsQyTNIo/T7cZNp96niC1x0KdJNZV0TIoilceBPQwfb5itrGl8pkFeOUMl4A==} + engines: {node: '>=10'} + peerDependencies: + graphql: '>=0.11 <=16' + + graphql@16.10.0: + resolution: {integrity: sha512-AjqGKbDGUFRKIRCP9tCKiIGHyriz2oHEbPIbEtcSLSs4YjReZOIPQQWek4+6hjw62H9QShXHyaGivGiYVLeYFQ==} + engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} + + gray-matter@3.1.1: + resolution: {integrity: sha512-nZ1qjLmayEv0/wt3sHig7I0s3/sJO0dkAaKYQ5YAOApUtYEOonXSFdWvL1khvnZMTvov4UufkqlFsilPnejEXA==} + engines: {node: '>=0.10.0'} + + gray-matter@4.0.3: + resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} + engines: {node: '>=6.0'} + + has-flag@2.0.0: + resolution: {integrity: sha512-P+1n3MnwjR/Epg9BBo1KT8qbye2g2Ou4sFumihwt6I4tsUX7jnLcX4BTOSKg/B1ZrIYMN9FcEnG4x5a7NB8Eng==} + engines: {node: '>=0.10.0'} + + has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + + hast-util-from-dom@5.0.0: + resolution: {integrity: sha512-d6235voAp/XR3Hh5uy7aGLbM3S4KamdW0WEgOaU1YoewnuYw4HXb5eRtv9g65m/RFGEfUY1Mw4UqCc5Y8L4Stg==} + + hast-util-from-html-isomorphic@2.0.0: + resolution: {integrity: sha512-zJfpXq44yff2hmE0XmwEOzdWin5xwH+QIhMLOScpX91e/NSGPsAzNCvLQDIEPyO2TXi+lBmU6hjLIhV8MwP2kw==} + + hast-util-from-html@2.0.1: + resolution: {integrity: sha512-RXQBLMl9kjKVNkJTIO6bZyb2n+cUH8LFaSSzo82jiLT6Tfc+Pt7VQCS+/h3YwG4jaNE2TA2sdJisGWR+aJrp0g==} + + hast-util-from-parse5@8.0.1: + resolution: {integrity: sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==} + + hast-util-is-element@3.0.0: + resolution: {integrity: sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==} + + hast-util-parse-selector@4.0.0: + resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==} + + hast-util-raw@9.0.2: + resolution: {integrity: sha512-PldBy71wO9Uq1kyaMch9AHIghtQvIwxBUkv823pKmkTM3oV1JxtsTNYdevMxvUHqcnOAuO65JKU2+0NOxc2ksA==} + + hast-util-to-estree@3.1.0: + resolution: {integrity: sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw==} + + hast-util-to-jsx-runtime@2.3.0: + resolution: {integrity: sha512-H/y0+IWPdsLLS738P8tDnrQ8Z+dj12zQQ6WC11TIM21C8WFVoIxcqWXf2H3hiTVZjF1AWqoimGwrTWecWrnmRQ==} + + hast-util-to-parse5@8.0.0: + resolution: {integrity: sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==} + + hast-util-to-string@3.0.1: + resolution: {integrity: sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A==} + + hast-util-to-text@4.0.0: + resolution: {integrity: sha512-EWiE1FSArNBPUo1cKWtzqgnuRQwEeQbQtnFJRYV1hb1BWDgrAlBU0ExptvZMM/KSA82cDpm2sFGf3Dmc5Mza3w==} + + hast-util-whitespace@3.0.0: + resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} + + hastscript@8.0.0: + resolution: {integrity: sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==} + + heap@0.2.7: + resolution: {integrity: sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==} + + html-entities@2.5.2: + resolution: {integrity: sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==} + + html-void-elements@3.0.0: + resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} + + iconv-lite@0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} + + iframe-resizer-react@1.1.1: + resolution: {integrity: sha512-s0EUUekv58FGbuWBanSCVsEKmmyBdWmdwQ8qx8g04jlNlCR7pNuDz7fw7zo5T5sdssl6yRMDl97NBdwD1gfDyQ==} + engines: {node: '>=16', npm: '>=5'} + peerDependencies: + prop-types: ^15.7.2 + react: ^16.13.1 || ^18.0.0 + react-dom: ^16.13.1 || ^18.0.0 + + iframe-resizer@4.4.5: + resolution: {integrity: sha512-U8bCywf/Gh07O69RXo6dXAzTtODQrxaHGHRI7Nt4ipXsuq6EMxVsOP/jjaP43YtXz/ibESS0uSVDN3sOGCzSmw==} + engines: {node: '>=0.8.0'} + + ignore@5.3.1: + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} + engines: {node: '>= 4'} + + image-size@0.5.5: + resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==} + engines: {node: '>=0.10.0'} + hasBin: true + + import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + + import-meta-resolve@4.0.0: + resolution: {integrity: sha512-okYUR7ZQPH+efeuMJGlq4f8ubUgO50kByRPyt/Cy1Io4PSRsPjxME+YlVaCOx+NIToW7hCsZNFJyTPFFKepRSA==} + + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + ini@4.1.2: + resolution: {integrity: sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + inline-style-parser@0.1.1: + resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==} + + inline-style-parser@0.2.3: + resolution: {integrity: sha512-qlD8YNDqyTKTyuITrDOffsl6Tdhv+UC4hcdAVuQsK4IMQ99nSgd1MIA/Q+jQYoh9r3hVUXhYh7urSRmXPkW04g==} + + internmap@1.0.1: + resolution: {integrity: sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==} + + internmap@2.0.3: + resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} + engines: {node: '>=12'} + + intersection-observer@0.12.2: + resolution: {integrity: sha512-7m1vEcPCxXYI8HqnL8CKI6siDyD+eIWSwgB3DZA+ZTogxk9I4CDnj4wilt9x/+/QbHI4YG5YZNmC6458/e9Ktg==} + + is-alphabetical@1.0.4: + resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==} + + is-alphabetical@2.0.1: + resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==} + + is-alphanumerical@1.0.4: + resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==} + + is-alphanumerical@2.0.1: + resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==} + + is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + + is-arrayish@0.3.2: + resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} + + is-binary-buffer@1.0.0: + resolution: {integrity: sha512-fP08vt1YuBWSWdDCWkHUDo/Gb+YpnsiK41w2kP3iAkWhMKV4uuAAwPQm9GkA4r+OCDzpa+APIOaHZW6d83e5Ug==} + engines: {node: '>=4'} + + is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + + is-buffer@1.1.6: + resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} + + is-buffer@2.0.5: + resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} + engines: {node: '>=4'} + + is-core-module@2.16.0: + resolution: {integrity: sha512-urTSINYfAYgcbLb0yDQ6egFm6h3Mo1DcF9EkyXSRjjzdHbsulg01qhwWuXdOoUBuTkbQ80KDboXa0vFJ+BDH+g==} + engines: {node: '>= 0.4'} + + is-decimal@1.0.4: + resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==} + + is-decimal@2.0.1: + resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} + + is-empty@1.2.0: + resolution: {integrity: sha512-F2FnH/otLNJv0J6wc73A5Xo7oHLNnqplYqZhUu01tD54DIPvxIRSTSLkrUB/M0nHO4vo1O9PDfN4KoTxCzLh/w==} + + is-extendable@0.1.1: + resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} + engines: {node: '>=0.10.0'} + + is-extendable@1.0.1: + resolution: {integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==} + engines: {node: '>=0.10.0'} + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-hexadecimal@1.0.4: + resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==} + + is-hexadecimal@2.0.1: + resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + + is-plain-obj@3.0.0: + resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==} + engines: {node: '>=10'} + + is-plain-obj@4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} + + is-plain-object@2.0.4: + resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} + engines: {node: '>=0.10.0'} + + is-reference@3.0.2: + resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==} + + is-stream@1.1.0: + resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} + engines: {node: '>=0.10.0'} + + is-what@3.14.1: + resolution: {integrity: sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==} + + is-whitespace@0.3.0: + resolution: {integrity: sha512-RydPhl4S6JwAyj0JJjshWJEFG6hNye3pZFBRZaTUfZFwGHxzppNaNOVgQuS/E/SlhrApuMXrpnK1EEIXfdo3Dg==} + engines: {node: '>=0.10.0'} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + isobject@3.0.1: + resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} + engines: {node: '>=0.10.0'} + + isomorphic-ws@5.0.0: + resolution: {integrity: sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw==} + peerDependencies: + ws: '*' + + jackspeak@2.3.6: + resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} + engines: {node: '>=14'} + + jackspeak@3.4.3: + resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + + jiti@1.21.7: + resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==} + hasBin: true + + jiti@2.4.2: + resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==} + hasBin: true + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + js-yaml@3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true + + js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + + jsesc@3.0.2: + resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} + engines: {node: '>=6'} + hasBin: true + + jsesc@3.1.0: + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} + engines: {node: '>=6'} + hasBin: true + + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + + json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + + json-parse-even-better-errors@3.0.1: + resolution: {integrity: sha512-aatBvbL26wVUCLmbWdCpeu9iF5wOyWpagiKkInA+kfws3sWdBrTnsvN2CKcyCYyUrc7rebNBlK6+kteg7ksecg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + + json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + katex@0.16.10: + resolution: {integrity: sha512-ZiqaC04tp2O5utMsl2TEZTXxa6WSC4yo0fv5ML++D3QZv/vx2Mct0mTlRx3O+uUkjfuAgOkzsCmq5MiUEsDDdA==} + hasBin: true + + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + + khroma@2.1.0: + resolution: {integrity: sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==} + + kind-of@3.2.2: + resolution: {integrity: sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==} + engines: {node: '>=0.10.0'} + + kind-of@5.1.0: + resolution: {integrity: sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==} + engines: {node: '>=0.10.0'} + + kind-of@6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + + kleur@4.1.5: + resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} + engines: {node: '>=6'} + + layout-base@1.0.2: + resolution: {integrity: sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==} + + lazy-cache@2.0.2: + resolution: {integrity: sha512-7vp2Acd2+Kz4XkzxGxaB1FWOi8KjWIWsgdfD5MCb86DWvlLqhRPM+d6Pro3iNEL5VT9mstz5hKAlcd+QR6H3aA==} + engines: {node: '>=0.10.0'} + + leaflet@1.9.4: + resolution: {integrity: sha512-nxS1ynzJOmOlHp+iL3FyWqK89GtNL8U8rvlMOsQdTTssxZwCXh8N2NB3GDQOL+YR3XnWyZAxwQixURb+FA74PA==} + + less-loader@12.2.0: + resolution: {integrity: sha512-MYUxjSQSBUQmowc0l5nPieOYwMzGPUaTzB6inNW/bdPEG9zOL3eAAD1Qw5ZxSPk7we5dMojHwNODYMV1hq4EVg==} + engines: {node: '>= 18.12.0'} + peerDependencies: + '@rspack/core': 0.x || 1.x + less: ^3.5.0 || ^4.0.0 + webpack: ^5.0.0 + peerDependenciesMeta: + '@rspack/core': + optional: true + webpack: + optional: true + + less@4.2.1: + resolution: {integrity: sha512-CasaJidTIhWmjcqv0Uj5vccMI7pJgfD9lMkKtlnTHAdJdYK/7l8pM9tumLyJ0zhbD4KJLo/YvTj+xznQd5NBhg==} + engines: {node: '>=6'} + hasBin: true + + levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + + lilconfig@3.1.3: + resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} + engines: {node: '>=14'} + + lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + + lines-and-columns@2.0.4: + resolution: {integrity: sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + load-plugin@6.0.2: + resolution: {integrity: sha512-3KRkTvCOsyNrx4zvBl/+ZMqPdVyp26TIf6xkmfEGuGwCfNQ/HzhktwbJCxd1KJpzPbK42t/WVOL3cX+TDaMRuQ==} + + locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + + lodash-es@4.17.21: + resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} + + lodash.castarray@4.4.0: + resolution: {integrity: sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==} + + lodash.debounce@4.0.8: + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + + lodash.isplainobject@4.0.6: + resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} + + lodash.lowercase@4.3.0: + resolution: {integrity: sha512-UcvP1IZYyDKyEL64mmrwoA1AbFu5ahojhTtkOUr1K9dbuxzS9ev8i4TxMMGCqRC9TE8uDaSoufNAXxRPNTseVA==} + + lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + + lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + + longest-streak@3.1.0: + resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} + + loose-envify@1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + hasBin: true + + lower-case@2.0.2: + resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} + + lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + + lru-cache@4.1.5: + resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} + + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + + lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + + lucide-react@0.469.0: + resolution: {integrity: sha512-28vvUnnKQ/dBwiCQtwJw7QauYnE7yd2Cyp4tTTJpvglX4EMpbflcdBgrgToX2j71B3YvugK/NH3BGUk+E/p/Fw==} + peerDependencies: + react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0 + + make-dir@2.1.0: + resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} + engines: {node: '>=6'} + + markdown-extensions@2.0.0: + resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==} + engines: {node: '>=16'} + + markdown-table@3.0.3: + resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} + + markdown-to-jsx@7.7.2: + resolution: {integrity: sha512-N3AKfYRvxNscvcIH6HDnDKILp4S8UWbebp+s92Y8SwIq0CuSbLW4Jgmrbjku3CWKjTQO0OyIMS6AhzqrwjEa3g==} + engines: {node: '>= 10'} + peerDependencies: + react: '>= 0.14.0' + + marked@5.1.2: + resolution: {integrity: sha512-ahRPGXJpjMjwSOlBoTMZAK7ATXkli5qCPxZ21TG44rx1KEo44bii4ekgTDQPNRQ4Kh7JMb9Ub1PVk1NxRSsorg==} + engines: {node: '>= 16'} + hasBin: true + + mathjax-full@3.2.2: + resolution: {integrity: sha512-+LfG9Fik+OuI8SLwsiR02IVdjcnRCy5MufYLi0C3TdMT56L/pjB0alMVGgoWJF8pN9Rc7FESycZB9BMNWIid5w==} + + mdast-util-find-and-replace@3.0.1: + resolution: {integrity: sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==} + + mdast-util-from-markdown@0.8.5: + resolution: {integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==} + + mdast-util-from-markdown@1.3.1: + resolution: {integrity: sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==} + + mdast-util-from-markdown@2.0.0: + resolution: {integrity: sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==} + + mdast-util-frontmatter@2.0.1: + resolution: {integrity: sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==} + + mdast-util-gfm-autolink-literal@2.0.0: + resolution: {integrity: sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg==} + + mdast-util-gfm-footnote@2.0.0: + resolution: {integrity: sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==} + + mdast-util-gfm-strikethrough@2.0.0: + resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==} + + mdast-util-gfm-table@2.0.0: + resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==} + + mdast-util-gfm-task-list-item@2.0.0: + resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==} + + mdast-util-gfm@3.0.0: + resolution: {integrity: sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==} + + mdast-util-math@3.0.0: + resolution: {integrity: sha512-Tl9GBNeG/AhJnQM221bJR2HPvLOSnLE/T9cJI9tlc6zwQk2nPk/4f0cHkOdEixQPC/j8UtKDdITswvLAy1OZ1w==} + + mdast-util-mdx-expression@2.0.0: + resolution: {integrity: sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw==} + + mdast-util-mdx-jsx@3.1.2: + resolution: {integrity: sha512-eKMQDeywY2wlHc97k5eD8VC+9ASMjN8ItEZQNGwJ6E0XWKiW/Z0V5/H8pvoXUf+y+Mj0VIgeRRbujBmFn4FTyA==} + + mdast-util-mdx@3.0.0: + resolution: {integrity: sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==} + + mdast-util-mdxjs-esm@2.0.1: + resolution: {integrity: sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==} + + mdast-util-phrasing@4.1.0: + resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} + + mdast-util-to-hast@13.1.0: + resolution: {integrity: sha512-/e2l/6+OdGp/FB+ctrJ9Avz71AN/GRH3oi/3KAx/kMnoUsD6q0woXlDT8lLEeViVKE7oZxE7RXzvO3T8kF2/sA==} + + mdast-util-to-markdown@2.1.0: + resolution: {integrity: sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==} + + mdast-util-to-string@2.0.0: + resolution: {integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==} + + mdast-util-to-string@3.2.0: + resolution: {integrity: sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==} + + mdast-util-to-string@4.0.0: + resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} + + mdn-data@2.0.28: + resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==} + + mdn-data@2.0.30: + resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} + + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + mermaid@10.9.0: + resolution: {integrity: sha512-swZju0hFox/B/qoLKK0rOxxgh8Cf7rJSfAUc1u8fezVihYMvrJAS45GzAxTVf4Q+xn9uMgitBcmWk7nWGXOs/g==} + + meros@1.3.0: + resolution: {integrity: sha512-2BNGOimxEz5hmjUG2FwoxCt5HN7BXdaWyFqEwxPTrJzVdABtrL4TiHTcsWSFAxPQ/tOnEaQEJh3qWq71QRMY+w==} + engines: {node: '>=13'} + peerDependencies: + '@types/node': '>=13' + peerDependenciesMeta: + '@types/node': + optional: true + + mhchemparser@4.2.1: + resolution: {integrity: sha512-kYmyrCirqJf3zZ9t/0wGgRZ4/ZJw//VwaRVGA75C4nhE60vtnIzhl9J9ndkX/h6hxSN7pjg/cE0VxbnNM+bnDQ==} + + micromark-core-commonmark@1.1.0: + resolution: {integrity: sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==} + + micromark-core-commonmark@2.0.0: + resolution: {integrity: sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA==} + + micromark-extension-frontmatter@2.0.0: + resolution: {integrity: sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==} + + micromark-extension-gfm-autolink-literal@2.0.0: + resolution: {integrity: sha512-rTHfnpt/Q7dEAK1Y5ii0W8bhfJlVJFnJMHIPisfPK3gpVNuOP0VnRl96+YJ3RYWV/P4gFeQoGKNlT3RhuvpqAg==} + + micromark-extension-gfm-footnote@2.0.0: + resolution: {integrity: sha512-6Rzu0CYRKDv3BfLAUnZsSlzx3ak6HAoI85KTiijuKIz5UxZxbUI+pD6oHgw+6UtQuiRwnGRhzMmPRv4smcz0fg==} + + micromark-extension-gfm-strikethrough@2.0.0: + resolution: {integrity: sha512-c3BR1ClMp5fxxmwP6AoOY2fXO9U8uFMKs4ADD66ahLTNcwzSCyRVU4k7LPV5Nxo/VJiR4TdzxRQY2v3qIUceCw==} + + micromark-extension-gfm-table@2.0.0: + resolution: {integrity: sha512-PoHlhypg1ItIucOaHmKE8fbin3vTLpDOUg8KAr8gRCF1MOZI9Nquq2i/44wFvviM4WuxJzc3demT8Y3dkfvYrw==} + + micromark-extension-gfm-tagfilter@2.0.0: + resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==} + + micromark-extension-gfm-task-list-item@2.0.1: + resolution: {integrity: sha512-cY5PzGcnULaN5O7T+cOzfMoHjBW7j+T9D2sucA5d/KbsBTPcYdebm9zUd9zzdgJGCwahV+/W78Z3nbulBYVbTw==} + + micromark-extension-gfm@3.0.0: + resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} + + micromark-extension-math@3.0.0: + resolution: {integrity: sha512-iJ2Q28vBoEovLN5o3GO12CpqorQRYDPT+p4zW50tGwTfJB+iv/VnB6Ini+gqa24K97DwptMBBIvVX6Bjk49oyQ==} + + micromark-extension-mdx-expression@3.0.0: + resolution: {integrity: sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ==} + + micromark-extension-mdx-jsx@3.0.0: + resolution: {integrity: sha512-uvhhss8OGuzR4/N17L1JwvmJIpPhAd8oByMawEKx6NVdBCbesjH4t+vjEp3ZXft9DwvlKSD07fCeI44/N0Vf2w==} + + micromark-extension-mdx-md@2.0.0: + resolution: {integrity: sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==} + + micromark-extension-mdxjs-esm@3.0.0: + resolution: {integrity: sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==} + + micromark-extension-mdxjs@3.0.0: + resolution: {integrity: sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==} + + micromark-factory-destination@1.1.0: + resolution: {integrity: sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==} + + micromark-factory-destination@2.0.0: + resolution: {integrity: sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==} + + micromark-factory-label@1.1.0: + resolution: {integrity: sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==} + + micromark-factory-label@2.0.0: + resolution: {integrity: sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==} + + micromark-factory-mdx-expression@2.0.1: + resolution: {integrity: sha512-F0ccWIUHRLRrYp5TC9ZYXmZo+p2AM13ggbsW4T0b5CRKP8KHVRB8t4pwtBgTxtjRmwrK0Irwm7vs2JOZabHZfg==} + + micromark-factory-space@1.1.0: + resolution: {integrity: sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==} + + micromark-factory-space@2.0.0: + resolution: {integrity: sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==} + + micromark-factory-title@1.1.0: + resolution: {integrity: sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==} + + micromark-factory-title@2.0.0: + resolution: {integrity: sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==} + + micromark-factory-whitespace@1.1.0: + resolution: {integrity: sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==} + + micromark-factory-whitespace@2.0.0: + resolution: {integrity: sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==} + + micromark-util-character@1.2.0: + resolution: {integrity: sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==} + + micromark-util-character@2.1.0: + resolution: {integrity: sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==} + + micromark-util-chunked@1.1.0: + resolution: {integrity: sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==} + + micromark-util-chunked@2.0.0: + resolution: {integrity: sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==} + + micromark-util-classify-character@1.1.0: + resolution: {integrity: sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==} + + micromark-util-classify-character@2.0.0: + resolution: {integrity: sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==} + + micromark-util-combine-extensions@1.1.0: + resolution: {integrity: sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==} + + micromark-util-combine-extensions@2.0.0: + resolution: {integrity: sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==} + + micromark-util-decode-numeric-character-reference@1.1.0: + resolution: {integrity: sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==} + + micromark-util-decode-numeric-character-reference@2.0.1: + resolution: {integrity: sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==} + + micromark-util-decode-string@1.1.0: + resolution: {integrity: sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==} + + micromark-util-decode-string@2.0.0: + resolution: {integrity: sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==} + + micromark-util-encode@1.1.0: + resolution: {integrity: sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==} + + micromark-util-encode@2.0.0: + resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==} + + micromark-util-events-to-acorn@2.0.2: + resolution: {integrity: sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA==} + + micromark-util-html-tag-name@1.2.0: + resolution: {integrity: sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==} + + micromark-util-html-tag-name@2.0.0: + resolution: {integrity: sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==} + + micromark-util-normalize-identifier@1.1.0: + resolution: {integrity: sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==} + + micromark-util-normalize-identifier@2.0.0: + resolution: {integrity: sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==} + + micromark-util-resolve-all@1.1.0: + resolution: {integrity: sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==} + + micromark-util-resolve-all@2.0.0: + resolution: {integrity: sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==} + + micromark-util-sanitize-uri@1.2.0: + resolution: {integrity: sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==} + + micromark-util-sanitize-uri@2.0.0: + resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==} + + micromark-util-subtokenize@1.1.0: + resolution: {integrity: sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==} + + micromark-util-subtokenize@2.0.0: + resolution: {integrity: sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg==} + + micromark-util-symbol@1.1.0: + resolution: {integrity: sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==} + + micromark-util-symbol@2.0.0: + resolution: {integrity: sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==} + + micromark-util-types@1.1.0: + resolution: {integrity: sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==} + + micromark-util-types@2.0.0: + resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==} + + micromark@2.11.4: + resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==} + + micromark@3.2.0: + resolution: {integrity: sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==} + + micromark@4.0.0: + resolution: {integrity: sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==} + + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + + mime-db@1.25.0: + resolution: {integrity: sha512-5k547tI4Cy+Lddr/hdjNbBEWBwSl8EBc5aSdKvedav8DReADgWJzcYiktaRIw3GtGC1jjwldXtTzvqJZmtvC7w==} + engines: {node: '>= 0.6'} + + mime-types@2.1.13: + resolution: {integrity: sha512-ryBDp1Z/6X90UvjUK3RksH0IBPM137T7cmg4OgD5wQBojlAiUwuok0QeELkim/72EtcYuNlmbkrcGuxj3Kl0YQ==} + engines: {node: '>= 0.6'} + + mime@1.6.0: + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} + hasBin: true + + minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + + minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} + engines: {node: '>=16 || 14 >=14.17'} + + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + minipass@7.1.2: + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + engines: {node: '>=16 || 14 >=14.17'} + + mixin-deep@1.3.2: + resolution: {integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==} + engines: {node: '>=0.10.0'} + + mj-context-menu@0.6.1: + resolution: {integrity: sha512-7NO5s6n10TIV96d4g2uDpG7ZDpIhMh0QNfGdJw/W47JswFcosz457wqz/b5sAKvl12sxINGFCn80NZHKwxQEXA==} + + motion-dom@12.11.0: + resolution: {integrity: sha512-CItkGYJenn5ZsbzTX0D9mE0UWdjdd9r535FrxEXhzR8Kwa9I2dLr1uhEJgQPWbgaIJ6i0sNFnf2T9NvVDWQVBw==} + + motion-utils@12.9.4: + resolution: {integrity: sha512-BW3I65zeM76CMsfh3kHid9ansEJk9Qvl+K5cu4DVHKGsI52n76OJ4z2CUJUV+Mn3uEP9k1JJA3tClG0ggSrRcg==} + + motion@12.11.0: + resolution: {integrity: sha512-1DIh+uBh2Ledv8VlJfveLuE+6tTAkLqRxhBHQSH6Ct8PxcZpUWY7z9E34L3LvnGbXp8u97hGSjeDsmvmVrjOeQ==} + peerDependencies: + '@emotion/is-prop-valid': '*' + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@emotion/is-prop-valid': + optional: true + react: + optional: true + react-dom: + optional: true + + mri@1.2.0: + resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} + engines: {node: '>=4'} + + ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + mz@2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + + nanoid@3.3.8: + resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + + needle@3.3.1: + resolution: {integrity: sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==} + engines: {node: '>= 4.4.x'} + hasBin: true + + next-image-export-optimizer@1.18.0: + resolution: {integrity: sha512-8yJO2QzBYMx2E1Lr67gWX3uqWbLZfBa7SwPjPjko4ki81SsJjsNeV7MID7VCcQ99aJW4mLgrWWRHCFNXF7gzlA==} + engines: {node: '>=16.0.0'} + hasBin: true + peerDependencies: + next: ^14.2.18 || ^15.0.3 + react: ^18.2.0 || ^19.0.0-0 + + next-query-params@5.0.1: + resolution: {integrity: sha512-QFumNTpdc/MtT1IresYoMKkRWOaplutzKJoRl6Uv9mIOdc3jGyWD7yCHE79AiGYlRCyo+4oMVvkLYpdV2trFKA==} + peerDependencies: + next: ^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0 || ^14.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + use-query-params: ^2.0.0 + + next-sitemap@4.2.3: + resolution: {integrity: sha512-vjdCxeDuWDzldhCnyFCQipw5bfpl4HmZA7uoo3GAaYGjGgfL4Cxb1CiztPuWGmS+auYs7/8OekRS8C2cjdAsjQ==} + engines: {node: '>=14.18'} + hasBin: true + peerDependencies: + next: '*' + + next-themes@0.3.0: + resolution: {integrity: sha512-/QHIrsYpd6Kfk7xakK4svpDI5mmXP0gfvCoJdGpZQ2TOrQZmsW0QxjaiLn8wbIKjtm4BTSqLoix4lxYYOnLJ/w==} + peerDependencies: + react: ^16.8 || ^17 || ^18 + react-dom: ^16.8 || ^17 || ^18 + + next-with-less@3.0.1: + resolution: {integrity: sha512-lVJQ+dNWGpR1ccWM/LjY+8i28DC2oPa1Ivrc+h4+DFPJJN6O2EGKZIFBGrd9GLbwAEjFzKPs7yUk6bnrbY0qcw==} + peerDependencies: + less: '*' + less-loader: '>= 7.0.0' + next: '>= 11.0.1' + + next@14.2.22: + resolution: {integrity: sha512-Ps2caobQ9hlEhscLPiPm3J3SYhfwfpMqzsoCMZGWxt9jBRK9hoBZj2A37i8joKhsyth2EuVKDVJCTF5/H4iEDw==} + engines: {node: '>=18.17.0'} + hasBin: true + peerDependencies: + '@opentelemetry/api': ^1.1.0 + '@playwright/test': ^1.41.2 + react: ^18.2.0 + react-dom: ^18.2.0 + sass: ^1.3.0 + peerDependenciesMeta: + '@opentelemetry/api': + optional: true + '@playwright/test': + optional: true + sass: + optional: true + + nextra-theme-docs@3.0.0-alpha.28: + resolution: {integrity: sha512-6n200ue1EKv/Eo7chkoKDLJ2gQ01R+hfdwp5xhzpSaqdiudqtsbUlDPEuwBBW0mQbLCUN80yNQanV4GjUg6/oA==} + peerDependencies: + next: '>=13' + nextra: 3.0.0-alpha.28 + react: '>=16.13.1' + react-dom: '>=16.13.1' + + nextra@3.0.0-alpha.28: + resolution: {integrity: sha512-sw/Jdp/c1jS1Hpk2aPs7Y2G3c5lU3ijyXTATr9zUfn35zpneNf+70No8XKxXFo+nWO0CRHwVB15Ya+DNsvaYtQ==} + engines: {node: '>=18'} + peerDependencies: + next: '>=13' + react: '>=16.13.1' + react-dom: '>=16.13.1' + + nlcst-to-string@4.0.0: + resolution: {integrity: sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA==} + + no-case@3.0.4: + resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} + + node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + + node-releases@2.0.19: + resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} + + non-layered-tidy-tree-layout@2.0.2: + resolution: {integrity: sha512-gkXMxRzUH+PB0ax9dUN0yYF0S25BqeAYqhgMaLUFmpXLEk7Fcu8f4emJuOAY0V8kjDICxROIKsTAKsV/v355xw==} + + nopt@7.2.0: + resolution: {integrity: sha512-CVDtwCdhYIvnAzFoJ6NJ6dX3oga9/HyciQDnG1vQDjSLMeKLJ4A93ZqYKDrgYSr1FBY5/hMYC+2VCi24pgpkGA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + hasBin: true + + normalize-path@2.1.1: + resolution: {integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==} + engines: {node: '>=0.10.0'} + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + normalize-range@0.1.2: + resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} + engines: {node: '>=0.10.0'} + + npm-normalize-package-bin@3.0.1: + resolution: {integrity: sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + npm-run-path@2.0.2: + resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==} + engines: {node: '>=4'} + + npm-to-yarn@2.2.1: + resolution: {integrity: sha512-O/j/ROyX0KGLG7O6Ieut/seQ0oiTpHF2tXAcFbpdTLQFiaNtkyTXXocM1fwpaa60dg1qpWj0nHlbNhx6qwuENQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + + nullthrows@1.1.1: + resolution: {integrity: sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==} + + numbro@2.5.0: + resolution: {integrity: sha512-xDcctDimhzko/e+y+Q2/8i3qNC9Svw1QgOkSkQoO0kIPI473tR9QRbo2KP88Ty9p8WbPy+3OpTaAIzehtuHq+A==} + + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + + object-hash@3.0.0: + resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} + engines: {node: '>= 6'} + + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + + optionator@0.9.3: + resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + engines: {node: '>= 0.8.0'} + + p-finally@1.0.0: + resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} + engines: {node: '>=4'} + + p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + + p-limit@4.0.0: + resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + p-limit@6.1.0: + resolution: {integrity: sha512-H0jc0q1vOzlEk0TqAKXKZxdl7kX3OFUzCnNVUnq5Pc3DGo0kpeaMuPqxQn235HibwBEb0/pm9dgKTjXy66fBkg==} + engines: {node: '>=18'} + + p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + + package-json-from-dist@1.0.1: + resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} + + parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + + parse-entities@2.0.0: + resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==} + + parse-entities@4.0.1: + resolution: {integrity: sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==} + + parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + + parse-json@7.1.1: + resolution: {integrity: sha512-SgOTCX/EZXtZxBE5eJ97P4yGM5n37BwRU+YMsH4vNzFqJV/oWFXXCmwFlgWUM4PrakybVOueJJ6pwHqSVhTFDw==} + engines: {node: '>=16'} + + parse-latin@7.0.0: + resolution: {integrity: sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ==} + + parse-node-version@1.0.1: + resolution: {integrity: sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==} + engines: {node: '>= 0.10'} + + parse-numeric-range@1.3.0: + resolution: {integrity: sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==} + + parse5@7.1.2: + resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} + + parser-front-matter@1.6.4: + resolution: {integrity: sha512-eqtUnI5+COkf1CQOYo8FmykN5Zs+5Yr60f/7GcPgQDZEEjdE/VZ4WMaMo9g37foof8h64t/TH2Uvk2Sq0fDy/g==} + engines: {node: '>=0.10.0'} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + + path-key@2.0.1: + resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} + engines: {node: '>=4'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} + + path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + + periscopic@3.1.0: + resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==} + + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + pify@2.3.0: + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} + engines: {node: '>=0.10.0'} + + pify@4.0.1: + resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} + engines: {node: '>=6'} + + pirates@4.0.6: + resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} + engines: {node: '>= 6'} + + postcss-import@15.1.0: + resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} + engines: {node: '>=14.0.0'} + peerDependencies: + postcss: ^8.0.0 + + postcss-js@4.0.1: + resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} + engines: {node: ^12 || ^14 || >= 16} + peerDependencies: + postcss: ^8.4.21 + + postcss-load-config@4.0.2: + resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} + engines: {node: '>= 14'} + peerDependencies: + postcss: '>=8.0.9' + ts-node: '>=9.0.0' + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + + postcss-nested@5.0.6: + resolution: {integrity: sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.2.14 + + postcss-nested@6.2.0: + resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.2.14 + + postcss-selector-parser@6.0.10: + resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==} + engines: {node: '>=4'} + + postcss-selector-parser@6.0.16: + resolution: {integrity: sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==} + engines: {node: '>=4'} + + postcss-selector-parser@6.1.2: + resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} + engines: {node: '>=4'} + + postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + + postcss@8.4.31: + resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} + engines: {node: ^10 || ^12 || >=14} + + postcss@8.4.49: + resolution: {integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==} + engines: {node: ^10 || ^12 || >=14} + + prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + + prettier-plugin-pkg@0.18.1: + resolution: {integrity: sha512-FuUxvsYZR/8rsLH8s/jbPQmgYvv0yxW8LoIHCy6+Q7p4FBjjdP3DNKx8fMTOsc0SlEB1skB4o1LcahRceIh87A==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + prettier: ^3.0.3 + + prettier-plugin-tailwindcss@0.6.9: + resolution: {integrity: sha512-r0i3uhaZAXYP0At5xGfJH876W3HHGHDp+LCRUJrs57PBeQ6mYHMwr25KH8NPX44F2yGTvdnH7OqCshlQx183Eg==} + engines: {node: '>=14.21.3'} + peerDependencies: + '@ianvs/prettier-plugin-sort-imports': '*' + '@prettier/plugin-pug': '*' + '@shopify/prettier-plugin-liquid': '*' + '@trivago/prettier-plugin-sort-imports': '*' + '@zackad/prettier-plugin-twig-melody': '*' + prettier: ^3.0 + prettier-plugin-astro: '*' + prettier-plugin-css-order: '*' + prettier-plugin-import-sort: '*' + prettier-plugin-jsdoc: '*' + prettier-plugin-marko: '*' + prettier-plugin-multiline-arrays: '*' + prettier-plugin-organize-attributes: '*' + prettier-plugin-organize-imports: '*' + prettier-plugin-sort-imports: '*' + prettier-plugin-style-order: '*' + prettier-plugin-svelte: '*' + peerDependenciesMeta: + '@ianvs/prettier-plugin-sort-imports': + optional: true + '@prettier/plugin-pug': + optional: true + '@shopify/prettier-plugin-liquid': + optional: true + '@trivago/prettier-plugin-sort-imports': + optional: true + '@zackad/prettier-plugin-twig-melody': + optional: true + prettier-plugin-astro: + optional: true + prettier-plugin-css-order: + optional: true + prettier-plugin-import-sort: + optional: true + prettier-plugin-jsdoc: + optional: true + prettier-plugin-marko: + optional: true + prettier-plugin-multiline-arrays: + optional: true + prettier-plugin-organize-attributes: + optional: true + prettier-plugin-organize-imports: + optional: true + prettier-plugin-sort-imports: + optional: true + prettier-plugin-style-order: + optional: true + prettier-plugin-svelte: + optional: true + + prettier@3.4.2: + resolution: {integrity: sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==} + engines: {node: '>=14'} + hasBin: true + + proc-log@3.0.0: + resolution: {integrity: sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + prop-types@15.8.1: + resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} + + property-information@6.4.1: + resolution: {integrity: sha512-OHYtXfu5aI2sS2LWFSN5rgJjrQ4pCy8i1jubJLe2QvMF8JJ++HXTUIVWFLfXJoaOfvYYjk2SN8J2wFUWIGXT4w==} + + prr@1.0.1: + resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} + + pseudomap@1.0.2: + resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} + + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + ranges-apply@7.0.16: + resolution: {integrity: sha512-4rGJHOyA7qatiMDg3vcETkc/TVBPU86/xZRTXff6o7a2neYLmj0EXUUAlhLVuiWAzTPHDPHOQxtk8EDrIF4ohg==} + engines: {node: '>=14.18.0'} + + ranges-merge@9.0.15: + resolution: {integrity: sha512-hvt4hx0FKIaVfjd1oKx0poL57ljxdL2KHC6bXBrAdsx2iCsH+x7nO/5J0k2veM/isnOcFZKp0ZKkiCjCtzy74Q==} + engines: {node: '>=14.18.0'} + + ranges-push@7.0.15: + resolution: {integrity: sha512-gXpBYQ5Umf3uG6jkJnw5ddok2Xfo5p22rAJBLrqzNKa7qkj3q5AOCoxfRPXEHUVaJutfXc9K9eGXdIzdyQKPkw==} + engines: {node: '>=14.18.0'} + + ranges-sort@6.0.11: + resolution: {integrity: sha512-fhNEG0vGi7bESitNNqNBAfYPdl2efB+1paFlI8BQDCNkruERKuuhG8LkQClDIVqUJLkrmKuOSPQ3xZHqVnVo3Q==} + engines: {node: '>=14.18.0'} + + react-dom@18.3.1: + resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} + peerDependencies: + react: ^18.3.1 + + react-is@16.13.1: + resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + + react-medium-image-zoom@5.2.13: + resolution: {integrity: sha512-KcBL4OsoUQJgIFh6vQgt/6sRGqDy6bQBcsbhGD2tsy4B5Pw3dWrboocVOyIm76RRALEZ6Qwp3EDvIvfEv0m5sg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + + react-use-measure@2.1.7: + resolution: {integrity: sha512-KrvcAo13I/60HpwGO5jpW7E9DfusKyLPLvuHlUyP5zqnmAPhNc6qTRjUQrdTADl0lpPpDVU2/Gg51UlOGHXbdg==} + peerDependencies: + react: '>=16.13' + react-dom: '>=16.13' + peerDependenciesMeta: + react-dom: + optional: true + + react@18.3.1: + resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} + engines: {node: '>=0.10.0'} + + read-cache@1.0.0: + resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} + + read-package-json-fast@3.0.2: + resolution: {integrity: sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + + reading-time@1.5.0: + resolution: {integrity: sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg==} + + regenerate-unicode-properties@10.2.0: + resolution: {integrity: sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==} + engines: {node: '>=4'} + + regenerate@1.4.2: + resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} + + regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + + regenerator-transform@0.15.2: + resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} + + regexpu-core@6.2.0: + resolution: {integrity: sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==} + engines: {node: '>=4'} + + regjsgen@0.8.0: + resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==} + + regjsparser@0.12.0: + resolution: {integrity: sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==} + hasBin: true + + rehype-katex@7.0.0: + resolution: {integrity: sha512-h8FPkGE00r2XKU+/acgqwWUlyzve1IiOKwsEkg4pDL3k48PiE0Pt+/uLtVHDVkN1yA4iurZN6UES8ivHVEQV6Q==} + + rehype-parse@9.0.0: + resolution: {integrity: sha512-WG7nfvmWWkCR++KEkZevZb/uw41E8TsH4DsY9UxsTbIXCVGbAs4S+r8FrQ+OtH5EEQAs+5UxKC42VinkmpA1Yw==} + + rehype-pretty-code@0.13.2: + resolution: {integrity: sha512-F+PaFMscfJOcSHcR2b//+hk/0jT56hmGDqXcVD6VC9j0CUSGiqv8YxaWUyhR7qEIRRSbzAVxx+0uxzk+akXs+w==} + engines: {node: '>=18'} + peerDependencies: + shiki: ^1.3.0 + + rehype-raw@7.0.0: + resolution: {integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==} + + remark-frontmatter@5.0.0: + resolution: {integrity: sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==} + + remark-gfm@4.0.0: + resolution: {integrity: sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==} + + remark-lint-first-heading-level@3.1.2: + resolution: {integrity: sha512-uSgDMAKOolDcxfJwQU+iJK2Vbz2ZIzBAjQiN0f+9O/7XwrAH5IuVQH60w7chuxVrauVHmd1rbjmvzXVq8R30VQ==} + + remark-lint-heading-increment@3.1.2: + resolution: {integrity: sha512-+fMfZmFh6ie6MmbRCVW77Rha15zDmnHWKiA0Do08OTrfngPTv8ZKXYLmxhUpL+xV9ts9q+9Kz5rv0L4QD4sEwQ==} + + remark-math@6.0.0: + resolution: {integrity: sha512-MMqgnP74Igy+S3WwnhQ7kqGlEerTETXMvJhrUzDikVZ2/uogJCb+WHUg97hK9/jcfc0dkD73s3LN8zU49cTEtA==} + + remark-mdx@3.0.1: + resolution: {integrity: sha512-3Pz3yPQ5Rht2pM5R+0J2MrGoBSrzf+tJG94N+t/ilfdh8YLyyKYtidAYwTveB20BoHAcwIopOUqhcmh2F7hGYA==} + + remark-parse@11.0.0: + resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} + + remark-reading-time@2.0.1: + resolution: {integrity: sha512-fy4BKy9SRhtYbEHvp6AItbRTnrhiDGbqLQTSYVbQPGuRCncU1ubSsh9p/W5QZSxtYcUXv8KGL0xBgPLyNJA1xw==} + + remark-rehype@11.1.0: + resolution: {integrity: sha512-z3tJrAs2kIs1AqIIy6pzHmAHlF1hWQ+OdY4/hv+Wxe35EhyLKcajL33iUEn3ScxtFox9nUvRufR/Zre8Q08H/g==} + + remark-smartypants@3.0.2: + resolution: {integrity: sha512-ILTWeOriIluwEvPjv67v7Blgrcx+LZOkAUVtKI3putuhlZm84FnqDORNXPPm+HY3NdZOMhyDwZ1E+eZB/Df5dA==} + engines: {node: '>=16.0.0'} + + remark-stringify@11.0.0: + resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} + + remove-trailing-separator@1.1.0: + resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==} + + resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + + resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + + resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + + resolve@1.22.9: + resolution: {integrity: sha512-QxrmX1DzraFIi9PxdG5VkRfRwIgjwyud+z/iBwfRRrVmHc+P9Q7u2lSSpQ6bjr2gy5lrqIiU9vb6iAeGf2400A==} + hasBin: true + + retext-latin@4.0.0: + resolution: {integrity: sha512-hv9woG7Fy0M9IlRQloq/N6atV82NxLGveq+3H2WOi79dtIYWN8OaxogDm77f8YnVXJL2VD3bbqowu5E3EMhBYA==} + + retext-smartypants@6.1.0: + resolution: {integrity: sha512-LDPXg95346bqFZnDMHo0S7Rq5p64+B+N8Vz733+wPMDtwb9rCOs9LIdIEhrUOU+TAywX9St+ocQWJt8wrzivcQ==} + + retext-stringify@4.0.0: + resolution: {integrity: sha512-rtfN/0o8kL1e+78+uxPTqu1Klt0yPzKuQ2BfWwwfgIUSayyzxpM1PJzkKt4V8803uB9qSy32MvI7Xep9khTpiA==} + + retext@9.0.0: + resolution: {integrity: sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA==} + + reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + rfdc@1.4.1: + resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} + + rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported + hasBin: true + + robust-predicates@3.0.2: + resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==} + + rss@1.2.2: + resolution: {integrity: sha512-xUhRTgslHeCBeHAqaWSbOYTydN2f0tAzNXvzh3stjz7QDhQMzdgHf3pfgNIngeytQflrFPfy6axHilTETr6gDg==} + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + rw@1.3.3: + resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==} + + sade@1.8.1: + resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} + engines: {node: '>=6'} + + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + + sax@1.4.1: + resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==} + + scheduler@0.23.2: + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} + + scroll-into-view-if-needed@3.1.0: + resolution: {integrity: sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==} + + section-matter@1.0.0: + resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} + engines: {node: '>=4'} + + semver@5.7.2: + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} + hasBin: true + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + semver@7.6.0: + resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + engines: {node: '>=10'} + hasBin: true + + semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} + engines: {node: '>=10'} + hasBin: true + + serialize-query-params@2.0.2: + resolution: {integrity: sha512-1chMo1dST4pFA9RDXAtF0Rbjaut4is7bzFbI1Z26IuMub68pNCILku85aYmeFhvnY//BXUPUhoRMjYcsT93J/Q==} + + server-only@0.0.1: + resolution: {integrity: sha512-qepMx2JxAa5jjfzxG79yPPq+8BuFToHd1hm7kI+Z4zAq1ftQiP7HcxMhDDItrbtwVeLg/cY2JnKnrcFkmiswNA==} + + set-getter@0.1.1: + resolution: {integrity: sha512-9sVWOy+gthr+0G9DzqqLaYNA7+5OKkSmcqjL9cBpDEaZrr3ShQlyX2cZ/O/ozE41oxn/Tt0LGEM/w4Rub3A3gw==} + engines: {node: '>=0.10.0'} + + shallow-clone@3.0.1: + resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} + engines: {node: '>=8'} + + sharp@0.33.5: + resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + + shebang-command@1.2.0: + resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} + engines: {node: '>=0.10.0'} + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@1.0.0: + resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} + engines: {node: '>=0.10.0'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + shiki@1.2.1: + resolution: {integrity: sha512-u+XW6o0vCkUNlneZb914dLO+AayEIwK5tI62WeS//R5HIXBFiYaj/Hc5xcq27Yh83Grr4JbNtUBV8W6zyK4hWg==} + + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + + simple-swizzle@0.2.2: + resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} + + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + slash@5.1.0: + resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} + engines: {node: '>=14.16'} + + snake-case@3.0.4: + resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} + + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + source-map@0.7.4: + resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} + engines: {node: '>= 8'} + + space-separated-tokens@2.0.2: + resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} + + speech-rule-engine@4.0.7: + resolution: {integrity: sha512-sJrL3/wHzNwJRLBdf6CjJWIlxC04iYKkyXvYSVsWVOiC2DSkHmxsqOhEeMsBA9XK+CHuNcsdkbFDnoUfAsmp9g==} + hasBin: true + + sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + + streamsearch@1.1.0: + resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} + engines: {node: '>=10.0.0'} + + string-collapse-leading-whitespace@7.0.7: + resolution: {integrity: sha512-jF9eynJoE6ezTCdYI8Qb02/ij/DlU9ItG93Dty4SWfJeLFrotOr+wH9IRiWHTqO3mjCyqBWEiU3uSTIbxYbAEQ==} + engines: {node: '>=14.18.0'} + + string-env-interpolation@1.0.1: + resolution: {integrity: sha512-78lwMoCcn0nNu8LszbP1UA7g55OeE4v7rCeWnM5B453rnNr4aq+5it3FEYtZrSEiMvHZOZ9Jlqb0OD0M2VInqg==} + + string-left-right@6.0.17: + resolution: {integrity: sha512-nuyIV4D4ivnwT64E0TudmCRg52NfkumuEUilyoOrHb/Z2wEOF5I+9SI6P+veFKqWKZfGpAs6OqKe4nAjujARyw==} + engines: {node: '>=14.18.0'} + + string-similarity@4.0.4: + resolution: {integrity: sha512-/q/8Q4Bl4ZKAPjj8WerIBJWALKkaPRfrvhfF8k/B23i4nzrlRj2/go1m90In7nG/3XDSbOo0+pu6RvCTM9RGMQ==} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. + + string-strip-html@13.4.8: + resolution: {integrity: sha512-vlcRAtx5DN6zXGUx3EYGFg0/JOQWM65mqLgDaBHviQPP+ovUFzqZ30iQ+674JHWr9wNgnzFGxx9TGipPZMnZXg==} + engines: {node: '>=14.18.0'} + + string-trim-spaces-only@5.0.10: + resolution: {integrity: sha512-MhmjE5jNqb1Ylo+BARPRlsdChGLrnPpAUWrT1VOxo9WhWwKVUU6CbZTfjwKaQPYTGS/wsX/4Zek88FM2rEb5iA==} + engines: {node: '>=14.18.0'} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + + string-width@6.1.0: + resolution: {integrity: sha512-k01swCJAgQmuADB0YIc+7TuatfNvTBVOoaUWJjTB9R4VJzR5vNWzf5t42ESVZFPS8xTySF7CAdV4t/aaIm3UnQ==} + engines: {node: '>=16'} + + string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + + stringify-entities@4.0.3: + resolution: {integrity: sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + + strip-bom-string@1.0.0: + resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==} + engines: {node: '>=0.10.0'} + + strip-eof@1.0.0: + resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==} + engines: {node: '>=0.10.0'} + + strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + style-mod@4.1.2: + resolution: {integrity: sha512-wnD1HyVqpJUI2+eKZ+eo1UwghftP6yuFheBqqe+bWCotBjC2K1YnteJILRMs3SM4V/0dLEW1SC27MWP5y+mwmw==} + + style-to-object@0.4.4: + resolution: {integrity: sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==} + + style-to-object@1.0.6: + resolution: {integrity: sha512-khxq+Qm3xEyZfKd/y9L3oIWQimxuc4STrQKtQn8aSDRHb8mFgpukgX1hdzfrMEW6JCjyJ8p89x+IUMVnCBI1PA==} + + styled-jsx@5.1.1: + resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} + engines: {node: '>= 12.0.0'} + peerDependencies: + '@babel/core': '*' + babel-plugin-macros: '*' + react: '>= 16.8.0 || 17.x.x || ^18.0.0-0' + peerDependenciesMeta: + '@babel/core': + optional: true + babel-plugin-macros: + optional: true + + stylis@4.3.1: + resolution: {integrity: sha512-EQepAV+wMsIaGVGX1RECzgrcqRRU/0sYOHkeLsZ3fzHaHXZy4DaOOX0vOlGQdlsjkh3mFHAIlVimpwAs4dslyQ==} + + sucrase@3.35.0: + resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + + supports-color@4.5.0: + resolution: {integrity: sha512-ycQR/UbvI9xIlEdQT1TQqwoXtEldExbCEAJgRo5YXlmSKjv6ThHnP9/vwGa1gr19Gfw+LkFd7KqYMhzrRC5JYw==} + engines: {node: '>=4'} + + supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + supports-color@9.4.0: + resolution: {integrity: sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw==} + engines: {node: '>=12'} + + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + svg-parser@2.0.4: + resolution: {integrity: sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==} + + svgo@3.3.2: + resolution: {integrity: sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==} + engines: {node: '>=14.0.0'} + hasBin: true + + synckit@0.9.0: + resolution: {integrity: sha512-7RnqIMq572L8PeEzKeBINYEJDDxpcH8JEgLwUqBd3TkofhFRbkq4QLR0u+36avGAhCRbk2nnmjcW9SE531hPDg==} + engines: {node: ^14.18.0 || >=16.0.0} + + tailwindcss@3.4.17: + resolution: {integrity: sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==} + engines: {node: '>=14.0.0'} + hasBin: true + + text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + + thenify-all@1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} + + thenify@3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + + timeago.js@4.0.2: + resolution: {integrity: sha512-a7wPxPdVlQL7lqvitHGGRsofhdwtkoSXPGATFuSOA2i1ZNQEPLrGnj68vOp2sOJTCFAQVXPeNMX/GctBaO9L2w==} + + tiny-invariant@1.3.3: + resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} + + title@3.5.3: + resolution: {integrity: sha512-20JyowYglSEeCvZv3EZ0nZ046vLarO37prvV0mbtQV7C8DJPGgN967r8SJkqd3XK3K3lD3/Iyfp3avjfil8Q2Q==} + hasBin: true + + titleize@1.0.0: + resolution: {integrity: sha512-TARUb7z1pGvlLxgPk++7wJ6aycXF3GJ0sNSBTAsTuJrQG5QuZlkUQP+zl+nbjAh4gMX9yDw9ZYklMd7vAfJKEw==} + engines: {node: '>=0.10.0'} + + to-object-path@0.3.0: + resolution: {integrity: sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==} + engines: {node: '>=0.10.0'} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + + trim-leading-lines@0.1.1: + resolution: {integrity: sha512-ViFS8blDWJN4Jg10fyZ+sIAfkSSAn5NiTVywc3kKtMWK3DZjaV7FV86oX3i9KY6/gqYkdka/UNeM2/NMGttiyA==} + engines: {node: '>=0.10.0'} + + trim-lines@3.0.1: + resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} + + trough@2.2.0: + resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} + + ts-api-utils@1.3.0: + resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} + engines: {node: '>=16'} + peerDependencies: + typescript: '>=4.2.0' + + ts-dedent@2.2.0: + resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==} + engines: {node: '>=6.10'} + + ts-interface-checker@0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + + tslib@2.6.2: + resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + + tsx@4.19.2: + resolution: {integrity: sha512-pOUl6Vo2LUq/bSa8S5q7b91cgNSjctn9ugq/+Mvow99qW6x/UZYwzxy/3NmqoT66eHYfCVvFvACC58UBPFf28g==} + engines: {node: '>=18.0.0'} + hasBin: true + + twoslash-protocol@0.2.5: + resolution: {integrity: sha512-oUr5ZAn37CgNa6p1mrCuuR/pINffsnGCee2aS170Uj1IObxCjsHzu6sgdPUdxGLLn6++gd/qjNH1/iR6RrfLeg==} + + twoslash@0.2.5: + resolution: {integrity: sha512-U8rqsfVh8jQMO1NJekUtglb52b7xD9+FrzeFrgzpHsRTKl8IQgqnZP6ld4PeKaHXhLfoZPuju9K50NXJ7wom8g==} + peerDependencies: + typescript: '*' + + type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + + type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + + type-fest@3.13.1: + resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==} + engines: {node: '>=14.16'} + + typedarray@0.0.6: + resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} + + typescript@5.7.2: + resolution: {integrity: sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==} + engines: {node: '>=14.17'} + hasBin: true + + undici-types@6.19.8: + resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} + + undici-types@6.20.0: + resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} + + unicode-canonical-property-names-ecmascript@2.0.1: + resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==} + engines: {node: '>=4'} + + unicode-match-property-ecmascript@2.0.0: + resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} + engines: {node: '>=4'} + + unicode-match-property-value-ecmascript@2.2.0: + resolution: {integrity: sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==} + engines: {node: '>=4'} + + unicode-property-aliases-ecmascript@2.1.0: + resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} + engines: {node: '>=4'} + + unified-engine@11.2.0: + resolution: {integrity: sha512-H9wEDpBSM0cpEUuuYAOIiPzLCVN0pjASZZ6FFNzgzYS/HHzl9tArk/ereOMGtcF8m8vgjzw+HrU3YN7oenT7Ww==} + + unified-lint-rule@2.1.2: + resolution: {integrity: sha512-JWudPtRN7TLFHVLEVZ+Rm8FUb6kCAtHxEXFgBGDxRSdNMnGyTU5zyYvduHSF/liExlFB3vdFvsAHnNVE/UjAwA==} + + unified@10.1.2: + resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==} + + unified@11.0.5: + resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} + + unist-util-find-after@5.0.0: + resolution: {integrity: sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==} + + unist-util-generated@2.0.1: + resolution: {integrity: sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==} + + unist-util-inspect@8.0.0: + resolution: {integrity: sha512-/3Wn/wU6/H6UEo4FoYUeo8KUePN8ERiZpQYFWYoihOsr1DoDuv80PeB0hobVZyYSvALa2e556bG1A1/AbwU4yg==} + + unist-util-is@5.2.1: + resolution: {integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==} + + unist-util-is@6.0.0: + resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} + + unist-util-modify-children@4.0.0: + resolution: {integrity: sha512-+tdN5fGNddvsQdIzUF3Xx82CU9sMM+fA0dLgR9vOmT0oPT2jH+P1nd5lSqfCfXAw+93NhcXNY2qqvTUtE4cQkw==} + + unist-util-position-from-estree@2.0.0: + resolution: {integrity: sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==} + + unist-util-position@5.0.0: + resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} + + unist-util-remove-position@5.0.0: + resolution: {integrity: sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==} + + unist-util-remove@4.0.0: + resolution: {integrity: sha512-b4gokeGId57UVRX/eVKej5gXqGlc9+trkORhFJpu9raqZkZhU0zm8Doi05+HaiBsMEIJowL+2WtQ5ItjsngPXg==} + + unist-util-stringify-position@2.0.3: + resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} + + unist-util-stringify-position@3.0.3: + resolution: {integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==} + + unist-util-stringify-position@4.0.0: + resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} + + unist-util-visit-children@3.0.0: + resolution: {integrity: sha512-RgmdTfSBOg04sdPcpTSD1jzoNBjt9a80/ZCzp5cI9n1qPzLZWF9YdvWGN2zmTumP1HWhXKdUWexjy/Wy/lJ7tA==} + + unist-util-visit-parents@4.1.1: + resolution: {integrity: sha512-1xAFJXAKpnnJl8G7K5KgU7FY55y3GcLIXqkzUj5QF/QVP7biUm0K0O2oqVkYsdjzJKifYeWn9+o6piAK2hGSHw==} + + unist-util-visit-parents@5.1.3: + resolution: {integrity: sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==} + + unist-util-visit-parents@6.0.1: + resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} + + unist-util-visit@3.1.0: + resolution: {integrity: sha512-Szoh+R/Ll68QWAyQyZZpQzZQm2UPbxibDvaY8Xc9SUtYgPsDzx5AWSk++UUt2hJuow8mvwR+rG+LQLw+KsuAKA==} + + unist-util-visit@4.1.2: + resolution: {integrity: sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==} + + unist-util-visit@5.0.0: + resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} + + unixify@1.0.0: + resolution: {integrity: sha512-6bc58dPYhCMHHuwxldQxO3RRNZ4eCogZ/st++0+fcC1nr0jiGUtAdBJ2qzmLQWSxbtz42pWt4QQMiZ9HvZf5cg==} + engines: {node: '>=0.10.0'} + + update-browserslist-db@1.1.1: + resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + + urlpattern-polyfill@10.0.0: + resolution: {integrity: sha512-H/A06tKD7sS1O1X2SshBVeA5FLycRpjqiBeqGKmBwBDBy28EnRjORxTNe269KSSr5un5qyWi1iL61wLxpd+ZOg==} + + use-query-params@2.2.1: + resolution: {integrity: sha512-i6alcyLB8w9i3ZK3caNftdb+UnbfBRNPDnc89CNQWkGRmDrm/gfydHvMBfVsQJRq3NoHOM2dt/ceBWG2397v1Q==} + peerDependencies: + '@reach/router': ^1.2.1 + react: '>=16.8.0' + react-dom: '>=16.8.0' + react-router-dom: '>=5' + peerDependenciesMeta: + '@reach/router': + optional: true + react-router-dom: + optional: true + + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + uuid@9.0.1: + resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} + hasBin: true + + uvu@0.5.6: + resolution: {integrity: sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==} + engines: {node: '>=8'} + hasBin: true + + value-or-promise@1.0.12: + resolution: {integrity: sha512-Z6Uz+TYwEqE7ZN50gwn+1LCVo9ZVrpxRPOhOLnncYkY1ZzOYtrX8Fwf/rFktZ8R5mJms6EZf5TqNOMeZmnPq9Q==} + engines: {node: '>=12'} + + vfile-location@5.0.2: + resolution: {integrity: sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg==} + + vfile-message@3.1.4: + resolution: {integrity: sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==} + + vfile-message@4.0.2: + resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} + + vfile-reporter@8.1.0: + resolution: {integrity: sha512-NfHyHdkCcy0BsXiLA3nId29TY7W7hgpc8nd8Soe3imATx5N4/+mkLYdMR+Y6Zvu6BXMMi0FZsD4FLCm1dN85Pg==} + + vfile-sort@4.0.0: + resolution: {integrity: sha512-lffPI1JrbHDTToJwcq0rl6rBmkjQmMuXkAxsZPRS9DXbaJQvc642eCg6EGxcX2i1L+esbuhq+2l9tBll5v8AeQ==} + + vfile-statistics@3.0.0: + resolution: {integrity: sha512-/qlwqwWBWFOmpXujL/20P+Iuydil0rZZNglR+VNm6J0gpLHwuVM5s7g2TfVoswbXjZ4HuIhLMySEyIw5i7/D8w==} + + vfile@5.3.7: + resolution: {integrity: sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==} + + vfile@6.0.1: + resolution: {integrity: sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==} + + vscode-languageserver-types@3.17.5: + resolution: {integrity: sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==} + + w3c-keyname@2.2.8: + resolution: {integrity: sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==} + + walk-up-path@3.0.1: + resolution: {integrity: sha512-9YlCL/ynK3CTlrSRrDxZvUauLzAswPCrsaCgilqFevUYpeEW0/3ScEjaa3kbW/T0ghhkEr7mv+fpjqn1Y1YuTA==} + + warning@4.0.3: + resolution: {integrity: sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==} + + web-namespaces@2.0.1: + resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} + + web-worker@1.3.0: + resolution: {integrity: sha512-BSR9wyRsy/KOValMgd5kMyr3JzpdeoR9KVId8u5GVlTTAtNChlsE4yTxeY7zMdNSyOmoKBv8NH2qeRY9Tg+IaA==} + + webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + + whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + + which@1.3.1: + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} + hasBin: true + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + wicked-good-xpath@1.3.0: + resolution: {integrity: sha512-Gd9+TUn5nXdwj/hFsPVx5cuHHiF5Bwuc30jZ4+ronF1qHK5O7HD0sgmXWSEgwKquT3ClLoKPVbO6qGwVwLzvAw==} + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + ws@8.18.0: + resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + xml@1.0.1: + resolution: {integrity: sha512-huCv9IH9Tcf95zuYCsQraZtWnJvBtLVE0QHMOs8bWyZAFZNDcYjsPq1nEx8jKA9y+Beo9v+7OBPRisQTjinQMw==} + + xmldom-sre@0.1.31: + resolution: {integrity: sha512-f9s+fUkX04BxQf+7mMWAp5zk61pciie+fFLC9hX9UVvCeJQfNHRHXpeo5MPcR0EUf57PYLdt+ZO4f3Ipk2oZUw==} + engines: {node: '>=0.1'} + + yallist@2.1.2: + resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==} + + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + + yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + + yaml@2.4.1: + resolution: {integrity: sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==} + engines: {node: '>= 14'} + hasBin: true + + yaml@2.6.1: + resolution: {integrity: sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==} + engines: {node: '>= 14'} + hasBin: true + + yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + + yocto-queue@1.0.0: + resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} + engines: {node: '>=12.20'} + + yocto-queue@1.1.1: + resolution: {integrity: sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==} + engines: {node: '>=12.20'} + + zod-validation-error@3.3.0: + resolution: {integrity: sha512-Syib9oumw1NTqEv4LT0e6U83Td9aVRk9iTXPUQr1otyV1PuXQKOvOwhMNqZIq5hluzHP2pMgnOmHEo7kPdI2mw==} + engines: {node: '>=18.0.0'} + peerDependencies: + zod: ^3.18.0 + + zod@3.22.4: + resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} + + zwitch@2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} + +snapshots: + + '@aashutoshrathi/word-wrap@1.2.6': {} + + '@alloc/quick-lru@5.2.0': {} + + '@ampproject/remapping@2.3.0': + dependencies: + '@jridgewell/gen-mapping': 0.3.8 + '@jridgewell/trace-mapping': 0.3.25 + + '@ardatan/sync-fetch@0.0.1': + dependencies: + node-fetch: 2.7.0 + transitivePeerDependencies: + - encoding + + '@babel/code-frame@7.24.2': + dependencies: + '@babel/highlight': 7.24.2 + picocolors: 1.1.1 + + '@babel/code-frame@7.26.2': + dependencies: + '@babel/helper-validator-identifier': 7.25.9 + js-tokens: 4.0.0 + picocolors: 1.1.1 + + '@babel/compat-data@7.26.3': {} + + '@babel/core@7.26.0': + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.26.2 + '@babel/generator': 7.26.3 + '@babel/helper-compilation-targets': 7.25.9 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) + '@babel/helpers': 7.26.0 + '@babel/parser': 7.26.3 + '@babel/template': 7.25.9 + '@babel/traverse': 7.26.4 + '@babel/types': 7.26.3 + convert-source-map: 2.0.0 + debug: 4.4.0 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/generator@7.26.3': + dependencies: + '@babel/parser': 7.26.3 + '@babel/types': 7.26.3 + '@jridgewell/gen-mapping': 0.3.8 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 3.1.0 + + '@babel/helper-annotate-as-pure@7.25.9': + dependencies: + '@babel/types': 7.26.3 + + '@babel/helper-compilation-targets@7.25.9': + dependencies: + '@babel/compat-data': 7.26.3 + '@babel/helper-validator-option': 7.25.9 + browserslist: 4.24.3 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-create-class-features-plugin@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-member-expression-to-functions': 7.25.9 + '@babel/helper-optimise-call-expression': 7.25.9 + '@babel/helper-replace-supers': 7.25.9(@babel/core@7.26.0) + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + '@babel/traverse': 7.26.4 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/helper-create-regexp-features-plugin@7.26.3(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.25.9 + regexpu-core: 6.2.0 + semver: 6.3.1 + + '@babel/helper-define-polyfill-provider@0.6.3(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-compilation-targets': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + debug: 4.4.0 + lodash.debounce: 4.0.8 + resolve: 1.22.9 + transitivePeerDependencies: + - supports-color + + '@babel/helper-member-expression-to-functions@7.25.9': + dependencies: + '@babel/traverse': 7.26.4 + '@babel/types': 7.26.3 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-imports@7.25.9': + dependencies: + '@babel/traverse': 7.26.4 + '@babel/types': 7.26.3 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + '@babel/traverse': 7.26.4 + transitivePeerDependencies: + - supports-color + + '@babel/helper-optimise-call-expression@7.25.9': + dependencies: + '@babel/types': 7.26.3 + + '@babel/helper-plugin-utils@7.25.9': {} + + '@babel/helper-remap-async-to-generator@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-wrap-function': 7.25.9 + '@babel/traverse': 7.26.4 + transitivePeerDependencies: + - supports-color + + '@babel/helper-replace-supers@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-member-expression-to-functions': 7.25.9 + '@babel/helper-optimise-call-expression': 7.25.9 + '@babel/traverse': 7.26.4 + transitivePeerDependencies: + - supports-color + + '@babel/helper-skip-transparent-expression-wrappers@7.25.9': + dependencies: + '@babel/traverse': 7.26.4 + '@babel/types': 7.26.3 + transitivePeerDependencies: + - supports-color + + '@babel/helper-string-parser@7.25.9': {} + + '@babel/helper-validator-identifier@7.22.20': {} + + '@babel/helper-validator-identifier@7.25.9': {} + + '@babel/helper-validator-option@7.25.9': {} + + '@babel/helper-wrap-function@7.25.9': + dependencies: + '@babel/template': 7.25.9 + '@babel/traverse': 7.26.4 + '@babel/types': 7.26.3 + transitivePeerDependencies: + - supports-color + + '@babel/helpers@7.26.0': + dependencies: + '@babel/template': 7.25.9 + '@babel/types': 7.26.3 + + '@babel/highlight@7.24.2': + dependencies: + '@babel/helper-validator-identifier': 7.22.20 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.1.1 + + '@babel/parser@7.26.3': + dependencies: + '@babel/types': 7.26.3 + + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/traverse': 7.26.4 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.26.0) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/traverse': 7.26.4 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + + '@babel/plugin-proposal-private-property-in-object@7.21.11(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.26.0) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-syntax-import-assertions@7.26.0(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-import-attributes@7.26.0(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-jsx@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-typescript@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-arrow-functions@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-async-generator-functions@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.26.0) + '@babel/traverse': 7.26.4 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-async-to-generator@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.26.0) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-block-scoped-functions@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-block-scoping@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-class-properties@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-class-static-block@7.26.0(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-classes@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-compilation-targets': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-replace-supers': 7.25.9(@babel/core@7.26.0) + '@babel/traverse': 7.26.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-computed-properties@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/template': 7.25.9 + + '@babel/plugin-transform-destructuring@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-dotall-regex@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-duplicate-keys@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-dynamic-import@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-exponentiation-operator@7.26.3(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-export-namespace-from@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-for-of@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-function-name@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-compilation-targets': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/traverse': 7.26.4 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-json-strings@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-literals@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-logical-assignment-operators@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-member-expression-literals@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-modules-amd@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-commonjs@7.26.3(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-systemjs@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + '@babel/traverse': 7.26.4 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-umd@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-named-capturing-groups-regex@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-new-target@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-nullish-coalescing-operator@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-numeric-separator@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-object-rest-spread@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-compilation-targets': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.26.0) + + '@babel/plugin-transform-object-super@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-replace-supers': 7.25.9(@babel/core@7.26.0) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-optional-catch-binding@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-optional-chaining@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-parameters@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-private-methods@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-private-property-in-object@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-property-literals@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-react-constant-elements@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-react-display-name@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-react-jsx-development@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/plugin-transform-react-jsx': 7.25.9(@babel/core@7.26.0) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-react-jsx@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.0) + '@babel/types': 7.26.3 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-react-pure-annotations@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-regenerator@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + regenerator-transform: 0.15.2 + + '@babel/plugin-transform-regexp-modifiers@7.26.0(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-reserved-words@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-shorthand-properties@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-spread@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-sticky-regex@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-template-literals@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-typeof-symbol@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-typescript@7.26.3(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + '@babel/plugin-syntax-typescript': 7.25.9(@babel/core@7.26.0) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-unicode-escapes@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-unicode-property-regex@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-unicode-regex@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-unicode-sets-regex@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/preset-env@7.26.0(@babel/core@7.26.0)': + dependencies: + '@babel/compat-data': 7.26.3 + '@babel/core': 7.26.0 + '@babel/helper-compilation-targets': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-validator-option': 7.25.9 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.26.0) + '@babel/plugin-syntax-import-assertions': 7.26.0(@babel/core@7.26.0) + '@babel/plugin-syntax-import-attributes': 7.26.0(@babel/core@7.26.0) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.26.0) + '@babel/plugin-transform-arrow-functions': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-async-generator-functions': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-async-to-generator': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-block-scoped-functions': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-block-scoping': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-class-properties': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-class-static-block': 7.26.0(@babel/core@7.26.0) + '@babel/plugin-transform-classes': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-computed-properties': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-destructuring': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-dotall-regex': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-duplicate-keys': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-dynamic-import': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-exponentiation-operator': 7.26.3(@babel/core@7.26.0) + '@babel/plugin-transform-export-namespace-from': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-for-of': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-function-name': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-json-strings': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-literals': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-logical-assignment-operators': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-member-expression-literals': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-modules-amd': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-modules-commonjs': 7.26.3(@babel/core@7.26.0) + '@babel/plugin-transform-modules-systemjs': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-modules-umd': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-named-capturing-groups-regex': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-new-target': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-nullish-coalescing-operator': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-numeric-separator': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-object-rest-spread': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-object-super': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-optional-catch-binding': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-private-methods': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-private-property-in-object': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-property-literals': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-regenerator': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-regexp-modifiers': 7.26.0(@babel/core@7.26.0) + '@babel/plugin-transform-reserved-words': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-shorthand-properties': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-spread': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-sticky-regex': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-template-literals': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-typeof-symbol': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-unicode-escapes': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-unicode-property-regex': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-unicode-regex': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-unicode-sets-regex': 7.25.9(@babel/core@7.26.0) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.26.0) + babel-plugin-polyfill-corejs2: 0.4.12(@babel/core@7.26.0) + babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.26.0) + babel-plugin-polyfill-regenerator: 0.6.3(@babel/core@7.26.0) + core-js-compat: 3.39.0 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/types': 7.26.3 + esutils: 2.0.3 + + '@babel/preset-react@7.26.3(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-validator-option': 7.25.9 + '@babel/plugin-transform-react-display-name': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-react-jsx': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-react-jsx-development': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-react-pure-annotations': 7.25.9(@babel/core@7.26.0) + transitivePeerDependencies: + - supports-color + + '@babel/preset-typescript@7.26.0(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-validator-option': 7.25.9 + '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-modules-commonjs': 7.26.3(@babel/core@7.26.0) + '@babel/plugin-transform-typescript': 7.26.3(@babel/core@7.26.0) + transitivePeerDependencies: + - supports-color + + '@babel/runtime@7.24.1': + dependencies: + regenerator-runtime: 0.14.1 + + '@babel/runtime@7.26.0': + dependencies: + regenerator-runtime: 0.14.1 + + '@babel/template@7.25.9': + dependencies: + '@babel/code-frame': 7.26.2 + '@babel/parser': 7.26.3 + '@babel/types': 7.26.3 + + '@babel/traverse@7.26.4': + dependencies: + '@babel/code-frame': 7.26.2 + '@babel/generator': 7.26.3 + '@babel/parser': 7.26.3 + '@babel/template': 7.25.9 + '@babel/types': 7.26.3 + debug: 4.4.0 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + '@babel/types@7.26.3': + dependencies: + '@babel/helper-string-parser': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + + '@braintree/sanitize-url@6.0.4': {} + + '@codemirror/language@0.20.2': + dependencies: + '@codemirror/state': 0.20.1 + '@codemirror/view': 0.20.7 + '@lezer/common': 0.16.1 + '@lezer/highlight': 0.16.0 + '@lezer/lr': 0.16.3 + style-mod: 4.1.2 + + '@codemirror/state@0.20.1': {} + + '@codemirror/view@0.20.7': + dependencies: + '@codemirror/state': 0.20.1 + style-mod: 4.1.2 + w3c-keyname: 2.2.8 + + '@corex/deepmerge@4.0.43': {} + + '@emnapi/runtime@1.3.1': + dependencies: + tslib: 2.8.1 + optional: true + + '@esbuild/aix-ppc64@0.23.1': + optional: true + + '@esbuild/android-arm64@0.23.1': + optional: true + + '@esbuild/android-arm@0.23.1': + optional: true + + '@esbuild/android-x64@0.23.1': + optional: true + + '@esbuild/darwin-arm64@0.23.1': + optional: true + + '@esbuild/darwin-x64@0.23.1': + optional: true + + '@esbuild/freebsd-arm64@0.23.1': + optional: true + + '@esbuild/freebsd-x64@0.23.1': + optional: true + + '@esbuild/linux-arm64@0.23.1': + optional: true + + '@esbuild/linux-arm@0.23.1': + optional: true + + '@esbuild/linux-ia32@0.23.1': + optional: true + + '@esbuild/linux-loong64@0.23.1': + optional: true + + '@esbuild/linux-mips64el@0.23.1': + optional: true + + '@esbuild/linux-ppc64@0.23.1': + optional: true + + '@esbuild/linux-riscv64@0.23.1': + optional: true + + '@esbuild/linux-s390x@0.23.1': + optional: true + + '@esbuild/linux-x64@0.23.1': + optional: true + + '@esbuild/netbsd-x64@0.23.1': + optional: true + + '@esbuild/openbsd-arm64@0.23.1': + optional: true + + '@esbuild/openbsd-x64@0.23.1': + optional: true + + '@esbuild/sunos-x64@0.23.1': + optional: true + + '@esbuild/win32-arm64@0.23.1': + optional: true + + '@esbuild/win32-ia32@0.23.1': + optional: true + + '@esbuild/win32-x64@0.23.1': + optional: true + + '@eslint-community/eslint-utils@4.4.0(eslint@8.57.1)': + dependencies: + eslint: 8.57.1 + eslint-visitor-keys: 3.4.3 + + '@eslint-community/regexpp@4.10.0': {} + + '@eslint/eslintrc@2.1.4': + dependencies: + ajv: 6.12.6 + debug: 4.3.7 + espree: 9.6.1 + globals: 13.24.0 + ignore: 5.3.1 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + + '@eslint/js@8.57.1': {} + + '@graphql-eslint/eslint-plugin@4.3.0(@types/node@22.10.5)(eslint@8.57.1)(graphql@16.10.0)(typescript@5.7.2)': + dependencies: + '@graphql-tools/code-file-loader': 8.1.10(graphql@16.10.0) + '@graphql-tools/graphql-tag-pluck': 8.3.9(graphql@16.10.0) + '@graphql-tools/utils': 10.6.4(graphql@16.10.0) + debug: 4.4.0 + eslint: 8.57.1 + fast-glob: 3.3.3 + graphql: 16.10.0 + graphql-config: 5.1.3(@types/node@22.10.5)(graphql@16.10.0)(typescript@5.7.2) + graphql-depth-limit: 1.1.0(graphql@16.10.0) + lodash.lowercase: 4.3.0 + transitivePeerDependencies: + - '@types/node' + - bufferutil + - cosmiconfig-toml-loader + - encoding + - supports-color + - typescript + - utf-8-validate + + '@graphql-hive/gateway-abort-signal-any@0.0.1': + dependencies: + tslib: 2.8.1 + + '@graphql-tools/batch-execute@9.0.10(graphql@16.10.0)': + dependencies: + '@graphql-tools/utils': 10.6.4(graphql@16.10.0) + dataloader: 2.2.3 + graphql: 16.10.0 + tslib: 2.8.1 + + '@graphql-tools/code-file-loader@8.1.10(graphql@16.10.0)': + dependencies: + '@graphql-tools/graphql-tag-pluck': 8.3.9(graphql@16.10.0) + '@graphql-tools/utils': 10.6.4(graphql@16.10.0) + globby: 11.1.0 + graphql: 16.10.0 + tslib: 2.8.1 + unixify: 1.0.0 + transitivePeerDependencies: + - supports-color + + '@graphql-tools/delegate@10.2.8(graphql@16.10.0)': + dependencies: + '@graphql-tools/batch-execute': 9.0.10(graphql@16.10.0) + '@graphql-tools/executor': 1.3.9(graphql@16.10.0) + '@graphql-tools/schema': 10.0.15(graphql@16.10.0) + '@graphql-tools/utils': 10.6.4(graphql@16.10.0) + '@repeaterjs/repeater': 3.0.6 + dataloader: 2.2.3 + dset: 3.1.3 + graphql: 16.10.0 + tslib: 2.8.1 + + '@graphql-tools/executor-graphql-ws@1.3.5(graphql@16.10.0)': + dependencies: + '@graphql-tools/utils': 10.6.4(graphql@16.10.0) + '@whatwg-node/disposablestack': 0.0.5 + graphql: 16.10.0 + graphql-ws: 5.16.0(graphql@16.10.0) + isomorphic-ws: 5.0.0(ws@8.18.0) + tslib: 2.8.1 + ws: 8.18.0 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + '@graphql-tools/executor-http@1.2.1(@types/node@22.10.5)(graphql@16.10.0)': + dependencies: + '@graphql-hive/gateway-abort-signal-any': 0.0.1 + '@graphql-tools/utils': 10.6.4(graphql@16.10.0) + '@repeaterjs/repeater': 3.0.6 + '@whatwg-node/disposablestack': 0.0.5 + '@whatwg-node/fetch': 0.10.1 + extract-files: 11.0.0 + graphql: 16.10.0 + meros: 1.3.0(@types/node@22.10.5) + tslib: 2.8.1 + value-or-promise: 1.0.12 + transitivePeerDependencies: + - '@types/node' + + '@graphql-tools/executor-legacy-ws@1.1.7(graphql@16.10.0)': + dependencies: + '@graphql-tools/utils': 10.6.4(graphql@16.10.0) + '@types/ws': 8.5.10 + graphql: 16.10.0 + isomorphic-ws: 5.0.0(ws@8.18.0) + tslib: 2.8.1 + ws: 8.18.0 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + '@graphql-tools/executor@1.3.9(graphql@16.10.0)': + dependencies: + '@graphql-tools/utils': 10.6.4(graphql@16.10.0) + '@graphql-typed-document-node/core': 3.2.0(graphql@16.10.0) + '@repeaterjs/repeater': 3.0.6 + '@whatwg-node/disposablestack': 0.0.5 + graphql: 16.10.0 + tslib: 2.8.1 + value-or-promise: 1.0.12 + + '@graphql-tools/graphql-file-loader@8.0.8(graphql@16.10.0)': + dependencies: + '@graphql-tools/import': 7.0.8(graphql@16.10.0) + '@graphql-tools/utils': 10.6.4(graphql@16.10.0) + globby: 11.1.0 + graphql: 16.10.0 + tslib: 2.8.1 + unixify: 1.0.0 + + '@graphql-tools/graphql-tag-pluck@8.3.9(graphql@16.10.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/parser': 7.26.3 + '@babel/plugin-syntax-import-assertions': 7.26.0(@babel/core@7.26.0) + '@babel/traverse': 7.26.4 + '@babel/types': 7.26.3 + '@graphql-tools/utils': 10.6.4(graphql@16.10.0) + graphql: 16.10.0 + tslib: 2.8.1 + transitivePeerDependencies: + - supports-color + + '@graphql-tools/import@7.0.8(graphql@16.10.0)': + dependencies: + '@graphql-tools/utils': 10.6.4(graphql@16.10.0) + graphql: 16.10.0 + resolve-from: 5.0.0 + tslib: 2.8.1 + + '@graphql-tools/json-file-loader@8.0.8(graphql@16.10.0)': + dependencies: + '@graphql-tools/utils': 10.6.4(graphql@16.10.0) + globby: 11.1.0 + graphql: 16.10.0 + tslib: 2.8.1 + unixify: 1.0.0 + + '@graphql-tools/load@8.0.9(graphql@16.10.0)': + dependencies: + '@graphql-tools/schema': 10.0.15(graphql@16.10.0) + '@graphql-tools/utils': 10.6.4(graphql@16.10.0) + graphql: 16.10.0 + p-limit: 3.1.0 + tslib: 2.8.1 + + '@graphql-tools/merge@9.0.14(graphql@16.10.0)': + dependencies: + '@graphql-tools/utils': 10.6.4(graphql@16.10.0) + graphql: 16.10.0 + tslib: 2.8.1 + + '@graphql-tools/merge@9.0.16(graphql@16.10.0)': + dependencies: + '@graphql-tools/utils': 10.7.1(graphql@16.10.0) + graphql: 16.10.0 + tslib: 2.8.1 + + '@graphql-tools/schema@10.0.15(graphql@16.10.0)': + dependencies: + '@graphql-tools/merge': 9.0.16(graphql@16.10.0) + '@graphql-tools/utils': 10.7.1(graphql@16.10.0) + graphql: 16.10.0 + tslib: 2.8.1 + value-or-promise: 1.0.12 + + '@graphql-tools/url-loader@8.0.20(@types/node@22.10.5)(graphql@16.10.0)': + dependencies: + '@ardatan/sync-fetch': 0.0.1 + '@graphql-tools/executor-graphql-ws': 1.3.5(graphql@16.10.0) + '@graphql-tools/executor-http': 1.2.1(@types/node@22.10.5)(graphql@16.10.0) + '@graphql-tools/executor-legacy-ws': 1.1.7(graphql@16.10.0) + '@graphql-tools/utils': 10.6.4(graphql@16.10.0) + '@graphql-tools/wrap': 10.0.26(graphql@16.10.0) + '@types/ws': 8.5.10 + '@whatwg-node/fetch': 0.10.1 + graphql: 16.10.0 + isomorphic-ws: 5.0.0(ws@8.18.0) + tslib: 2.8.1 + value-or-promise: 1.0.12 + ws: 8.18.0 + transitivePeerDependencies: + - '@types/node' + - bufferutil + - encoding + - utf-8-validate + + '@graphql-tools/utils@10.6.4(graphql@16.10.0)': + dependencies: + '@graphql-typed-document-node/core': 3.2.0(graphql@16.10.0) + cross-inspect: 1.0.1 + dset: 3.1.3 + graphql: 16.10.0 + tslib: 2.8.1 + + '@graphql-tools/utils@10.7.1(graphql@16.10.0)': + dependencies: + '@graphql-typed-document-node/core': 3.2.0(graphql@16.10.0) + cross-inspect: 1.0.1 + dset: 3.1.3 + graphql: 16.10.0 + tslib: 2.8.1 + + '@graphql-tools/wrap@10.0.26(graphql@16.10.0)': + dependencies: + '@graphql-tools/delegate': 10.2.8(graphql@16.10.0) + '@graphql-tools/schema': 10.0.15(graphql@16.10.0) + '@graphql-tools/utils': 10.6.4(graphql@16.10.0) + graphql: 16.10.0 + tslib: 2.8.1 + + '@graphql-typed-document-node/core@3.2.0(graphql@16.10.0)': + dependencies: + graphql: 16.10.0 + + '@headlessui/react@1.7.19(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@tanstack/react-virtual': 3.8.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + client-only: 0.0.1 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@humanwhocodes/config-array@0.13.0': + dependencies: + '@humanwhocodes/object-schema': 2.0.3 + debug: 4.3.7 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + '@humanwhocodes/module-importer@1.0.1': {} + + '@humanwhocodes/object-schema@2.0.3': {} + + '@img/sharp-darwin-arm64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-darwin-arm64': 1.0.4 + optional: true + + '@img/sharp-darwin-x64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-darwin-x64': 1.0.4 + optional: true + + '@img/sharp-libvips-darwin-arm64@1.0.4': + optional: true + + '@img/sharp-libvips-darwin-x64@1.0.4': + optional: true + + '@img/sharp-libvips-linux-arm64@1.0.4': + optional: true + + '@img/sharp-libvips-linux-arm@1.0.5': + optional: true + + '@img/sharp-libvips-linux-s390x@1.0.4': + optional: true + + '@img/sharp-libvips-linux-x64@1.0.4': + optional: true + + '@img/sharp-libvips-linuxmusl-arm64@1.0.4': + optional: true + + '@img/sharp-libvips-linuxmusl-x64@1.0.4': + optional: true + + '@img/sharp-linux-arm64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-arm64': 1.0.4 + optional: true + + '@img/sharp-linux-arm@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-arm': 1.0.5 + optional: true + + '@img/sharp-linux-s390x@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-s390x': 1.0.4 + optional: true + + '@img/sharp-linux-x64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-x64': 1.0.4 + optional: true + + '@img/sharp-linuxmusl-arm64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 + optional: true + + '@img/sharp-linuxmusl-x64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-x64': 1.0.4 + optional: true + + '@img/sharp-wasm32@0.33.5': + dependencies: + '@emnapi/runtime': 1.3.1 + optional: true + + '@img/sharp-win32-ia32@0.33.5': + optional: true + + '@img/sharp-win32-x64@0.33.5': + optional: true + + '@isaacs/cliui@8.0.2': + dependencies: + string-width: 5.1.2 + string-width-cjs: string-width@4.2.3 + strip-ansi: 7.1.0 + strip-ansi-cjs: strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: wrap-ansi@7.0.0 + + '@jridgewell/gen-mapping@0.3.8': + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/trace-mapping': 0.3.25 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/set-array@1.2.1': {} + + '@jridgewell/sourcemap-codec@1.4.15': {} + + '@jridgewell/sourcemap-codec@1.5.0': {} + + '@jridgewell/trace-mapping@0.3.25': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + + '@kamilkisiela/fast-url-parser@1.1.4': {} + + '@lezer/common@0.16.1': {} + + '@lezer/highlight@0.16.0': + dependencies: + '@lezer/common': 0.16.1 + + '@lezer/lr@0.16.3': + dependencies: + '@lezer/common': 0.16.1 + + '@mdx-js/mdx@3.0.1': + dependencies: + '@types/estree': 1.0.5 + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdx': 2.0.12 + collapse-white-space: 2.1.0 + devlop: 1.1.0 + estree-util-build-jsx: 3.0.1 + estree-util-is-identifier-name: 3.0.0 + estree-util-to-js: 2.0.0 + estree-walker: 3.0.3 + hast-util-to-estree: 3.1.0 + hast-util-to-jsx-runtime: 2.3.0 + markdown-extensions: 2.0.0 + periscopic: 3.1.0 + remark-mdx: 3.0.1 + remark-parse: 11.0.0 + remark-rehype: 11.1.0 + source-map: 0.7.4 + unified: 11.0.5 + unist-util-position-from-estree: 2.0.0 + unist-util-stringify-position: 4.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.1 + transitivePeerDependencies: + - supports-color + + '@mdx-js/react@3.0.1(@types/react@18.3.18)(react@18.3.1)': + dependencies: + '@types/mdx': 2.0.12 + '@types/react': 18.3.18 + react: 18.3.1 + + '@napi-rs/simple-git-android-arm-eabi@0.1.16': + optional: true + + '@napi-rs/simple-git-android-arm64@0.1.16': + optional: true + + '@napi-rs/simple-git-darwin-arm64@0.1.16': + optional: true + + '@napi-rs/simple-git-darwin-x64@0.1.16': + optional: true + + '@napi-rs/simple-git-linux-arm-gnueabihf@0.1.16': + optional: true + + '@napi-rs/simple-git-linux-arm64-gnu@0.1.16': + optional: true + + '@napi-rs/simple-git-linux-arm64-musl@0.1.16': + optional: true + + '@napi-rs/simple-git-linux-x64-gnu@0.1.16': + optional: true + + '@napi-rs/simple-git-linux-x64-musl@0.1.16': + optional: true + + '@napi-rs/simple-git-win32-arm64-msvc@0.1.16': + optional: true + + '@napi-rs/simple-git-win32-x64-msvc@0.1.16': + optional: true + + '@napi-rs/simple-git@0.1.16': + optionalDependencies: + '@napi-rs/simple-git-android-arm-eabi': 0.1.16 + '@napi-rs/simple-git-android-arm64': 0.1.16 + '@napi-rs/simple-git-darwin-arm64': 0.1.16 + '@napi-rs/simple-git-darwin-x64': 0.1.16 + '@napi-rs/simple-git-linux-arm-gnueabihf': 0.1.16 + '@napi-rs/simple-git-linux-arm64-gnu': 0.1.16 + '@napi-rs/simple-git-linux-arm64-musl': 0.1.16 + '@napi-rs/simple-git-linux-x64-gnu': 0.1.16 + '@napi-rs/simple-git-linux-x64-musl': 0.1.16 + '@napi-rs/simple-git-win32-arm64-msvc': 0.1.16 + '@napi-rs/simple-git-win32-x64-msvc': 0.1.16 + + '@next/env@13.5.6': {} + + '@next/env@14.2.22': {} + + '@next/swc-darwin-arm64@14.2.22': + optional: true + + '@next/swc-darwin-x64@14.2.22': + optional: true + + '@next/swc-linux-arm64-gnu@14.2.22': + optional: true + + '@next/swc-linux-arm64-musl@14.2.22': + optional: true + + '@next/swc-linux-x64-gnu@14.2.22': + optional: true + + '@next/swc-linux-x64-musl@14.2.22': + optional: true + + '@next/swc-win32-arm64-msvc@14.2.22': + optional: true + + '@next/swc-win32-ia32-msvc@14.2.22': + optional: true + + '@next/swc-win32-x64-msvc@14.2.22': + optional: true + + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.18.0 + + '@npmcli/config@8.2.0': + dependencies: + '@npmcli/map-workspaces': 3.0.4 + ci-info: 4.0.0 + ini: 4.1.2 + nopt: 7.2.0 + proc-log: 3.0.0 + read-package-json-fast: 3.0.2 + semver: 7.6.3 + walk-up-path: 3.0.1 + + '@npmcli/map-workspaces@3.0.4': + dependencies: + '@npmcli/name-from-folder': 2.0.0 + glob: 10.3.10 + minimatch: 9.0.5 + read-package-json-fast: 3.0.2 + + '@npmcli/name-from-folder@2.0.0': {} + + '@pkgjs/parseargs@0.11.0': + optional: true + + '@pkgr/core@0.1.1': {} + + '@popperjs/core@2.11.8': {} + + '@radix-ui/primitive@1.1.1': {} + + '@radix-ui/react-collection@1.1.1(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1) + '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.1(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-slot': 1.1.1(@types/react@18.3.18)(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.18 + + '@radix-ui/react-compose-refs@1.1.1(@types/react@18.3.18)(react@18.3.1)': + dependencies: + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.18 + + '@radix-ui/react-context@1.1.1(@types/react@18.3.18)(react@18.3.1)': + dependencies: + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.18 + + '@radix-ui/react-direction@1.1.0(@types/react@18.3.18)(react@18.3.1)': + dependencies: + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.18 + + '@radix-ui/react-id@1.1.0(@types/react@18.3.18)(react@18.3.1)': + dependencies: + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.18)(react@18.3.1) + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.18 + + '@radix-ui/react-presence@1.1.2(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.18)(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.18 + + '@radix-ui/react-primitive@2.0.1(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@radix-ui/react-slot': 1.1.1(@types/react@18.3.18)(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.18 + + '@radix-ui/react-radio-group@1.2.2(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@radix-ui/primitive': 1.1.1 + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1) + '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@18.3.1) + '@radix-ui/react-direction': 1.1.0(@types/react@18.3.18)(react@18.3.1) + '@radix-ui/react-presence': 1.1.2(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.1(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-roving-focus': 1.1.1(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.18)(react@18.3.1) + '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.18)(react@18.3.1) + '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.18)(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.18 + + '@radix-ui/react-roving-focus@1.1.1(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@radix-ui/primitive': 1.1.1 + '@radix-ui/react-collection': 1.1.1(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1) + '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@18.3.1) + '@radix-ui/react-direction': 1.1.0(@types/react@18.3.18)(react@18.3.1) + '@radix-ui/react-id': 1.1.0(@types/react@18.3.18)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.1(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.18)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.18)(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.18 + + '@radix-ui/react-slot@1.1.1(@types/react@18.3.18)(react@18.3.1)': + dependencies: + '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1) + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.18 + + '@radix-ui/react-use-callback-ref@1.1.0(@types/react@18.3.18)(react@18.3.1)': + dependencies: + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.18 + + '@radix-ui/react-use-controllable-state@1.1.0(@types/react@18.3.18)(react@18.3.1)': + dependencies: + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.18)(react@18.3.1) + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.18 + + '@radix-ui/react-use-layout-effect@1.1.0(@types/react@18.3.18)(react@18.3.1)': + dependencies: + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.18 + + '@radix-ui/react-use-previous@1.1.0(@types/react@18.3.18)(react@18.3.1)': + dependencies: + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.18 + + '@radix-ui/react-use-size@1.1.0(@types/react@18.3.18)(react@18.3.1)': + dependencies: + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.18)(react@18.3.1) + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.18 + + '@repeaterjs/repeater@3.0.6': {} + + '@shikijs/core@1.2.1': {} + + '@shikijs/twoslash@1.2.1(typescript@5.7.2)': + dependencies: + '@shikijs/core': 1.2.1 + twoslash: 0.2.5(typescript@5.7.2) + transitivePeerDependencies: + - supports-color + - typescript + + '@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + + '@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + + '@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + + '@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + + '@svgr/babel-plugin-svg-dynamic-title@8.0.0(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + + '@svgr/babel-plugin-svg-em-dimensions@8.0.0(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + + '@svgr/babel-plugin-transform-react-native-svg@8.1.0(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + + '@svgr/babel-plugin-transform-svg-component@8.0.0(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + + '@svgr/babel-preset@8.1.0(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@svgr/babel-plugin-add-jsx-attribute': 8.0.0(@babel/core@7.26.0) + '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.26.0) + '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.26.0) + '@svgr/babel-plugin-replace-jsx-attribute-value': 8.0.0(@babel/core@7.26.0) + '@svgr/babel-plugin-svg-dynamic-title': 8.0.0(@babel/core@7.26.0) + '@svgr/babel-plugin-svg-em-dimensions': 8.0.0(@babel/core@7.26.0) + '@svgr/babel-plugin-transform-react-native-svg': 8.1.0(@babel/core@7.26.0) + '@svgr/babel-plugin-transform-svg-component': 8.0.0(@babel/core@7.26.0) + + '@svgr/core@8.1.0(typescript@5.7.2)': + dependencies: + '@babel/core': 7.26.0 + '@svgr/babel-preset': 8.1.0(@babel/core@7.26.0) + camelcase: 6.3.0 + cosmiconfig: 8.3.6(typescript@5.7.2) + snake-case: 3.0.4 + transitivePeerDependencies: + - supports-color + - typescript + + '@svgr/hast-util-to-babel-ast@8.0.0': + dependencies: + '@babel/types': 7.26.3 + entities: 4.5.0 + + '@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0(typescript@5.7.2))': + dependencies: + '@babel/core': 7.26.0 + '@svgr/babel-preset': 8.1.0(@babel/core@7.26.0) + '@svgr/core': 8.1.0(typescript@5.7.2) + '@svgr/hast-util-to-babel-ast': 8.0.0 + svg-parser: 2.0.4 + transitivePeerDependencies: + - supports-color + + '@svgr/plugin-svgo@8.1.0(@svgr/core@8.1.0(typescript@5.7.2))(typescript@5.7.2)': + dependencies: + '@svgr/core': 8.1.0(typescript@5.7.2) + cosmiconfig: 8.3.6(typescript@5.7.2) + deepmerge: 4.3.1 + svgo: 3.3.2 + transitivePeerDependencies: + - typescript + + '@svgr/webpack@8.1.0(typescript@5.7.2)': + dependencies: + '@babel/core': 7.26.0 + '@babel/plugin-transform-react-constant-elements': 7.25.9(@babel/core@7.26.0) + '@babel/preset-env': 7.26.0(@babel/core@7.26.0) + '@babel/preset-react': 7.26.3(@babel/core@7.26.0) + '@babel/preset-typescript': 7.26.0(@babel/core@7.26.0) + '@svgr/core': 8.1.0(typescript@5.7.2) + '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(typescript@5.7.2)) + '@svgr/plugin-svgo': 8.1.0(@svgr/core@8.1.0(typescript@5.7.2))(typescript@5.7.2) + transitivePeerDependencies: + - supports-color + - typescript + + '@swc/counter@0.1.3': {} + + '@swc/helpers@0.5.5': + dependencies: + '@swc/counter': 0.1.3 + tslib: 2.8.1 + + '@tailwindcss/container-queries@0.1.1(tailwindcss@3.4.17)': + dependencies: + tailwindcss: 3.4.17 + + '@tailwindcss/nesting@0.0.0-insiders.565cd3e(postcss@8.4.49)': + dependencies: + postcss: 8.4.49 + postcss-nested: 5.0.6(postcss@8.4.49) + + '@tailwindcss/typography@0.5.15(tailwindcss@3.4.17)': + dependencies: + lodash.castarray: 4.4.0 + lodash.isplainobject: 4.0.6 + lodash.merge: 4.6.2 + postcss-selector-parser: 6.0.10 + tailwindcss: 3.4.17 + + '@tanstack/react-virtual@3.8.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@tanstack/virtual-core': 3.8.4 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@tanstack/virtual-core@3.8.4': {} + + '@theguild/remark-mermaid@0.0.7(react@18.3.1)': + dependencies: + mermaid: 10.9.0 + react: 18.3.1 + unist-util-visit: 5.0.0 + transitivePeerDependencies: + - supports-color + + '@theguild/remark-npm2yarn@0.3.0': + dependencies: + npm-to-yarn: 2.2.1 + unist-util-visit: 5.0.0 + + '@trysound/sax@0.2.0': {} + + '@types/acorn@4.0.6': + dependencies: + '@types/estree': 1.0.5 + + '@types/codemirror@5.60.7': + dependencies: + '@types/tern': 0.23.9 + + '@types/concat-stream@2.0.3': + dependencies: + '@types/node': 22.10.5 + + '@types/d3-scale-chromatic@3.0.3': {} + + '@types/d3-scale@4.0.8': + dependencies: + '@types/d3-time': 3.0.3 + + '@types/d3-time@3.0.3': {} + + '@types/debug@4.1.12': + dependencies: + '@types/ms': 0.7.34 + + '@types/estree-jsx@1.0.5': + dependencies: + '@types/estree': 1.0.5 + + '@types/estree@1.0.5': {} + + '@types/hast@3.0.4': + dependencies: + '@types/unist': 3.0.2 + + '@types/is-empty@1.2.3': {} + + '@types/katex@0.16.7': {} + + '@types/lodash-es@4.17.12': + dependencies: + '@types/lodash': 4.17.13 + + '@types/lodash@4.17.13': {} + + '@types/mdast@3.0.15': + dependencies: + '@types/unist': 2.0.10 + + '@types/mdast@4.0.3': + dependencies: + '@types/unist': 3.0.2 + + '@types/mdx@2.0.12': {} + + '@types/ms@0.7.34': {} + + '@types/nlcst@2.0.3': + dependencies: + '@types/unist': 3.0.2 + + '@types/node@20.17.11': + dependencies: + undici-types: 6.19.8 + + '@types/node@22.10.5': + dependencies: + undici-types: 6.20.0 + + '@types/prop-types@15.7.14': {} + + '@types/react@18.3.18': + dependencies: + '@types/prop-types': 15.7.14 + csstype: 3.1.3 + + '@types/rss@0.0.32': {} + + '@types/string-similarity@4.0.2': {} + + '@types/supports-color@8.1.3': {} + + '@types/tern@0.23.9': + dependencies: + '@types/estree': 1.0.5 + + '@types/unist@2.0.10': {} + + '@types/unist@3.0.2': {} + + '@types/ws@8.5.10': + dependencies: + '@types/node': 22.10.5 + + '@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2)': + dependencies: + '@eslint-community/regexpp': 4.10.0 + '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.7.2) + '@typescript-eslint/scope-manager': 7.18.0 + '@typescript-eslint/type-utils': 7.18.0(eslint@8.57.1)(typescript@5.7.2) + '@typescript-eslint/utils': 7.18.0(eslint@8.57.1)(typescript@5.7.2) + '@typescript-eslint/visitor-keys': 7.18.0 + eslint: 8.57.1 + graphemer: 1.4.0 + ignore: 5.3.1 + natural-compare: 1.4.0 + ts-api-utils: 1.3.0(typescript@5.7.2) + optionalDependencies: + typescript: 5.7.2 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2)': + dependencies: + '@typescript-eslint/scope-manager': 7.18.0 + '@typescript-eslint/types': 7.18.0 + '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.7.2) + '@typescript-eslint/visitor-keys': 7.18.0 + debug: 4.3.4 + eslint: 8.57.1 + optionalDependencies: + typescript: 5.7.2 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/scope-manager@7.18.0': + dependencies: + '@typescript-eslint/types': 7.18.0 + '@typescript-eslint/visitor-keys': 7.18.0 + + '@typescript-eslint/type-utils@7.18.0(eslint@8.57.1)(typescript@5.7.2)': + dependencies: + '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.7.2) + '@typescript-eslint/utils': 7.18.0(eslint@8.57.1)(typescript@5.7.2) + debug: 4.3.4 + eslint: 8.57.1 + ts-api-utils: 1.3.0(typescript@5.7.2) + optionalDependencies: + typescript: 5.7.2 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/types@7.18.0': {} + + '@typescript-eslint/typescript-estree@7.18.0(typescript@5.7.2)': + dependencies: + '@typescript-eslint/types': 7.18.0 + '@typescript-eslint/visitor-keys': 7.18.0 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.5 + semver: 7.6.0 + ts-api-utils: 1.3.0(typescript@5.7.2) + optionalDependencies: + typescript: 5.7.2 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@7.18.0(eslint@8.57.1)(typescript@5.7.2)': + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) + '@typescript-eslint/scope-manager': 7.18.0 + '@typescript-eslint/types': 7.18.0 + '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.7.2) + eslint: 8.57.1 + transitivePeerDependencies: + - supports-color + - typescript + + '@typescript-eslint/visitor-keys@7.18.0': + dependencies: + '@typescript-eslint/types': 7.18.0 + eslint-visitor-keys: 3.4.3 + + '@typescript/vfs@1.5.0': + dependencies: + debug: 4.4.0 + transitivePeerDependencies: + - supports-color + + '@ungap/structured-clone@1.2.0': {} + + '@whatwg-node/disposablestack@0.0.5': + dependencies: + tslib: 2.8.1 + + '@whatwg-node/fetch@0.10.1': + dependencies: + '@whatwg-node/node-fetch': 0.7.5 + urlpattern-polyfill: 10.0.0 + + '@whatwg-node/node-fetch@0.7.5': + dependencies: + '@kamilkisiela/fast-url-parser': 1.1.4 + '@whatwg-node/disposablestack': 0.0.5 + busboy: 1.6.0 + fast-querystring: 1.1.2 + tslib: 2.8.1 + + abbrev@2.0.0: {} + + acorn-jsx@5.3.2(acorn@8.11.3): + dependencies: + acorn: 8.11.3 + + acorn@8.11.3: {} + + ajv@6.12.6: + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + + ansi-regex@5.0.1: {} + + ansi-regex@6.1.0: {} + + ansi-styles@3.2.1: + dependencies: + color-convert: 1.9.3 + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@6.2.1: {} + + any-promise@1.3.0: {} + + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + + arch@2.2.0: {} + + arg@1.0.0: {} + + arg@5.0.2: {} + + argparse@1.0.10: + dependencies: + sprintf-js: 1.0.3 + + argparse@2.0.1: {} + + array-iterate@2.0.1: {} + + array-union@2.1.0: {} + + arrify@1.0.1: {} + + astring@1.8.6: {} + + autoprefixer@10.4.20(postcss@8.4.49): + dependencies: + browserslist: 4.24.3 + caniuse-lite: 1.0.30001690 + fraction.js: 4.3.7 + normalize-range: 0.1.2 + picocolors: 1.1.1 + postcss: 8.4.49 + postcss-value-parser: 4.2.0 + + babel-plugin-polyfill-corejs2@0.4.12(@babel/core@7.26.0): + dependencies: + '@babel/compat-data': 7.26.3 + '@babel/core': 7.26.0 + '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.0) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + babel-plugin-polyfill-corejs3@0.10.6(@babel/core@7.26.0): + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.0) + core-js-compat: 3.39.0 + transitivePeerDependencies: + - supports-color + + babel-plugin-polyfill-regenerator@0.6.3(@babel/core@7.26.0): + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.0) + transitivePeerDependencies: + - supports-color + + bail@2.0.2: {} + + balanced-match@1.0.2: {} + + better-react-mathjax@2.0.3(react@18.3.1): + dependencies: + mathjax-full: 3.2.2 + react: 18.3.1 + + bignumber.js@8.1.1: {} + + binary-extensions@2.3.0: {} + + boolbase@1.0.0: {} + + brace-expansion@1.1.11: + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + brace-expansion@2.0.1: + dependencies: + balanced-match: 1.0.2 + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + browserslist@4.24.3: + dependencies: + caniuse-lite: 1.0.30001690 + electron-to-chromium: 1.5.74 + node-releases: 2.0.19 + update-browserslist-db: 1.1.1(browserslist@4.24.3) + + buffer-from@1.1.2: {} + + busboy@1.6.0: + dependencies: + streamsearch: 1.1.0 + + callsites@3.1.0: {} + + camelcase-css@2.0.1: {} + + camelcase@6.3.0: {} + + caniuse-lite@1.0.30001690: {} + + ccount@2.0.1: {} + + chalk@2.3.0: + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 4.5.0 + + chalk@2.4.2: + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + character-entities-html4@2.1.0: {} + + character-entities-legacy@1.1.4: {} + + character-entities-legacy@3.0.0: {} + + character-entities@1.2.4: {} + + character-entities@2.0.2: {} + + character-reference-invalid@1.1.4: {} + + character-reference-invalid@2.0.1: {} + + chokidar@3.6.0: + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + + ci-info@4.0.0: {} + + client-only@0.0.1: {} + + clipboardy@1.2.2: + dependencies: + arch: 2.2.0 + execa: 0.8.0 + + clone-deep@4.0.1: + dependencies: + is-plain-object: 2.0.4 + kind-of: 6.0.3 + shallow-clone: 3.0.1 + + clsx@2.1.1: {} + + codemirror-graphql@1.3.2(@codemirror/language@0.20.2)(codemirror@5.65.19)(graphql@16.10.0): + dependencies: + '@codemirror/language': 0.20.2 + codemirror: 5.65.19 + graphql: 16.10.0 + graphql-language-service: 5.2.0(graphql@16.10.0) + + codemirror@5.65.19: {} + + codsen-utils@1.6.4: + dependencies: + rfdc: 1.4.1 + + collapse-white-space@2.1.0: {} + + color-convert@1.9.3: + dependencies: + color-name: 1.1.3 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.3: {} + + color-name@1.1.4: {} + + color-string@1.9.1: + dependencies: + color-name: 1.1.4 + simple-swizzle: 0.2.2 + + color@4.2.3: + dependencies: + color-convert: 2.0.1 + color-string: 1.9.1 + + comma-separated-tokens@2.0.3: {} + + commander@4.1.1: {} + + commander@7.2.0: {} + + commander@8.3.0: {} + + commander@9.2.0: {} + + compute-scroll-into-view@3.1.0: {} + + concat-map@0.0.1: {} + + concat-stream@2.0.0: + dependencies: + buffer-from: 1.1.2 + inherits: 2.0.4 + readable-stream: 3.6.2 + typedarray: 0.0.6 + + convert-source-map@2.0.0: {} + + copy-anything@2.0.6: + dependencies: + is-what: 3.14.1 + + core-js-compat@3.39.0: + dependencies: + browserslist: 4.24.3 + + cose-base@1.0.3: + dependencies: + layout-base: 1.0.2 + + cosmiconfig@8.3.6(typescript@5.7.2): + dependencies: + import-fresh: 3.3.0 + js-yaml: 4.1.0 + parse-json: 5.2.0 + path-type: 4.0.0 + optionalDependencies: + typescript: 5.7.2 + + cross-inspect@1.0.1: + dependencies: + tslib: 2.8.1 + + cross-spawn@5.1.0: + dependencies: + lru-cache: 4.1.5 + shebang-command: 1.2.0 + which: 1.3.1 + + cross-spawn@7.0.3: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + css-select@5.1.0: + dependencies: + boolbase: 1.0.0 + css-what: 6.1.0 + domhandler: 5.0.3 + domutils: 3.1.0 + nth-check: 2.1.1 + + css-tree@2.2.1: + dependencies: + mdn-data: 2.0.28 + source-map-js: 1.2.1 + + css-tree@2.3.1: + dependencies: + mdn-data: 2.0.30 + source-map-js: 1.2.1 + + css-what@6.1.0: {} + + cssesc@3.0.0: {} + + csso@5.0.5: + dependencies: + css-tree: 2.2.1 + + csstype@3.1.3: {} + + cytoscape-cose-bilkent@4.1.0(cytoscape@3.28.1): + dependencies: + cose-base: 1.0.3 + cytoscape: 3.28.1 + + cytoscape@3.28.1: + dependencies: + heap: 0.2.7 + lodash: 4.17.21 + + d3-array@2.12.1: + dependencies: + internmap: 1.0.1 + + d3-array@3.2.4: + dependencies: + internmap: 2.0.3 + + d3-axis@3.0.0: {} + + d3-brush@3.0.0: + dependencies: + d3-dispatch: 3.0.1 + d3-drag: 3.0.0 + d3-interpolate: 3.0.1 + d3-selection: 3.0.0 + d3-transition: 3.0.1(d3-selection@3.0.0) + + d3-chord@3.0.1: + dependencies: + d3-path: 3.1.0 + + d3-color@3.1.0: {} + + d3-contour@4.0.2: + dependencies: + d3-array: 3.2.4 + + d3-delaunay@6.0.4: + dependencies: + delaunator: 5.0.1 + + d3-dispatch@3.0.1: {} + + d3-drag@3.0.0: + dependencies: + d3-dispatch: 3.0.1 + d3-selection: 3.0.0 + + d3-dsv@3.0.1: + dependencies: + commander: 7.2.0 + iconv-lite: 0.6.3 + rw: 1.3.3 + + d3-ease@3.0.1: {} + + d3-fetch@3.0.1: + dependencies: + d3-dsv: 3.0.1 + + d3-force@3.0.0: + dependencies: + d3-dispatch: 3.0.1 + d3-quadtree: 3.0.1 + d3-timer: 3.0.1 + + d3-format@3.1.0: {} + + d3-geo@3.1.1: + dependencies: + d3-array: 3.2.4 + + d3-hierarchy@3.1.2: {} + + d3-interpolate@3.0.1: + dependencies: + d3-color: 3.1.0 + + d3-path@1.0.9: {} + + d3-path@3.1.0: {} + + d3-polygon@3.0.1: {} + + d3-quadtree@3.0.1: {} + + d3-random@3.0.1: {} + + d3-sankey@0.12.3: + dependencies: + d3-array: 2.12.1 + d3-shape: 1.3.7 + + d3-scale-chromatic@3.1.0: + dependencies: + d3-color: 3.1.0 + d3-interpolate: 3.0.1 + + d3-scale@4.0.2: + dependencies: + d3-array: 3.2.4 + d3-format: 3.1.0 + d3-interpolate: 3.0.1 + d3-time: 3.1.0 + d3-time-format: 4.1.0 + + d3-selection@3.0.0: {} + + d3-shape@1.3.7: + dependencies: + d3-path: 1.0.9 + + d3-shape@3.2.0: + dependencies: + d3-path: 3.1.0 + + d3-time-format@4.1.0: + dependencies: + d3-time: 3.1.0 + + d3-time@3.1.0: + dependencies: + d3-array: 3.2.4 + + d3-timer@3.0.1: {} + + d3-transition@3.0.1(d3-selection@3.0.0): + dependencies: + d3-color: 3.1.0 + d3-dispatch: 3.0.1 + d3-ease: 3.0.1 + d3-interpolate: 3.0.1 + d3-selection: 3.0.0 + d3-timer: 3.0.1 + + d3-zoom@3.0.0: + dependencies: + d3-dispatch: 3.0.1 + d3-drag: 3.0.0 + d3-interpolate: 3.0.1 + d3-selection: 3.0.0 + d3-transition: 3.0.1(d3-selection@3.0.0) + + d3@7.9.0: + dependencies: + d3-array: 3.2.4 + d3-axis: 3.0.0 + d3-brush: 3.0.0 + d3-chord: 3.0.1 + d3-color: 3.1.0 + d3-contour: 4.0.2 + d3-delaunay: 6.0.4 + d3-dispatch: 3.0.1 + d3-drag: 3.0.0 + d3-dsv: 3.0.1 + d3-ease: 3.0.1 + d3-fetch: 3.0.1 + d3-force: 3.0.0 + d3-format: 3.1.0 + d3-geo: 3.1.1 + d3-hierarchy: 3.1.2 + d3-interpolate: 3.0.1 + d3-path: 3.1.0 + d3-polygon: 3.0.1 + d3-quadtree: 3.0.1 + d3-random: 3.0.1 + d3-scale: 4.0.2 + d3-scale-chromatic: 3.1.0 + d3-selection: 3.0.0 + d3-shape: 3.2.0 + d3-time: 3.1.0 + d3-time-format: 4.1.0 + d3-timer: 3.0.1 + d3-transition: 3.0.1(d3-selection@3.0.0) + d3-zoom: 3.0.0 + + dagre-d3-es@7.0.10: + dependencies: + d3: 7.9.0 + lodash-es: 4.17.21 + + dataloader@2.2.3: {} + + date-fns@2.30.0: + dependencies: + '@babel/runtime': 7.24.1 + + dayjs@1.11.10: {} + + debug@4.3.4: + dependencies: + ms: 2.1.2 + + debug@4.3.7: + dependencies: + ms: 2.1.3 + + debug@4.4.0: + dependencies: + ms: 2.1.3 + + decode-named-character-reference@1.0.2: + dependencies: + character-entities: 2.0.2 + + deep-is@0.1.4: {} + + deepmerge@4.3.1: {} + + delaunator@5.0.1: + dependencies: + robust-predicates: 3.0.2 + + dequal@2.0.3: {} + + detect-libc@2.0.3: {} + + devlop@1.1.0: + dependencies: + dequal: 2.0.3 + + didyoumean@1.2.2: {} + + diff@5.2.0: {} + + dir-glob@3.0.1: + dependencies: + path-type: 4.0.0 + + dlv@1.1.3: {} + + doctrine@3.0.0: + dependencies: + esutils: 2.0.3 + + dom-serializer@2.0.0: + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + entities: 4.5.0 + + domelementtype@2.3.0: {} + + domhandler@5.0.3: + dependencies: + domelementtype: 2.3.0 + + dompurify@3.0.11: {} + + domutils@3.1.0: + dependencies: + dom-serializer: 2.0.0 + domelementtype: 2.3.0 + domhandler: 5.0.3 + + dot-case@3.0.4: + dependencies: + no-case: 3.0.4 + tslib: 2.8.1 + + dset@3.1.3: {} + + eastasianwidth@0.2.0: {} + + electron-to-chromium@1.5.74: {} + + elkjs@0.9.2: {} + + emoji-regex@10.4.0: {} + + emoji-regex@8.0.0: {} + + emoji-regex@9.2.2: {} + + entities@4.5.0: {} + + errno@0.1.8: + dependencies: + prr: 1.0.1 + optional: true + + error-ex@1.3.2: + dependencies: + is-arrayish: 0.2.1 + + esbuild@0.23.1: + optionalDependencies: + '@esbuild/aix-ppc64': 0.23.1 + '@esbuild/android-arm': 0.23.1 + '@esbuild/android-arm64': 0.23.1 + '@esbuild/android-x64': 0.23.1 + '@esbuild/darwin-arm64': 0.23.1 + '@esbuild/darwin-x64': 0.23.1 + '@esbuild/freebsd-arm64': 0.23.1 + '@esbuild/freebsd-x64': 0.23.1 + '@esbuild/linux-arm': 0.23.1 + '@esbuild/linux-arm64': 0.23.1 + '@esbuild/linux-ia32': 0.23.1 + '@esbuild/linux-loong64': 0.23.1 + '@esbuild/linux-mips64el': 0.23.1 + '@esbuild/linux-ppc64': 0.23.1 + '@esbuild/linux-riscv64': 0.23.1 + '@esbuild/linux-s390x': 0.23.1 + '@esbuild/linux-x64': 0.23.1 + '@esbuild/netbsd-x64': 0.23.1 + '@esbuild/openbsd-arm64': 0.23.1 + '@esbuild/openbsd-x64': 0.23.1 + '@esbuild/sunos-x64': 0.23.1 + '@esbuild/win32-arm64': 0.23.1 + '@esbuild/win32-ia32': 0.23.1 + '@esbuild/win32-x64': 0.23.1 + + escalade@3.2.0: {} + + escape-string-regexp@1.0.5: {} + + escape-string-regexp@4.0.0: {} + + escape-string-regexp@5.0.0: {} + + eslint-config-prettier@9.1.0(eslint@8.57.1): + dependencies: + eslint: 8.57.1 + + eslint-mdx@3.1.5(eslint@8.57.1): + dependencies: + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) + eslint: 8.57.1 + espree: 9.6.1 + estree-util-visit: 2.0.0 + remark-mdx: 3.0.1 + remark-parse: 11.0.0 + remark-stringify: 11.0.0 + synckit: 0.9.0 + tslib: 2.6.2 + unified: 11.0.5 + unified-engine: 11.2.0 + unist-util-visit: 5.0.0 + uvu: 0.5.6 + vfile: 6.0.1 + transitivePeerDependencies: + - supports-color + + eslint-plugin-markdown@3.0.1(eslint@8.57.1): + dependencies: + eslint: 8.57.1 + mdast-util-from-markdown: 0.8.5 + transitivePeerDependencies: + - supports-color + + eslint-plugin-mdx@3.1.5(eslint@8.57.1): + dependencies: + eslint: 8.57.1 + eslint-mdx: 3.1.5(eslint@8.57.1) + eslint-plugin-markdown: 3.0.1(eslint@8.57.1) + remark-mdx: 3.0.1 + remark-parse: 11.0.0 + remark-stringify: 11.0.0 + tslib: 2.6.2 + unified: 11.0.5 + vfile: 6.0.1 + transitivePeerDependencies: + - supports-color + + eslint-plugin-tailwindcss@3.17.5(tailwindcss@3.4.17): + dependencies: + fast-glob: 3.3.3 + postcss: 8.4.49 + tailwindcss: 3.4.17 + + eslint-scope@7.2.2: + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + + eslint-visitor-keys@3.4.3: {} + + eslint@8.57.1: + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) + '@eslint-community/regexpp': 4.10.0 + '@eslint/eslintrc': 2.1.4 + '@eslint/js': 8.57.1 + '@humanwhocodes/config-array': 0.13.0 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + '@ungap/structured-clone': 1.2.0 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.7 + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.24.0 + graphemer: 1.4.0 + ignore: 5.3.1 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + is-path-inside: 3.0.3 + js-yaml: 4.1.0 + json-stable-stringify-without-jsonify: 1.0.1 + levn: 0.4.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.3 + strip-ansi: 6.0.1 + text-table: 0.2.0 + transitivePeerDependencies: + - supports-color + + esm@3.2.25: {} + + espree@9.6.1: + dependencies: + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) + eslint-visitor-keys: 3.4.3 + + esprima@4.0.1: {} + + esquery@1.5.0: + dependencies: + estraverse: 5.3.0 + + esrecurse@4.3.0: + dependencies: + estraverse: 5.3.0 + + estraverse@5.3.0: {} + + estree-util-attach-comments@3.0.0: + dependencies: + '@types/estree': 1.0.5 + + estree-util-build-jsx@3.0.1: + dependencies: + '@types/estree-jsx': 1.0.5 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + estree-walker: 3.0.3 + + estree-util-is-identifier-name@2.1.0: {} + + estree-util-is-identifier-name@3.0.0: {} + + estree-util-to-js@2.0.0: + dependencies: + '@types/estree-jsx': 1.0.5 + astring: 1.8.6 + source-map: 0.7.4 + + estree-util-value-to-estree@1.3.0: + dependencies: + is-plain-obj: 3.0.0 + + estree-util-value-to-estree@3.0.1: + dependencies: + '@types/estree': 1.0.5 + is-plain-obj: 4.1.0 + + estree-util-visit@2.0.0: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/unist': 3.0.2 + + estree-walker@3.0.3: + dependencies: + '@types/estree': 1.0.5 + + esutils@2.0.3: {} + + execa@0.8.0: + dependencies: + cross-spawn: 5.1.0 + get-stream: 3.0.0 + is-stream: 1.1.0 + npm-run-path: 2.0.2 + p-finally: 1.0.0 + signal-exit: 3.0.7 + strip-eof: 1.0.0 + + extend-shallow@2.0.1: + dependencies: + is-extendable: 0.1.1 + + extend@3.0.2: {} + + extract-files@11.0.0: {} + + fast-decode-uri-component@1.0.1: {} + + fast-deep-equal@3.1.3: {} + + fast-glob@3.3.3: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 + + fast-json-stable-stringify@2.1.0: {} + + fast-levenshtein@2.0.6: {} + + fast-querystring@1.1.2: + dependencies: + fast-decode-uri-component: 1.0.1 + + fastq@1.18.0: + dependencies: + reusify: 1.0.4 + + fault@2.0.1: + dependencies: + format: 0.2.2 + + file-entry-cache@6.0.1: + dependencies: + flat-cache: 3.2.0 + + file-is-binary@1.0.0: + dependencies: + is-binary-buffer: 1.0.0 + isobject: 3.0.1 + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + find-up@5.0.0: + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + + flat-cache@3.2.0: + dependencies: + flatted: 3.3.1 + keyv: 4.5.4 + rimraf: 3.0.2 + + flatted@3.3.1: {} + + flexsearch@0.7.43: {} + + focus-visible@5.2.0: {} + + for-in@1.0.2: {} + + foreground-child@3.3.0: + dependencies: + cross-spawn: 7.0.6 + signal-exit: 4.1.0 + + format@0.2.2: {} + + fraction.js@4.3.7: {} + + framer-motion@12.11.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + dependencies: + motion-dom: 12.11.0 + motion-utils: 12.9.4 + tslib: 2.8.1 + optionalDependencies: + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + fs.realpath@1.0.0: {} + + fsevents@2.3.3: + optional: true + + function-bind@1.1.2: {} + + gensync@1.0.0-beta.2: {} + + get-stream@3.0.0: {} + + get-tsconfig@4.8.1: + dependencies: + resolve-pkg-maps: 1.0.0 + + github-slugger@2.0.0: {} + + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + + glob-parent@6.0.2: + dependencies: + is-glob: 4.0.3 + + glob@10.3.10: + dependencies: + foreground-child: 3.3.0 + jackspeak: 2.3.6 + minimatch: 9.0.5 + minipass: 7.1.2 + path-scurry: 1.11.1 + + glob@10.4.5: + dependencies: + foreground-child: 3.3.0 + jackspeak: 3.4.3 + minimatch: 9.0.5 + minipass: 7.1.2 + package-json-from-dist: 1.0.1 + path-scurry: 1.11.1 + + glob@7.2.3: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + + globals@11.12.0: {} + + globals@13.24.0: + dependencies: + type-fest: 0.20.2 + + globby@11.1.0: + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.3 + ignore: 5.3.1 + merge2: 1.4.1 + slash: 3.0.0 + + graceful-fs@4.2.11: {} + + graphemer@1.4.0: {} + + graphql-config@5.1.3(@types/node@22.10.5)(graphql@16.10.0)(typescript@5.7.2): + dependencies: + '@graphql-tools/graphql-file-loader': 8.0.8(graphql@16.10.0) + '@graphql-tools/json-file-loader': 8.0.8(graphql@16.10.0) + '@graphql-tools/load': 8.0.9(graphql@16.10.0) + '@graphql-tools/merge': 9.0.14(graphql@16.10.0) + '@graphql-tools/url-loader': 8.0.20(@types/node@22.10.5)(graphql@16.10.0) + '@graphql-tools/utils': 10.6.4(graphql@16.10.0) + cosmiconfig: 8.3.6(typescript@5.7.2) + graphql: 16.10.0 + jiti: 2.4.2 + minimatch: 9.0.5 + string-env-interpolation: 1.0.1 + tslib: 2.8.1 + transitivePeerDependencies: + - '@types/node' + - bufferutil + - encoding + - typescript + - utf-8-validate + + graphql-depth-limit@1.1.0(graphql@16.10.0): + dependencies: + arrify: 1.0.1 + graphql: 16.10.0 + + graphql-language-service@5.2.0(graphql@16.10.0): + dependencies: + graphql: 16.10.0 + nullthrows: 1.1.1 + vscode-languageserver-types: 3.17.5 + + graphql-ws@5.16.0(graphql@16.10.0): + dependencies: + graphql: 16.10.0 + + graphql@16.10.0: {} + + gray-matter@3.1.1: + dependencies: + extend-shallow: 2.0.1 + js-yaml: 3.14.1 + kind-of: 5.1.0 + strip-bom-string: 1.0.0 + + gray-matter@4.0.3: + dependencies: + js-yaml: 3.14.1 + kind-of: 6.0.3 + section-matter: 1.0.0 + strip-bom-string: 1.0.0 + + has-flag@2.0.0: {} + + has-flag@3.0.0: {} + + has-flag@4.0.0: {} + + hasown@2.0.2: + dependencies: + function-bind: 1.1.2 + + hast-util-from-dom@5.0.0: + dependencies: + '@types/hast': 3.0.4 + hastscript: 8.0.0 + web-namespaces: 2.0.1 + + hast-util-from-html-isomorphic@2.0.0: + dependencies: + '@types/hast': 3.0.4 + hast-util-from-dom: 5.0.0 + hast-util-from-html: 2.0.1 + unist-util-remove-position: 5.0.0 + + hast-util-from-html@2.0.1: + dependencies: + '@types/hast': 3.0.4 + devlop: 1.1.0 + hast-util-from-parse5: 8.0.1 + parse5: 7.1.2 + vfile: 6.0.1 + vfile-message: 4.0.2 + + hast-util-from-parse5@8.0.1: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.2 + devlop: 1.1.0 + hastscript: 8.0.0 + property-information: 6.4.1 + vfile: 6.0.1 + vfile-location: 5.0.2 + web-namespaces: 2.0.1 + + hast-util-is-element@3.0.0: + dependencies: + '@types/hast': 3.0.4 + + hast-util-parse-selector@4.0.0: + dependencies: + '@types/hast': 3.0.4 + + hast-util-raw@9.0.2: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.2 + '@ungap/structured-clone': 1.2.0 + hast-util-from-parse5: 8.0.1 + hast-util-to-parse5: 8.0.0 + html-void-elements: 3.0.0 + mdast-util-to-hast: 13.1.0 + parse5: 7.1.2 + unist-util-position: 5.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.1 + web-namespaces: 2.0.1 + zwitch: 2.0.4 + + hast-util-to-estree@3.1.0: + dependencies: + '@types/estree': 1.0.5 + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + estree-util-attach-comments: 3.0.0 + estree-util-is-identifier-name: 3.0.0 + hast-util-whitespace: 3.0.0 + mdast-util-mdx-expression: 2.0.0 + mdast-util-mdx-jsx: 3.1.2 + mdast-util-mdxjs-esm: 2.0.1 + property-information: 6.4.1 + space-separated-tokens: 2.0.2 + style-to-object: 0.4.4 + unist-util-position: 5.0.0 + zwitch: 2.0.4 + transitivePeerDependencies: + - supports-color + + hast-util-to-jsx-runtime@2.3.0: + dependencies: + '@types/estree': 1.0.5 + '@types/hast': 3.0.4 + '@types/unist': 3.0.2 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + hast-util-whitespace: 3.0.0 + mdast-util-mdx-expression: 2.0.0 + mdast-util-mdx-jsx: 3.1.2 + mdast-util-mdxjs-esm: 2.0.1 + property-information: 6.4.1 + space-separated-tokens: 2.0.2 + style-to-object: 1.0.6 + unist-util-position: 5.0.0 + vfile-message: 4.0.2 + transitivePeerDependencies: + - supports-color + + hast-util-to-parse5@8.0.0: + dependencies: + '@types/hast': 3.0.4 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + property-information: 6.4.1 + space-separated-tokens: 2.0.2 + web-namespaces: 2.0.1 + zwitch: 2.0.4 + + hast-util-to-string@3.0.1: + dependencies: + '@types/hast': 3.0.4 + + hast-util-to-text@4.0.0: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.2 + hast-util-is-element: 3.0.0 + unist-util-find-after: 5.0.0 + + hast-util-whitespace@3.0.0: + dependencies: + '@types/hast': 3.0.4 + + hastscript@8.0.0: + dependencies: + '@types/hast': 3.0.4 + comma-separated-tokens: 2.0.3 + hast-util-parse-selector: 4.0.0 + property-information: 6.4.1 + space-separated-tokens: 2.0.2 + + heap@0.2.7: {} + + html-entities@2.5.2: {} + + html-void-elements@3.0.0: {} + + iconv-lite@0.6.3: + dependencies: + safer-buffer: 2.1.2 + + iframe-resizer-react@1.1.1(@babel/core@7.26.0)(prop-types@15.8.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + dependencies: + '@babel/plugin-proposal-private-property-in-object': 7.21.11(@babel/core@7.26.0) + iframe-resizer: 4.4.5 + prop-types: 15.8.1 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + warning: 4.0.3 + transitivePeerDependencies: + - '@babel/core' + - supports-color + + iframe-resizer@4.4.5: {} + + ignore@5.3.1: {} + + image-size@0.5.5: + optional: true + + import-fresh@3.3.0: + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + + import-meta-resolve@4.0.0: {} + + imurmurhash@0.1.4: {} + + inflight@1.0.6: + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + + inherits@2.0.4: {} + + ini@4.1.2: {} + + inline-style-parser@0.1.1: {} + + inline-style-parser@0.2.3: {} + + internmap@1.0.1: {} + + internmap@2.0.3: {} + + intersection-observer@0.12.2: {} + + is-alphabetical@1.0.4: {} + + is-alphabetical@2.0.1: {} + + is-alphanumerical@1.0.4: + dependencies: + is-alphabetical: 1.0.4 + is-decimal: 1.0.4 + + is-alphanumerical@2.0.1: + dependencies: + is-alphabetical: 2.0.1 + is-decimal: 2.0.1 + + is-arrayish@0.2.1: {} + + is-arrayish@0.3.2: {} + + is-binary-buffer@1.0.0: + dependencies: + is-buffer: 1.1.6 + + is-binary-path@2.1.0: + dependencies: + binary-extensions: 2.3.0 + + is-buffer@1.1.6: {} + + is-buffer@2.0.5: {} + + is-core-module@2.16.0: + dependencies: + hasown: 2.0.2 + + is-decimal@1.0.4: {} + + is-decimal@2.0.1: {} + + is-empty@1.2.0: {} + + is-extendable@0.1.1: {} + + is-extendable@1.0.1: + dependencies: + is-plain-object: 2.0.4 + + is-extglob@2.1.1: {} + + is-fullwidth-code-point@3.0.0: {} + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-hexadecimal@1.0.4: {} + + is-hexadecimal@2.0.1: {} + + is-number@7.0.0: {} + + is-path-inside@3.0.3: {} + + is-plain-obj@3.0.0: {} + + is-plain-obj@4.1.0: {} + + is-plain-object@2.0.4: + dependencies: + isobject: 3.0.1 + + is-reference@3.0.2: + dependencies: + '@types/estree': 1.0.5 + + is-stream@1.1.0: {} + + is-what@3.14.1: {} + + is-whitespace@0.3.0: {} + + isexe@2.0.0: {} + + isobject@3.0.1: {} + + isomorphic-ws@5.0.0(ws@8.18.0): + dependencies: + ws: 8.18.0 + + jackspeak@2.3.6: + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + + jackspeak@3.4.3: + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + + jiti@1.21.7: {} + + jiti@2.4.2: {} + + js-tokens@4.0.0: {} + + js-yaml@3.14.1: + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + + js-yaml@4.1.0: + dependencies: + argparse: 2.0.1 + + jsesc@3.0.2: {} + + jsesc@3.1.0: {} + + json-buffer@3.0.1: {} + + json-parse-even-better-errors@2.3.1: {} + + json-parse-even-better-errors@3.0.1: {} + + json-schema-traverse@0.4.1: {} + + json-stable-stringify-without-jsonify@1.0.1: {} + + json5@2.2.3: {} + + katex@0.16.10: + dependencies: + commander: 8.3.0 + + keyv@4.5.4: + dependencies: + json-buffer: 3.0.1 + + khroma@2.1.0: {} + + kind-of@3.2.2: + dependencies: + is-buffer: 1.1.6 + + kind-of@5.1.0: {} + + kind-of@6.0.3: {} + + kleur@4.1.5: {} + + layout-base@1.0.2: {} + + lazy-cache@2.0.2: + dependencies: + set-getter: 0.1.1 + + leaflet@1.9.4: {} + + less-loader@12.2.0(less@4.2.1): + dependencies: + less: 4.2.1 + + less@4.2.1: + dependencies: + copy-anything: 2.0.6 + parse-node-version: 1.0.1 + tslib: 2.8.1 + optionalDependencies: + errno: 0.1.8 + graceful-fs: 4.2.11 + image-size: 0.5.5 + make-dir: 2.1.0 + mime: 1.6.0 + needle: 3.3.1 + source-map: 0.6.1 + + levn@0.4.1: + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + + lilconfig@3.1.3: {} + + lines-and-columns@1.2.4: {} + + lines-and-columns@2.0.4: {} + + load-plugin@6.0.2: + dependencies: + '@npmcli/config': 8.2.0 + import-meta-resolve: 4.0.0 + + locate-path@6.0.0: + dependencies: + p-locate: 5.0.0 + + lodash-es@4.17.21: {} + + lodash.castarray@4.4.0: {} + + lodash.debounce@4.0.8: {} + + lodash.isplainobject@4.0.6: {} + + lodash.lowercase@4.3.0: {} + + lodash.merge@4.6.2: {} + + lodash@4.17.21: {} + + longest-streak@3.1.0: {} + + loose-envify@1.4.0: + dependencies: + js-tokens: 4.0.0 + + lower-case@2.0.2: + dependencies: + tslib: 2.8.1 + + lru-cache@10.4.3: {} + + lru-cache@4.1.5: + dependencies: + pseudomap: 1.0.2 + yallist: 2.1.2 + + lru-cache@5.1.1: + dependencies: + yallist: 3.1.1 + + lru-cache@6.0.0: + dependencies: + yallist: 4.0.0 + + lucide-react@0.469.0(react@18.3.1): + dependencies: + react: 18.3.1 + + make-dir@2.1.0: + dependencies: + pify: 4.0.1 + semver: 5.7.2 + optional: true + + markdown-extensions@2.0.0: {} + + markdown-table@3.0.3: {} + + markdown-to-jsx@7.7.2(react@18.3.1): + dependencies: + react: 18.3.1 + + marked@5.1.2: {} + + mathjax-full@3.2.2: + dependencies: + esm: 3.2.25 + mhchemparser: 4.2.1 + mj-context-menu: 0.6.1 + speech-rule-engine: 4.0.7 + + mdast-util-find-and-replace@3.0.1: + dependencies: + '@types/mdast': 4.0.3 + escape-string-regexp: 5.0.0 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 + + mdast-util-from-markdown@0.8.5: + dependencies: + '@types/mdast': 3.0.15 + mdast-util-to-string: 2.0.0 + micromark: 2.11.4 + parse-entities: 2.0.0 + unist-util-stringify-position: 2.0.3 + transitivePeerDependencies: + - supports-color + + mdast-util-from-markdown@1.3.1: + dependencies: + '@types/mdast': 3.0.15 + '@types/unist': 2.0.10 + decode-named-character-reference: 1.0.2 + mdast-util-to-string: 3.2.0 + micromark: 3.2.0 + micromark-util-decode-numeric-character-reference: 1.1.0 + micromark-util-decode-string: 1.1.0 + micromark-util-normalize-identifier: 1.1.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + unist-util-stringify-position: 3.0.3 + uvu: 0.5.6 + transitivePeerDependencies: + - supports-color + + mdast-util-from-markdown@2.0.0: + dependencies: + '@types/mdast': 4.0.3 + '@types/unist': 3.0.2 + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + mdast-util-to-string: 4.0.0 + micromark: 4.0.0 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-decode-string: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + unist-util-stringify-position: 4.0.0 + transitivePeerDependencies: + - supports-color + + mdast-util-frontmatter@2.0.1: + dependencies: + '@types/mdast': 4.0.3 + devlop: 1.1.0 + escape-string-regexp: 5.0.0 + mdast-util-from-markdown: 2.0.0 + mdast-util-to-markdown: 2.1.0 + micromark-extension-frontmatter: 2.0.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-autolink-literal@2.0.0: + dependencies: + '@types/mdast': 4.0.3 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-find-and-replace: 3.0.1 + micromark-util-character: 2.1.0 + + mdast-util-gfm-footnote@2.0.0: + dependencies: + '@types/mdast': 4.0.3 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.0 + mdast-util-to-markdown: 2.1.0 + micromark-util-normalize-identifier: 2.0.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-strikethrough@2.0.0: + dependencies: + '@types/mdast': 4.0.3 + mdast-util-from-markdown: 2.0.0 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-table@2.0.0: + dependencies: + '@types/mdast': 4.0.3 + devlop: 1.1.0 + markdown-table: 3.0.3 + mdast-util-from-markdown: 2.0.0 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-task-list-item@2.0.0: + dependencies: + '@types/mdast': 4.0.3 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.0 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm@3.0.0: + dependencies: + mdast-util-from-markdown: 2.0.0 + mdast-util-gfm-autolink-literal: 2.0.0 + mdast-util-gfm-footnote: 2.0.0 + mdast-util-gfm-strikethrough: 2.0.0 + mdast-util-gfm-table: 2.0.0 + mdast-util-gfm-task-list-item: 2.0.0 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-math@3.0.0: + dependencies: + '@types/hast': 3.0.4 + '@types/mdast': 4.0.3 + devlop: 1.1.0 + longest-streak: 3.1.0 + mdast-util-from-markdown: 2.0.0 + mdast-util-to-markdown: 2.1.0 + unist-util-remove-position: 5.0.0 + transitivePeerDependencies: + - supports-color + + mdast-util-mdx-expression@2.0.0: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.3 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.0 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-mdx-jsx@3.1.2: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.3 + '@types/unist': 3.0.2 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.0 + mdast-util-to-markdown: 2.1.0 + parse-entities: 4.0.1 + stringify-entities: 4.0.3 + unist-util-remove-position: 5.0.0 + unist-util-stringify-position: 4.0.0 + vfile-message: 4.0.2 + transitivePeerDependencies: + - supports-color + + mdast-util-mdx@3.0.0: + dependencies: + mdast-util-from-markdown: 2.0.0 + mdast-util-mdx-expression: 2.0.0 + mdast-util-mdx-jsx: 3.1.2 + mdast-util-mdxjs-esm: 2.0.1 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-mdxjs-esm@2.0.1: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.3 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.0 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-phrasing@4.1.0: + dependencies: + '@types/mdast': 4.0.3 + unist-util-is: 6.0.0 + + mdast-util-to-hast@13.1.0: + dependencies: + '@types/hast': 3.0.4 + '@types/mdast': 4.0.3 + '@ungap/structured-clone': 1.2.0 + devlop: 1.1.0 + micromark-util-sanitize-uri: 2.0.0 + trim-lines: 3.0.1 + unist-util-position: 5.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.1 + + mdast-util-to-markdown@2.1.0: + dependencies: + '@types/mdast': 4.0.3 + '@types/unist': 3.0.2 + longest-streak: 3.1.0 + mdast-util-phrasing: 4.1.0 + mdast-util-to-string: 4.0.0 + micromark-util-decode-string: 2.0.0 + unist-util-visit: 5.0.0 + zwitch: 2.0.4 + + mdast-util-to-string@2.0.0: {} + + mdast-util-to-string@3.2.0: + dependencies: + '@types/mdast': 3.0.15 + + mdast-util-to-string@4.0.0: + dependencies: + '@types/mdast': 4.0.3 + + mdn-data@2.0.28: {} + + mdn-data@2.0.30: {} + + merge2@1.4.1: {} + + mermaid@10.9.0: + dependencies: + '@braintree/sanitize-url': 6.0.4 + '@types/d3-scale': 4.0.8 + '@types/d3-scale-chromatic': 3.0.3 + cytoscape: 3.28.1 + cytoscape-cose-bilkent: 4.1.0(cytoscape@3.28.1) + d3: 7.9.0 + d3-sankey: 0.12.3 + dagre-d3-es: 7.0.10 + dayjs: 1.11.10 + dompurify: 3.0.11 + elkjs: 0.9.2 + katex: 0.16.10 + khroma: 2.1.0 + lodash-es: 4.17.21 + mdast-util-from-markdown: 1.3.1 + non-layered-tidy-tree-layout: 2.0.2 + stylis: 4.3.1 + ts-dedent: 2.2.0 + uuid: 9.0.1 + web-worker: 1.3.0 + transitivePeerDependencies: + - supports-color + + meros@1.3.0(@types/node@22.10.5): + optionalDependencies: + '@types/node': 22.10.5 + + mhchemparser@4.2.1: {} + + micromark-core-commonmark@1.1.0: + dependencies: + decode-named-character-reference: 1.0.2 + micromark-factory-destination: 1.1.0 + micromark-factory-label: 1.1.0 + micromark-factory-space: 1.1.0 + micromark-factory-title: 1.1.0 + micromark-factory-whitespace: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-chunked: 1.1.0 + micromark-util-classify-character: 1.1.0 + micromark-util-html-tag-name: 1.2.0 + micromark-util-normalize-identifier: 1.1.0 + micromark-util-resolve-all: 1.1.0 + micromark-util-subtokenize: 1.1.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + uvu: 0.5.6 + + micromark-core-commonmark@2.0.0: + dependencies: + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + micromark-factory-destination: 2.0.0 + micromark-factory-label: 2.0.0 + micromark-factory-space: 2.0.0 + micromark-factory-title: 2.0.0 + micromark-factory-whitespace: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-classify-character: 2.0.0 + micromark-util-html-tag-name: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-resolve-all: 2.0.0 + micromark-util-subtokenize: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-frontmatter@2.0.0: + dependencies: + fault: 2.0.1 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-gfm-autolink-literal@2.0.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-sanitize-uri: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-gfm-footnote@2.0.0: + dependencies: + devlop: 1.1.0 + micromark-core-commonmark: 2.0.0 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-sanitize-uri: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-gfm-strikethrough@2.0.0: + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-classify-character: 2.0.0 + micromark-util-resolve-all: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-gfm-table@2.0.0: + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-gfm-tagfilter@2.0.0: + dependencies: + micromark-util-types: 2.0.0 + + micromark-extension-gfm-task-list-item@2.0.1: + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-gfm@3.0.0: + dependencies: + micromark-extension-gfm-autolink-literal: 2.0.0 + micromark-extension-gfm-footnote: 2.0.0 + micromark-extension-gfm-strikethrough: 2.0.0 + micromark-extension-gfm-table: 2.0.0 + micromark-extension-gfm-tagfilter: 2.0.0 + micromark-extension-gfm-task-list-item: 2.0.1 + micromark-util-combine-extensions: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-math@3.0.0: + dependencies: + '@types/katex': 0.16.7 + devlop: 1.1.0 + katex: 0.16.10 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-mdx-expression@3.0.0: + dependencies: + '@types/estree': 1.0.5 + devlop: 1.1.0 + micromark-factory-mdx-expression: 2.0.1 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-events-to-acorn: 2.0.2 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-mdx-jsx@3.0.0: + dependencies: + '@types/acorn': 4.0.6 + '@types/estree': 1.0.5 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + micromark-factory-mdx-expression: 2.0.1 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + vfile-message: 4.0.2 + + micromark-extension-mdx-md@2.0.0: + dependencies: + micromark-util-types: 2.0.0 + + micromark-extension-mdxjs-esm@3.0.0: + dependencies: + '@types/estree': 1.0.5 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-events-to-acorn: 2.0.2 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + unist-util-position-from-estree: 2.0.0 + vfile-message: 4.0.2 + + micromark-extension-mdxjs@3.0.0: + dependencies: + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) + micromark-extension-mdx-expression: 3.0.0 + micromark-extension-mdx-jsx: 3.0.0 + micromark-extension-mdx-md: 2.0.0 + micromark-extension-mdxjs-esm: 3.0.0 + micromark-util-combine-extensions: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-factory-destination@1.1.0: + dependencies: + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + + micromark-factory-destination@2.0.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-factory-label@1.1.0: + dependencies: + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + uvu: 0.5.6 + + micromark-factory-label@2.0.0: + dependencies: + devlop: 1.1.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-factory-mdx-expression@2.0.1: + dependencies: + '@types/estree': 1.0.5 + devlop: 1.1.0 + micromark-util-character: 2.1.0 + micromark-util-events-to-acorn: 2.0.2 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + unist-util-position-from-estree: 2.0.0 + vfile-message: 4.0.2 + + micromark-factory-space@1.1.0: + dependencies: + micromark-util-character: 1.2.0 + micromark-util-types: 1.1.0 + + micromark-factory-space@2.0.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-types: 2.0.0 + + micromark-factory-title@1.1.0: + dependencies: + micromark-factory-space: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + + micromark-factory-title@2.0.0: + dependencies: + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-factory-whitespace@1.1.0: + dependencies: + micromark-factory-space: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + + micromark-factory-whitespace@2.0.0: + dependencies: + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-util-character@1.2.0: + dependencies: + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + + micromark-util-character@2.1.0: + dependencies: + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-util-chunked@1.1.0: + dependencies: + micromark-util-symbol: 1.1.0 + + micromark-util-chunked@2.0.0: + dependencies: + micromark-util-symbol: 2.0.0 + + micromark-util-classify-character@1.1.0: + dependencies: + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + + micromark-util-classify-character@2.0.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-util-combine-extensions@1.1.0: + dependencies: + micromark-util-chunked: 1.1.0 + micromark-util-types: 1.1.0 + + micromark-util-combine-extensions@2.0.0: + dependencies: + micromark-util-chunked: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-util-decode-numeric-character-reference@1.1.0: + dependencies: + micromark-util-symbol: 1.1.0 + + micromark-util-decode-numeric-character-reference@2.0.1: + dependencies: + micromark-util-symbol: 2.0.0 + + micromark-util-decode-string@1.1.0: + dependencies: + decode-named-character-reference: 1.0.2 + micromark-util-character: 1.2.0 + micromark-util-decode-numeric-character-reference: 1.1.0 + micromark-util-symbol: 1.1.0 + + micromark-util-decode-string@2.0.0: + dependencies: + decode-named-character-reference: 1.0.2 + micromark-util-character: 2.1.0 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-symbol: 2.0.0 + + micromark-util-encode@1.1.0: {} + + micromark-util-encode@2.0.0: {} + + micromark-util-events-to-acorn@2.0.2: + dependencies: + '@types/acorn': 4.0.6 + '@types/estree': 1.0.5 + '@types/unist': 3.0.2 + devlop: 1.1.0 + estree-util-visit: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + vfile-message: 4.0.2 + + micromark-util-html-tag-name@1.2.0: {} + + micromark-util-html-tag-name@2.0.0: {} + + micromark-util-normalize-identifier@1.1.0: + dependencies: + micromark-util-symbol: 1.1.0 + + micromark-util-normalize-identifier@2.0.0: + dependencies: + micromark-util-symbol: 2.0.0 + + micromark-util-resolve-all@1.1.0: + dependencies: + micromark-util-types: 1.1.0 + + micromark-util-resolve-all@2.0.0: + dependencies: + micromark-util-types: 2.0.0 + + micromark-util-sanitize-uri@1.2.0: + dependencies: + micromark-util-character: 1.2.0 + micromark-util-encode: 1.1.0 + micromark-util-symbol: 1.1.0 + + micromark-util-sanitize-uri@2.0.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-encode: 2.0.0 + micromark-util-symbol: 2.0.0 + + micromark-util-subtokenize@1.1.0: + dependencies: + micromark-util-chunked: 1.1.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + uvu: 0.5.6 + + micromark-util-subtokenize@2.0.0: + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-util-symbol@1.1.0: {} + + micromark-util-symbol@2.0.0: {} + + micromark-util-types@1.1.0: {} + + micromark-util-types@2.0.0: {} + + micromark@2.11.4: + dependencies: + debug: 4.4.0 + parse-entities: 2.0.0 + transitivePeerDependencies: + - supports-color + + micromark@3.2.0: + dependencies: + '@types/debug': 4.1.12 + debug: 4.4.0 + decode-named-character-reference: 1.0.2 + micromark-core-commonmark: 1.1.0 + micromark-factory-space: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-chunked: 1.1.0 + micromark-util-combine-extensions: 1.1.0 + micromark-util-decode-numeric-character-reference: 1.1.0 + micromark-util-encode: 1.1.0 + micromark-util-normalize-identifier: 1.1.0 + micromark-util-resolve-all: 1.1.0 + micromark-util-sanitize-uri: 1.2.0 + micromark-util-subtokenize: 1.1.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + uvu: 0.5.6 + transitivePeerDependencies: + - supports-color + + micromark@4.0.0: + dependencies: + '@types/debug': 4.1.12 + debug: 4.4.0 + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.0 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-combine-extensions: 2.0.0 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-encode: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-resolve-all: 2.0.0 + micromark-util-sanitize-uri: 2.0.0 + micromark-util-subtokenize: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + transitivePeerDependencies: + - supports-color + + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + + mime-db@1.25.0: {} + + mime-types@2.1.13: + dependencies: + mime-db: 1.25.0 + + mime@1.6.0: + optional: true + + minimatch@3.1.2: + dependencies: + brace-expansion: 1.1.11 + + minimatch@9.0.5: + dependencies: + brace-expansion: 2.0.1 + + minimist@1.2.8: {} + + minipass@7.1.2: {} + + mixin-deep@1.3.2: + dependencies: + for-in: 1.0.2 + is-extendable: 1.0.1 + + mj-context-menu@0.6.1: {} + + motion-dom@12.11.0: + dependencies: + motion-utils: 12.9.4 + + motion-utils@12.9.4: {} + + motion@12.11.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + dependencies: + framer-motion: 12.11.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + tslib: 2.8.1 + optionalDependencies: + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + mri@1.2.0: {} + + ms@2.1.2: {} + + ms@2.1.3: {} + + mz@2.7.0: + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + + nanoid@3.3.8: {} + + natural-compare@1.4.0: {} + + needle@3.3.1: + dependencies: + iconv-lite: 0.6.3 + sax: 1.4.1 + optional: true + + next-image-export-optimizer@1.18.0(next@14.2.22(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1): + dependencies: + next: 14.2.22(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + sharp: 0.33.5 + typescript: 5.7.2 + + next-query-params@5.0.1(next@14.2.22(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(use-query-params@2.2.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)): + dependencies: + next: 14.2.22(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + tslib: 2.8.1 + use-query-params: 2.2.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + + next-sitemap@4.2.3(next@14.2.22(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)): + dependencies: + '@corex/deepmerge': 4.0.43 + '@next/env': 13.5.6 + fast-glob: 3.3.3 + minimist: 1.2.8 + next: 14.2.22(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + + next-themes@0.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + dependencies: + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + next-with-less@3.0.1(less-loader@12.2.0(less@4.2.1))(less@4.2.1)(next@14.2.22(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)): + dependencies: + clone-deep: 4.0.1 + less: 4.2.1 + less-loader: 12.2.0(less@4.2.1) + next: 14.2.22(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + + next@14.2.22(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + dependencies: + '@next/env': 14.2.22 + '@swc/helpers': 0.5.5 + busboy: 1.6.0 + caniuse-lite: 1.0.30001690 + graceful-fs: 4.2.11 + postcss: 8.4.31 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + styled-jsx: 5.1.1(@babel/core@7.26.0)(react@18.3.1) + optionalDependencies: + '@next/swc-darwin-arm64': 14.2.22 + '@next/swc-darwin-x64': 14.2.22 + '@next/swc-linux-arm64-gnu': 14.2.22 + '@next/swc-linux-arm64-musl': 14.2.22 + '@next/swc-linux-x64-gnu': 14.2.22 + '@next/swc-linux-x64-musl': 14.2.22 + '@next/swc-win32-arm64-msvc': 14.2.22 + '@next/swc-win32-ia32-msvc': 14.2.22 + '@next/swc-win32-x64-msvc': 14.2.22 + transitivePeerDependencies: + - '@babel/core' + - babel-plugin-macros + + nextra-theme-docs@3.0.0-alpha.28(next@14.2.22(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(nextra@3.0.0-alpha.28(patch_hash=rggcgtpcrgz5zyoxmhwje4p6rm)(@types/react@18.3.18)(next@14.2.22(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2))(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + dependencies: + '@headlessui/react': 1.7.19(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@popperjs/core': 2.11.8 + clsx: 2.1.1 + escape-string-regexp: 5.0.0 + flexsearch: 0.7.43 + focus-visible: 5.2.0 + intersection-observer: 0.12.2 + next: 14.2.22(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + next-themes: 0.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + nextra: 3.0.0-alpha.28(patch_hash=rggcgtpcrgz5zyoxmhwje4p6rm)(@types/react@18.3.18)(next@14.2.22(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + scroll-into-view-if-needed: 3.1.0 + zod: 3.22.4 + + nextra@3.0.0-alpha.28(patch_hash=rggcgtpcrgz5zyoxmhwje4p6rm)(@types/react@18.3.18)(next@14.2.22(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2): + dependencies: + '@headlessui/react': 1.7.19(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@mdx-js/mdx': 3.0.1 + '@mdx-js/react': 3.0.1(@types/react@18.3.18)(react@18.3.1) + '@napi-rs/simple-git': 0.1.16 + '@shikijs/twoslash': 1.2.1(typescript@5.7.2) + '@theguild/remark-mermaid': 0.0.7(react@18.3.1) + '@theguild/remark-npm2yarn': 0.3.0 + better-react-mathjax: 2.0.3(react@18.3.1) + clsx: 2.1.1 + estree-util-to-js: 2.0.0 + estree-util-value-to-estree: 3.0.1 + github-slugger: 2.0.0 + graceful-fs: 4.2.11 + gray-matter: 4.0.3 + hast-util-to-estree: 3.1.0 + katex: 0.16.10 + next: 14.2.22(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + p-limit: 6.1.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + rehype-katex: 7.0.0 + rehype-pretty-code: 0.13.2(shiki@1.2.1) + rehype-raw: 7.0.0 + remark-frontmatter: 5.0.0 + remark-gfm: 4.0.0 + remark-math: 6.0.0 + remark-reading-time: 2.0.1 + remark-smartypants: 3.0.2 + shiki: 1.2.1 + slash: 5.1.0 + title: 3.5.3 + unist-util-remove: 4.0.0 + unist-util-visit: 5.0.0 + yaml: 2.4.1 + zod: 3.22.4 + zod-validation-error: 3.3.0(zod@3.22.4) + transitivePeerDependencies: + - '@types/react' + - supports-color + - typescript + + nlcst-to-string@4.0.0: + dependencies: + '@types/nlcst': 2.0.3 + + no-case@3.0.4: + dependencies: + lower-case: 2.0.2 + tslib: 2.8.1 + + node-fetch@2.7.0: + dependencies: + whatwg-url: 5.0.0 + + node-releases@2.0.19: {} + + non-layered-tidy-tree-layout@2.0.2: {} + + nopt@7.2.0: + dependencies: + abbrev: 2.0.0 + + normalize-path@2.1.1: + dependencies: + remove-trailing-separator: 1.1.0 + + normalize-path@3.0.0: {} + + normalize-range@0.1.2: {} + + npm-normalize-package-bin@3.0.1: {} + + npm-run-path@2.0.2: + dependencies: + path-key: 2.0.1 + + npm-to-yarn@2.2.1: {} + + nth-check@2.1.1: + dependencies: + boolbase: 1.0.0 + + nullthrows@1.1.1: {} + + numbro@2.5.0: + dependencies: + bignumber.js: 8.1.1 + + object-assign@4.1.1: {} + + object-hash@3.0.0: {} + + once@1.4.0: + dependencies: + wrappy: 1.0.2 + + optionator@0.9.3: + dependencies: + '@aashutoshrathi/word-wrap': 1.2.6 + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + + p-finally@1.0.0: {} + + p-limit@3.1.0: + dependencies: + yocto-queue: 0.1.0 + + p-limit@4.0.0: + dependencies: + yocto-queue: 1.0.0 + + p-limit@6.1.0: + dependencies: + yocto-queue: 1.1.1 + + p-locate@5.0.0: + dependencies: + p-limit: 3.1.0 + + package-json-from-dist@1.0.1: {} + + parent-module@1.0.1: + dependencies: + callsites: 3.1.0 + + parse-entities@2.0.0: + dependencies: + character-entities: 1.2.4 + character-entities-legacy: 1.1.4 + character-reference-invalid: 1.1.4 + is-alphanumerical: 1.0.4 + is-decimal: 1.0.4 + is-hexadecimal: 1.0.4 + + parse-entities@4.0.1: + dependencies: + '@types/unist': 2.0.10 + character-entities: 2.0.2 + character-entities-legacy: 3.0.0 + character-reference-invalid: 2.0.1 + decode-named-character-reference: 1.0.2 + is-alphanumerical: 2.0.1 + is-decimal: 2.0.1 + is-hexadecimal: 2.0.1 + + parse-json@5.2.0: + dependencies: + '@babel/code-frame': 7.24.2 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + + parse-json@7.1.1: + dependencies: + '@babel/code-frame': 7.24.2 + error-ex: 1.3.2 + json-parse-even-better-errors: 3.0.1 + lines-and-columns: 2.0.4 + type-fest: 3.13.1 + + parse-latin@7.0.0: + dependencies: + '@types/nlcst': 2.0.3 + '@types/unist': 3.0.2 + nlcst-to-string: 4.0.0 + unist-util-modify-children: 4.0.0 + unist-util-visit-children: 3.0.0 + vfile: 6.0.1 + + parse-node-version@1.0.1: {} + + parse-numeric-range@1.3.0: {} + + parse5@7.1.2: + dependencies: + entities: 4.5.0 + + parser-front-matter@1.6.4: + dependencies: + extend-shallow: 2.0.1 + file-is-binary: 1.0.0 + gray-matter: 3.1.1 + isobject: 3.0.1 + lazy-cache: 2.0.2 + mixin-deep: 1.3.2 + trim-leading-lines: 0.1.1 + + path-exists@4.0.0: {} + + path-is-absolute@1.0.1: {} + + path-key@2.0.1: {} + + path-key@3.1.1: {} + + path-parse@1.0.7: {} + + path-scurry@1.11.1: + dependencies: + lru-cache: 10.4.3 + minipass: 7.1.2 + + path-type@4.0.0: {} + + periscopic@3.1.0: + dependencies: + '@types/estree': 1.0.5 + estree-walker: 3.0.3 + is-reference: 3.0.2 + + picocolors@1.1.1: {} + + picomatch@2.3.1: {} + + pify@2.3.0: {} + + pify@4.0.1: + optional: true + + pirates@4.0.6: {} + + postcss-import@15.1.0(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + postcss-value-parser: 4.2.0 + read-cache: 1.0.0 + resolve: 1.22.9 + + postcss-js@4.0.1(postcss@8.4.49): + dependencies: + camelcase-css: 2.0.1 + postcss: 8.4.49 + + postcss-load-config@4.0.2(postcss@8.4.49): + dependencies: + lilconfig: 3.1.3 + yaml: 2.6.1 + optionalDependencies: + postcss: 8.4.49 + + postcss-nested@5.0.6(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + postcss-selector-parser: 6.0.16 + + postcss-nested@6.2.0(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + postcss-selector-parser: 6.1.2 + + postcss-selector-parser@6.0.10: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + + postcss-selector-parser@6.0.16: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + + postcss-selector-parser@6.1.2: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + + postcss-value-parser@4.2.0: {} + + postcss@8.4.31: + dependencies: + nanoid: 3.3.8 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + postcss@8.4.49: + dependencies: + nanoid: 3.3.8 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + prelude-ls@1.2.1: {} + + prettier-plugin-pkg@0.18.1(prettier@3.4.2): + dependencies: + prettier: 3.4.2 + + prettier-plugin-tailwindcss@0.6.9(prettier@3.4.2): + dependencies: + prettier: 3.4.2 + + prettier@3.4.2: {} + + proc-log@3.0.0: {} + + prop-types@15.8.1: + dependencies: + loose-envify: 1.4.0 + object-assign: 4.1.1 + react-is: 16.13.1 + + property-information@6.4.1: {} + + prr@1.0.1: + optional: true + + pseudomap@1.0.2: {} + + punycode@2.3.1: {} + + queue-microtask@1.2.3: {} + + ranges-apply@7.0.16: + dependencies: + ranges-merge: 9.0.15 + tiny-invariant: 1.3.3 + + ranges-merge@9.0.15: + dependencies: + ranges-push: 7.0.15 + ranges-sort: 6.0.11 + + ranges-push@7.0.15: + dependencies: + codsen-utils: 1.6.4 + ranges-sort: 6.0.11 + string-collapse-leading-whitespace: 7.0.7 + string-trim-spaces-only: 5.0.10 + + ranges-sort@6.0.11: {} + + react-dom@18.3.1(react@18.3.1): + dependencies: + loose-envify: 1.4.0 + react: 18.3.1 + scheduler: 0.23.2 + + react-is@16.13.1: {} + + react-medium-image-zoom@5.2.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + dependencies: + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + react-use-measure@2.1.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + dependencies: + react: 18.3.1 + optionalDependencies: + react-dom: 18.3.1(react@18.3.1) + + react@18.3.1: + dependencies: + loose-envify: 1.4.0 + + read-cache@1.0.0: + dependencies: + pify: 2.3.0 + + read-package-json-fast@3.0.2: + dependencies: + json-parse-even-better-errors: 3.0.1 + npm-normalize-package-bin: 3.0.1 + + readable-stream@3.6.2: + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + + readdirp@3.6.0: + dependencies: + picomatch: 2.3.1 + + reading-time@1.5.0: {} + + regenerate-unicode-properties@10.2.0: + dependencies: + regenerate: 1.4.2 + + regenerate@1.4.2: {} + + regenerator-runtime@0.14.1: {} + + regenerator-transform@0.15.2: + dependencies: + '@babel/runtime': 7.26.0 + + regexpu-core@6.2.0: + dependencies: + regenerate: 1.4.2 + regenerate-unicode-properties: 10.2.0 + regjsgen: 0.8.0 + regjsparser: 0.12.0 + unicode-match-property-ecmascript: 2.0.0 + unicode-match-property-value-ecmascript: 2.2.0 + + regjsgen@0.8.0: {} + + regjsparser@0.12.0: + dependencies: + jsesc: 3.0.2 + + rehype-katex@7.0.0: + dependencies: + '@types/hast': 3.0.4 + '@types/katex': 0.16.7 + hast-util-from-html-isomorphic: 2.0.0 + hast-util-to-text: 4.0.0 + katex: 0.16.10 + unist-util-visit-parents: 6.0.1 + vfile: 6.0.1 + + rehype-parse@9.0.0: + dependencies: + '@types/hast': 3.0.4 + hast-util-from-html: 2.0.1 + unified: 11.0.5 + + rehype-pretty-code@0.13.2(shiki@1.2.1): + dependencies: + '@types/hast': 3.0.4 + hast-util-to-string: 3.0.1 + parse-numeric-range: 1.3.0 + rehype-parse: 9.0.0 + shiki: 1.2.1 + unified: 11.0.5 + unist-util-visit: 5.0.0 + + rehype-raw@7.0.0: + dependencies: + '@types/hast': 3.0.4 + hast-util-raw: 9.0.2 + vfile: 6.0.1 + + remark-frontmatter@5.0.0: + dependencies: + '@types/mdast': 4.0.3 + mdast-util-frontmatter: 2.0.1 + micromark-extension-frontmatter: 2.0.0 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color + + remark-gfm@4.0.0: + dependencies: + '@types/mdast': 4.0.3 + mdast-util-gfm: 3.0.0 + micromark-extension-gfm: 3.0.0 + remark-parse: 11.0.0 + remark-stringify: 11.0.0 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color + + remark-lint-first-heading-level@3.1.2: + dependencies: + '@types/mdast': 3.0.15 + unified: 10.1.2 + unified-lint-rule: 2.1.2 + unist-util-generated: 2.0.1 + unist-util-visit: 4.1.2 + + remark-lint-heading-increment@3.1.2: + dependencies: + '@types/mdast': 3.0.15 + unified: 10.1.2 + unified-lint-rule: 2.1.2 + unist-util-generated: 2.0.1 + unist-util-visit: 4.1.2 + + remark-math@6.0.0: + dependencies: + '@types/mdast': 4.0.3 + mdast-util-math: 3.0.0 + micromark-extension-math: 3.0.0 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color + + remark-mdx@3.0.1: + dependencies: + mdast-util-mdx: 3.0.0 + micromark-extension-mdxjs: 3.0.0 + transitivePeerDependencies: + - supports-color + + remark-parse@11.0.0: + dependencies: + '@types/mdast': 4.0.3 + mdast-util-from-markdown: 2.0.0 + micromark-util-types: 2.0.0 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color + + remark-reading-time@2.0.1: + dependencies: + estree-util-is-identifier-name: 2.1.0 + estree-util-value-to-estree: 1.3.0 + reading-time: 1.5.0 + unist-util-visit: 3.1.0 + + remark-rehype@11.1.0: + dependencies: + '@types/hast': 3.0.4 + '@types/mdast': 4.0.3 + mdast-util-to-hast: 13.1.0 + unified: 11.0.5 + vfile: 6.0.1 + + remark-smartypants@3.0.2: + dependencies: + retext: 9.0.0 + retext-smartypants: 6.1.0 + unified: 11.0.5 + unist-util-visit: 5.0.0 + + remark-stringify@11.0.0: + dependencies: + '@types/mdast': 4.0.3 + mdast-util-to-markdown: 2.1.0 + unified: 11.0.5 + + remove-trailing-separator@1.1.0: {} + + resolve-from@4.0.0: {} + + resolve-from@5.0.0: {} + + resolve-pkg-maps@1.0.0: {} + + resolve@1.22.9: + dependencies: + is-core-module: 2.16.0 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + retext-latin@4.0.0: + dependencies: + '@types/nlcst': 2.0.3 + parse-latin: 7.0.0 + unified: 11.0.5 + + retext-smartypants@6.1.0: + dependencies: + '@types/nlcst': 2.0.3 + nlcst-to-string: 4.0.0 + unist-util-visit: 5.0.0 + + retext-stringify@4.0.0: + dependencies: + '@types/nlcst': 2.0.3 + nlcst-to-string: 4.0.0 + unified: 11.0.5 + + retext@9.0.0: + dependencies: + '@types/nlcst': 2.0.3 + retext-latin: 4.0.0 + retext-stringify: 4.0.0 + unified: 11.0.5 + + reusify@1.0.4: {} + + rfdc@1.4.1: {} + + rimraf@3.0.2: + dependencies: + glob: 7.2.3 + + robust-predicates@3.0.2: {} + + rss@1.2.2: + dependencies: + mime-types: 2.1.13 + xml: 1.0.1 + + run-parallel@1.2.0: + dependencies: + queue-microtask: 1.2.3 + + rw@1.3.3: {} + + sade@1.8.1: + dependencies: + mri: 1.2.0 + + safe-buffer@5.2.1: {} + + safer-buffer@2.1.2: {} + + sax@1.4.1: + optional: true + + scheduler@0.23.2: + dependencies: + loose-envify: 1.4.0 + + scroll-into-view-if-needed@3.1.0: + dependencies: + compute-scroll-into-view: 3.1.0 + + section-matter@1.0.0: + dependencies: + extend-shallow: 2.0.1 + kind-of: 6.0.3 + + semver@5.7.2: + optional: true + + semver@6.3.1: {} + + semver@7.6.0: + dependencies: + lru-cache: 6.0.0 + + semver@7.6.3: {} + + serialize-query-params@2.0.2: {} + + server-only@0.0.1: {} + + set-getter@0.1.1: + dependencies: + to-object-path: 0.3.0 + + shallow-clone@3.0.1: + dependencies: + kind-of: 6.0.3 + + sharp@0.33.5: + dependencies: + color: 4.2.3 + detect-libc: 2.0.3 + semver: 7.6.3 + optionalDependencies: + '@img/sharp-darwin-arm64': 0.33.5 + '@img/sharp-darwin-x64': 0.33.5 + '@img/sharp-libvips-darwin-arm64': 1.0.4 + '@img/sharp-libvips-darwin-x64': 1.0.4 + '@img/sharp-libvips-linux-arm': 1.0.5 + '@img/sharp-libvips-linux-arm64': 1.0.4 + '@img/sharp-libvips-linux-s390x': 1.0.4 + '@img/sharp-libvips-linux-x64': 1.0.4 + '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 + '@img/sharp-libvips-linuxmusl-x64': 1.0.4 + '@img/sharp-linux-arm': 0.33.5 + '@img/sharp-linux-arm64': 0.33.5 + '@img/sharp-linux-s390x': 0.33.5 + '@img/sharp-linux-x64': 0.33.5 + '@img/sharp-linuxmusl-arm64': 0.33.5 + '@img/sharp-linuxmusl-x64': 0.33.5 + '@img/sharp-wasm32': 0.33.5 + '@img/sharp-win32-ia32': 0.33.5 + '@img/sharp-win32-x64': 0.33.5 + + shebang-command@1.2.0: + dependencies: + shebang-regex: 1.0.0 + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@1.0.0: {} + + shebang-regex@3.0.0: {} + + shiki@1.2.1: + dependencies: + '@shikijs/core': 1.2.1 + + signal-exit@3.0.7: {} + + signal-exit@4.1.0: {} + + simple-swizzle@0.2.2: + dependencies: + is-arrayish: 0.3.2 + + slash@3.0.0: {} + + slash@5.1.0: {} + + snake-case@3.0.4: + dependencies: + dot-case: 3.0.4 + tslib: 2.8.1 + + source-map-js@1.2.1: {} + + source-map@0.6.1: + optional: true + + source-map@0.7.4: {} + + space-separated-tokens@2.0.2: {} + + speech-rule-engine@4.0.7: + dependencies: + commander: 9.2.0 + wicked-good-xpath: 1.3.0 + xmldom-sre: 0.1.31 + + sprintf-js@1.0.3: {} + + streamsearch@1.1.0: {} + + string-collapse-leading-whitespace@7.0.7: {} + + string-env-interpolation@1.0.1: {} + + string-left-right@6.0.17: + dependencies: + codsen-utils: 1.6.4 + rfdc: 1.4.1 + + string-similarity@4.0.4: {} + + string-strip-html@13.4.8: + dependencies: + '@types/lodash-es': 4.17.12 + codsen-utils: 1.6.4 + html-entities: 2.5.2 + lodash-es: 4.17.21 + ranges-apply: 7.0.16 + ranges-push: 7.0.15 + string-left-right: 6.0.17 + + string-trim-spaces-only@5.0.10: {} + + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + string-width@5.1.2: + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.0 + + string-width@6.1.0: + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 10.4.0 + strip-ansi: 7.1.0 + + string_decoder@1.3.0: + dependencies: + safe-buffer: 5.2.1 + + stringify-entities@4.0.3: + dependencies: + character-entities-html4: 2.1.0 + character-entities-legacy: 3.0.0 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + strip-ansi@7.1.0: + dependencies: + ansi-regex: 6.1.0 + + strip-bom-string@1.0.0: {} + + strip-eof@1.0.0: {} + + strip-json-comments@3.1.1: {} + + style-mod@4.1.2: {} + + style-to-object@0.4.4: + dependencies: + inline-style-parser: 0.1.1 + + style-to-object@1.0.6: + dependencies: + inline-style-parser: 0.2.3 + + styled-jsx@5.1.1(@babel/core@7.26.0)(react@18.3.1): + dependencies: + client-only: 0.0.1 + react: 18.3.1 + optionalDependencies: + '@babel/core': 7.26.0 + + stylis@4.3.1: {} + + sucrase@3.35.0: + dependencies: + '@jridgewell/gen-mapping': 0.3.8 + commander: 4.1.1 + glob: 10.4.5 + lines-and-columns: 1.2.4 + mz: 2.7.0 + pirates: 4.0.6 + ts-interface-checker: 0.1.13 + + supports-color@4.5.0: + dependencies: + has-flag: 2.0.0 + + supports-color@5.5.0: + dependencies: + has-flag: 3.0.0 + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + supports-color@9.4.0: {} + + supports-preserve-symlinks-flag@1.0.0: {} + + svg-parser@2.0.4: {} + + svgo@3.3.2: + dependencies: + '@trysound/sax': 0.2.0 + commander: 7.2.0 + css-select: 5.1.0 + css-tree: 2.3.1 + css-what: 6.1.0 + csso: 5.0.5 + picocolors: 1.1.1 + + synckit@0.9.0: + dependencies: + '@pkgr/core': 0.1.1 + tslib: 2.8.1 + + tailwindcss@3.4.17: + dependencies: + '@alloc/quick-lru': 5.2.0 + arg: 5.0.2 + chokidar: 3.6.0 + didyoumean: 1.2.2 + dlv: 1.1.3 + fast-glob: 3.3.3 + glob-parent: 6.0.2 + is-glob: 4.0.3 + jiti: 1.21.7 + lilconfig: 3.1.3 + micromatch: 4.0.8 + normalize-path: 3.0.0 + object-hash: 3.0.0 + picocolors: 1.1.1 + postcss: 8.4.49 + postcss-import: 15.1.0(postcss@8.4.49) + postcss-js: 4.0.1(postcss@8.4.49) + postcss-load-config: 4.0.2(postcss@8.4.49) + postcss-nested: 6.2.0(postcss@8.4.49) + postcss-selector-parser: 6.1.2 + resolve: 1.22.9 + sucrase: 3.35.0 + transitivePeerDependencies: + - ts-node + + text-table@0.2.0: {} + + thenify-all@1.6.0: + dependencies: + thenify: 3.3.1 + + thenify@3.3.1: + dependencies: + any-promise: 1.3.0 + + timeago.js@4.0.2: {} + + tiny-invariant@1.3.3: {} + + title@3.5.3: + dependencies: + arg: 1.0.0 + chalk: 2.3.0 + clipboardy: 1.2.2 + titleize: 1.0.0 + + titleize@1.0.0: {} + + to-object-path@0.3.0: + dependencies: + kind-of: 3.2.2 + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + tr46@0.0.3: {} + + trim-leading-lines@0.1.1: + dependencies: + is-whitespace: 0.3.0 + + trim-lines@3.0.1: {} + + trough@2.2.0: {} + + ts-api-utils@1.3.0(typescript@5.7.2): + dependencies: + typescript: 5.7.2 + + ts-dedent@2.2.0: {} + + ts-interface-checker@0.1.13: {} + + tslib@2.6.2: {} + + tslib@2.8.1: {} + + tsx@4.19.2: + dependencies: + esbuild: 0.23.1 + get-tsconfig: 4.8.1 + optionalDependencies: + fsevents: 2.3.3 + + twoslash-protocol@0.2.5: {} + + twoslash@0.2.5(typescript@5.7.2): + dependencies: + '@typescript/vfs': 1.5.0 + twoslash-protocol: 0.2.5 + typescript: 5.7.2 + transitivePeerDependencies: + - supports-color + + type-check@0.4.0: + dependencies: + prelude-ls: 1.2.1 + + type-fest@0.20.2: {} + + type-fest@3.13.1: {} + + typedarray@0.0.6: {} + + typescript@5.7.2: {} + + undici-types@6.19.8: {} + + undici-types@6.20.0: {} + + unicode-canonical-property-names-ecmascript@2.0.1: {} + + unicode-match-property-ecmascript@2.0.0: + dependencies: + unicode-canonical-property-names-ecmascript: 2.0.1 + unicode-property-aliases-ecmascript: 2.1.0 + + unicode-match-property-value-ecmascript@2.2.0: {} + + unicode-property-aliases-ecmascript@2.1.0: {} + + unified-engine@11.2.0: + dependencies: + '@types/concat-stream': 2.0.3 + '@types/debug': 4.1.12 + '@types/is-empty': 1.2.3 + '@types/node': 20.17.11 + '@types/unist': 3.0.2 + '@ungap/structured-clone': 1.2.0 + concat-stream: 2.0.0 + debug: 4.3.4 + glob: 10.3.10 + ignore: 5.3.1 + is-empty: 1.2.0 + is-plain-obj: 4.1.0 + load-plugin: 6.0.2 + parse-json: 7.1.1 + trough: 2.2.0 + unist-util-inspect: 8.0.0 + vfile: 6.0.1 + vfile-message: 4.0.2 + vfile-reporter: 8.1.0 + vfile-statistics: 3.0.0 + yaml: 2.6.1 + transitivePeerDependencies: + - supports-color + + unified-lint-rule@2.1.2: + dependencies: + '@types/unist': 2.0.10 + trough: 2.2.0 + unified: 10.1.2 + vfile: 5.3.7 + + unified@10.1.2: + dependencies: + '@types/unist': 2.0.10 + bail: 2.0.2 + extend: 3.0.2 + is-buffer: 2.0.5 + is-plain-obj: 4.1.0 + trough: 2.2.0 + vfile: 5.3.7 + + unified@11.0.5: + dependencies: + '@types/unist': 3.0.2 + bail: 2.0.2 + devlop: 1.1.0 + extend: 3.0.2 + is-plain-obj: 4.1.0 + trough: 2.2.0 + vfile: 6.0.1 + + unist-util-find-after@5.0.0: + dependencies: + '@types/unist': 3.0.2 + unist-util-is: 6.0.0 + + unist-util-generated@2.0.1: {} + + unist-util-inspect@8.0.0: + dependencies: + '@types/unist': 3.0.2 + + unist-util-is@5.2.1: + dependencies: + '@types/unist': 2.0.10 + + unist-util-is@6.0.0: + dependencies: + '@types/unist': 3.0.2 + + unist-util-modify-children@4.0.0: + dependencies: + '@types/unist': 3.0.2 + array-iterate: 2.0.1 + + unist-util-position-from-estree@2.0.0: + dependencies: + '@types/unist': 3.0.2 + + unist-util-position@5.0.0: + dependencies: + '@types/unist': 3.0.2 + + unist-util-remove-position@5.0.0: + dependencies: + '@types/unist': 3.0.2 + unist-util-visit: 5.0.0 + + unist-util-remove@4.0.0: + dependencies: + '@types/unist': 3.0.2 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 + + unist-util-stringify-position@2.0.3: + dependencies: + '@types/unist': 2.0.10 + + unist-util-stringify-position@3.0.3: + dependencies: + '@types/unist': 2.0.10 + + unist-util-stringify-position@4.0.0: + dependencies: + '@types/unist': 3.0.2 + + unist-util-visit-children@3.0.0: + dependencies: + '@types/unist': 3.0.2 + + unist-util-visit-parents@4.1.1: + dependencies: + '@types/unist': 2.0.10 + unist-util-is: 5.2.1 + + unist-util-visit-parents@5.1.3: + dependencies: + '@types/unist': 2.0.10 + unist-util-is: 5.2.1 + + unist-util-visit-parents@6.0.1: + dependencies: + '@types/unist': 3.0.2 + unist-util-is: 6.0.0 + + unist-util-visit@3.1.0: + dependencies: + '@types/unist': 2.0.10 + unist-util-is: 5.2.1 + unist-util-visit-parents: 4.1.1 + + unist-util-visit@4.1.2: + dependencies: + '@types/unist': 2.0.10 + unist-util-is: 5.2.1 + unist-util-visit-parents: 5.1.3 + + unist-util-visit@5.0.0: + dependencies: + '@types/unist': 3.0.2 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 + + unixify@1.0.0: + dependencies: + normalize-path: 2.1.1 + + update-browserslist-db@1.1.1(browserslist@4.24.3): + dependencies: + browserslist: 4.24.3 + escalade: 3.2.0 + picocolors: 1.1.1 + + uri-js@4.4.1: + dependencies: + punycode: 2.3.1 + + urlpattern-polyfill@10.0.0: {} + + use-query-params@2.2.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + dependencies: + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + serialize-query-params: 2.0.2 + + util-deprecate@1.0.2: {} + + uuid@9.0.1: {} + + uvu@0.5.6: + dependencies: + dequal: 2.0.3 + diff: 5.2.0 + kleur: 4.1.5 + sade: 1.8.1 + + value-or-promise@1.0.12: {} + + vfile-location@5.0.2: + dependencies: + '@types/unist': 3.0.2 + vfile: 6.0.1 + + vfile-message@3.1.4: + dependencies: + '@types/unist': 2.0.10 + unist-util-stringify-position: 3.0.3 + + vfile-message@4.0.2: + dependencies: + '@types/unist': 3.0.2 + unist-util-stringify-position: 4.0.0 + + vfile-reporter@8.1.0: + dependencies: + '@types/supports-color': 8.1.3 + string-width: 6.1.0 + supports-color: 9.4.0 + unist-util-stringify-position: 4.0.0 + vfile: 6.0.1 + vfile-message: 4.0.2 + vfile-sort: 4.0.0 + vfile-statistics: 3.0.0 + + vfile-sort@4.0.0: + dependencies: + vfile: 6.0.1 + vfile-message: 4.0.2 + + vfile-statistics@3.0.0: + dependencies: + vfile: 6.0.1 + vfile-message: 4.0.2 + + vfile@5.3.7: + dependencies: + '@types/unist': 2.0.10 + is-buffer: 2.0.5 + unist-util-stringify-position: 3.0.3 + vfile-message: 3.1.4 + + vfile@6.0.1: + dependencies: + '@types/unist': 3.0.2 + unist-util-stringify-position: 4.0.0 + vfile-message: 4.0.2 + + vscode-languageserver-types@3.17.5: {} + + w3c-keyname@2.2.8: {} + + walk-up-path@3.0.1: {} + + warning@4.0.3: + dependencies: + loose-envify: 1.4.0 + + web-namespaces@2.0.1: {} + + web-worker@1.3.0: {} + + webidl-conversions@3.0.1: {} + + whatwg-url@5.0.0: + dependencies: + tr46: 0.0.3 + webidl-conversions: 3.0.1 + + which@1.3.1: + dependencies: + isexe: 2.0.0 + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + wicked-good-xpath@1.3.0: {} + + wrap-ansi@7.0.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrap-ansi@8.1.0: + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.1.0 + + wrappy@1.0.2: {} + + ws@8.18.0: {} + + xml@1.0.1: {} + + xmldom-sre@0.1.31: {} + + yallist@2.1.2: {} + + yallist@3.1.1: {} + + yallist@4.0.0: {} + + yaml@2.4.1: {} + + yaml@2.6.1: {} + + yocto-queue@0.1.0: {} + + yocto-queue@1.0.0: {} + + yocto-queue@1.1.1: {} + + zod-validation-error@3.3.0(zod@3.22.4): + dependencies: + zod: 3.22.4 + + zod@3.22.4: {} + + zwitch@2.0.4: {} diff --git a/postcss.config.cjs b/postcss.config.cjs new file mode 100644 index 0000000000..1dbd9b69d3 --- /dev/null +++ b/postcss.config.cjs @@ -0,0 +1,9 @@ +/* eslint-env node */ + +module.exports = { + plugins: { + "tailwindcss/nesting": {}, + tailwindcss: {}, + autoprefixer: {}, + }, +} diff --git a/public/.well-known/atproto-did b/public/.well-known/atproto-did new file mode 100644 index 0000000000..acf7f09a00 --- /dev/null +++ b/public/.well-known/atproto-did @@ -0,0 +1 @@ +did:plc:a65ga6opvhd2h453vwscrvil diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000000..7d8fbdce54 Binary files /dev/null and b/public/favicon.ico differ diff --git a/public/files/GraphQL_Foundation-Participation_Agreement-Preview.pdf b/public/files/GraphQL_Foundation-Participation_Agreement-Preview.pdf new file mode 100644 index 0000000000..5977e7cac7 Binary files /dev/null and b/public/files/GraphQL_Foundation-Participation_Agreement-Preview.pdf differ diff --git a/public/files/LF_Membership-Preview.pdf b/public/files/LF_Membership-Preview.pdf new file mode 100644 index 0000000000..f8526705c2 Binary files /dev/null and b/public/files/LF_Membership-Preview.pdf differ diff --git a/public/files/foundation-participation-agreement-revised-jan-2022.pdf b/public/files/foundation-participation-agreement-revised-jan-2022.pdf new file mode 100644 index 0000000000..b714dd119e Binary files /dev/null and b/public/files/foundation-participation-agreement-revised-jan-2022.pdf differ diff --git a/public/images/next-image-export-optimizer-hashes.json b/public/images/next-image-export-optimizer-hashes.json new file mode 100644 index 0000000000..d4d8015a93 --- /dev/null +++ b/public/images/next-image-export-optimizer-hashes.json @@ -0,0 +1,157 @@ +{ + "/1.b9d923f4.jpg": "keiubC5QVfPeVlBLL-obe2+O-Br5pxC1J41FhkUkVLU=", + "/10_53228256862_o.bede884c.jpg": "IY4m-OjhIMpy-8gPjIMeYEZJCyuEgayd1gKBaWX97BM=", + "/11_53229130936_o.11efec5f.jpg": "diSe5JVfbzlK9K0w5GaVx67dAjah9rKBP28CM7RvPdI=", + "/12_53229130901_o.0594c3d9.jpg": "tBAU5LhNzFBWjvCS+R381Oxv1aLJ4p2lI5Yuyk60Oag=", + "/13_53229431753_o.312ed4c6.jpg": "UWubZOcIMlv52LYSBZc68bN6cJ21V-bIoONu93fbMxc=", + "/14_53228256817_o.e967eba8.jpg": "I5ISHXYPMPhVvXcapBBJSjiBT-kpugnxPaVb-FLA+Ko=", + "/151_53229506084_o.2e2d8d93.jpg": "HxYTSOHfoDBVCIY2FaaxUcOV6+geraqYKjTq19z0Cgk=", + "/15_53228256787_o.1d94ba72.jpg": "7v+c+tiicq00iZL5pEBtJPvI-uQRSqsAapSIoavX56E=", + "/16_53229629695_o.cead94d8.jpg": "akaD3rXkqvZwBoDZSzPwKNBC3zMRkpMwHzAABA3UrOE=", + "/17_53229431688_o.4c21d256.jpg": "yrv5EILkRoNtrU9XsUL0cFZ9Uw1xLhMh9MB4KSOpRIA=", + "/18_53229629645_o.379c2659.jpg": "ttOW81TbKCtikFu1WUJLgoS2TGUeFXjt6n8DVHxrwHc=", + "/1_53229506279_o.f0bca9c1.jpg": "yHvLYpCAhVTmTg39yDNokfYqQ8S1ZZi86xI26NYQbbU=", + "/2.99d027a1.jpg": "uPiLK06UD56JNe68gW0QEyLoLf446VRNy7Ia0FuQ7HI=", + "/2_53229431883_o.cddf7051.jpg": "Wr8okGNc7WieV3dpspNi5MMv3BXqySV1fDAIJY842gI=", + "/3.2ed01ad0.jpg": "Ftp2218Nf9X1YQA342243Q-iklHDBJ8IdA59-iIDmD4=", + "/31_53228256917_o.f420933f.jpg": "v33-soBSAXKQGEsKU+XbNNaQqoPwl7kybxfZTsB7sco=", + "/3_53229131021_o.dfd0081f.jpg": "goLNvvOrHmTqYk4K9ZeEGX6KZeXBN6zpSIS3C-GwR+0=", + "/4.f41621f8.jpg": "liG36J+08jIQzmQIrMcMsQ5BzjKhxLX5HGclFdDoOIs=", + "/5.5e7fbfc8.jpg": "wjKxQX2w8yb2zbNvWf+-4kkqC3FXw7M6CuUvgGuu0pw=", + "/5_53228256882_o.2173b47b.jpg": "vodeR1lNx7CWO6e3j7MsD0MuvPBv8D1Mey+iRA36crU=", + "/6.7cec175d.jpg": "+AGRr5xsz14uZrdLFOZ3nTT7vvhBdg-PgC4Kty1toSs=", + "/7_53229506199_o.9bbeb0b1.jpg": "JunA4ywMiDM4xmQpFUo6YW8Q03gYrB-6NNj6zfmgk4A=", + "/8.eafdc50d.jpg": "Xpw7kJ8jCbKlDu-wLxBevA52CZfp9mlbfQ43ldHeZmw=", + "/8_53229629805_o.290e35be.jpg": "NfsXTg4KKkt1csv79IiZ3FyU3-CW1WTkp4883NgZam4=", + "/9.4a558c85.jpg": "-iUSFWjVs4vunEea7FxDeNMOOvUs4VOEpScXJAwi0DA=", + "/annual-report-1.5ebe2b34.png": "HmbFFbaUL79rvnCKQ-2oRSLETM2FFh5v5dZxwWquuVM=", + "/audience.f60c1c99.jpg": "pqx3E31xAO87mNEBlZKqCTX+LRiPlOuQThWQZf08A4A=", + "/banner.10d4d66b.jpg": "9UJqBQ9RQu2sxDdJ5uaQr3crx2ZXrlOKMAmY82R8ZBA=", + "/business_layer.68bf746f.png": "DwCtOs-q1Y-DgBxEj6NqyVaOAiq5zCB8xPF-rZ5Qe1U=", + "/coursera.968d6897.png": "FmQxkHPToU9hZQFvKVSRa6+-5xppLy6lJJhqCEIiCzk=", + "/dataloader-query.9c90539e.png": "2xPPUoCjbgMKsH3EPLBAImfsNb-MYPb-Qf6gXg8QCn4=", + "/facebook.0e9e1517.png": "GF7faknjzTM3GcnR7UBMPO52mQxAsVKt9y-XhCkbomI=", + "/github.0821dbe0.png": "lt2XclE2g9CgsYuX4rz1sLs0oP94o+Etx0HbeiJje6Y=", + "/graphql-cover-1_53228256677_o.f1214f00.jpg": "OVKx+JK+SA2wdzmUs3VN+eHR7Fk2CXhTLYdNIyNbehg=", + "/graphql-cover-2_53228256672_o.80b12e74.jpg": "eRqA89yK+I9hdGfjSlv7sIpExOhByCXKn7xY86Lt2yA=", + "/graphql-cover-3_53228256612_o.a5360272.jpg": "MDj38ijAhAyJTMvi0vNE7JVj+uXRXNLUhdSXtZvEMT4=", + "/graphql-org-v0.8990439d.gif": "UuHxSMb-yt4-+HxYB-VRMfNYIa1UaNWQeGwA3Nd+GfI=", + "/graphql-org-v1-learn-page.44ccd7df.png": "GsV1iA47a64oNe+IgjoFKEtcbBKTCqtm1+ZkoARjt+I=", + "/graphql-org-v1.599caf32.gif": "Tp9NHPBhI8WQy7qOonZH5OqlRqtNlAIKnUMi0KefaOE=", + "/graphql-org-v2-learn-page-dark.0eae8efc.png": "cQ+Nj-zFKjn17sZa-W4-ooA-7XYEeqtNRSam4XL2S0c=", + "/graphql-org-v2-learn-page-light.009ff55d.png": "5r1ZoMqy1LQsDD8UvQM1nJKHgGwWa8gnD0ydO+QKZlk=", + "/graphqlconf-202310_53229130641_o.0a9f57a8.jpg": "3JBA7zAJe2Jn7AjB0d90j9sZtuipi1MSlKVKvH5gPQs=", + "/graphqlconf-202311_53229130636_o.8575f45f.jpg": "T8ODamSOqwJPcgfDqiOfpGMP-QFzKVh+KK96I2gttrI=", + "/graphqlconf-202312_53229431468_o.ae2d4d8c.jpg": "LNLPj3ut3nP++OsunMSjs9VMMSFJhG-m42Y5KKiO6RE=", + "/graphqlconf-202313_53229431453_o.ad027cad.jpg": "XLZDonwOK7vR76YQpTDkxe4vvMtE1gn9F14WppGLCGk=", + "/graphqlconf-202314_53228256402_o.2bf2cdae.jpg": "K5EfDBUzt7oCYjqw40Q6Tqa0o9Nbrw8S4uX31SnZgDs=", + "/graphqlconf-202315_53229431418_o.9469c593.jpg": "BCibYMf813sgZe4BF0i7WUzi42vlVU3-h895NNKvJsA=", + "/graphqlconf-202316_53229130551_o.c6b56b39.jpg": "TRnhQmhjeOV0tRMfjofuukBFjZztdpLarhf8NrOGdXI=", + "/graphqlconf-202317_53229431408_o.58596b8b.jpg": "Xg54Bt7hkdzQK7Zh09BqTaAmSuS4tWFw1q9oKlYcIDY=", + "/graphqlconf-202318_53229431413_o.04a6f9b5.jpg": "WpC4jnQ6aW34GAFCQo9QCzuu1Si440lfTYFIQmoAPqw=", + "/graphqlconf-202319_53229505639_o.20199331.jpg": "6yRCn3yb9h2knPOIR+4fp2EmcauJBEFrregEuX4L3EM=", + "/graphqlconf-20231_53229505964_o.9c56a9e4.jpg": "hSJC35GSG-cRZjDiY6CZTVlrqAM603nzbfgR-IxxUik=", + "/graphqlconf-202321_53229504679_o.1718fe3c.jpg": "qgqvh64e3ZgcEGZZqKFIvnsztQmE+34W1wMIj70I6ec=", + "/graphqlconf-202322_53229431348_o.3468cf44.jpg": "4w5eTi3e2LFNikzYp1mNmdWG1v0KNx5VxxLurqQkfT0=", + "/graphqlconf-202323_53229431353_o.23dba57f.jpg": "SmfqwdcPlp9gO3pJH0KfAR1pq8lvMvbqN4hxURddIWs=", + "/graphqlconf-202324_53228255322_o.45bb89d7.jpg": "5CX4AJk4l6AvKsVBbF9seS3uFL+kw8jmVnyjw-Hew58=", + "/graphqlconf-202325_53229628480_o.99d027a1.jpg": "MLV255jm89i43Qi86Hv1bIL7L6wbPPztg24Zzqrkg5o=", + "/graphqlconf-202326_53229504664_o.001fe4fe.jpg": "TVVIOHGx05AMhLDZpasbL80lpcQZgkl0ljKet1DgJwc=", + "/graphqlconf-202327_53229430403_o.b50ec61c.jpg": "K6A-HENwlo-uZsbc4a61SCkD9I7dZjhJC8TtDYNpqPk=", + "/graphqlconf-202328_53229129426_o.4935b165.jpg": "U8L+qtBk6f8btDR8SzYRfiK9FpEl1v+uuSpMB0yhzEs=", + "/graphqlconf-202329_53228255262_o.b7737353.jpg": "SOyZagUbS8kEL-RVhswtkteaSGG5kc8WjeQc1CUIZSw=", + "/graphqlconf-20232_53229629585_o.a005f452.jpg": "CzVWJq1h7Qiblr1ySqlytfMNrZ-GCv3JjQF+egDwWH4=", + "/graphqlconf-202330_53229430393_o.7d716e9e.jpg": "A4Dmyt12lbQTAtn8oGr9A1AA0k8xEZr5keU4JzSuQKA=", + "/graphqlconf-202331_53229430378_o.16d725b1.jpg": "Lq5A2LG7JYWSiXJXvWNMEfS0fcjoBacoZIM2V-s+1F8=", + "/graphqlconf-202332_53228255222_o.236f0447.jpg": "+k03TIGuNVrGVTC8-ye-R+MUs6Z4oeSLxu6vXY7zV14=", + "/graphqlconf-202333_53229504589_o.6dd5899b.jpg": "m+TwTxfkrwkscMSkLRxXFfj6ogsWaIqq8qOUj1LsKMo=", + "/graphqlconf-202334_53229505599_o.a404f647.jpg": "NKeU2rXlJ0MZIq0ysTZ33lpvmveadIOxP75-VzGRAeQ=", + "/graphqlconf-202335_53228256247_o.51c1c212.jpg": "OSa0fZ3qa+0v72yY0ab-V5bjDWavNOc8-Lg69HRepfM=", + "/graphqlconf-202336_53229431263_o.bce162ef.jpg": "20Jbr-zKtdHogrPXVH4DXUKLmvd-0IYsiHiGbB4+fs8=", + "/graphqlconf-202337_53229431268_o.db2f5296.jpg": "7Ff-IX+9XcEsVCLtyYA4cJ2SdenEUphfKqnnrBXMGhs=", + "/graphqlconf-202338_53228256132_o.f68b24c7.jpg": "csTB6zb6EWGfWHVH0IZQr6GkhfT-uF6BOGn3vXr1Iuo=", + "/graphqlconf-202339_53228256117_o.c86b66da.jpg": "dHCXGBKnYnj2WTec15R3zFMP13V9LlxI-RYS6zNe0RE=", + "/graphqlconf-20233_53229431633_o.17086c3b.jpg": "jZPBdBDVGMkbg31GWl75TPLfwVJ6oBHI6YLIAaOKkCg=", + "/graphqlconf-202340_53229431183_o.31494071.jpg": "jUOvmxfwZUDBL71KPg60bWZgGK-eCQ98gIv7qyvOj1A=", + "/graphqlconf-202341_53229629225_o.c86a20d5.jpg": "jjglcO+7Gi9O3otc6bOk5lht6ZKtWZVvlTI3s+N1m3M=", + "/graphqlconf-202342_53229130301_o.5d03e216.jpg": "ioR+6YR52aqJB8i85tVWr58q63a3HKpHTGF8oIU5Axw=", + "/graphqlconf-202343_53229505484_o.063091c7.jpg": "BO2xeM6KTTCYnQMUQMAMPZ6EOu4RTh8136sXW-CGXUw=", + "/graphqlconf-202344_53228256077_o.ac84a9e0.jpg": "L8CYvj-eXAuz5VSAfljuRPtXFbT9bRWLIuAlR84Ne8I=", + "/graphqlconf-202345_53229504499_o.041f7b08.jpg": "oSMqpTY2l5Q5xTsF-r-iwnjKFv8h3nWgKyW3c9E07rw=", + "/graphqlconf-202346_53229629115_o.f026376e.jpg": "ub539BcLc9Q-TvDqH9E5ttiO2rqe8pxwsVZzDQn+0sE=", + "/graphqlconf-202347_53229129301_o.ce3f873f.jpg": "KK-BZKTZ3dVbDbqgMkMkF6cgZmnlCxDbYs7LX1B9-nk=", + "/graphqlconf-202348_53229130226_o.2ac71225.jpg": "tHC+JMx-WD0Tu+3itpXaW32-q5ML3v-9VdHWYAnq1oU=", + "/graphqlconf-202349_53228256032_o.55fa111d.jpg": "lgKh9Gs-fg67wah1VMSe-g0wqlrGOnHz924jDhosnG0=", + "/graphqlconf-20234_53229629525_o.7cec175d.jpg": "fsjZxAIUqdK5tPQwptn7y3oPsNkGLYULqAeMaqDyR70=", + "/graphqlconf-202350_53229130146_o.ed5a0148.jpg": "A3jAZ157qJYjK8JimKshuTEVLz0J4AMA3V5cCa4eiuU=", + "/graphqlconf-202351_53229130151_o.3ce915d2.jpg": "hOIhlTZ+fl1ZRrQHowunyCTYhXlE4YeLXIiCakBgbYs=", + "/graphqlconf-202352_53229629035_o.05b7b814.jpg": "BETFfZqBeK+yn6Ojs92pz7rIC7Bcv0JbH8FTl9mwhWI=", + "/graphqlconf-202353_53228255937_o.63b58806.jpg": "FTmVBw35smbEbOEsB0QJmNyvmQYSV9UWV+ZdX6ANAMA=", + "/graphqlconf-202354_53229430998_o.eb9cfdd1.jpg": "gEw1Hh9Ox3fz1k5wa3PjMjfeLaShQ9ehFtSegXjRBsc=", + "/graphqlconf-202355_53228255882_o.f41621f8.jpg": "S49zUzF4krdajmOCOo3fYGShYYH8b5r6sBAuIs1QZsM=", + "/graphqlconf-202356_53229505199_o.a10d0d9c.jpg": "EVA8r+ki7TJzcUVsrZFsfnQ6P9O1wHedEP-E6+l4Xj0=", + "/graphqlconf-202357_53228255742_o.eba44732.jpg": "Uc9gZLYeNw8OmN++Q0BnL650u+mh-4au28XKv284pxs=", + "/graphqlconf-202358_53229628875_o.d90a314d.jpg": "VVZ736qeZF7zCUMCJ1yayLIQcIBHHblyeW01HoXlxDQ=", + "/graphqlconf-202359_53229129286_o.a7d60456.jpg": "nOP-nEX0BB2o7d2L2g-U8cr9I26WSZ0QvKHMB7l8vSM=", + "/graphqlconf-20235_53229505904_o.70448c14.jpg": "YOd6dSC0omsDmyDS7rHCOrA1G5MeDmvQRtWKKaOPRuk=", + "/graphqlconf-202360_53229430883_o.c956c861.jpg": "5dafjcrAGDoNVG1A01tfqSz2B0i1c1Jv4gsR8z-bFn8=", + "/graphqlconf-202361_53229628295_o.7d239d57.jpg": "uvm2SxK8SWaVOaA5iS+WkR9jBDbQFmVqpyyMYwj6TSU=", + "/graphqlconf-202362_53229430868_o.d6685132.jpg": "ktqQdqwn8ZMaNV+QF-tiCk3ssfbmuId1RI6KpvBYthM=", + "/graphqlconf-202363_53229505084_o.d0dfd52b.jpg": "d5tL1slRZdKtxsl0-czV3T8+fmPg5zU-+rd-970WSto=", + "/graphqlconf-202364_53229430858_o.0f85bae9.jpg": "WXJ4WsjYdXvjISqXX3OAVuwaaMens4tMbgH+oNR+3yo=", + "/graphqlconf-202365_53229430258_o.79cb0cd6.jpg": "9eZEmdHJPXvjaIbxGgDpkzjieZUqmb+7-UXVkgZsPxE=", + "/graphqlconf-202366_53229628825_o.2ed01ad0.jpg": "1Rl3Mm1yQ1EVHhy28qc6TO0C1PWQht+CHRuN9XBitj4=", + "/graphqlconf-202367_53229430268_o.99d027a1.jpg": "nbljN14MRyuAnUYyaseG+llnw8n6Z2dDilYpjwGFJo0=", + "/graphqlconf-202368_53229430823_o.b9d923f4.jpg": "tuzgDsDCc5CYN6OkoVW1DaNHCuaEvj7gap-ds2YGD1Q=", + "/graphqlconf-202369_53229628795_o.f37fecb1.jpg": "VqOYA+c5DbCm9Z60DeVJ5qLk4lNYe6Q40mtVyBzFTUo=", + "/graphqlconf-20236_53229431543_o.7613bf28.jpg": "6aYMWbMtsuyIQ6O300jlg8owiaOoO3wkpuF9-f1ejL4=", + "/graphqlconf-202370_53228255572_o.d32f275d.jpg": "TB4RRfvR2bSMJHgXHMPYcqc2b9S+LgM+-tC4kngNnMg=", + "/graphqlconf-202371_53229628710_o.b50decfa.jpg": "rP2JvxcXaZEoKtVugK8EZtgqxSFR2z5vZse8z6tlPos=", + "/graphqlconf-202372_53229628695_o.1f2523ca.jpg": "VOeo8FNz9YKmoLs+yB2nreZRosfQtXnuIeUjmU99lKA=", + "/graphqlconf-202373_53229430683_o.afbfd335.jpg": "BCes26J0rsM1kHVXI5cGOtLzyNDI8EGIIuMiKkOTDCc=", + "/graphqlconf-202374_53228255537_o.e77067db.jpg": "yJdkzssSiUbUX4xcLpUhqOSk8rHL7vf49i3yvUyf5Ic=", + "/graphqlconf-202375_53228255527_o.f2d9cb5e.jpg": "iFZmX0uK2EpmyAWcZL+nwV-VejsQ75YE4HjWZ5aInt8=", + "/graphqlconf-202376_53229628665_o.7588ad1e.jpg": "EyJFwVFs3Z2h28oBeKtO44J9NLs6cG7LYACkTuwO90E=", + "/graphqlconf-202377_53229430648_o.e972a067.jpg": "qwyjZyFFhOBkzFwhgfyeturahaGTB8ObS8590H+2PtY=", + "/graphqlconf-202378_53228255107_o.440701ab.jpg": "ArJEB814-odLpTYcso68-P5P5C0ifIrB2y3MAvb724M=", + "/graphqlconf-202379_53228255097_o.049e6aca.jpg": "mXNbt+YVaOA1iRZMek0AhvllUsbr7ai5mVHd14RfeU0=", + "/graphqlconf-20237_53229629480_o.965ea827.jpg": "SYmnfHQtfu1u4dOZZ7ZskNmAiIm3Kibua7ylV5OP69c=", + "/graphqlconf-202380_53229430623_o.6b50a026.jpg": "tlNf4P5Qld4jgqyu7NFyRa+v-D9OaJAiD6rdriR2xmw=", + "/graphqlconf-202381_53228255092_o.6362027c.jpg": "mmtkGxDYZDDJt2LT6ZEh9VBLG2r+L6UGnuSj8erY4Ds=", + "/graphqlconf-202383_53228255462_o.230755c9.jpg": "4O57eNYz0Ghh+KDETwDCAmx4M4YaDswho0zfabUTanA=", + "/graphqlconf-202384_53229129586_o.c94f152f.jpg": "f4Z5HsL4XYnKbfnEZr-C2tJ23+UaPHYnsg1ixNEJTKY=", + "/graphqlconf-202385_53229504819_o.87e52ba9.jpg": "TSAQloW4jmmpXJm4ggTUsTI1cMks9wBI6XW0I60GkEc=", + "/graphqlconf-202386_53229129601_o.2bcfa035.jpg": "euKGFUm7wwFz6cL2gG3tkWqkI0Qf27dMrNcv9HBIA1A=", + "/graphqlconf-202387_53229628600_o.50b80a2c.jpg": "Gc0WkCkjWcqNnKdEMv+ZAy1lQW8Llsc99Ygr3Nkm1Js=", + "/graphqlconf-202388_53229430518_o.322da773.jpg": "Wo4IRc+t6D5pVNENI5HNtebMfm4ST6e3GyftsAySh4E=", + "/graphqlconf-202389_53229129526_o.8e8c981e.jpg": "p8M41uzqzWkbbNfmtQcjrcaFW7FnFRhFmpLdgc+1m-g=", + "/graphqlconf-20238_53228256482_o.c7580736.jpg": "-IU2PYAUUY0R5d6J3sD35KlXKbNGe0Abqn3E-XZsLNQ=", + "/graphqlconf-202390_53229628530_o.347e0dfd.jpg": "WVjLGYygGS3WTRTj-WgX8fSIz5WYHVmusEklFf8OLk8=", + "/graphqlconf-202391_53229504714_o.eceeece4.jpg": "vLBZ3tXHxTMXCNlygVSlAUrn4pRej04aFbu+t8vJe-8=", + "/graphqlconf-202392_53229430473_o.a2f47b33.jpg": "uVRxbX9-CXzp4FyB1ToCpRc6uTwb57G-6FSfiMkeU8w=", + "/graphqlconf-202393_53229129511_o.f8a226ff.jpg": "2UY-mQE0aBJlJNMiFLlch0UtNRXXDAQdhA8t2J8uzns=", + "/graphqlconf-202394_53228255057_o.7db0c51f.jpg": "PNxi4-OUDbB6s+kftRy-fZJXH7yJVR34DkigAUdNg9g=", + "/graphqlconf-202395_53229430163_o.83d6ce30.jpg": "wGPGuLNhdPy1AKSdem7dB2U3hCnLNt0m7A697OKpMLA=", + "/graphqlconf-202396_53229628185_o.e02e8158.jpg": "CwcPIFPl3qMN77xrq3PNo3IDu2xdE5t-XAmqMN7vvrA=", + "/graphqlconf-2023graphqlconf-2023_53228255062_o.29b776c3.jpg": "iXr9Z8xwKZhM1pUZPRRTFEHbvwYlw81k6ZIqW5zh3x4=", + "/hero1.2c973c2e.jpg": "jY1RePeWthuOOa5c59Yl4TQD4J731poNxeaqzKDFmfg=", + "/hero2.fa425ea9.jpg": "siZR-Q3HPEB5l2gU0DAbheWVVUOCsrOuOv-Ch0xCR7M=", + "/idit.feda6f62.jpg": "9oybNQ8aiuV++33v8KDL8ZgIL0H2T5UF3EjnhsksM5g=", + "/intuit.04140a09.png": "m84fUDz2YQxlNNMmbthcNfYr3bWhp23zEPxvP5ruo9Q=", + "/layers-2x.9859cd12.png": "3D8k4Go-oWvQTcmIDFOwHTfm1eagZIqjwar3vFcoZY8=", + "/layers.ef6db872.png": "fbR0XaZWR0olI2fUKeOWruBZ6HxRDSEYGXCzktrW4XA=", + "/lee.dfa51298.png": "rG86vKMradTmaq1FH-F2-zwDzRkcw-qXK18Slp34VPs=", + "/leebyron.4adb0a93.jpg": "poBi-hIdozz-Mn2PIKun7ZpX9q200f7m-5SkUt1XU-0=", + "/marcandre.b8692933.jpg": "mUbreFySTVojHKZTl0VKcMQ9gHdSVCL47mSBnUYITBI=", + "/marker-icon.d577052a.png": "L15ETF3vWj9pjeLgXar+ibZOYNJYXoQal5lJmpTWTbA=", + "/pathological-query.2de43465.png": "Xoi58Mnu6FqfvNp4+gXgt-IyMDdMpdbqPUyNzlH5YJQ=", + "/pinterest.36b58187.png": "TlwGD0W-rRqoDgDND5x+cQrzz09xU+dmW6oP8+qSBug=", + "/playground-transition-banner.2458871d.png": "ffm4o7utOWkmwaWC2KVVHPOz9zsaD6fG2P269pHT8uQ=", + "/rest-api-people.c2b56e20.png": "KDbPJA1rAhVT43LeGLckdesx+bISV+6g0q9fJQNl5Tg=", + "/shopify.2cb330ea.png": "LRiC9+uEG-gHl-XYi4qrSXMAlpFglZLNZj1kBGF-Cag=", + "/speaker.674c5b86.jpg": "ISlnB9At3nuMk70rfRuMAu+k9aEhUNSwp7XgFMx5Bls=", + "/unconf.651492c3.jpg": "mlpvU8glWqqsRn2n3-pgwRI+Jnk3sT7VQjsCL01e30c=", + "/uri.387cb001.jpg": "kSx4huEjQidwIg6bF8UEWLiPACDl0nQ0aqxA2R2LIe0=", + "/whiteboard.60eac8e3.jpg": "NodBqUaO+IanhuPaP9o5jCIe+gSrwyZ9TZ3QUdlWbBg=", + "/workshop.e02e3501.jpg": "D9ON1z6-vKcjxv50gOH+5XS9HTEWUpc4UgIPW5OXHxE=" +} \ No newline at end of file diff --git a/public/img/__og-image/2023/017d9954f1be1c7e2ab2696c2abe6b9b.png b/public/img/__og-image/2023/017d9954f1be1c7e2ab2696c2abe6b9b.png new file mode 100644 index 0000000000..1b96ab2a39 Binary files /dev/null and b/public/img/__og-image/2023/017d9954f1be1c7e2ab2696c2abe6b9b.png differ diff --git a/public/img/__og-image/2023/09bc04c42310bfe14024455bce46d781.png b/public/img/__og-image/2023/09bc04c42310bfe14024455bce46d781.png new file mode 100644 index 0000000000..d719309308 Binary files /dev/null and b/public/img/__og-image/2023/09bc04c42310bfe14024455bce46d781.png differ diff --git a/public/img/__og-image/2023/0b5f6bcbfc77f97f4cdc6cdf4a171f82.png b/public/img/__og-image/2023/0b5f6bcbfc77f97f4cdc6cdf4a171f82.png new file mode 100644 index 0000000000..4ce5363c76 Binary files /dev/null and b/public/img/__og-image/2023/0b5f6bcbfc77f97f4cdc6cdf4a171f82.png differ diff --git a/public/img/__og-image/2023/0bea54e1f79d706f2da4c802f8581ae5.png b/public/img/__og-image/2023/0bea54e1f79d706f2da4c802f8581ae5.png new file mode 100644 index 0000000000..34d3f8be2f Binary files /dev/null and b/public/img/__og-image/2023/0bea54e1f79d706f2da4c802f8581ae5.png differ diff --git a/public/img/__og-image/2023/0f57893e761e683f58c4ace9e766c3bf.png b/public/img/__og-image/2023/0f57893e761e683f58c4ace9e766c3bf.png new file mode 100644 index 0000000000..20d5276f80 Binary files /dev/null and b/public/img/__og-image/2023/0f57893e761e683f58c4ace9e766c3bf.png differ diff --git a/public/img/__og-image/2023/118f99976647d953d6554bac33dbf3bf.png b/public/img/__og-image/2023/118f99976647d953d6554bac33dbf3bf.png new file mode 100644 index 0000000000..8915072bde Binary files /dev/null and b/public/img/__og-image/2023/118f99976647d953d6554bac33dbf3bf.png differ diff --git a/public/img/__og-image/2023/158baff7d8c21cc0c210f805baa3e383.png b/public/img/__og-image/2023/158baff7d8c21cc0c210f805baa3e383.png new file mode 100644 index 0000000000..a6d8df3baf Binary files /dev/null and b/public/img/__og-image/2023/158baff7d8c21cc0c210f805baa3e383.png differ diff --git a/public/img/__og-image/2023/17f150667d13a57f28bae524443f4c60.png b/public/img/__og-image/2023/17f150667d13a57f28bae524443f4c60.png new file mode 100644 index 0000000000..5872a65f91 Binary files /dev/null and b/public/img/__og-image/2023/17f150667d13a57f28bae524443f4c60.png differ diff --git a/public/img/__og-image/2023/1e7a35fbd833d9be1aa9719f77c86fb7.png b/public/img/__og-image/2023/1e7a35fbd833d9be1aa9719f77c86fb7.png new file mode 100644 index 0000000000..a823e3f8c3 Binary files /dev/null and b/public/img/__og-image/2023/1e7a35fbd833d9be1aa9719f77c86fb7.png differ diff --git a/public/img/__og-image/2023/217cf30afd15a724ebb42c4d82169a26.png b/public/img/__og-image/2023/217cf30afd15a724ebb42c4d82169a26.png new file mode 100644 index 0000000000..2de66b9dc6 Binary files /dev/null and b/public/img/__og-image/2023/217cf30afd15a724ebb42c4d82169a26.png differ diff --git a/public/img/__og-image/2023/247898ad29d5e594611af3cecf82f5e3.png b/public/img/__og-image/2023/247898ad29d5e594611af3cecf82f5e3.png new file mode 100644 index 0000000000..c9117d6e7e Binary files /dev/null and b/public/img/__og-image/2023/247898ad29d5e594611af3cecf82f5e3.png differ diff --git a/public/img/__og-image/2023/2517f7a1d13ad3c0652e1b3cc5b65714.png b/public/img/__og-image/2023/2517f7a1d13ad3c0652e1b3cc5b65714.png new file mode 100644 index 0000000000..bf4462857e Binary files /dev/null and b/public/img/__og-image/2023/2517f7a1d13ad3c0652e1b3cc5b65714.png differ diff --git a/public/img/__og-image/2023/275443caa2eda5df06699b724efa533c.png b/public/img/__og-image/2023/275443caa2eda5df06699b724efa533c.png new file mode 100644 index 0000000000..2be214d663 Binary files /dev/null and b/public/img/__og-image/2023/275443caa2eda5df06699b724efa533c.png differ diff --git a/public/img/__og-image/2023/2816d4a81204283289584830acda7826.png b/public/img/__og-image/2023/2816d4a81204283289584830acda7826.png new file mode 100644 index 0000000000..90ac61fa91 Binary files /dev/null and b/public/img/__og-image/2023/2816d4a81204283289584830acda7826.png differ diff --git a/public/img/__og-image/2023/295679e18701aa2be84f329db1118637.png b/public/img/__og-image/2023/295679e18701aa2be84f329db1118637.png new file mode 100644 index 0000000000..1f5c5467fb Binary files /dev/null and b/public/img/__og-image/2023/295679e18701aa2be84f329db1118637.png differ diff --git a/public/img/__og-image/2023/2b7518a6d8f2b72122c17beb92af8c89.png b/public/img/__og-image/2023/2b7518a6d8f2b72122c17beb92af8c89.png new file mode 100644 index 0000000000..cb54fb471c Binary files /dev/null and b/public/img/__og-image/2023/2b7518a6d8f2b72122c17beb92af8c89.png differ diff --git a/public/img/__og-image/2023/3045d1849811f05cc2afaf690ea474a5.png b/public/img/__og-image/2023/3045d1849811f05cc2afaf690ea474a5.png new file mode 100644 index 0000000000..1a6dd59739 Binary files /dev/null and b/public/img/__og-image/2023/3045d1849811f05cc2afaf690ea474a5.png differ diff --git a/public/img/__og-image/2023/34bdd9b21a3cf2db6600a5ef840b3fb3.png b/public/img/__og-image/2023/34bdd9b21a3cf2db6600a5ef840b3fb3.png new file mode 100644 index 0000000000..dfa33a9926 Binary files /dev/null and b/public/img/__og-image/2023/34bdd9b21a3cf2db6600a5ef840b3fb3.png differ diff --git a/public/img/__og-image/2023/38cb4033d5cfed2d5b508f08374ebe9b.png b/public/img/__og-image/2023/38cb4033d5cfed2d5b508f08374ebe9b.png new file mode 100644 index 0000000000..5777bbe1af Binary files /dev/null and b/public/img/__og-image/2023/38cb4033d5cfed2d5b508f08374ebe9b.png differ diff --git a/public/img/__og-image/2023/3a88eedac57e223aa69979407cfcc8f0.png b/public/img/__og-image/2023/3a88eedac57e223aa69979407cfcc8f0.png new file mode 100644 index 0000000000..85a822eaf1 Binary files /dev/null and b/public/img/__og-image/2023/3a88eedac57e223aa69979407cfcc8f0.png differ diff --git a/public/img/__og-image/2023/3d167cf84012c4ff2dcca8fca736b0dd.png b/public/img/__og-image/2023/3d167cf84012c4ff2dcca8fca736b0dd.png new file mode 100644 index 0000000000..ebccb68e93 Binary files /dev/null and b/public/img/__og-image/2023/3d167cf84012c4ff2dcca8fca736b0dd.png differ diff --git a/public/img/__og-image/2023/3e70d76748962770972c5c80e45ee9d7.png b/public/img/__og-image/2023/3e70d76748962770972c5c80e45ee9d7.png new file mode 100644 index 0000000000..bd05cea429 Binary files /dev/null and b/public/img/__og-image/2023/3e70d76748962770972c5c80e45ee9d7.png differ diff --git a/public/img/__og-image/2023/47c1bf50ce5556edcae9a84795485a8f.png b/public/img/__og-image/2023/47c1bf50ce5556edcae9a84795485a8f.png new file mode 100644 index 0000000000..00890b1467 Binary files /dev/null and b/public/img/__og-image/2023/47c1bf50ce5556edcae9a84795485a8f.png differ diff --git a/public/img/__og-image/2023/48f4e69c465b793750b5aa47bb7f2b6e.png b/public/img/__og-image/2023/48f4e69c465b793750b5aa47bb7f2b6e.png new file mode 100644 index 0000000000..96fdd7d4fd Binary files /dev/null and b/public/img/__og-image/2023/48f4e69c465b793750b5aa47bb7f2b6e.png differ diff --git a/public/img/__og-image/2023/4a4e842d1cd0c06083f484d31225abd1.png b/public/img/__og-image/2023/4a4e842d1cd0c06083f484d31225abd1.png new file mode 100644 index 0000000000..bd03007340 Binary files /dev/null and b/public/img/__og-image/2023/4a4e842d1cd0c06083f484d31225abd1.png differ diff --git a/public/img/__og-image/2023/4feef977ceb883c69c91ccd2dd607aec.png b/public/img/__og-image/2023/4feef977ceb883c69c91ccd2dd607aec.png new file mode 100644 index 0000000000..cd46f85623 Binary files /dev/null and b/public/img/__og-image/2023/4feef977ceb883c69c91ccd2dd607aec.png differ diff --git a/public/img/__og-image/2023/50005edb4a441b0335d1b80b4ad62b1a.png b/public/img/__og-image/2023/50005edb4a441b0335d1b80b4ad62b1a.png new file mode 100644 index 0000000000..06ae5227f0 Binary files /dev/null and b/public/img/__og-image/2023/50005edb4a441b0335d1b80b4ad62b1a.png differ diff --git a/public/img/__og-image/2023/504049f2217d6c59b9f67eba97089bfe.png b/public/img/__og-image/2023/504049f2217d6c59b9f67eba97089bfe.png new file mode 100644 index 0000000000..7d16102ee1 Binary files /dev/null and b/public/img/__og-image/2023/504049f2217d6c59b9f67eba97089bfe.png differ diff --git a/public/img/__og-image/2023/520b70cfea27170fd6ed21d79f6b0357.png b/public/img/__og-image/2023/520b70cfea27170fd6ed21d79f6b0357.png new file mode 100644 index 0000000000..24931c9148 Binary files /dev/null and b/public/img/__og-image/2023/520b70cfea27170fd6ed21d79f6b0357.png differ diff --git a/public/img/__og-image/2023/55dd5ef56bd778955509d08ea81903ea.png b/public/img/__og-image/2023/55dd5ef56bd778955509d08ea81903ea.png new file mode 100644 index 0000000000..08fa933bfa Binary files /dev/null and b/public/img/__og-image/2023/55dd5ef56bd778955509d08ea81903ea.png differ diff --git a/public/img/__og-image/2023/5684f90e0472771532ed5ee2b237300f.png b/public/img/__og-image/2023/5684f90e0472771532ed5ee2b237300f.png new file mode 100644 index 0000000000..e67f4af1fc Binary files /dev/null and b/public/img/__og-image/2023/5684f90e0472771532ed5ee2b237300f.png differ diff --git a/public/img/__og-image/2023/58b45c125046c6c7a8c35ec084bfbb19.png b/public/img/__og-image/2023/58b45c125046c6c7a8c35ec084bfbb19.png new file mode 100644 index 0000000000..ddef1156fd Binary files /dev/null and b/public/img/__og-image/2023/58b45c125046c6c7a8c35ec084bfbb19.png differ diff --git a/public/img/__og-image/2023/5a0c1b8ab4957bfd83f55480c1508fe5.png b/public/img/__og-image/2023/5a0c1b8ab4957bfd83f55480c1508fe5.png new file mode 100644 index 0000000000..f39a3f8eba Binary files /dev/null and b/public/img/__og-image/2023/5a0c1b8ab4957bfd83f55480c1508fe5.png differ diff --git a/public/img/__og-image/2023/5bf24cd6483a63e62a2276fe38effb82.png b/public/img/__og-image/2023/5bf24cd6483a63e62a2276fe38effb82.png new file mode 100644 index 0000000000..b0e73f5428 Binary files /dev/null and b/public/img/__og-image/2023/5bf24cd6483a63e62a2276fe38effb82.png differ diff --git a/public/img/__og-image/2023/5d6afee232e35ba1880e7b25d810ef49.png b/public/img/__og-image/2023/5d6afee232e35ba1880e7b25d810ef49.png new file mode 100644 index 0000000000..920120c685 Binary files /dev/null and b/public/img/__og-image/2023/5d6afee232e35ba1880e7b25d810ef49.png differ diff --git a/public/img/__og-image/2023/5f920cd134d4dea87fce5e59bc4418dc.png b/public/img/__og-image/2023/5f920cd134d4dea87fce5e59bc4418dc.png new file mode 100644 index 0000000000..54bcc8884e Binary files /dev/null and b/public/img/__og-image/2023/5f920cd134d4dea87fce5e59bc4418dc.png differ diff --git a/public/img/__og-image/2023/61b9efc6ff8e0f295be6c65c08871c23.png b/public/img/__og-image/2023/61b9efc6ff8e0f295be6c65c08871c23.png new file mode 100644 index 0000000000..9f839b6daa Binary files /dev/null and b/public/img/__og-image/2023/61b9efc6ff8e0f295be6c65c08871c23.png differ diff --git a/public/img/__og-image/2023/6543e60efc3f0c20d24a40cffef29558.png b/public/img/__og-image/2023/6543e60efc3f0c20d24a40cffef29558.png new file mode 100644 index 0000000000..a69479004b Binary files /dev/null and b/public/img/__og-image/2023/6543e60efc3f0c20d24a40cffef29558.png differ diff --git a/public/img/__og-image/2023/66e332f155e04efea896d5bd5dcd2ba5.png b/public/img/__og-image/2023/66e332f155e04efea896d5bd5dcd2ba5.png new file mode 100644 index 0000000000..047465a281 Binary files /dev/null and b/public/img/__og-image/2023/66e332f155e04efea896d5bd5dcd2ba5.png differ diff --git a/public/img/__og-image/2023/675c416b16ad2b0c519b1ec894353fc5.png b/public/img/__og-image/2023/675c416b16ad2b0c519b1ec894353fc5.png new file mode 100644 index 0000000000..f859fd5d89 Binary files /dev/null and b/public/img/__og-image/2023/675c416b16ad2b0c519b1ec894353fc5.png differ diff --git a/public/img/__og-image/2023/6c2eefe955e288e974a9182dac06f8fa.png b/public/img/__og-image/2023/6c2eefe955e288e974a9182dac06f8fa.png new file mode 100644 index 0000000000..f3f9f95102 Binary files /dev/null and b/public/img/__og-image/2023/6c2eefe955e288e974a9182dac06f8fa.png differ diff --git a/public/img/__og-image/2023/6d07d593f16320c810d6aba8553199ed.png b/public/img/__og-image/2023/6d07d593f16320c810d6aba8553199ed.png new file mode 100644 index 0000000000..81cb3af09b Binary files /dev/null and b/public/img/__og-image/2023/6d07d593f16320c810d6aba8553199ed.png differ diff --git a/public/img/__og-image/2023/70f9e59dc60cf417aa38eb890b2a8abe.png b/public/img/__og-image/2023/70f9e59dc60cf417aa38eb890b2a8abe.png new file mode 100644 index 0000000000..c44027c7f7 Binary files /dev/null and b/public/img/__og-image/2023/70f9e59dc60cf417aa38eb890b2a8abe.png differ diff --git a/public/img/__og-image/2023/72ac8d3f7585f86cb9acc77b9eb22241.png b/public/img/__og-image/2023/72ac8d3f7585f86cb9acc77b9eb22241.png new file mode 100644 index 0000000000..91eb148e31 Binary files /dev/null and b/public/img/__og-image/2023/72ac8d3f7585f86cb9acc77b9eb22241.png differ diff --git a/public/img/__og-image/2023/77623920b158a75435d48896a8d56b35.png b/public/img/__og-image/2023/77623920b158a75435d48896a8d56b35.png new file mode 100644 index 0000000000..18f638300c Binary files /dev/null and b/public/img/__og-image/2023/77623920b158a75435d48896a8d56b35.png differ diff --git a/public/img/__og-image/2023/7a87fe1cfc351a993ed40e01d384e3c6.png b/public/img/__og-image/2023/7a87fe1cfc351a993ed40e01d384e3c6.png new file mode 100644 index 0000000000..9e9362cbe8 Binary files /dev/null and b/public/img/__og-image/2023/7a87fe1cfc351a993ed40e01d384e3c6.png differ diff --git a/public/img/__og-image/2023/7bb96b3d5660f2d285220d7cdd59eb7f.png b/public/img/__og-image/2023/7bb96b3d5660f2d285220d7cdd59eb7f.png new file mode 100644 index 0000000000..4059ec6eaf Binary files /dev/null and b/public/img/__og-image/2023/7bb96b3d5660f2d285220d7cdd59eb7f.png differ diff --git a/public/img/__og-image/2023/7d2491dd9142a830ac0c3ff1477636d8.png b/public/img/__og-image/2023/7d2491dd9142a830ac0c3ff1477636d8.png new file mode 100644 index 0000000000..00a3ed4046 Binary files /dev/null and b/public/img/__og-image/2023/7d2491dd9142a830ac0c3ff1477636d8.png differ diff --git a/public/img/__og-image/2023/80869c56bb59f51de6ac8468c18eecdc.png b/public/img/__og-image/2023/80869c56bb59f51de6ac8468c18eecdc.png new file mode 100644 index 0000000000..2b1bc141e2 Binary files /dev/null and b/public/img/__og-image/2023/80869c56bb59f51de6ac8468c18eecdc.png differ diff --git a/public/img/__og-image/2023/81daf0dd0b26efdc784ba0a530e54a68.png b/public/img/__og-image/2023/81daf0dd0b26efdc784ba0a530e54a68.png new file mode 100644 index 0000000000..0a46bd8f2f Binary files /dev/null and b/public/img/__og-image/2023/81daf0dd0b26efdc784ba0a530e54a68.png differ diff --git a/public/img/__og-image/2023/888b77af90aa0ff776adc9669a29cb3f.png b/public/img/__og-image/2023/888b77af90aa0ff776adc9669a29cb3f.png new file mode 100644 index 0000000000..c073210575 Binary files /dev/null and b/public/img/__og-image/2023/888b77af90aa0ff776adc9669a29cb3f.png differ diff --git a/public/img/__og-image/2023/88bbc65fe92d08a0404215429f06c113.png b/public/img/__og-image/2023/88bbc65fe92d08a0404215429f06c113.png new file mode 100644 index 0000000000..71c12cd37c Binary files /dev/null and b/public/img/__og-image/2023/88bbc65fe92d08a0404215429f06c113.png differ diff --git a/public/img/__og-image/2023/8a1158bda6933f83f43b704bff54ff63.png b/public/img/__og-image/2023/8a1158bda6933f83f43b704bff54ff63.png new file mode 100644 index 0000000000..33e2b329e9 Binary files /dev/null and b/public/img/__og-image/2023/8a1158bda6933f83f43b704bff54ff63.png differ diff --git a/public/img/__og-image/2023/94d334f99906d3fc2669fc804e5fae41.png b/public/img/__og-image/2023/94d334f99906d3fc2669fc804e5fae41.png new file mode 100644 index 0000000000..92d8684662 Binary files /dev/null and b/public/img/__og-image/2023/94d334f99906d3fc2669fc804e5fae41.png differ diff --git a/public/img/__og-image/2023/95e6219a5e20a9e2f9381822460932ac.png b/public/img/__og-image/2023/95e6219a5e20a9e2f9381822460932ac.png new file mode 100644 index 0000000000..e6c3221aa2 Binary files /dev/null and b/public/img/__og-image/2023/95e6219a5e20a9e2f9381822460932ac.png differ diff --git a/public/img/__og-image/2023/9836184d78d14978c0c49f1e2b900bb9.png b/public/img/__og-image/2023/9836184d78d14978c0c49f1e2b900bb9.png new file mode 100644 index 0000000000..edc6856fd1 Binary files /dev/null and b/public/img/__og-image/2023/9836184d78d14978c0c49f1e2b900bb9.png differ diff --git a/public/img/__og-image/2023/9836d339aaf014a7ced7f87141fcee67.png b/public/img/__og-image/2023/9836d339aaf014a7ced7f87141fcee67.png new file mode 100644 index 0000000000..6683b842a8 Binary files /dev/null and b/public/img/__og-image/2023/9836d339aaf014a7ced7f87141fcee67.png differ diff --git a/public/img/__og-image/2023/9a543325b8802fd94cc9ed81908dc888.png b/public/img/__og-image/2023/9a543325b8802fd94cc9ed81908dc888.png new file mode 100644 index 0000000000..499ede16fc Binary files /dev/null and b/public/img/__og-image/2023/9a543325b8802fd94cc9ed81908dc888.png differ diff --git a/public/img/__og-image/2023/a44cec64a01063d4c6a11e54cc8d24d3.png b/public/img/__og-image/2023/a44cec64a01063d4c6a11e54cc8d24d3.png new file mode 100644 index 0000000000..187dacbbfa Binary files /dev/null and b/public/img/__og-image/2023/a44cec64a01063d4c6a11e54cc8d24d3.png differ diff --git a/public/img/__og-image/2023/a638dad8443a364e12ed29b3bc50d128.png b/public/img/__og-image/2023/a638dad8443a364e12ed29b3bc50d128.png new file mode 100644 index 0000000000..3d4ce3a919 Binary files /dev/null and b/public/img/__og-image/2023/a638dad8443a364e12ed29b3bc50d128.png differ diff --git a/public/img/__og-image/2023/a6d43808900bc56bb2ebd675544ee5a3.png b/public/img/__og-image/2023/a6d43808900bc56bb2ebd675544ee5a3.png new file mode 100644 index 0000000000..a5376f7bcc Binary files /dev/null and b/public/img/__og-image/2023/a6d43808900bc56bb2ebd675544ee5a3.png differ diff --git a/public/img/__og-image/2023/a6f436251a88bb94d5e79099742c9d75.png b/public/img/__og-image/2023/a6f436251a88bb94d5e79099742c9d75.png new file mode 100644 index 0000000000..aa3e0d9553 Binary files /dev/null and b/public/img/__og-image/2023/a6f436251a88bb94d5e79099742c9d75.png differ diff --git a/public/img/__og-image/2023/abbottry.png b/public/img/__og-image/2023/abbottry.png new file mode 100644 index 0000000000..aed0fd1f8f Binary files /dev/null and b/public/img/__og-image/2023/abbottry.png differ diff --git a/public/img/__og-image/2023/acarlson29.png b/public/img/__og-image/2023/acarlson29.png new file mode 100644 index 0000000000..d700f94b90 Binary files /dev/null and b/public/img/__og-image/2023/acarlson29.png differ diff --git a/public/img/__og-image/2023/adam.sayah.png b/public/img/__og-image/2023/adam.sayah.png new file mode 100644 index 0000000000..bedd5bf2a9 Binary files /dev/null and b/public/img/__og-image/2023/adam.sayah.png differ diff --git a/public/img/__og-image/2023/afefc1feb47ec68ca6031cfec2e7d46b.png b/public/img/__og-image/2023/afefc1feb47ec68ca6031cfec2e7d46b.png new file mode 100644 index 0000000000..17b28f2d34 Binary files /dev/null and b/public/img/__og-image/2023/afefc1feb47ec68ca6031cfec2e7d46b.png differ diff --git a/public/img/__og-image/2023/ajhingran.png b/public/img/__og-image/2023/ajhingran.png new file mode 100644 index 0000000000..d2f06225c6 Binary files /dev/null and b/public/img/__og-image/2023/ajhingran.png differ diff --git a/public/img/__og-image/2023/alec102.png b/public/img/__og-image/2023/alec102.png new file mode 100644 index 0000000000..ac419eed5f Binary files /dev/null and b/public/img/__og-image/2023/alec102.png differ diff --git a/public/img/__og-image/2023/alexsandra.sikora.png b/public/img/__og-image/2023/alexsandra.sikora.png new file mode 100644 index 0000000000..a2cafc5031 Binary files /dev/null and b/public/img/__og-image/2023/alexsandra.sikora.png differ diff --git a/public/img/__og-image/2023/amy1908.png b/public/img/__og-image/2023/amy1908.png new file mode 100644 index 0000000000..5860d06644 Binary files /dev/null and b/public/img/__og-image/2023/amy1908.png differ diff --git a/public/img/__og-image/2023/andreas.heiberg.png b/public/img/__og-image/2023/andreas.heiberg.png new file mode 100644 index 0000000000..7f30f2747b Binary files /dev/null and b/public/img/__og-image/2023/andreas.heiberg.png differ diff --git a/public/img/__og-image/2023/annyce.davis.png b/public/img/__og-image/2023/annyce.davis.png new file mode 100644 index 0000000000..4b65a41371 Binary files /dev/null and b/public/img/__og-image/2023/annyce.davis.png differ diff --git a/public/img/__og-image/2023/antoine.carossio.png b/public/img/__og-image/2023/antoine.carossio.png new file mode 100644 index 0000000000..fb2a9482a3 Binary files /dev/null and b/public/img/__og-image/2023/antoine.carossio.png differ diff --git a/public/img/__og-image/2023/ardatanrikulu.png b/public/img/__og-image/2023/ardatanrikulu.png new file mode 100644 index 0000000000..91f26deda3 Binary files /dev/null and b/public/img/__og-image/2023/ardatanrikulu.png differ diff --git a/public/img/__og-image/2023/arkenflame.png b/public/img/__og-image/2023/arkenflame.png new file mode 100644 index 0000000000..4639911ddd Binary files /dev/null and b/public/img/__og-image/2023/arkenflame.png differ diff --git a/public/img/__og-image/2023/ashpak_shaikh.png b/public/img/__og-image/2023/ashpak_shaikh.png new file mode 100644 index 0000000000..a6584912a3 Binary files /dev/null and b/public/img/__og-image/2023/ashpak_shaikh.png differ diff --git a/public/img/__og-image/2023/b2390bef466348cbe435b14cf34c99a5.png b/public/img/__og-image/2023/b2390bef466348cbe435b14cf34c99a5.png new file mode 100644 index 0000000000..9556f9fafc Binary files /dev/null and b/public/img/__og-image/2023/b2390bef466348cbe435b14cf34c99a5.png differ diff --git a/public/img/__og-image/2023/b38ed79c29a2d0602160d9407bfa3422.png b/public/img/__og-image/2023/b38ed79c29a2d0602160d9407bfa3422.png new file mode 100644 index 0000000000..621c971056 Binary files /dev/null and b/public/img/__og-image/2023/b38ed79c29a2d0602160d9407bfa3422.png differ diff --git a/public/img/__og-image/2023/b3a3fa420d7467c46c215fa09cd548e0.png b/public/img/__og-image/2023/b3a3fa420d7467c46c215fa09cd548e0.png new file mode 100644 index 0000000000..91c62d72af Binary files /dev/null and b/public/img/__og-image/2023/b3a3fa420d7467c46c215fa09cd548e0.png differ diff --git a/public/img/__og-image/2023/b57a1a6027fdab59c05c42c9d0515e71.png b/public/img/__og-image/2023/b57a1a6027fdab59c05c42c9d0515e71.png new file mode 100644 index 0000000000..31ff6a4e72 Binary files /dev/null and b/public/img/__og-image/2023/b57a1a6027fdab59c05c42c9d0515e71.png differ diff --git a/public/img/__og-image/2023/b84ea942d55fb7406e53e3af0c78017e.png b/public/img/__og-image/2023/b84ea942d55fb7406e53e3af0c78017e.png new file mode 100644 index 0000000000..f68f17c6f6 Binary files /dev/null and b/public/img/__og-image/2023/b84ea942d55fb7406e53e3af0c78017e.png differ diff --git a/public/img/__og-image/2023/b9e35d673e7b541421d45ce2043dc05e.png b/public/img/__og-image/2023/b9e35d673e7b541421d45ce2043dc05e.png new file mode 100644 index 0000000000..6afba66d0e Binary files /dev/null and b/public/img/__og-image/2023/b9e35d673e7b541421d45ce2043dc05e.png differ diff --git a/public/img/__og-image/2023/badurinadenis.png b/public/img/__og-image/2023/badurinadenis.png new file mode 100644 index 0000000000..5ed8433617 Binary files /dev/null and b/public/img/__og-image/2023/badurinadenis.png differ diff --git a/public/img/__og-image/2023/bastiankistner.png b/public/img/__og-image/2023/bastiankistner.png new file mode 100644 index 0000000000..44294c8258 Binary files /dev/null and b/public/img/__og-image/2023/bastiankistner.png differ diff --git a/public/img/__og-image/2023/bc5623fa38b3e2a58b357b35d3209023.png b/public/img/__og-image/2023/bc5623fa38b3e2a58b357b35d3209023.png new file mode 100644 index 0000000000..22f302d792 Binary files /dev/null and b/public/img/__og-image/2023/bc5623fa38b3e2a58b357b35d3209023.png differ diff --git a/public/img/__og-image/2023/benjie3.png b/public/img/__og-image/2023/benjie3.png new file mode 100644 index 0000000000..70412e7496 Binary files /dev/null and b/public/img/__og-image/2023/benjie3.png differ diff --git a/public/img/__og-image/2023/blacknumber.png b/public/img/__og-image/2023/blacknumber.png new file mode 100644 index 0000000000..d5feec7e9d Binary files /dev/null and b/public/img/__og-image/2023/blacknumber.png differ diff --git a/public/img/__og-image/2023/brandon.r.minnick.png b/public/img/__og-image/2023/brandon.r.minnick.png new file mode 100644 index 0000000000..5b03870663 Binary files /dev/null and b/public/img/__og-image/2023/brandon.r.minnick.png differ diff --git a/public/img/__og-image/2023/bryan.robinson2.png b/public/img/__og-image/2023/bryan.robinson2.png new file mode 100644 index 0000000000..c52fdc4193 Binary files /dev/null and b/public/img/__og-image/2023/bryan.robinson2.png differ diff --git a/public/img/__og-image/2023/bsklar.png b/public/img/__og-image/2023/bsklar.png new file mode 100644 index 0000000000..f96c19b56d Binary files /dev/null and b/public/img/__og-image/2023/bsklar.png differ diff --git a/public/img/__og-image/2023/bsy.png b/public/img/__og-image/2023/bsy.png new file mode 100644 index 0000000000..dd51ea3672 Binary files /dev/null and b/public/img/__og-image/2023/bsy.png differ diff --git a/public/img/__og-image/2023/c6bcac25dc965b289bda158441311f23.png b/public/img/__og-image/2023/c6bcac25dc965b289bda158441311f23.png new file mode 100644 index 0000000000..8505f39977 Binary files /dev/null and b/public/img/__og-image/2023/c6bcac25dc965b289bda158441311f23.png differ diff --git a/public/img/__og-image/2023/c6cba5c5a91fb3f916acec7de9692bd7.png b/public/img/__og-image/2023/c6cba5c5a91fb3f916acec7de9692bd7.png new file mode 100644 index 0000000000..1db6cfef64 Binary files /dev/null and b/public/img/__og-image/2023/c6cba5c5a91fb3f916acec7de9692bd7.png differ diff --git a/public/img/__og-image/2023/c915230f50de5c93eb5c2bbbee3610e6.png b/public/img/__og-image/2023/c915230f50de5c93eb5c2bbbee3610e6.png new file mode 100644 index 0000000000..6dbf9eda6a Binary files /dev/null and b/public/img/__og-image/2023/c915230f50de5c93eb5c2bbbee3610e6.png differ diff --git a/public/img/__og-image/2023/cb1f116f01ae3d2ddf5100a18792abc2.png b/public/img/__og-image/2023/cb1f116f01ae3d2ddf5100a18792abc2.png new file mode 100644 index 0000000000..b45ccd0d2b Binary files /dev/null and b/public/img/__og-image/2023/cb1f116f01ae3d2ddf5100a18792abc2.png differ diff --git a/public/img/__og-image/2023/cc02f7be2a6fe1dc49f87fa63dec5041.png b/public/img/__og-image/2023/cc02f7be2a6fe1dc49f87fa63dec5041.png new file mode 100644 index 0000000000..52f787a979 Binary files /dev/null and b/public/img/__og-image/2023/cc02f7be2a6fe1dc49f87fa63dec5041.png differ diff --git a/public/img/__og-image/2023/cc22599d768dc636a67a0e93cd74bab2.png b/public/img/__og-image/2023/cc22599d768dc636a67a0e93cd74bab2.png new file mode 100644 index 0000000000..2f691a7ba9 Binary files /dev/null and b/public/img/__og-image/2023/cc22599d768dc636a67a0e93cd74bab2.png differ diff --git a/public/img/__og-image/2023/cc423d9ba6bacb53c1b24490cb208c17.png b/public/img/__og-image/2023/cc423d9ba6bacb53c1b24490cb208c17.png new file mode 100644 index 0000000000..38392fb487 Binary files /dev/null and b/public/img/__og-image/2023/cc423d9ba6bacb53c1b24490cb208c17.png differ diff --git a/public/img/__og-image/2023/ce430c038efa9a9c19743d1ccc702de9.png b/public/img/__og-image/2023/ce430c038efa9a9c19743d1ccc702de9.png new file mode 100644 index 0000000000..c5c0df0758 Binary files /dev/null and b/public/img/__og-image/2023/ce430c038efa9a9c19743d1ccc702de9.png differ diff --git a/public/img/__og-image/2023/christian.ernst.png b/public/img/__og-image/2023/christian.ernst.png new file mode 100644 index 0000000000..861397e2c3 Binary files /dev/null and b/public/img/__og-image/2023/christian.ernst.png differ diff --git a/public/img/__og-image/2023/d53044f7df10bcb5a53e6908670c41c1.png b/public/img/__og-image/2023/d53044f7df10bcb5a53e6908670c41c1.png new file mode 100644 index 0000000000..baf2b1546a Binary files /dev/null and b/public/img/__og-image/2023/d53044f7df10bcb5a53e6908670c41c1.png differ diff --git a/public/img/__og-image/2023/david3103.png b/public/img/__og-image/2023/david3103.png new file mode 100644 index 0000000000..769c87aed2 Binary files /dev/null and b/public/img/__og-image/2023/david3103.png differ diff --git a/public/img/__og-image/2023/dd289f7ecf487b271e0495ff09bba26e.png b/public/img/__og-image/2023/dd289f7ecf487b271e0495ff09bba26e.png new file mode 100644 index 0000000000..d8ca50b1d7 Binary files /dev/null and b/public/img/__og-image/2023/dd289f7ecf487b271e0495ff09bba26e.png differ diff --git a/public/img/__og-image/2023/de1472b4294ac91745f3648d9228d8f2.png b/public/img/__og-image/2023/de1472b4294ac91745f3648d9228d8f2.png new file mode 100644 index 0000000000..707fc958be Binary files /dev/null and b/public/img/__og-image/2023/de1472b4294ac91745f3648d9228d8f2.png differ diff --git a/public/img/__og-image/2023/de614df0c21b5227fff20767aa065de8.png b/public/img/__og-image/2023/de614df0c21b5227fff20767aa065de8.png new file mode 100644 index 0000000000..e0a731e2e6 Binary files /dev/null and b/public/img/__og-image/2023/de614df0c21b5227fff20767aa065de8.png differ diff --git a/public/img/__og-image/2023/de9b490bff0d1e234ec4e19bc03392b5.png b/public/img/__og-image/2023/de9b490bff0d1e234ec4e19bc03392b5.png new file mode 100644 index 0000000000..bb818c1ced Binary files /dev/null and b/public/img/__og-image/2023/de9b490bff0d1e234ec4e19bc03392b5.png differ diff --git a/public/img/__og-image/2023/doc.jones.png b/public/img/__og-image/2023/doc.jones.png new file mode 100644 index 0000000000..3b0b6ab275 Binary files /dev/null and b/public/img/__og-image/2023/doc.jones.png differ diff --git a/public/img/__og-image/2023/donnasiqizhou.png b/public/img/__og-image/2023/donnasiqizhou.png new file mode 100644 index 0000000000..8b687c0896 Binary files /dev/null and b/public/img/__og-image/2023/donnasiqizhou.png differ diff --git a/public/img/__og-image/2023/dotansimha.png b/public/img/__og-image/2023/dotansimha.png new file mode 100644 index 0000000000..e518f92796 Binary files /dev/null and b/public/img/__og-image/2023/dotansimha.png differ diff --git a/public/img/__og-image/2023/e0985f6bdb4bbf07a5ca5ba72fbcc39c.png b/public/img/__og-image/2023/e0985f6bdb4bbf07a5ca5ba72fbcc39c.png new file mode 100644 index 0000000000..7031a9e5a3 Binary files /dev/null and b/public/img/__og-image/2023/e0985f6bdb4bbf07a5ca5ba72fbcc39c.png differ diff --git a/public/img/__og-image/2023/e29bf518adeb99b2319fa8cb70d8f445.png b/public/img/__og-image/2023/e29bf518adeb99b2319fa8cb70d8f445.png new file mode 100644 index 0000000000..7aa9ee5420 Binary files /dev/null and b/public/img/__og-image/2023/e29bf518adeb99b2319fa8cb70d8f445.png differ diff --git a/public/img/__og-image/2023/e3320ba552ee773065a1a132304a36e0.png b/public/img/__og-image/2023/e3320ba552ee773065a1a132304a36e0.png new file mode 100644 index 0000000000..3a53abf137 Binary files /dev/null and b/public/img/__og-image/2023/e3320ba552ee773065a1a132304a36e0.png differ diff --git a/public/img/__og-image/2023/e3a855088054e180ec6e046bf3d8be8a.png b/public/img/__og-image/2023/e3a855088054e180ec6e046bf3d8be8a.png new file mode 100644 index 0000000000..d787e768a3 Binary files /dev/null and b/public/img/__og-image/2023/e3a855088054e180ec6e046bf3d8be8a.png differ diff --git a/public/img/__og-image/2023/e447a52591ed66a452e04d6ce3e3f09e.png b/public/img/__og-image/2023/e447a52591ed66a452e04d6ce3e3f09e.png new file mode 100644 index 0000000000..a2588aeffb Binary files /dev/null and b/public/img/__og-image/2023/e447a52591ed66a452e04d6ce3e3f09e.png differ diff --git a/public/img/__og-image/2023/eb08683c706380e0236adb2097358f4c.png b/public/img/__og-image/2023/eb08683c706380e0236adb2097358f4c.png new file mode 100644 index 0000000000..8675d6104d Binary files /dev/null and b/public/img/__og-image/2023/eb08683c706380e0236adb2097358f4c.png differ diff --git a/public/img/__og-image/2023/ebee6213b39b87437eb7cc9c41ea972b.png b/public/img/__og-image/2023/ebee6213b39b87437eb7cc9c41ea972b.png new file mode 100644 index 0000000000..cd0a186b83 Binary files /dev/null and b/public/img/__og-image/2023/ebee6213b39b87437eb7cc9c41ea972b.png differ diff --git a/public/img/__og-image/2023/edcb92ba1f2478b935124038ec1b20f0.png b/public/img/__og-image/2023/edcb92ba1f2478b935124038ec1b20f0.png new file mode 100644 index 0000000000..a4f875d16e Binary files /dev/null and b/public/img/__og-image/2023/edcb92ba1f2478b935124038ec1b20f0.png differ diff --git a/public/img/__og-image/2023/eitan15.png b/public/img/__og-image/2023/eitan15.png new file mode 100644 index 0000000000..77320099ce Binary files /dev/null and b/public/img/__og-image/2023/eitan15.png differ diff --git a/public/img/__og-image/2023/en3m.png b/public/img/__og-image/2023/en3m.png new file mode 100644 index 0000000000..435aea08e6 Binary files /dev/null and b/public/img/__og-image/2023/en3m.png differ diff --git a/public/img/__og-image/2023/ernie.turner1.png b/public/img/__og-image/2023/ernie.turner1.png new file mode 100644 index 0000000000..73eccec9c5 Binary files /dev/null and b/public/img/__og-image/2023/ernie.turner1.png differ diff --git a/public/img/__og-image/2023/eruf.png b/public/img/__og-image/2023/eruf.png new file mode 100644 index 0000000000..fff1d7fada Binary files /dev/null and b/public/img/__og-image/2023/eruf.png differ diff --git a/public/img/__og-image/2023/events172.png b/public/img/__og-image/2023/events172.png new file mode 100644 index 0000000000..73c6912128 Binary files /dev/null and b/public/img/__og-image/2023/events172.png differ diff --git a/public/img/__og-image/2023/f11fd521e00f5b8eedf463781f893c5e.png b/public/img/__og-image/2023/f11fd521e00f5b8eedf463781f893c5e.png new file mode 100644 index 0000000000..0b17c0a5c7 Binary files /dev/null and b/public/img/__og-image/2023/f11fd521e00f5b8eedf463781f893c5e.png differ diff --git a/public/img/__og-image/2023/f319907e1e15ee620a33d3cbf01f323a.png b/public/img/__og-image/2023/f319907e1e15ee620a33d3cbf01f323a.png new file mode 100644 index 0000000000..753ae21637 Binary files /dev/null and b/public/img/__og-image/2023/f319907e1e15ee620a33d3cbf01f323a.png differ diff --git a/public/img/__og-image/2023/f485ec8e2dc60c435e8a3a90185d73bf.png b/public/img/__og-image/2023/f485ec8e2dc60c435e8a3a90185d73bf.png new file mode 100644 index 0000000000..441194e1c0 Binary files /dev/null and b/public/img/__og-image/2023/f485ec8e2dc60c435e8a3a90185d73bf.png differ diff --git a/public/img/__og-image/2023/f653b9931d85c7958993ca62e7853972.png b/public/img/__og-image/2023/f653b9931d85c7958993ca62e7853972.png new file mode 100644 index 0000000000..abc6c6f510 Binary files /dev/null and b/public/img/__og-image/2023/f653b9931d85c7958993ca62e7853972.png differ diff --git a/public/img/__og-image/2023/f802d22f97a3d3d9d2733bf637758f56.png b/public/img/__og-image/2023/f802d22f97a3d3d9d2733bf637758f56.png new file mode 100644 index 0000000000..225086c289 Binary files /dev/null and b/public/img/__og-image/2023/f802d22f97a3d3d9d2733bf637758f56.png differ diff --git a/public/img/__og-image/2023/f8a4d2b939980ffadf787715033e2b4f.png b/public/img/__og-image/2023/f8a4d2b939980ffadf787715033e2b4f.png new file mode 100644 index 0000000000..c7f680706d Binary files /dev/null and b/public/img/__og-image/2023/f8a4d2b939980ffadf787715033e2b4f.png differ diff --git a/public/img/__og-image/2023/fc1e6c878fc02b6c2b7534ddebfac6ff.png b/public/img/__og-image/2023/fc1e6c878fc02b6c2b7534ddebfac6ff.png new file mode 100644 index 0000000000..79e8e7dded Binary files /dev/null and b/public/img/__og-image/2023/fc1e6c878fc02b6c2b7534ddebfac6ff.png differ diff --git a/public/img/__og-image/2023/ff6a2ae37d87e74c9f7739a1331804a1.png b/public/img/__og-image/2023/ff6a2ae37d87e74c9f7739a1331804a1.png new file mode 100644 index 0000000000..e1a1ddc664 Binary files /dev/null and b/public/img/__og-image/2023/ff6a2ae37d87e74c9f7739a1331804a1.png differ diff --git a/public/img/__og-image/2023/gerard.klijs.png b/public/img/__og-image/2023/gerard.klijs.png new file mode 100644 index 0000000000..ccc4a89f94 Binary files /dev/null and b/public/img/__og-image/2023/gerard.klijs.png differ diff --git a/public/img/__og-image/2023/gilgardosh.png b/public/img/__og-image/2023/gilgardosh.png new file mode 100644 index 0000000000..9328c2e460 Binary files /dev/null and b/public/img/__og-image/2023/gilgardosh.png differ diff --git a/public/img/__og-image/2023/gonenj.png b/public/img/__og-image/2023/gonenj.png new file mode 100644 index 0000000000..7eb5c4f6f7 Binary files /dev/null and b/public/img/__og-image/2023/gonenj.png differ diff --git a/public/img/__og-image/2023/hello2358.png b/public/img/__og-image/2023/hello2358.png new file mode 100644 index 0000000000..9e6ba99e49 Binary files /dev/null and b/public/img/__og-image/2023/hello2358.png differ diff --git a/public/img/__og-image/2023/idit_levine.25krdj4u.png b/public/img/__og-image/2023/idit_levine.25krdj4u.png new file mode 100644 index 0000000000..583ee9ef1c Binary files /dev/null and b/public/img/__og-image/2023/idit_levine.25krdj4u.png differ diff --git a/public/img/__og-image/2023/igorgassmann.png b/public/img/__og-image/2023/igorgassmann.png new file mode 100644 index 0000000000..9ac06aaa48 Binary files /dev/null and b/public/img/__og-image/2023/igorgassmann.png differ diff --git a/public/img/__og-image/2023/jamie855.png b/public/img/__og-image/2023/jamie855.png new file mode 100644 index 0000000000..8e665f42c2 Binary files /dev/null and b/public/img/__og-image/2023/jamie855.png differ diff --git a/public/img/__og-image/2023/jared_cheney.7rad60v.png b/public/img/__og-image/2023/jared_cheney.7rad60v.png new file mode 100644 index 0000000000..ebc0577790 Binary files /dev/null and b/public/img/__og-image/2023/jared_cheney.7rad60v.png differ diff --git a/public/img/__og-image/2023/jeff.auriemma.png b/public/img/__og-image/2023/jeff.auriemma.png new file mode 100644 index 0000000000..166da5f301 Binary files /dev/null and b/public/img/__og-image/2023/jeff.auriemma.png differ diff --git a/public/img/__og-image/2023/jens63.png b/public/img/__og-image/2023/jens63.png new file mode 100644 index 0000000000..5d5a7e1bff Binary files /dev/null and b/public/img/__og-image/2023/jens63.png differ diff --git a/public/img/__og-image/2023/jhorner3208.png b/public/img/__og-image/2023/jhorner3208.png new file mode 100644 index 0000000000..95955d419c Binary files /dev/null and b/public/img/__og-image/2023/jhorner3208.png differ diff --git a/public/img/__og-image/2023/jim.barton.png b/public/img/__og-image/2023/jim.barton.png new file mode 100644 index 0000000000..58dfae1983 Binary files /dev/null and b/public/img/__og-image/2023/jim.barton.png differ diff --git a/public/img/__og-image/2023/kamilkisiela.png b/public/img/__og-image/2023/kamilkisiela.png new file mode 100644 index 0000000000..f902ac3205 Binary files /dev/null and b/public/img/__og-image/2023/kamilkisiela.png differ diff --git a/public/img/__og-image/2023/keerthan.ekbote.png b/public/img/__og-image/2023/keerthan.ekbote.png new file mode 100644 index 0000000000..d4bed21a15 Binary files /dev/null and b/public/img/__og-image/2023/keerthan.ekbote.png differ diff --git a/public/img/__og-image/2023/keith.babo.png b/public/img/__og-image/2023/keith.babo.png new file mode 100644 index 0000000000..4672ce23bc Binary files /dev/null and b/public/img/__og-image/2023/keith.babo.png differ diff --git a/public/img/__og-image/2023/kevin1700.png b/public/img/__og-image/2023/kevin1700.png new file mode 100644 index 0000000000..0ff8bf48e5 Binary files /dev/null and b/public/img/__og-image/2023/kevin1700.png differ diff --git a/public/img/__og-image/2023/laurent57.png b/public/img/__og-image/2023/laurent57.png new file mode 100644 index 0000000000..b157628820 Binary files /dev/null and b/public/img/__og-image/2023/laurent57.png differ diff --git a/public/img/__og-image/2023/laurent_broudoux.25mh5hbq.png b/public/img/__og-image/2023/laurent_broudoux.25mh5hbq.png new file mode 100644 index 0000000000..b157628820 Binary files /dev/null and b/public/img/__og-image/2023/laurent_broudoux.25mh5hbq.png differ diff --git a/public/img/__og-image/2023/laurinquast.png b/public/img/__og-image/2023/laurinquast.png new file mode 100644 index 0000000000..9affc7f3c9 Binary files /dev/null and b/public/img/__og-image/2023/laurinquast.png differ diff --git a/public/img/__og-image/2023/lee_byron.25krdom6.png b/public/img/__og-image/2023/lee_byron.25krdom6.png new file mode 100644 index 0000000000..62371b415b Binary files /dev/null and b/public/img/__og-image/2023/lee_byron.25krdom6.png differ diff --git a/public/img/__og-image/2023/lerenzo.png b/public/img/__og-image/2023/lerenzo.png new file mode 100644 index 0000000000..6806eb81cb Binary files /dev/null and b/public/img/__og-image/2023/lerenzo.png differ diff --git a/public/img/__og-image/2023/lthomas70.png b/public/img/__og-image/2023/lthomas70.png new file mode 100644 index 0000000000..d14d4cc4d0 Binary files /dev/null and b/public/img/__og-image/2023/lthomas70.png differ diff --git a/public/img/__og-image/2023/lucy_shen.png b/public/img/__og-image/2023/lucy_shen.png new file mode 100644 index 0000000000..5a593240ec Binary files /dev/null and b/public/img/__og-image/2023/lucy_shen.png differ diff --git a/public/img/__og-image/2023/lyonwj1.png b/public/img/__og-image/2023/lyonwj1.png new file mode 100644 index 0000000000..a4974b25f3 Binary files /dev/null and b/public/img/__og-image/2023/lyonwj1.png differ diff --git a/public/img/__og-image/2023/marc_andre_giroux.25krdfz9.png b/public/img/__og-image/2023/marc_andre_giroux.25krdfz9.png new file mode 100644 index 0000000000..f6c70708c7 Binary files /dev/null and b/public/img/__og-image/2023/marc_andre_giroux.25krdfz9.png differ diff --git a/public/img/__og-image/2023/marion84.png b/public/img/__og-image/2023/marion84.png new file mode 100644 index 0000000000..4af41925a3 Binary files /dev/null and b/public/img/__og-image/2023/marion84.png differ diff --git a/public/img/__og-image/2023/meenakshi.dhanani1.png b/public/img/__og-image/2023/meenakshi.dhanani1.png new file mode 100644 index 0000000000..52cb65f3e7 Binary files /dev/null and b/public/img/__og-image/2023/meenakshi.dhanani1.png differ diff --git a/public/img/__og-image/2023/mgiroux7.png b/public/img/__og-image/2023/mgiroux7.png new file mode 100644 index 0000000000..0c389b10a0 Binary files /dev/null and b/public/img/__og-image/2023/mgiroux7.png differ diff --git a/public/img/__og-image/2023/michael2685.png b/public/img/__og-image/2023/michael2685.png new file mode 100644 index 0000000000..b4970c1fb2 Binary files /dev/null and b/public/img/__og-image/2023/michael2685.png differ diff --git a/public/img/__og-image/2023/michael_staib.23xujj9p.png b/public/img/__og-image/2023/michael_staib.23xujj9p.png new file mode 100644 index 0000000000..558987cef6 Binary files /dev/null and b/public/img/__og-image/2023/michael_staib.23xujj9p.png differ diff --git a/public/img/__og-image/2023/patrick.arminio.png b/public/img/__og-image/2023/patrick.arminio.png new file mode 100644 index 0000000000..8c13213827 Binary files /dev/null and b/public/img/__og-image/2023/patrick.arminio.png differ diff --git a/public/img/__og-image/2023/plgah.png b/public/img/__og-image/2023/plgah.png new file mode 100644 index 0000000000..319b01f4cd Binary files /dev/null and b/public/img/__og-image/2023/plgah.png differ diff --git a/public/img/__og-image/2023/pooja.mistry.png b/public/img/__og-image/2023/pooja.mistry.png new file mode 100644 index 0000000000..dc01cc9180 Binary files /dev/null and b/public/img/__og-image/2023/pooja.mistry.png differ diff --git a/public/img/__og-image/2023/pooja_mistry.25kvpbvt.png b/public/img/__og-image/2023/pooja_mistry.25kvpbvt.png new file mode 100644 index 0000000000..db49e8ec73 Binary files /dev/null and b/public/img/__og-image/2023/pooja_mistry.25kvpbvt.png differ diff --git a/public/img/__og-image/2023/qkw1221.png b/public/img/__og-image/2023/qkw1221.png new file mode 100644 index 0000000000..be57213a97 Binary files /dev/null and b/public/img/__og-image/2023/qkw1221.png differ diff --git a/public/img/__og-image/2023/ramhadda.png b/public/img/__og-image/2023/ramhadda.png new file mode 100644 index 0000000000..a9141f3cfe Binary files /dev/null and b/public/img/__og-image/2023/ramhadda.png differ diff --git a/public/img/__og-image/2023/rbraun3.png b/public/img/__og-image/2023/rbraun3.png new file mode 100644 index 0000000000..63b343944d Binary files /dev/null and b/public/img/__og-image/2023/rbraun3.png differ diff --git a/public/img/__og-image/2023/robert.balicki.png b/public/img/__og-image/2023/robert.balicki.png new file mode 100644 index 0000000000..9ab5ce475e Binary files /dev/null and b/public/img/__og-image/2023/robert.balicki.png differ diff --git a/public/img/__og-image/2023/s.daniakash.png b/public/img/__og-image/2023/s.daniakash.png new file mode 100644 index 0000000000..772a50eeeb Binary files /dev/null and b/public/img/__og-image/2023/s.daniakash.png differ diff --git a/public/img/__og-image/2023/sdk.bens.png b/public/img/__og-image/2023/sdk.bens.png new file mode 100644 index 0000000000..2c3717548a Binary files /dev/null and b/public/img/__og-image/2023/sdk.bens.png differ diff --git a/public/img/__og-image/2023/serhii.korin.png b/public/img/__og-image/2023/serhii.korin.png new file mode 100644 index 0000000000..eed1875de9 Binary files /dev/null and b/public/img/__og-image/2023/serhii.korin.png differ diff --git a/public/img/__og-image/2023/shahar_binyamin.24vrzgo4.png b/public/img/__og-image/2023/shahar_binyamin.24vrzgo4.png new file mode 100644 index 0000000000..52c836e3b5 Binary files /dev/null and b/public/img/__og-image/2023/shahar_binyamin.24vrzgo4.png differ diff --git a/public/img/__og-image/2023/shweta.12dec.png b/public/img/__og-image/2023/shweta.12dec.png new file mode 100644 index 0000000000..3c1e35f5db Binary files /dev/null and b/public/img/__og-image/2023/shweta.12dec.png differ diff --git a/public/img/__og-image/2023/siddharthsingh1.png b/public/img/__og-image/2023/siddharthsingh1.png new file mode 100644 index 0000000000..5ab1f98283 Binary files /dev/null and b/public/img/__og-image/2023/siddharthsingh1.png differ diff --git a/public/img/__og-image/2023/spencer211.png b/public/img/__og-image/2023/spencer211.png new file mode 100644 index 0000000000..4a28f77889 Binary files /dev/null and b/public/img/__og-image/2023/spencer211.png differ diff --git a/public/img/__og-image/2023/sspalding2.png b/public/img/__og-image/2023/sspalding2.png new file mode 100644 index 0000000000..213f054637 Binary files /dev/null and b/public/img/__og-image/2023/sspalding2.png differ diff --git a/public/img/__og-image/2023/stephanie.saunders2.png b/public/img/__og-image/2023/stephanie.saunders2.png new file mode 100644 index 0000000000..c8e6f0bf94 Binary files /dev/null and b/public/img/__og-image/2023/stephanie.saunders2.png differ diff --git a/public/img/__og-image/2023/suresh_muthu.png b/public/img/__og-image/2023/suresh_muthu.png new file mode 100644 index 0000000000..fa84c27064 Binary files /dev/null and b/public/img/__og-image/2023/suresh_muthu.png differ diff --git a/public/img/__og-image/2023/tanmaig.png b/public/img/__og-image/2023/tanmaig.png new file mode 100644 index 0000000000..4b2168c449 Binary files /dev/null and b/public/img/__og-image/2023/tanmaig.png differ diff --git a/public/img/__og-image/2023/theo93.png b/public/img/__og-image/2023/theo93.png new file mode 100644 index 0000000000..e474eb414c Binary files /dev/null and b/public/img/__og-image/2023/theo93.png differ diff --git a/public/img/__og-image/2023/theo_browne.25qq5dhc.png b/public/img/__og-image/2023/theo_browne.25qq5dhc.png new file mode 100644 index 0000000000..35ca758985 Binary files /dev/null and b/public/img/__og-image/2023/theo_browne.25qq5dhc.png differ diff --git a/public/img/__og-image/2023/thomas.heyenbrock.png b/public/img/__og-image/2023/thomas.heyenbrock.png new file mode 100644 index 0000000000..0c2fd4e8c7 Binary files /dev/null and b/public/img/__og-image/2023/thomas.heyenbrock.png differ diff --git a/public/img/__og-image/2023/tim.hall.engr.png b/public/img/__og-image/2023/tim.hall.engr.png new file mode 100644 index 0000000000..834fbd22c5 Binary files /dev/null and b/public/img/__og-image/2023/tim.hall.engr.png differ diff --git a/public/img/__og-image/2023/tristan119.png b/public/img/__og-image/2023/tristan119.png new file mode 100644 index 0000000000..d962e33ea2 Binary files /dev/null and b/public/img/__og-image/2023/tristan119.png differ diff --git a/public/img/__og-image/2023/twitter7.png b/public/img/__og-image/2023/twitter7.png new file mode 100644 index 0000000000..a421cebfba Binary files /dev/null and b/public/img/__og-image/2023/twitter7.png differ diff --git a/public/img/__og-image/2023/uri_goldshtein.23xujj9a.png b/public/img/__og-image/2023/uri_goldshtein.23xujj9a.png new file mode 100644 index 0000000000..23108eb528 Binary files /dev/null and b/public/img/__og-image/2023/uri_goldshtein.23xujj9a.png differ diff --git a/public/img/__og-image/2023/william_lyon.7rvgomu.png b/public/img/__og-image/2023/william_lyon.7rvgomu.png new file mode 100644 index 0000000000..53aa672860 Binary files /dev/null and b/public/img/__og-image/2023/william_lyon.7rvgomu.png differ diff --git a/public/img/__og-image/2023/yaacovcr.png b/public/img/__og-image/2023/yaacovcr.png new file mode 100644 index 0000000000..07a4d5fcc7 Binary files /dev/null and b/public/img/__og-image/2023/yaacovcr.png differ diff --git a/public/img/__og-image/2023/yassineldeeb94.png b/public/img/__og-image/2023/yassineldeeb94.png new file mode 100644 index 0000000000..1efa44b6a9 Binary files /dev/null and b/public/img/__og-image/2023/yassineldeeb94.png differ diff --git a/public/img/__og-image/2023/yczhu.png b/public/img/__og-image/2023/yczhu.png new file mode 100644 index 0000000000..f2480d1da9 Binary files /dev/null and b/public/img/__og-image/2023/yczhu.png differ diff --git a/public/img/__og-image/2024/00735951e116f34db5e089b0fb4bc928.png b/public/img/__og-image/2024/00735951e116f34db5e089b0fb4bc928.png new file mode 100644 index 0000000000..be864d797b Binary files /dev/null and b/public/img/__og-image/2024/00735951e116f34db5e089b0fb4bc928.png differ diff --git a/public/img/__og-image/2024/0cc847db0ed6bf193da7b5413c7f3e8e.png b/public/img/__og-image/2024/0cc847db0ed6bf193da7b5413c7f3e8e.png new file mode 100644 index 0000000000..dc5c5d99a7 Binary files /dev/null and b/public/img/__og-image/2024/0cc847db0ed6bf193da7b5413c7f3e8e.png differ diff --git a/public/img/__og-image/2024/14632b39fa73ed429cb5e5db6f156ea4.png b/public/img/__og-image/2024/14632b39fa73ed429cb5e5db6f156ea4.png new file mode 100644 index 0000000000..281e1e4a99 Binary files /dev/null and b/public/img/__og-image/2024/14632b39fa73ed429cb5e5db6f156ea4.png differ diff --git a/public/img/__og-image/2024/15ae8e609d80ee7a856469c74c379c55.png b/public/img/__og-image/2024/15ae8e609d80ee7a856469c74c379c55.png new file mode 100644 index 0000000000..d890beedd1 Binary files /dev/null and b/public/img/__og-image/2024/15ae8e609d80ee7a856469c74c379c55.png differ diff --git a/public/img/__og-image/2024/167640984a909380aa61898c90625166.png b/public/img/__og-image/2024/167640984a909380aa61898c90625166.png new file mode 100644 index 0000000000..ff781c8d5e Binary files /dev/null and b/public/img/__og-image/2024/167640984a909380aa61898c90625166.png differ diff --git a/public/img/__og-image/2024/19cf965c68cfae3c7c19c6a9966bcadf.png b/public/img/__og-image/2024/19cf965c68cfae3c7c19c6a9966bcadf.png new file mode 100644 index 0000000000..41ed6b299d Binary files /dev/null and b/public/img/__og-image/2024/19cf965c68cfae3c7c19c6a9966bcadf.png differ diff --git a/public/img/__og-image/2024/1b3086b33b9d1b30790f02a49857cfe0.png b/public/img/__og-image/2024/1b3086b33b9d1b30790f02a49857cfe0.png new file mode 100644 index 0000000000..aa9b9bec4f Binary files /dev/null and b/public/img/__og-image/2024/1b3086b33b9d1b30790f02a49857cfe0.png differ diff --git a/public/img/__og-image/2024/1cf6041f56dd35067e0d34d081e23730.png b/public/img/__og-image/2024/1cf6041f56dd35067e0d34d081e23730.png new file mode 100644 index 0000000000..1596ea91a0 Binary files /dev/null and b/public/img/__og-image/2024/1cf6041f56dd35067e0d34d081e23730.png differ diff --git a/public/img/__og-image/2024/1e8e7ae6eb935636a20fc2acc70c299d.png b/public/img/__og-image/2024/1e8e7ae6eb935636a20fc2acc70c299d.png new file mode 100644 index 0000000000..51eef6fade Binary files /dev/null and b/public/img/__og-image/2024/1e8e7ae6eb935636a20fc2acc70c299d.png differ diff --git a/public/img/__og-image/2024/1f23375107e5a16e08092d69e1b5ba1a.png b/public/img/__og-image/2024/1f23375107e5a16e08092d69e1b5ba1a.png new file mode 100644 index 0000000000..8605153123 Binary files /dev/null and b/public/img/__og-image/2024/1f23375107e5a16e08092d69e1b5ba1a.png differ diff --git a/public/img/__og-image/2024/24100908c07eed48ee464ca2509ef527.png b/public/img/__og-image/2024/24100908c07eed48ee464ca2509ef527.png new file mode 100644 index 0000000000..d43d7b6a6c Binary files /dev/null and b/public/img/__og-image/2024/24100908c07eed48ee464ca2509ef527.png differ diff --git a/public/img/__og-image/2024/260dd09a831d9432aa4122d60df72d21.png b/public/img/__og-image/2024/260dd09a831d9432aa4122d60df72d21.png new file mode 100644 index 0000000000..591a4a8af5 Binary files /dev/null and b/public/img/__og-image/2024/260dd09a831d9432aa4122d60df72d21.png differ diff --git a/public/img/__og-image/2024/26843420d633586e4b750ae4fe01e174.png b/public/img/__og-image/2024/26843420d633586e4b750ae4fe01e174.png new file mode 100644 index 0000000000..ce04b64155 Binary files /dev/null and b/public/img/__og-image/2024/26843420d633586e4b750ae4fe01e174.png differ diff --git a/public/img/__og-image/2024/2b8cf13e46335dc0f98c57dd576551c3.png b/public/img/__og-image/2024/2b8cf13e46335dc0f98c57dd576551c3.png new file mode 100644 index 0000000000..63ff50af5d Binary files /dev/null and b/public/img/__og-image/2024/2b8cf13e46335dc0f98c57dd576551c3.png differ diff --git a/public/img/__og-image/2024/2f44e6cde4172d716d83bcb02809517f.png b/public/img/__og-image/2024/2f44e6cde4172d716d83bcb02809517f.png new file mode 100644 index 0000000000..8803b10e75 Binary files /dev/null and b/public/img/__og-image/2024/2f44e6cde4172d716d83bcb02809517f.png differ diff --git a/public/img/__og-image/2024/2f6808aabe48239c0cccb9db43626aac.png b/public/img/__og-image/2024/2f6808aabe48239c0cccb9db43626aac.png new file mode 100644 index 0000000000..74e466bf24 Binary files /dev/null and b/public/img/__og-image/2024/2f6808aabe48239c0cccb9db43626aac.png differ diff --git a/public/img/__og-image/2024/303433f67a7ffc5e3d31a6edfd8b1f28.png b/public/img/__og-image/2024/303433f67a7ffc5e3d31a6edfd8b1f28.png new file mode 100644 index 0000000000..4ff919f3fe Binary files /dev/null and b/public/img/__og-image/2024/303433f67a7ffc5e3d31a6edfd8b1f28.png differ diff --git a/public/img/__og-image/2024/30ea7a71fd410161e413a6a41eb5902c.png b/public/img/__og-image/2024/30ea7a71fd410161e413a6a41eb5902c.png new file mode 100644 index 0000000000..28ee24c6e7 Binary files /dev/null and b/public/img/__og-image/2024/30ea7a71fd410161e413a6a41eb5902c.png differ diff --git a/public/img/__og-image/2024/370614bdbfb4b73d76ec71db8ce43552.png b/public/img/__og-image/2024/370614bdbfb4b73d76ec71db8ce43552.png new file mode 100644 index 0000000000..f801d3f1f2 Binary files /dev/null and b/public/img/__og-image/2024/370614bdbfb4b73d76ec71db8ce43552.png differ diff --git a/public/img/__og-image/2024/3c81808073ae7f888acc66d832877764.png b/public/img/__og-image/2024/3c81808073ae7f888acc66d832877764.png new file mode 100644 index 0000000000..682b7ff0ab Binary files /dev/null and b/public/img/__og-image/2024/3c81808073ae7f888acc66d832877764.png differ diff --git a/public/img/__og-image/2024/4003c42a935c2de7c19896b6c0351c0d.png b/public/img/__og-image/2024/4003c42a935c2de7c19896b6c0351c0d.png new file mode 100644 index 0000000000..0967ca43b2 Binary files /dev/null and b/public/img/__og-image/2024/4003c42a935c2de7c19896b6c0351c0d.png differ diff --git a/public/img/__og-image/2024/468947db8b153fca9be52febb43beb6e.png b/public/img/__og-image/2024/468947db8b153fca9be52febb43beb6e.png new file mode 100644 index 0000000000..43ce992aa9 Binary files /dev/null and b/public/img/__og-image/2024/468947db8b153fca9be52febb43beb6e.png differ diff --git a/public/img/__og-image/2024/486758a780cbd512a88c6def8f9ba36a.png b/public/img/__og-image/2024/486758a780cbd512a88c6def8f9ba36a.png new file mode 100644 index 0000000000..b27513bdf1 Binary files /dev/null and b/public/img/__og-image/2024/486758a780cbd512a88c6def8f9ba36a.png differ diff --git a/public/img/__og-image/2024/487b5eb466c6367896d32d0006ddad8a.png b/public/img/__og-image/2024/487b5eb466c6367896d32d0006ddad8a.png new file mode 100644 index 0000000000..4b9f2c17a0 Binary files /dev/null and b/public/img/__og-image/2024/487b5eb466c6367896d32d0006ddad8a.png differ diff --git a/public/img/__og-image/2024/4bd0c22887a042cfffec9428d7fc9689.png b/public/img/__og-image/2024/4bd0c22887a042cfffec9428d7fc9689.png new file mode 100644 index 0000000000..47828eb906 Binary files /dev/null and b/public/img/__og-image/2024/4bd0c22887a042cfffec9428d7fc9689.png differ diff --git a/public/img/__og-image/2024/4dc607a403a2316846b59d0c5a9858c9.png b/public/img/__og-image/2024/4dc607a403a2316846b59d0c5a9858c9.png new file mode 100644 index 0000000000..10b8f5cfb6 Binary files /dev/null and b/public/img/__og-image/2024/4dc607a403a2316846b59d0c5a9858c9.png differ diff --git a/public/img/__og-image/2024/4df9dbdef91ea1bc5fce211e6b7e3f52.png b/public/img/__og-image/2024/4df9dbdef91ea1bc5fce211e6b7e3f52.png new file mode 100644 index 0000000000..da0f612f20 Binary files /dev/null and b/public/img/__og-image/2024/4df9dbdef91ea1bc5fce211e6b7e3f52.png differ diff --git a/public/img/__og-image/2024/515c8ade2da6e1fc710e87df182dd8e6.png b/public/img/__og-image/2024/515c8ade2da6e1fc710e87df182dd8e6.png new file mode 100644 index 0000000000..d81423ef66 Binary files /dev/null and b/public/img/__og-image/2024/515c8ade2da6e1fc710e87df182dd8e6.png differ diff --git a/public/img/__og-image/2024/5245297ed1f7b82885c742d77f209bda.png b/public/img/__og-image/2024/5245297ed1f7b82885c742d77f209bda.png new file mode 100644 index 0000000000..f096531f36 Binary files /dev/null and b/public/img/__og-image/2024/5245297ed1f7b82885c742d77f209bda.png differ diff --git a/public/img/__og-image/2024/52854704c6ab04364b24f2bda3991034.png b/public/img/__og-image/2024/52854704c6ab04364b24f2bda3991034.png new file mode 100644 index 0000000000..47828eb906 Binary files /dev/null and b/public/img/__og-image/2024/52854704c6ab04364b24f2bda3991034.png differ diff --git a/public/img/__og-image/2024/5cabf2af855ce1e45161cd36903d41c0.png b/public/img/__og-image/2024/5cabf2af855ce1e45161cd36903d41c0.png new file mode 100644 index 0000000000..1ca6ea1049 Binary files /dev/null and b/public/img/__og-image/2024/5cabf2af855ce1e45161cd36903d41c0.png differ diff --git a/public/img/__og-image/2024/5df1be4f2875d2ba86cd9c3daefadd02.png b/public/img/__og-image/2024/5df1be4f2875d2ba86cd9c3daefadd02.png new file mode 100644 index 0000000000..8c7d576ae6 Binary files /dev/null and b/public/img/__og-image/2024/5df1be4f2875d2ba86cd9c3daefadd02.png differ diff --git a/public/img/__og-image/2024/6204717dd5e10bf10587733c08897dc1.png b/public/img/__og-image/2024/6204717dd5e10bf10587733c08897dc1.png new file mode 100644 index 0000000000..17765176be Binary files /dev/null and b/public/img/__og-image/2024/6204717dd5e10bf10587733c08897dc1.png differ diff --git a/public/img/__og-image/2024/65768f566de8acf5320a4ed1fef47606.png b/public/img/__og-image/2024/65768f566de8acf5320a4ed1fef47606.png new file mode 100644 index 0000000000..4312392a15 Binary files /dev/null and b/public/img/__og-image/2024/65768f566de8acf5320a4ed1fef47606.png differ diff --git a/public/img/__og-image/2024/667270504bb6e511749901460a6e68d1.png b/public/img/__og-image/2024/667270504bb6e511749901460a6e68d1.png new file mode 100644 index 0000000000..321685c831 Binary files /dev/null and b/public/img/__og-image/2024/667270504bb6e511749901460a6e68d1.png differ diff --git a/public/img/__og-image/2024/66a12b5aa41f22c3a7f80a9838488826.png b/public/img/__og-image/2024/66a12b5aa41f22c3a7f80a9838488826.png new file mode 100644 index 0000000000..69df41799f Binary files /dev/null and b/public/img/__og-image/2024/66a12b5aa41f22c3a7f80a9838488826.png differ diff --git a/public/img/__og-image/2024/6e20cd3c4ee36577f15713955444338f.png b/public/img/__og-image/2024/6e20cd3c4ee36577f15713955444338f.png new file mode 100644 index 0000000000..2b06b64696 Binary files /dev/null and b/public/img/__og-image/2024/6e20cd3c4ee36577f15713955444338f.png differ diff --git a/public/img/__og-image/2024/6fd1c120b48d6c62c4544ccbf27a665a.png b/public/img/__og-image/2024/6fd1c120b48d6c62c4544ccbf27a665a.png new file mode 100644 index 0000000000..3e0e88b858 Binary files /dev/null and b/public/img/__og-image/2024/6fd1c120b48d6c62c4544ccbf27a665a.png differ diff --git a/public/img/__og-image/2024/74697b2144c044a7a134bc7e04e190d1.png b/public/img/__og-image/2024/74697b2144c044a7a134bc7e04e190d1.png new file mode 100644 index 0000000000..8f7309eea9 Binary files /dev/null and b/public/img/__og-image/2024/74697b2144c044a7a134bc7e04e190d1.png differ diff --git a/public/img/__og-image/2024/75386a4288d49dcb4aba5b54e475de43.png b/public/img/__og-image/2024/75386a4288d49dcb4aba5b54e475de43.png new file mode 100644 index 0000000000..df92876d4d Binary files /dev/null and b/public/img/__og-image/2024/75386a4288d49dcb4aba5b54e475de43.png differ diff --git a/public/img/__og-image/2024/785671ee20a5e7c63578e83cf84b8a12.png b/public/img/__og-image/2024/785671ee20a5e7c63578e83cf84b8a12.png new file mode 100644 index 0000000000..d7d5a4c4c2 Binary files /dev/null and b/public/img/__og-image/2024/785671ee20a5e7c63578e83cf84b8a12.png differ diff --git a/public/img/__og-image/2024/7c1eba2165f24ed45492801796cbe453.png b/public/img/__og-image/2024/7c1eba2165f24ed45492801796cbe453.png new file mode 100644 index 0000000000..ae970f0c33 Binary files /dev/null and b/public/img/__og-image/2024/7c1eba2165f24ed45492801796cbe453.png differ diff --git a/public/img/__og-image/2024/83cfae91425cec04854a0ebc173d9c77.png b/public/img/__og-image/2024/83cfae91425cec04854a0ebc173d9c77.png new file mode 100644 index 0000000000..61748ec7ae Binary files /dev/null and b/public/img/__og-image/2024/83cfae91425cec04854a0ebc173d9c77.png differ diff --git a/public/img/__og-image/2024/870876ffad45b79d11e09393e7f22587.png b/public/img/__og-image/2024/870876ffad45b79d11e09393e7f22587.png new file mode 100644 index 0000000000..57dc653953 Binary files /dev/null and b/public/img/__og-image/2024/870876ffad45b79d11e09393e7f22587.png differ diff --git a/public/img/__og-image/2024/8866a2e23936ff9882c39f99b71238c5.png b/public/img/__og-image/2024/8866a2e23936ff9882c39f99b71238c5.png new file mode 100644 index 0000000000..f2efb65967 Binary files /dev/null and b/public/img/__og-image/2024/8866a2e23936ff9882c39f99b71238c5.png differ diff --git a/public/img/__og-image/2024/8b3fee2390253e8c920c1df186758b9d.png b/public/img/__og-image/2024/8b3fee2390253e8c920c1df186758b9d.png new file mode 100644 index 0000000000..ef22a85b36 Binary files /dev/null and b/public/img/__og-image/2024/8b3fee2390253e8c920c1df186758b9d.png differ diff --git a/public/img/__og-image/2024/8daaf10ac70360a7fade149a54538bf9.png b/public/img/__og-image/2024/8daaf10ac70360a7fade149a54538bf9.png new file mode 100644 index 0000000000..3967dd9b9b Binary files /dev/null and b/public/img/__og-image/2024/8daaf10ac70360a7fade149a54538bf9.png differ diff --git a/public/img/__og-image/2024/914fd37e2c0bd49ce423fb1cbc326ec8.png b/public/img/__og-image/2024/914fd37e2c0bd49ce423fb1cbc326ec8.png new file mode 100644 index 0000000000..08da091a7c Binary files /dev/null and b/public/img/__og-image/2024/914fd37e2c0bd49ce423fb1cbc326ec8.png differ diff --git a/public/img/__og-image/2024/9485641416d5be1d5846b846ee2c7666.png b/public/img/__og-image/2024/9485641416d5be1d5846b846ee2c7666.png new file mode 100644 index 0000000000..eb514a0255 Binary files /dev/null and b/public/img/__og-image/2024/9485641416d5be1d5846b846ee2c7666.png differ diff --git a/public/img/__og-image/2024/950039dcb680cef826423ad5c0678714.png b/public/img/__og-image/2024/950039dcb680cef826423ad5c0678714.png new file mode 100644 index 0000000000..a7c428fe04 Binary files /dev/null and b/public/img/__og-image/2024/950039dcb680cef826423ad5c0678714.png differ diff --git a/public/img/__og-image/2024/9b4f92f2579d24a3c20e6533686aca6b.png b/public/img/__og-image/2024/9b4f92f2579d24a3c20e6533686aca6b.png new file mode 100644 index 0000000000..dc3f5ad6c2 Binary files /dev/null and b/public/img/__og-image/2024/9b4f92f2579d24a3c20e6533686aca6b.png differ diff --git a/public/img/__og-image/2024/aditi_rajawat@intuit.com.png b/public/img/__og-image/2024/aditi_rajawat@intuit.com.png new file mode 100644 index 0000000000..57f8c007b9 Binary files /dev/null and b/public/img/__og-image/2024/aditi_rajawat@intuit.com.png differ diff --git a/public/img/__og-image/2024/af55205b1d68ec3b3d1b1663e4bd2adf.png b/public/img/__og-image/2024/af55205b1d68ec3b3d1b1663e4bd2adf.png new file mode 100644 index 0000000000..d367c268dd Binary files /dev/null and b/public/img/__og-image/2024/af55205b1d68ec3b3d1b1663e4bd2adf.png differ diff --git a/public/img/__og-image/2024/ajhingran.png b/public/img/__og-image/2024/ajhingran.png new file mode 100644 index 0000000000..fff84c15ab Binary files /dev/null and b/public/img/__og-image/2024/ajhingran.png differ diff --git a/public/img/__og-image/2024/alan.quigley@toasttab.com.png b/public/img/__og-image/2024/alan.quigley@toasttab.com.png new file mode 100644 index 0000000000..1aec71e70b Binary files /dev/null and b/public/img/__og-image/2024/alan.quigley@toasttab.com.png differ diff --git a/public/img/__og-image/2024/andreas.marek@fastmail.fm.png b/public/img/__og-image/2024/andreas.marek@fastmail.fm.png new file mode 100644 index 0000000000..afe1873058 Binary files /dev/null and b/public/img/__og-image/2024/andreas.marek@fastmail.fm.png differ diff --git a/public/img/__og-image/2024/andrei.bocan@gmail.com.png b/public/img/__og-image/2024/andrei.bocan@gmail.com.png new file mode 100644 index 0000000000..46d57c5f60 Binary files /dev/null and b/public/img/__og-image/2024/andrei.bocan@gmail.com.png differ diff --git a/public/img/__og-image/2024/andrew.doyle@mail.house.gov.png b/public/img/__og-image/2024/andrew.doyle@mail.house.gov.png new file mode 100644 index 0000000000..9ccb46ef15 Binary files /dev/null and b/public/img/__og-image/2024/andrew.doyle@mail.house.gov.png differ diff --git a/public/img/__og-image/2024/ango@bol.com.png b/public/img/__og-image/2024/ango@bol.com.png new file mode 100644 index 0000000000..b369a2a7e9 Binary files /dev/null and b/public/img/__og-image/2024/ango@bol.com.png differ diff --git a/public/img/__og-image/2024/ankita25.png b/public/img/__og-image/2024/ankita25.png new file mode 100644 index 0000000000..c2aa4e3f42 Binary files /dev/null and b/public/img/__og-image/2024/ankita25.png differ diff --git a/public/img/__og-image/2024/ankush9.png b/public/img/__og-image/2024/ankush9.png new file mode 100644 index 0000000000..b974d3a8e4 Binary files /dev/null and b/public/img/__og-image/2024/ankush9.png differ diff --git a/public/img/__og-image/2024/anthonymdev@gmail.com.png b/public/img/__og-image/2024/anthonymdev@gmail.com.png new file mode 100644 index 0000000000..15836294e2 Binary files /dev/null and b/public/img/__og-image/2024/anthonymdev@gmail.com.png differ diff --git a/public/img/__og-image/2024/antoine.carossio.png b/public/img/__og-image/2024/antoine.carossio.png new file mode 100644 index 0000000000..4bacfb8f04 Binary files /dev/null and b/public/img/__og-image/2024/antoine.carossio.png differ diff --git a/public/img/__og-image/2024/arkenflame.png b/public/img/__og-image/2024/arkenflame.png new file mode 100644 index 0000000000..bfbf1d9873 Binary files /dev/null and b/public/img/__og-image/2024/arkenflame.png differ diff --git a/public/img/__og-image/2024/b106db6eb7ca1aba331fcfb86dff9f22.png b/public/img/__og-image/2024/b106db6eb7ca1aba331fcfb86dff9f22.png new file mode 100644 index 0000000000..c18fa9ba6c Binary files /dev/null and b/public/img/__og-image/2024/b106db6eb7ca1aba331fcfb86dff9f22.png differ diff --git a/public/img/__og-image/2024/b3cdfe65307832887ded26a9270d1295.png b/public/img/__og-image/2024/b3cdfe65307832887ded26a9270d1295.png new file mode 100644 index 0000000000..6c7b6f61cf Binary files /dev/null and b/public/img/__og-image/2024/b3cdfe65307832887ded26a9270d1295.png differ diff --git a/public/img/__og-image/2024/b43e5c894796be3b0b0f0d0b662d4a5a.png b/public/img/__og-image/2024/b43e5c894796be3b0b0f0d0b662d4a5a.png new file mode 100644 index 0000000000..df500068df Binary files /dev/null and b/public/img/__og-image/2024/b43e5c894796be3b0b0f0d0b662d4a5a.png differ diff --git a/public/img/__og-image/2024/b45e3e5dfce0eec4d5498bedb8c54f04.png b/public/img/__og-image/2024/b45e3e5dfce0eec4d5498bedb8c54f04.png new file mode 100644 index 0000000000..a7a9a79d57 Binary files /dev/null and b/public/img/__og-image/2024/b45e3e5dfce0eec4d5498bedb8c54f04.png differ diff --git a/public/img/__og-image/2024/b5386fb97755f765369c45e5f24094ec.png b/public/img/__og-image/2024/b5386fb97755f765369c45e5f24094ec.png new file mode 100644 index 0000000000..aa0bae08a4 Binary files /dev/null and b/public/img/__og-image/2024/b5386fb97755f765369c45e5f24094ec.png differ diff --git a/public/img/__og-image/2024/badurinadenis.png b/public/img/__og-image/2024/badurinadenis.png new file mode 100644 index 0000000000..5cdfd0bcb1 Binary files /dev/null and b/public/img/__og-image/2024/badurinadenis.png differ diff --git a/public/img/__og-image/2024/bd12197d841d201adbcae218323d713a.png b/public/img/__og-image/2024/bd12197d841d201adbcae218323d713a.png new file mode 100644 index 0000000000..aa8fd650e8 Binary files /dev/null and b/public/img/__og-image/2024/bd12197d841d201adbcae218323d713a.png differ diff --git a/public/img/__og-image/2024/benjie3.png b/public/img/__og-image/2024/benjie3.png new file mode 100644 index 0000000000..0995835fcb Binary files /dev/null and b/public/img/__og-image/2024/benjie3.png differ diff --git a/public/img/__og-image/2024/bleigh@google.com.png b/public/img/__og-image/2024/bleigh@google.com.png new file mode 100644 index 0000000000..2b549e0290 Binary files /dev/null and b/public/img/__og-image/2024/bleigh@google.com.png differ diff --git a/public/img/__og-image/2024/budha1.png b/public/img/__og-image/2024/budha1.png new file mode 100644 index 0000000000..d69b7102b3 Binary files /dev/null and b/public/img/__og-image/2024/budha1.png differ diff --git a/public/img/__og-image/2024/c044cbad42295fda4adedd7018df6b2a.png b/public/img/__og-image/2024/c044cbad42295fda4adedd7018df6b2a.png new file mode 100644 index 0000000000..0599e795eb Binary files /dev/null and b/public/img/__og-image/2024/c044cbad42295fda4adedd7018df6b2a.png differ diff --git a/public/img/__og-image/2024/c117b6cefe3eaa89940b76d68abdc3de.png b/public/img/__og-image/2024/c117b6cefe3eaa89940b76d68abdc3de.png new file mode 100644 index 0000000000..61a25f0565 Binary files /dev/null and b/public/img/__og-image/2024/c117b6cefe3eaa89940b76d68abdc3de.png differ diff --git a/public/img/__og-image/2024/c12a426b75f4851c04a7e16e54135887.png b/public/img/__og-image/2024/c12a426b75f4851c04a7e16e54135887.png new file mode 100644 index 0000000000..1740f6a0a1 Binary files /dev/null and b/public/img/__og-image/2024/c12a426b75f4851c04a7e16e54135887.png differ diff --git a/public/img/__og-image/2024/c13801cab4bdcf1c9e7321fba8daca3f.png b/public/img/__og-image/2024/c13801cab4bdcf1c9e7321fba8daca3f.png new file mode 100644 index 0000000000..3e221dbd06 Binary files /dev/null and b/public/img/__og-image/2024/c13801cab4bdcf1c9e7321fba8daca3f.png differ diff --git a/public/img/__og-image/2024/c291c64196e84d0862ded0b8ef31968a.png b/public/img/__og-image/2024/c291c64196e84d0862ded0b8ef31968a.png new file mode 100644 index 0000000000..ca9842dbc6 Binary files /dev/null and b/public/img/__og-image/2024/c291c64196e84d0862ded0b8ef31968a.png differ diff --git a/public/img/__og-image/2024/c8426c5a3d9418e921f6d8717ff98ac3.png b/public/img/__og-image/2024/c8426c5a3d9418e921f6d8717ff98ac3.png new file mode 100644 index 0000000000..181ad73a9b Binary files /dev/null and b/public/img/__og-image/2024/c8426c5a3d9418e921f6d8717ff98ac3.png differ diff --git a/public/img/__og-image/2024/c9734088ee56ff8e1410bf33e494f71d.png b/public/img/__og-image/2024/c9734088ee56ff8e1410bf33e494f71d.png new file mode 100644 index 0000000000..9b2649bc84 Binary files /dev/null and b/public/img/__og-image/2024/c9734088ee56ff8e1410bf33e494f71d.png differ diff --git a/public/img/__og-image/2024/cernst11@gmail.com.png b/public/img/__og-image/2024/cernst11@gmail.com.png new file mode 100644 index 0000000000..80c57cc64a Binary files /dev/null and b/public/img/__og-image/2024/cernst11@gmail.com.png differ diff --git a/public/img/__og-image/2024/cfp@escape.tech.png b/public/img/__og-image/2024/cfp@escape.tech.png new file mode 100644 index 0000000000..625d001f9b Binary files /dev/null and b/public/img/__og-image/2024/cfp@escape.tech.png differ diff --git a/public/img/__og-image/2024/christian.stangier@moia.io.png b/public/img/__og-image/2024/christian.stangier@moia.io.png new file mode 100644 index 0000000000..95bc44013c Binary files /dev/null and b/public/img/__og-image/2024/christian.stangier@moia.io.png differ diff --git a/public/img/__og-image/2024/d0956581df5caec03d7865766e53412b.png b/public/img/__og-image/2024/d0956581df5caec03d7865766e53412b.png new file mode 100644 index 0000000000..69af18dc32 Binary files /dev/null and b/public/img/__og-image/2024/d0956581df5caec03d7865766e53412b.png differ diff --git a/public/img/__og-image/2024/d834fa1289d62ca14c1d5f67013c6337.png b/public/img/__og-image/2024/d834fa1289d62ca14c1d5f67013c6337.png new file mode 100644 index 0000000000..47828eb906 Binary files /dev/null and b/public/img/__og-image/2024/d834fa1289d62ca14c1d5f67013c6337.png differ diff --git a/public/img/__og-image/2024/daa84da2c7b8efe182514d3f6d6624ec.png b/public/img/__og-image/2024/daa84da2c7b8efe182514d3f6d6624ec.png new file mode 100644 index 0000000000..bb8af07d06 Binary files /dev/null and b/public/img/__og-image/2024/daa84da2c7b8efe182514d3f6d6624ec.png differ diff --git a/public/img/__og-image/2024/dd457152162ecb3609b4adac4026fe02.png b/public/img/__og-image/2024/dd457152162ecb3609b4adac4026fe02.png new file mode 100644 index 0000000000..f3f2f9408d Binary files /dev/null and b/public/img/__og-image/2024/dd457152162ecb3609b4adac4026fe02.png differ diff --git a/public/img/__og-image/2024/ddf5766e2b98ed4a1055c31926575d1b.png b/public/img/__og-image/2024/ddf5766e2b98ed4a1055c31926575d1b.png new file mode 100644 index 0000000000..fce2626cf6 Binary files /dev/null and b/public/img/__og-image/2024/ddf5766e2b98ed4a1055c31926575d1b.png differ diff --git a/public/img/__og-image/2024/de54e458f4da84295d55ce44dade372e.png b/public/img/__og-image/2024/de54e458f4da84295d55ce44dade372e.png new file mode 100644 index 0000000000..8ac4d0ef59 Binary files /dev/null and b/public/img/__og-image/2024/de54e458f4da84295d55ce44dade372e.png differ diff --git a/public/img/__og-image/2024/de8fa563c5beb17fbe9b4f5f23c99e89.png b/public/img/__og-image/2024/de8fa563c5beb17fbe9b4f5f23c99e89.png new file mode 100644 index 0000000000..4dc98d5917 Binary files /dev/null and b/public/img/__og-image/2024/de8fa563c5beb17fbe9b4f5f23c99e89.png differ diff --git a/public/img/__og-image/2024/dman@apollographql.com.png b/public/img/__og-image/2024/dman@apollographql.com.png new file mode 100644 index 0000000000..eddb93632f Binary files /dev/null and b/public/img/__og-image/2024/dman@apollographql.com.png differ diff --git a/public/img/__og-image/2024/e24b8d54971024a028352f5f35930575.png b/public/img/__og-image/2024/e24b8d54971024a028352f5f35930575.png new file mode 100644 index 0000000000..1ff02c683f Binary files /dev/null and b/public/img/__og-image/2024/e24b8d54971024a028352f5f35930575.png differ diff --git a/public/img/__og-image/2024/e456ed2987a18a88a3f6662842d17921.png b/public/img/__og-image/2024/e456ed2987a18a88a3f6662842d17921.png new file mode 100644 index 0000000000..495b461220 Binary files /dev/null and b/public/img/__og-image/2024/e456ed2987a18a88a3f6662842d17921.png differ diff --git a/public/img/__og-image/2024/e61013ca35c75a29e8fa8ce157e320e9.png b/public/img/__og-image/2024/e61013ca35c75a29e8fa8ce157e320e9.png new file mode 100644 index 0000000000..aa39a8666d Binary files /dev/null and b/public/img/__og-image/2024/e61013ca35c75a29e8fa8ce157e320e9.png differ diff --git a/public/img/__og-image/2024/e833ccb06207e185cac37276e65bb927.png b/public/img/__og-image/2024/e833ccb06207e185cac37276e65bb927.png new file mode 100644 index 0000000000..0c143c85ff Binary files /dev/null and b/public/img/__og-image/2024/e833ccb06207e185cac37276e65bb927.png differ diff --git a/public/img/__og-image/2024/eb21b013745069912ee5b95b14aaca24.png b/public/img/__og-image/2024/eb21b013745069912ee5b95b14aaca24.png new file mode 100644 index 0000000000..3b0471de4c Binary files /dev/null and b/public/img/__og-image/2024/eb21b013745069912ee5b95b14aaca24.png differ diff --git a/public/img/__og-image/2024/emily.li@benchling.com.png b/public/img/__og-image/2024/emily.li@benchling.com.png new file mode 100644 index 0000000000..01aef26e2c Binary files /dev/null and b/public/img/__og-image/2024/emily.li@benchling.com.png differ diff --git a/public/img/__og-image/2024/erikwrede2.png b/public/img/__og-image/2024/erikwrede2.png new file mode 100644 index 0000000000..3e85137514 Binary files /dev/null and b/public/img/__og-image/2024/erikwrede2.png differ diff --git a/public/img/__og-image/2024/f02cda18e19887fddeb56b06445ac256.png b/public/img/__og-image/2024/f02cda18e19887fddeb56b06445ac256.png new file mode 100644 index 0000000000..2208e73852 Binary files /dev/null and b/public/img/__og-image/2024/f02cda18e19887fddeb56b06445ac256.png differ diff --git a/public/img/__og-image/2024/f304b62528988d6e67bb74020d97c885.png b/public/img/__og-image/2024/f304b62528988d6e67bb74020d97c885.png new file mode 100644 index 0000000000..9828a990c7 Binary files /dev/null and b/public/img/__og-image/2024/f304b62528988d6e67bb74020d97c885.png differ diff --git a/public/img/__og-image/2024/f37774914d4fb6b5760a4c4811f042be.png b/public/img/__og-image/2024/f37774914d4fb6b5760a4c4811f042be.png new file mode 100644 index 0000000000..bb9f8e6141 Binary files /dev/null and b/public/img/__og-image/2024/f37774914d4fb6b5760a4c4811f042be.png differ diff --git a/public/img/__og-image/2024/f385327bc79231054b3d0d5440b9a47d.png b/public/img/__og-image/2024/f385327bc79231054b3d0d5440b9a47d.png new file mode 100644 index 0000000000..a6d37f50a5 Binary files /dev/null and b/public/img/__og-image/2024/f385327bc79231054b3d0d5440b9a47d.png differ diff --git a/public/img/__og-image/2024/f53d0eed2747a55edea203c97844fe3e.png b/public/img/__og-image/2024/f53d0eed2747a55edea203c97844fe3e.png new file mode 100644 index 0000000000..e5c88d6ec0 Binary files /dev/null and b/public/img/__og-image/2024/f53d0eed2747a55edea203c97844fe3e.png differ diff --git a/public/img/__og-image/2024/gabrielschulhof.png b/public/img/__og-image/2024/gabrielschulhof.png new file mode 100644 index 0000000000..47c9033cbf Binary files /dev/null and b/public/img/__og-image/2024/gabrielschulhof.png differ diff --git a/public/img/__og-image/2024/hello2358.png b/public/img/__og-image/2024/hello2358.png new file mode 100644 index 0000000000..6e3a70dc40 Binary files /dev/null and b/public/img/__og-image/2024/hello2358.png differ diff --git a/public/img/__og-image/2024/jackchuka@tailor.tech.png b/public/img/__og-image/2024/jackchuka@tailor.tech.png new file mode 100644 index 0000000000..a9c057ce2f Binary files /dev/null and b/public/img/__og-image/2024/jackchuka@tailor.tech.png differ diff --git a/public/img/__og-image/2024/janettelc@gmail.com.png b/public/img/__og-image/2024/janettelc@gmail.com.png new file mode 100644 index 0000000000..29ee2ce173 Binary files /dev/null and b/public/img/__og-image/2024/janettelc@gmail.com.png differ diff --git a/public/img/__og-image/2024/jeff.auriemma.png b/public/img/__og-image/2024/jeff.auriemma.png new file mode 100644 index 0000000000..8747a362db Binary files /dev/null and b/public/img/__og-image/2024/jeff.auriemma.png differ diff --git a/public/img/__og-image/2024/jordaneldredge@gmail.com.png b/public/img/__og-image/2024/jordaneldredge@gmail.com.png new file mode 100644 index 0000000000..4138851880 Binary files /dev/null and b/public/img/__og-image/2024/jordaneldredge@gmail.com.png differ diff --git a/public/img/__og-image/2024/kamilkisiela.png b/public/img/__og-image/2024/kamilkisiela.png new file mode 100644 index 0000000000..e950d8aa69 Binary files /dev/null and b/public/img/__og-image/2024/kamilkisiela.png differ diff --git a/public/img/__og-image/2024/kenneth.wussmann@moia.io.png b/public/img/__og-image/2024/kenneth.wussmann@moia.io.png new file mode 100644 index 0000000000..09eddb3e17 Binary files /dev/null and b/public/img/__og-image/2024/kenneth.wussmann@moia.io.png differ diff --git a/public/img/__og-image/2024/kennethstott@gmail.com.png b/public/img/__og-image/2024/kennethstott@gmail.com.png new file mode 100644 index 0000000000..d9efc3607d Binary files /dev/null and b/public/img/__og-image/2024/kennethstott@gmail.com.png differ diff --git a/public/img/__og-image/2024/laurinquast.png b/public/img/__og-image/2024/laurinquast.png new file mode 100644 index 0000000000..10862bcdf1 Binary files /dev/null and b/public/img/__og-image/2024/laurinquast.png differ diff --git a/public/img/__og-image/2024/ldebruijn.png b/public/img/__og-image/2024/ldebruijn.png new file mode 100644 index 0000000000..7b8d4b662c Binary files /dev/null and b/public/img/__og-image/2024/ldebruijn.png differ diff --git a/public/img/__og-image/2024/lee_byron.25jvpjmb.png b/public/img/__og-image/2024/lee_byron.25jvpjmb.png new file mode 100644 index 0000000000..c6ede224f5 Binary files /dev/null and b/public/img/__og-image/2024/lee_byron.25jvpjmb.png differ diff --git a/public/img/__og-image/2024/mahoney.mattj.png b/public/img/__og-image/2024/mahoney.mattj.png new file mode 100644 index 0000000000..a4e6d3ff2d Binary files /dev/null and b/public/img/__og-image/2024/mahoney.mattj.png differ diff --git a/public/img/__og-image/2024/martijn@martijnwalraven.com.png b/public/img/__og-image/2024/martijn@martijnwalraven.com.png new file mode 100644 index 0000000000..65ce7e3f4d Binary files /dev/null and b/public/img/__og-image/2024/martijn@martijnwalraven.com.png differ diff --git a/public/img/__og-image/2024/mauricio.montalvo.guzman@gmail.com.png b/public/img/__og-image/2024/mauricio.montalvo.guzman@gmail.com.png new file mode 100644 index 0000000000..bebf850bc6 Binary files /dev/null and b/public/img/__og-image/2024/mauricio.montalvo.guzman@gmail.com.png differ diff --git a/public/img/__og-image/2024/michael_staib.23xujj9p.png b/public/img/__og-image/2024/michael_staib.23xujj9p.png new file mode 100644 index 0000000000..ddf5fa4c2f Binary files /dev/null and b/public/img/__og-image/2024/michael_staib.23xujj9p.png differ diff --git a/public/img/__og-image/2024/omribruchim@gmail.com.png b/public/img/__og-image/2024/omribruchim@gmail.com.png new file mode 100644 index 0000000000..0d5eee471f Binary files /dev/null and b/public/img/__og-image/2024/omribruchim@gmail.com.png differ diff --git a/public/img/__og-image/2024/pascal@chillicream.com.png b/public/img/__og-image/2024/pascal@chillicream.com.png new file mode 100644 index 0000000000..1f96916c14 Binary files /dev/null and b/public/img/__og-image/2024/pascal@chillicream.com.png differ diff --git a/public/img/__og-image/2024/pooja.mistry1.png b/public/img/__og-image/2024/pooja.mistry1.png new file mode 100644 index 0000000000..9919828253 Binary files /dev/null and b/public/img/__og-image/2024/pooja.mistry1.png differ diff --git a/public/img/__og-image/2024/qkw1221.png b/public/img/__og-image/2024/qkw1221.png new file mode 100644 index 0000000000..f9aeda026a Binary files /dev/null and b/public/img/__og-image/2024/qkw1221.png differ diff --git a/public/img/__og-image/2024/rachit_sengupta@intuit.com.png b/public/img/__og-image/2024/rachit_sengupta@intuit.com.png new file mode 100644 index 0000000000..5614c19589 Binary files /dev/null and b/public/img/__og-image/2024/rachit_sengupta@intuit.com.png differ diff --git a/public/img/__og-image/2024/rama_palaniappan@intuit.com.png b/public/img/__og-image/2024/rama_palaniappan@intuit.com.png new file mode 100644 index 0000000000..f5d017eb94 Binary files /dev/null and b/public/img/__og-image/2024/rama_palaniappan@intuit.com.png differ diff --git a/public/img/__og-image/2024/ramnivas@exograph.dev.png b/public/img/__og-image/2024/ramnivas@exograph.dev.png new file mode 100644 index 0000000000..8d5bbadd67 Binary files /dev/null and b/public/img/__og-image/2024/ramnivas@exograph.dev.png differ diff --git a/public/img/__og-image/2024/rikki.schulte@gmail.com.png b/public/img/__og-image/2024/rikki.schulte@gmail.com.png new file mode 100644 index 0000000000..af88aeced0 Binary files /dev/null and b/public/img/__og-image/2024/rikki.schulte@gmail.com.png differ diff --git a/public/img/__og-image/2024/robert.balicki.png b/public/img/__og-image/2024/robert.balicki.png new file mode 100644 index 0000000000..8c9c6dabca Binary files /dev/null and b/public/img/__og-image/2024/robert.balicki.png differ diff --git a/public/img/__og-image/2024/robrichard87@gmail.com.png b/public/img/__og-image/2024/robrichard87@gmail.com.png new file mode 100644 index 0000000000..633cf3c3da Binary files /dev/null and b/public/img/__og-image/2024/robrichard87@gmail.com.png differ diff --git a/public/img/__og-image/2024/ruben.cagnie@toasttab.com.png b/public/img/__og-image/2024/ruben.cagnie@toasttab.com.png new file mode 100644 index 0000000000..eaaccf486d Binary files /dev/null and b/public/img/__og-image/2024/ruben.cagnie@toasttab.com.png differ diff --git a/public/img/__og-image/2024/sabrina.wasserman@gmail.com.png b/public/img/__og-image/2024/sabrina.wasserman@gmail.com.png new file mode 100644 index 0000000000..bcab1f1ae3 Binary files /dev/null and b/public/img/__og-image/2024/sabrina.wasserman@gmail.com.png differ diff --git a/public/img/__og-image/2024/saihajpreet.singh@gmail.com.png b/public/img/__og-image/2024/saihajpreet.singh@gmail.com.png new file mode 100644 index 0000000000..1eec28ef16 Binary files /dev/null and b/public/img/__og-image/2024/saihajpreet.singh@gmail.com.png differ diff --git a/public/img/__og-image/2024/sasanders26@gmail.com.png b/public/img/__og-image/2024/sasanders26@gmail.com.png new file mode 100644 index 0000000000..4194d133c6 Binary files /dev/null and b/public/img/__og-image/2024/sasanders26@gmail.com.png differ diff --git a/public/img/__og-image/2024/sasha177.png b/public/img/__og-image/2024/sasha177.png new file mode 100644 index 0000000000..67666ce05c Binary files /dev/null and b/public/img/__og-image/2024/sasha177.png differ diff --git a/public/img/__og-image/2024/seiyaizumi.png b/public/img/__og-image/2024/seiyaizumi.png new file mode 100644 index 0000000000..a25c953feb Binary files /dev/null and b/public/img/__og-image/2024/seiyaizumi.png differ diff --git a/public/img/__og-image/2024/siva27.png b/public/img/__og-image/2024/siva27.png new file mode 100644 index 0000000000..a9db43663e Binary files /dev/null and b/public/img/__og-image/2024/siva27.png differ diff --git a/public/img/__og-image/2024/sspalding2.png b/public/img/__og-image/2024/sspalding2.png new file mode 100644 index 0000000000..07f7845c7d Binary files /dev/null and b/public/img/__og-image/2024/sspalding2.png differ diff --git a/public/img/__og-image/2024/stefan239.png b/public/img/__og-image/2024/stefan239.png new file mode 100644 index 0000000000..6b1f92868a Binary files /dev/null and b/public/img/__og-image/2024/stefan239.png differ diff --git a/public/img/__og-image/2024/tushar@tailcall.run.png b/public/img/__og-image/2024/tushar@tailcall.run.png new file mode 100644 index 0000000000..ea3d21bd53 Binary files /dev/null and b/public/img/__og-image/2024/tushar@tailcall.run.png differ diff --git a/public/img/__og-image/2024/tweetamar.png b/public/img/__og-image/2024/tweetamar.png new file mode 100644 index 0000000000..206995fbea Binary files /dev/null and b/public/img/__og-image/2024/tweetamar.png differ diff --git a/public/img/__og-image/2024/twitter7.png b/public/img/__og-image/2024/twitter7.png new file mode 100644 index 0000000000..b848a72d72 Binary files /dev/null and b/public/img/__og-image/2024/twitter7.png differ diff --git a/public/img/__og-image/2024/uri_goldshtein.23xujj9a.png b/public/img/__og-image/2024/uri_goldshtein.23xujj9a.png new file mode 100644 index 0000000000..435dc0dc01 Binary files /dev/null and b/public/img/__og-image/2024/uri_goldshtein.23xujj9a.png differ diff --git a/public/img/__og-image/2024/vincent@teamstarter.co.png b/public/img/__og-image/2024/vincent@teamstarter.co.png new file mode 100644 index 0000000000..b618734b57 Binary files /dev/null and b/public/img/__og-image/2024/vincent@teamstarter.co.png differ diff --git a/public/img/__og-image/2024/watson17.png b/public/img/__og-image/2024/watson17.png new file mode 100644 index 0000000000..13f376a021 Binary files /dev/null and b/public/img/__og-image/2024/watson17.png differ diff --git a/public/img/__og-image/2024/yassineldeeb94.png b/public/img/__og-image/2024/yassineldeeb94.png new file mode 100644 index 0000000000..dd6a356c08 Binary files /dev/null and b/public/img/__og-image/2024/yassineldeeb94.png differ diff --git a/public/img/bg-graphql-conf.png b/public/img/bg-graphql-conf.png new file mode 100644 index 0000000000..c6bd1ea14c Binary files /dev/null and b/public/img/bg-graphql-conf.png differ diff --git a/public/img/blog/20160502-rest-api-graphql-wrapper/dataloader-query.png b/public/img/blog/20160502-rest-api-graphql-wrapper/dataloader-query.png new file mode 100644 index 0000000000..8da76bae52 Binary files /dev/null and b/public/img/blog/20160502-rest-api-graphql-wrapper/dataloader-query.png differ diff --git a/public/img/blog/20160502-rest-api-graphql-wrapper/pathological-query.png b/public/img/blog/20160502-rest-api-graphql-wrapper/pathological-query.png new file mode 100644 index 0000000000..67ca988f18 Binary files /dev/null and b/public/img/blog/20160502-rest-api-graphql-wrapper/pathological-query.png differ diff --git a/public/img/blog/20160502-rest-api-graphql-wrapper/rest-api-people.png b/public/img/blog/20160502-rest-api-graphql-wrapper/rest-api-people.png new file mode 100644 index 0000000000..ebe9cffd31 Binary files /dev/null and b/public/img/blog/20160502-rest-api-graphql-wrapper/rest-api-people.png differ diff --git a/public/img/blog/2023-08-01-key-insights-from-the-graphql-eu-gathering/banner.jpg b/public/img/blog/2023-08-01-key-insights-from-the-graphql-eu-gathering/banner.jpg new file mode 100644 index 0000000000..631a982d39 Binary files /dev/null and b/public/img/blog/2023-08-01-key-insights-from-the-graphql-eu-gathering/banner.jpg differ diff --git a/public/img/blog/2023-08-01-key-insights-from-the-graphql-eu-gathering/whiteboard.jpg b/public/img/blog/2023-08-01-key-insights-from-the-graphql-eu-gathering/whiteboard.jpg new file mode 100644 index 0000000000..9164761eb2 Binary files /dev/null and b/public/img/blog/2023-08-01-key-insights-from-the-graphql-eu-gathering/whiteboard.jpg differ diff --git a/public/img/brand/do.svg b/public/img/brand/do.svg new file mode 100644 index 0000000000..f396271e38 --- /dev/null +++ b/public/img/brand/do.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/public/img/brand/dont.svg b/public/img/brand/dont.svg new file mode 100644 index 0000000000..47cfde83f8 --- /dev/null +++ b/public/img/brand/dont.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/public/img/brand/graphql-brand-assets.zip b/public/img/brand/graphql-brand-assets.zip new file mode 100644 index 0000000000..bc4a53d8ee Binary files /dev/null and b/public/img/brand/graphql-brand-assets.zip differ diff --git a/public/img/brand/logo-dont/dont-add.svg b/public/img/brand/logo-dont/dont-add.svg new file mode 100644 index 0000000000..156fc8cd7d --- /dev/null +++ b/public/img/brand/logo-dont/dont-add.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/public/img/brand/logo-dont/dont-change-typeface.svg b/public/img/brand/logo-dont/dont-change-typeface.svg new file mode 100644 index 0000000000..ce29c568d8 --- /dev/null +++ b/public/img/brand/logo-dont/dont-change-typeface.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/public/img/brand/logo-dont/dont-color-wordmark.svg b/public/img/brand/logo-dont/dont-color-wordmark.svg new file mode 100644 index 0000000000..72a9832b1a --- /dev/null +++ b/public/img/brand/logo-dont/dont-color-wordmark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/img/brand/logo-dont/dont-color.svg b/public/img/brand/logo-dont/dont-color.svg new file mode 100644 index 0000000000..def2a7b813 --- /dev/null +++ b/public/img/brand/logo-dont/dont-color.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/img/brand/logo-dont/dont-complex-background.jpg b/public/img/brand/logo-dont/dont-complex-background.jpg new file mode 100644 index 0000000000..57db344c50 Binary files /dev/null and b/public/img/brand/logo-dont/dont-complex-background.jpg differ diff --git a/public/img/brand/logo-dont/dont-decorate.svg b/public/img/brand/logo-dont/dont-decorate.svg new file mode 100644 index 0000000000..68e8793623 --- /dev/null +++ b/public/img/brand/logo-dont/dont-decorate.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/public/img/brand/logo-dont/dont-effect.svg b/public/img/brand/logo-dont/dont-effect.svg new file mode 100644 index 0000000000..4d87b456a5 --- /dev/null +++ b/public/img/brand/logo-dont/dont-effect.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/img/brand/logo-dont/dont-gradient.svg b/public/img/brand/logo-dont/dont-gradient.svg new file mode 100644 index 0000000000..1f7ba7cf23 --- /dev/null +++ b/public/img/brand/logo-dont/dont-gradient.svg @@ -0,0 +1,11 @@ + + + + + + + + + diff --git a/public/img/brand/logo-dont/dont-remove.svg b/public/img/brand/logo-dont/dont-remove.svg new file mode 100644 index 0000000000..9cec9791cd --- /dev/null +++ b/public/img/brand/logo-dont/dont-remove.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/public/img/brand/logo-dont/dont-resize-1.svg b/public/img/brand/logo-dont/dont-resize-1.svg new file mode 100644 index 0000000000..2e23ec4837 --- /dev/null +++ b/public/img/brand/logo-dont/dont-resize-1.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/public/img/brand/logo-dont/dont-resize-2.svg b/public/img/brand/logo-dont/dont-resize-2.svg new file mode 100644 index 0000000000..7a734c6c43 --- /dev/null +++ b/public/img/brand/logo-dont/dont-resize-2.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/public/img/brand/logo-dont/dont-resize-wordmark.svg b/public/img/brand/logo-dont/dont-resize-wordmark.svg new file mode 100644 index 0000000000..fa00a534cc --- /dev/null +++ b/public/img/brand/logo-dont/dont-resize-wordmark.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/public/img/brand/logo-dont/dont-rotate.svg b/public/img/brand/logo-dont/dont-rotate.svg new file mode 100644 index 0000000000..a60cf1e7eb --- /dev/null +++ b/public/img/brand/logo-dont/dont-rotate.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/public/img/brand/logo-dont/dont-stretch.svg b/public/img/brand/logo-dont/dont-stretch.svg new file mode 100644 index 0000000000..08c969b0dd --- /dev/null +++ b/public/img/brand/logo-dont/dont-stretch.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/public/img/brand/logos/logo-black.svg b/public/img/brand/logos/logo-black.svg new file mode 100644 index 0000000000..c66fbf3b8d --- /dev/null +++ b/public/img/brand/logos/logo-black.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/img/brand/logos/logo-foundation-stacked.svg b/public/img/brand/logos/logo-foundation-stacked.svg new file mode 100644 index 0000000000..739c279ddb --- /dev/null +++ b/public/img/brand/logos/logo-foundation-stacked.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/img/brand/logos/logo-foundation-wordmark.svg b/public/img/brand/logos/logo-foundation-wordmark.svg new file mode 100644 index 0000000000..c4aa91781c --- /dev/null +++ b/public/img/brand/logos/logo-foundation-wordmark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/img/brand/logos/logo-space.svg b/public/img/brand/logos/logo-space.svg new file mode 100644 index 0000000000..329e59e53a --- /dev/null +++ b/public/img/brand/logos/logo-space.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/public/img/brand/logos/logo-stacked.svg b/public/img/brand/logos/logo-stacked.svg new file mode 100644 index 0000000000..1dcab45bbd --- /dev/null +++ b/public/img/brand/logos/logo-stacked.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/img/brand/logos/logo-white.svg b/public/img/brand/logos/logo-white.svg new file mode 100644 index 0000000000..dde596a42f --- /dev/null +++ b/public/img/brand/logos/logo-white.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/img/brand/logos/logo-wordmark-space.svg b/public/img/brand/logos/logo-wordmark-space.svg new file mode 100644 index 0000000000..32249c7782 --- /dev/null +++ b/public/img/brand/logos/logo-wordmark-space.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/public/img/brand/logos/logo-wordmark.svg b/public/img/brand/logos/logo-wordmark.svg new file mode 100644 index 0000000000..ba95925aec --- /dev/null +++ b/public/img/brand/logos/logo-wordmark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/img/brand/logos/logo.svg b/public/img/brand/logos/logo.svg new file mode 100644 index 0000000000..cbf9d25cbe --- /dev/null +++ b/public/img/brand/logos/logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/img/conf/Partners/AmsterdamGraphQL.svg b/public/img/conf/Partners/AmsterdamGraphQL.svg new file mode 100644 index 0000000000..e88562589c --- /dev/null +++ b/public/img/conf/Partners/AmsterdamGraphQL.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/public/img/conf/Partners/BangkokGraphQL.svg b/public/img/conf/Partners/BangkokGraphQL.svg new file mode 100644 index 0000000000..3e0c609b6b --- /dev/null +++ b/public/img/conf/Partners/BangkokGraphQL.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/public/img/conf/Partners/EscapeTechnologies.svg b/public/img/conf/Partners/EscapeTechnologies.svg new file mode 100644 index 0000000000..ee342f9a6c --- /dev/null +++ b/public/img/conf/Partners/EscapeTechnologies.svg @@ -0,0 +1,12 @@ + + + + + + diff --git a/public/img/conf/Partners/GraphQLWeekly.svg b/public/img/conf/Partners/GraphQLWeekly.svg new file mode 100644 index 0000000000..fcfbbb6b30 --- /dev/null +++ b/public/img/conf/Partners/GraphQLWeekly.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/img/conf/Partners/GraphQLwtf.svg b/public/img/conf/Partners/GraphQLwtf.svg new file mode 100644 index 0000000000..cb66ef281d --- /dev/null +++ b/public/img/conf/Partners/GraphQLwtf.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/img/conf/Partners/TypeGraphQL.svg b/public/img/conf/Partners/TypeGraphQL.svg new file mode 100644 index 0000000000..8bcc5b659d --- /dev/null +++ b/public/img/conf/Partners/TypeGraphQL.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/public/img/conf/Sponsors/Apollo.svg b/public/img/conf/Sponsors/Apollo.svg new file mode 100644 index 0000000000..61da635407 --- /dev/null +++ b/public/img/conf/Sponsors/Apollo.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/public/img/conf/Sponsors/Grafbase.svg b/public/img/conf/Sponsors/Grafbase.svg new file mode 100644 index 0000000000..2b99439008 --- /dev/null +++ b/public/img/conf/Sponsors/Grafbase.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/public/img/conf/Sponsors/Graphabase.svg b/public/img/conf/Sponsors/Graphabase.svg new file mode 100644 index 0000000000..fabc6a552d --- /dev/null +++ b/public/img/conf/Sponsors/Graphabase.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/public/img/conf/Sponsors/Graphweaver.svg b/public/img/conf/Sponsors/Graphweaver.svg new file mode 100644 index 0000000000..084dd8bf38 --- /dev/null +++ b/public/img/conf/Sponsors/Graphweaver.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/img/conf/Sponsors/Hasura.svg b/public/img/conf/Sponsors/Hasura.svg new file mode 100644 index 0000000000..2357c2a537 --- /dev/null +++ b/public/img/conf/Sponsors/Hasura.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/public/img/conf/Sponsors/Hygraph.svg b/public/img/conf/Sponsors/Hygraph.svg new file mode 100644 index 0000000000..88d397b1d3 --- /dev/null +++ b/public/img/conf/Sponsors/Hygraph.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/public/img/conf/Sponsors/IBM.svg b/public/img/conf/Sponsors/IBM.svg new file mode 100644 index 0000000000..55abf2df9f --- /dev/null +++ b/public/img/conf/Sponsors/IBM.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/img/conf/Sponsors/Inigo.svg b/public/img/conf/Sponsors/Inigo.svg new file mode 100644 index 0000000000..06e7e416e1 --- /dev/null +++ b/public/img/conf/Sponsors/Inigo.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/img/conf/Sponsors/Intuit.svg b/public/img/conf/Sponsors/Intuit.svg new file mode 100644 index 0000000000..a47c4a1736 --- /dev/null +++ b/public/img/conf/Sponsors/Intuit.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/public/img/conf/Sponsors/Neo4j.svg b/public/img/conf/Sponsors/Neo4j.svg new file mode 100644 index 0000000000..85420437ec --- /dev/null +++ b/public/img/conf/Sponsors/Neo4j.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/img/conf/Sponsors/Postman.svg b/public/img/conf/Sponsors/Postman.svg new file mode 100644 index 0000000000..aaa4d2964b --- /dev/null +++ b/public/img/conf/Sponsors/Postman.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/public/img/conf/Sponsors/Solo.svg b/public/img/conf/Sponsors/Solo.svg new file mode 100644 index 0000000000..37badbabd5 --- /dev/null +++ b/public/img/conf/Sponsors/Solo.svg @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/img/conf/Sponsors/Stellate.svg b/public/img/conf/Sponsors/Stellate.svg new file mode 100644 index 0000000000..040dcb6d2d --- /dev/null +++ b/public/img/conf/Sponsors/Stellate.svg @@ -0,0 +1,10 @@ + + + + + diff --git a/public/img/conf/Sponsors/StepZen.svg b/public/img/conf/Sponsors/StepZen.svg new file mode 100644 index 0000000000..f395f6bd69 --- /dev/null +++ b/public/img/conf/Sponsors/StepZen.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/public/img/conf/Sponsors/TheGraph.svg b/public/img/conf/Sponsors/TheGraph.svg new file mode 100644 index 0000000000..ebf5cdb90c --- /dev/null +++ b/public/img/conf/Sponsors/TheGraph.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/public/img/conf/Sponsors/TheGuild.svg b/public/img/conf/Sponsors/TheGuild.svg new file mode 100644 index 0000000000..92a2f76bca --- /dev/null +++ b/public/img/conf/Sponsors/TheGuild.svg @@ -0,0 +1,8 @@ + + + + diff --git a/public/img/conf/Sponsors/Tyk.svg b/public/img/conf/Sponsors/Tyk.svg new file mode 100644 index 0000000000..06fa8b1397 --- /dev/null +++ b/public/img/conf/Sponsors/Tyk.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/public/img/conf/Sponsors/WunderGraph.svg b/public/img/conf/Sponsors/WunderGraph.svg new file mode 100644 index 0000000000..97a67f5b9b --- /dev/null +++ b/public/img/conf/Sponsors/WunderGraph.svg @@ -0,0 +1,151 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/img/conf/conf-bg.png b/public/img/conf/conf-bg.png new file mode 100644 index 0000000000..11733a1486 Binary files /dev/null and b/public/img/conf/conf-bg.png differ diff --git a/public/img/conf/golden-gate-bridge.png b/public/img/conf/golden-gate-bridge.png new file mode 100644 index 0000000000..52ee65aa7b Binary files /dev/null and b/public/img/conf/golden-gate-bridge.png differ diff --git a/public/img/conf/graphql-conf-bg.png b/public/img/conf/graphql-conf-bg.png new file mode 100644 index 0000000000..df7e58c44b Binary files /dev/null and b/public/img/conf/graphql-conf-bg.png differ diff --git a/public/img/conf/graphql-conf-footer.png b/public/img/conf/graphql-conf-footer.png new file mode 100644 index 0000000000..84492ad1c8 Binary files /dev/null and b/public/img/conf/graphql-conf-footer.png differ diff --git a/public/img/conf/graphql-conf-header.svg b/public/img/conf/graphql-conf-header.svg new file mode 100644 index 0000000000..5d60eb3ed6 --- /dev/null +++ b/public/img/conf/graphql-conf-header.svg @@ -0,0 +1,414 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/img/conf/graphql-conf-logo-simple.svg b/public/img/conf/graphql-conf-logo-simple.svg new file mode 100644 index 0000000000..33ef6ed204 --- /dev/null +++ b/public/img/conf/graphql-conf-logo-simple.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/public/img/conf/graphql-conf-logo.svg b/public/img/conf/graphql-conf-logo.svg new file mode 100644 index 0000000000..d897871672 --- /dev/null +++ b/public/img/conf/graphql-conf-logo.svg @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/img/conf/logo-color.png b/public/img/conf/logo-color.png new file mode 100644 index 0000000000..fc9f5112cd Binary files /dev/null and b/public/img/conf/logo-color.png differ diff --git a/public/img/conf/social-pk.jpg b/public/img/conf/social-pk.jpg new file mode 100644 index 0000000000..741ac47a93 Binary files /dev/null and b/public/img/conf/social-pk.jpg differ diff --git a/public/img/conf/speakers/idit.jpg b/public/img/conf/speakers/idit.jpg new file mode 100644 index 0000000000..d5c17db950 Binary files /dev/null and b/public/img/conf/speakers/idit.jpg differ diff --git a/public/img/conf/speakers/leebyron.jpg b/public/img/conf/speakers/leebyron.jpg new file mode 100644 index 0000000000..3377fd7ee3 Binary files /dev/null and b/public/img/conf/speakers/leebyron.jpg differ diff --git a/public/img/conf/speakers/marcandre.jpg b/public/img/conf/speakers/marcandre.jpg new file mode 100644 index 0000000000..93bbcbd723 Binary files /dev/null and b/public/img/conf/speakers/marcandre.jpg differ diff --git a/public/img/conf/speakers/uri.jpg b/public/img/conf/speakers/uri.jpg new file mode 100644 index 0000000000..8965ee3d1f Binary files /dev/null and b/public/img/conf/speakers/uri.jpg differ diff --git a/public/img/diagrams/business_layer.png b/public/img/diagrams/business_layer.png new file mode 100644 index 0000000000..87470e271c Binary files /dev/null and b/public/img/diagrams/business_layer.png differ diff --git a/public/img/downarrow.svg b/public/img/downarrow.svg new file mode 100644 index 0000000000..66d1586245 --- /dev/null +++ b/public/img/downarrow.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/img/edit.svg b/public/img/edit.svg new file mode 100644 index 0000000000..73f71098d5 --- /dev/null +++ b/public/img/edit.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/img/graph-wash.png b/public/img/graph-wash.png new file mode 100644 index 0000000000..678844a070 Binary files /dev/null and b/public/img/graph-wash.png differ diff --git a/public/img/graphiql-dark.mp4 b/public/img/graphiql-dark.mp4 new file mode 100644 index 0000000000..63ad151c26 Binary files /dev/null and b/public/img/graphiql-dark.mp4 differ diff --git a/public/img/graphiql-light.mp4 b/public/img/graphiql-light.mp4 new file mode 100644 index 0000000000..861125bc4f Binary files /dev/null and b/public/img/graphiql-light.mp4 differ diff --git a/site/img/graphiql.mp4 b/public/img/graphiql.mp4 similarity index 100% rename from site/img/graphiql.mp4 rename to public/img/graphiql.mp4 diff --git a/public/img/graphql-conf-logo.svg b/public/img/graphql-conf-logo.svg new file mode 100644 index 0000000000..0fb776ca75 --- /dev/null +++ b/public/img/graphql-conf-logo.svg @@ -0,0 +1,19 @@ + + GraphQLCon-2023__400x425_Event Logo White.svg + + + + + + + + + + + + diff --git a/public/img/graphql_conf-details-white.svg b/public/img/graphql_conf-details-white.svg new file mode 100644 index 0000000000..ba59ed770a --- /dev/null +++ b/public/img/graphql_conf-details-white.svg @@ -0,0 +1,223 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/img/graphql_conf-details.svg b/public/img/graphql_conf-details.svg new file mode 100644 index 0000000000..5dc175f061 --- /dev/null +++ b/public/img/graphql_conf-details.svg @@ -0,0 +1,210 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/img/graphql_foundation-hero.jpg b/public/img/graphql_foundation-hero.jpg new file mode 100644 index 0000000000..b9ecc462fe Binary files /dev/null and b/public/img/graphql_foundation-hero.jpg differ diff --git a/public/img/graphql_foundation-logo-white.svg b/public/img/graphql_foundation-logo-white.svg new file mode 100644 index 0000000000..1f58e2cfba --- /dev/null +++ b/public/img/graphql_foundation-logo-white.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/img/logo-gray.svg b/public/img/logo-gray.svg new file mode 100644 index 0000000000..b0d1234306 --- /dev/null +++ b/public/img/logo-gray.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/img/logo.svg b/public/img/logo.svg new file mode 100644 index 0000000000..cbf9d25cbe --- /dev/null +++ b/public/img/logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/img/logos/discord.svg b/public/img/logos/discord.svg new file mode 100644 index 0000000000..99b89c3379 --- /dev/null +++ b/public/img/logos/discord.svg @@ -0,0 +1,10 @@ + + Discord + + diff --git a/public/img/logos/facebook.svg b/public/img/logos/facebook.svg new file mode 100644 index 0000000000..d3ac4aeae7 --- /dev/null +++ b/public/img/logos/facebook.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + diff --git a/public/img/logos/github.svg b/public/img/logos/github.svg new file mode 100644 index 0000000000..29e6680d00 --- /dev/null +++ b/public/img/logos/github.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/img/logos/gsoc.svg b/public/img/logos/gsoc.svg new file mode 100644 index 0000000000..d8bc8cd4e8 --- /dev/null +++ b/public/img/logos/gsoc.svg @@ -0,0 +1,41 @@ + + + + logo_lockup_summer_of_code_horizontal_Roboto + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/img/logos/instagram.svg b/public/img/logos/instagram.svg new file mode 100644 index 0000000000..d37922b6f7 --- /dev/null +++ b/public/img/logos/instagram.svg @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/img/logos/linkedin.svg b/public/img/logos/linkedin.svg new file mode 100644 index 0000000000..ca3e9675a9 --- /dev/null +++ b/public/img/logos/linkedin.svg @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/public/img/logos/snapchat.svg b/public/img/logos/snapchat.svg new file mode 100644 index 0000000000..a4684fb072 --- /dev/null +++ b/public/img/logos/snapchat.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/public/img/logos/stackoverflow.svg b/public/img/logos/stackoverflow.svg new file mode 100644 index 0000000000..3e88022c25 --- /dev/null +++ b/public/img/logos/stackoverflow.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/img/logos/twitter.svg b/public/img/logos/twitter.svg new file mode 100644 index 0000000000..a7c65805b2 --- /dev/null +++ b/public/img/logos/twitter.svg @@ -0,0 +1,3 @@ + diff --git a/public/img/menu-white.svg b/public/img/menu-white.svg new file mode 100644 index 0000000000..38f2f03a09 --- /dev/null +++ b/public/img/menu-white.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/img/menu.svg b/public/img/menu.svg new file mode 100644 index 0000000000..b23e0a3c49 --- /dev/null +++ b/public/img/menu.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/img/news/annual-report-1.png b/public/img/news/annual-report-1.png new file mode 100644 index 0000000000..2acb7e540b Binary files /dev/null and b/public/img/news/annual-report-1.png differ diff --git a/public/img/news/annual-report-2.png b/public/img/news/annual-report-2.png new file mode 100644 index 0000000000..8cc7554213 Binary files /dev/null and b/public/img/news/annual-report-2.png differ diff --git a/public/img/news/annual-report-3.png b/public/img/news/annual-report-3.png new file mode 100644 index 0000000000..6600d67828 Binary files /dev/null and b/public/img/news/annual-report-3.png differ diff --git a/public/img/news/annual-report-4.png b/public/img/news/annual-report-4.png new file mode 100644 index 0000000000..ed6e80dee7 Binary files /dev/null and b/public/img/news/annual-report-4.png differ diff --git a/public/img/news/graphiql-parser.png b/public/img/news/graphiql-parser.png new file mode 100644 index 0000000000..44be5b6d25 Binary files /dev/null and b/public/img/news/graphiql-parser.png differ diff --git a/public/img/news/playground-transition-banner.png b/public/img/news/playground-transition-banner.png new file mode 100644 index 0000000000..e5258341f2 Binary files /dev/null and b/public/img/news/playground-transition-banner.png differ diff --git a/public/img/og-graphql-conf-2024.jpeg b/public/img/og-graphql-conf-2024.jpeg new file mode 100644 index 0000000000..ad2dff2c58 Binary files /dev/null and b/public/img/og-graphql-conf-2024.jpeg differ diff --git a/public/img/og-image.png b/public/img/og-image.png new file mode 100644 index 0000000000..466376270b Binary files /dev/null and b/public/img/og-image.png differ diff --git a/public/img/phone.svg b/public/img/phone.svg new file mode 100644 index 0000000000..194c827b44 --- /dev/null +++ b/public/img/phone.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/img/report/amazon-web-services.svg b/public/img/report/amazon-web-services.svg new file mode 100644 index 0000000000..4760c9b813 --- /dev/null +++ b/public/img/report/amazon-web-services.svg @@ -0,0 +1 @@ +Amazon Web Services logo \ No newline at end of file diff --git a/public/img/report/apollo-graphql.svg b/public/img/report/apollo-graphql.svg new file mode 100644 index 0000000000..3ba8f37b61 --- /dev/null +++ b/public/img/report/apollo-graphql.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/img/report/expedia-group.svg b/public/img/report/expedia-group.svg new file mode 100644 index 0000000000..aa42b07ba8 --- /dev/null +++ b/public/img/report/expedia-group.svg @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + diff --git a/public/img/report/facebook.svg b/public/img/report/facebook.svg new file mode 100644 index 0000000000..8bed232831 --- /dev/null +++ b/public/img/report/facebook.svg @@ -0,0 +1 @@ +facebook \ No newline at end of file diff --git a/public/img/report/hasura.svg b/public/img/report/hasura.svg new file mode 100644 index 0000000000..c17349e8cf --- /dev/null +++ b/public/img/report/hasura.svg @@ -0,0 +1 @@ +Hasura Technologies (member) logo \ No newline at end of file diff --git a/public/img/report/ibm.svg b/public/img/report/ibm.svg new file mode 100644 index 0000000000..08bbfc7a58 --- /dev/null +++ b/public/img/report/ibm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/img/report/novvum.svg b/public/img/report/novvum.svg new file mode 100644 index 0000000000..f92e564e5c --- /dev/null +++ b/public/img/report/novvum.svg @@ -0,0 +1,15 @@ + + + + Novvum SQUARED + Created with Sketch. + + + + + + + \ No newline at end of file diff --git a/public/img/report/paypal.svg b/public/img/report/paypal.svg new file mode 100644 index 0000000000..150f7badbc --- /dev/null +++ b/public/img/report/paypal.svg @@ -0,0 +1,39 @@ + +image/svg+xml \ No newline at end of file diff --git a/public/img/report/salsify.svg b/public/img/report/salsify.svg new file mode 100644 index 0000000000..b52588935f --- /dev/null +++ b/public/img/report/salsify.svg @@ -0,0 +1,669 @@ + +image/svg+xml \ No newline at end of file diff --git a/public/img/search.png b/public/img/search.png new file mode 100644 index 0000000000..1701b1acb3 Binary files /dev/null and b/public/img/search.png differ diff --git a/public/img/search.svg b/public/img/search.svg new file mode 100644 index 0000000000..3eb4c178c5 --- /dev/null +++ b/public/img/search.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/img/server.svg b/public/img/server.svg new file mode 100644 index 0000000000..8c305d15bf --- /dev/null +++ b/public/img/server.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/nextImageExportOptimizer/1.b9d923f4-opt-10.WEBP b/public/nextImageExportOptimizer/1.b9d923f4-opt-10.WEBP new file mode 100644 index 0000000000..14c77d77be Binary files /dev/null and b/public/nextImageExportOptimizer/1.b9d923f4-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/1.b9d923f4-opt-1080.WEBP b/public/nextImageExportOptimizer/1.b9d923f4-opt-1080.WEBP new file mode 100644 index 0000000000..dfaa9d2320 Binary files /dev/null and b/public/nextImageExportOptimizer/1.b9d923f4-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/1.b9d923f4-opt-1200.WEBP b/public/nextImageExportOptimizer/1.b9d923f4-opt-1200.WEBP new file mode 100644 index 0000000000..c825ee5838 Binary files /dev/null and b/public/nextImageExportOptimizer/1.b9d923f4-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/1.b9d923f4-opt-128.WEBP b/public/nextImageExportOptimizer/1.b9d923f4-opt-128.WEBP new file mode 100644 index 0000000000..cc423fb405 Binary files /dev/null and b/public/nextImageExportOptimizer/1.b9d923f4-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/1.b9d923f4-opt-16.WEBP b/public/nextImageExportOptimizer/1.b9d923f4-opt-16.WEBP new file mode 100644 index 0000000000..98c823cfb6 Binary files /dev/null and b/public/nextImageExportOptimizer/1.b9d923f4-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/1.b9d923f4-opt-1920.WEBP b/public/nextImageExportOptimizer/1.b9d923f4-opt-1920.WEBP new file mode 100644 index 0000000000..4ef0b5ecdb Binary files /dev/null and b/public/nextImageExportOptimizer/1.b9d923f4-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/1.b9d923f4-opt-2048.WEBP b/public/nextImageExportOptimizer/1.b9d923f4-opt-2048.WEBP new file mode 100644 index 0000000000..5cb6506e35 Binary files /dev/null and b/public/nextImageExportOptimizer/1.b9d923f4-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/1.b9d923f4-opt-256.WEBP b/public/nextImageExportOptimizer/1.b9d923f4-opt-256.WEBP new file mode 100644 index 0000000000..cf592d4be1 Binary files /dev/null and b/public/nextImageExportOptimizer/1.b9d923f4-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/1.b9d923f4-opt-32.WEBP b/public/nextImageExportOptimizer/1.b9d923f4-opt-32.WEBP new file mode 100644 index 0000000000..454d1fe7b2 Binary files /dev/null and b/public/nextImageExportOptimizer/1.b9d923f4-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/1.b9d923f4-opt-384.WEBP b/public/nextImageExportOptimizer/1.b9d923f4-opt-384.WEBP new file mode 100644 index 0000000000..025ed89fd4 Binary files /dev/null and b/public/nextImageExportOptimizer/1.b9d923f4-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/1.b9d923f4-opt-3840.WEBP b/public/nextImageExportOptimizer/1.b9d923f4-opt-3840.WEBP new file mode 100644 index 0000000000..57ad427761 Binary files /dev/null and b/public/nextImageExportOptimizer/1.b9d923f4-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/1.b9d923f4-opt-48.WEBP b/public/nextImageExportOptimizer/1.b9d923f4-opt-48.WEBP new file mode 100644 index 0000000000..af55ae1e6c Binary files /dev/null and b/public/nextImageExportOptimizer/1.b9d923f4-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/1.b9d923f4-opt-64.WEBP b/public/nextImageExportOptimizer/1.b9d923f4-opt-64.WEBP new file mode 100644 index 0000000000..91a3f827b6 Binary files /dev/null and b/public/nextImageExportOptimizer/1.b9d923f4-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/1.b9d923f4-opt-640.WEBP b/public/nextImageExportOptimizer/1.b9d923f4-opt-640.WEBP new file mode 100644 index 0000000000..8378d32fc0 Binary files /dev/null and b/public/nextImageExportOptimizer/1.b9d923f4-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/1.b9d923f4-opt-750.WEBP b/public/nextImageExportOptimizer/1.b9d923f4-opt-750.WEBP new file mode 100644 index 0000000000..b73d8595bd Binary files /dev/null and b/public/nextImageExportOptimizer/1.b9d923f4-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/1.b9d923f4-opt-828.WEBP b/public/nextImageExportOptimizer/1.b9d923f4-opt-828.WEBP new file mode 100644 index 0000000000..7d5a1b0898 Binary files /dev/null and b/public/nextImageExportOptimizer/1.b9d923f4-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/1.b9d923f4-opt-96.WEBP b/public/nextImageExportOptimizer/1.b9d923f4-opt-96.WEBP new file mode 100644 index 0000000000..a39bbf5deb Binary files /dev/null and b/public/nextImageExportOptimizer/1.b9d923f4-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/10_53228256862_o.bede884c-opt-10.WEBP b/public/nextImageExportOptimizer/10_53228256862_o.bede884c-opt-10.WEBP new file mode 100644 index 0000000000..dbe1f361c8 Binary files /dev/null and b/public/nextImageExportOptimizer/10_53228256862_o.bede884c-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/10_53228256862_o.bede884c-opt-1080.WEBP b/public/nextImageExportOptimizer/10_53228256862_o.bede884c-opt-1080.WEBP new file mode 100644 index 0000000000..e5bcfba338 Binary files /dev/null and b/public/nextImageExportOptimizer/10_53228256862_o.bede884c-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/10_53228256862_o.bede884c-opt-1200.WEBP b/public/nextImageExportOptimizer/10_53228256862_o.bede884c-opt-1200.WEBP new file mode 100644 index 0000000000..242962d904 Binary files /dev/null and b/public/nextImageExportOptimizer/10_53228256862_o.bede884c-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/10_53228256862_o.bede884c-opt-128.WEBP b/public/nextImageExportOptimizer/10_53228256862_o.bede884c-opt-128.WEBP new file mode 100644 index 0000000000..5c68e6158e Binary files /dev/null and b/public/nextImageExportOptimizer/10_53228256862_o.bede884c-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/10_53228256862_o.bede884c-opt-16.WEBP b/public/nextImageExportOptimizer/10_53228256862_o.bede884c-opt-16.WEBP new file mode 100644 index 0000000000..6f0b69a75c Binary files /dev/null and b/public/nextImageExportOptimizer/10_53228256862_o.bede884c-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/10_53228256862_o.bede884c-opt-1920.WEBP b/public/nextImageExportOptimizer/10_53228256862_o.bede884c-opt-1920.WEBP new file mode 100644 index 0000000000..d72e695293 Binary files /dev/null and b/public/nextImageExportOptimizer/10_53228256862_o.bede884c-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/10_53228256862_o.bede884c-opt-2048.WEBP b/public/nextImageExportOptimizer/10_53228256862_o.bede884c-opt-2048.WEBP new file mode 100644 index 0000000000..c5d8a8de6b Binary files /dev/null and b/public/nextImageExportOptimizer/10_53228256862_o.bede884c-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/10_53228256862_o.bede884c-opt-256.WEBP b/public/nextImageExportOptimizer/10_53228256862_o.bede884c-opt-256.WEBP new file mode 100644 index 0000000000..18546430b6 Binary files /dev/null and b/public/nextImageExportOptimizer/10_53228256862_o.bede884c-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/10_53228256862_o.bede884c-opt-32.WEBP b/public/nextImageExportOptimizer/10_53228256862_o.bede884c-opt-32.WEBP new file mode 100644 index 0000000000..6c535ccc18 Binary files /dev/null and b/public/nextImageExportOptimizer/10_53228256862_o.bede884c-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/10_53228256862_o.bede884c-opt-384.WEBP b/public/nextImageExportOptimizer/10_53228256862_o.bede884c-opt-384.WEBP new file mode 100644 index 0000000000..ac5283bced Binary files /dev/null and b/public/nextImageExportOptimizer/10_53228256862_o.bede884c-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/10_53228256862_o.bede884c-opt-3840.WEBP b/public/nextImageExportOptimizer/10_53228256862_o.bede884c-opt-3840.WEBP new file mode 100644 index 0000000000..b2f09096b9 Binary files /dev/null and b/public/nextImageExportOptimizer/10_53228256862_o.bede884c-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/10_53228256862_o.bede884c-opt-48.WEBP b/public/nextImageExportOptimizer/10_53228256862_o.bede884c-opt-48.WEBP new file mode 100644 index 0000000000..1ad1e82c52 Binary files /dev/null and b/public/nextImageExportOptimizer/10_53228256862_o.bede884c-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/10_53228256862_o.bede884c-opt-64.WEBP b/public/nextImageExportOptimizer/10_53228256862_o.bede884c-opt-64.WEBP new file mode 100644 index 0000000000..2139beafb5 Binary files /dev/null and b/public/nextImageExportOptimizer/10_53228256862_o.bede884c-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/10_53228256862_o.bede884c-opt-640.WEBP b/public/nextImageExportOptimizer/10_53228256862_o.bede884c-opt-640.WEBP new file mode 100644 index 0000000000..7ae8b56a27 Binary files /dev/null and b/public/nextImageExportOptimizer/10_53228256862_o.bede884c-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/10_53228256862_o.bede884c-opt-750.WEBP b/public/nextImageExportOptimizer/10_53228256862_o.bede884c-opt-750.WEBP new file mode 100644 index 0000000000..393b2d3223 Binary files /dev/null and b/public/nextImageExportOptimizer/10_53228256862_o.bede884c-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/10_53228256862_o.bede884c-opt-828.WEBP b/public/nextImageExportOptimizer/10_53228256862_o.bede884c-opt-828.WEBP new file mode 100644 index 0000000000..cad7c262a9 Binary files /dev/null and b/public/nextImageExportOptimizer/10_53228256862_o.bede884c-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/10_53228256862_o.bede884c-opt-96.WEBP b/public/nextImageExportOptimizer/10_53228256862_o.bede884c-opt-96.WEBP new file mode 100644 index 0000000000..f95c573621 Binary files /dev/null and b/public/nextImageExportOptimizer/10_53228256862_o.bede884c-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/11_53229130936_o.11efec5f-opt-10.WEBP b/public/nextImageExportOptimizer/11_53229130936_o.11efec5f-opt-10.WEBP new file mode 100644 index 0000000000..a07c64a626 Binary files /dev/null and b/public/nextImageExportOptimizer/11_53229130936_o.11efec5f-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/11_53229130936_o.11efec5f-opt-1080.WEBP b/public/nextImageExportOptimizer/11_53229130936_o.11efec5f-opt-1080.WEBP new file mode 100644 index 0000000000..c25d211f7f Binary files /dev/null and b/public/nextImageExportOptimizer/11_53229130936_o.11efec5f-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/11_53229130936_o.11efec5f-opt-1200.WEBP b/public/nextImageExportOptimizer/11_53229130936_o.11efec5f-opt-1200.WEBP new file mode 100644 index 0000000000..416feb1a7c Binary files /dev/null and b/public/nextImageExportOptimizer/11_53229130936_o.11efec5f-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/11_53229130936_o.11efec5f-opt-128.WEBP b/public/nextImageExportOptimizer/11_53229130936_o.11efec5f-opt-128.WEBP new file mode 100644 index 0000000000..c42f089573 Binary files /dev/null and b/public/nextImageExportOptimizer/11_53229130936_o.11efec5f-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/11_53229130936_o.11efec5f-opt-16.WEBP b/public/nextImageExportOptimizer/11_53229130936_o.11efec5f-opt-16.WEBP new file mode 100644 index 0000000000..d3e8376e96 Binary files /dev/null and b/public/nextImageExportOptimizer/11_53229130936_o.11efec5f-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/11_53229130936_o.11efec5f-opt-1920.WEBP b/public/nextImageExportOptimizer/11_53229130936_o.11efec5f-opt-1920.WEBP new file mode 100644 index 0000000000..550d37bfb4 Binary files /dev/null and b/public/nextImageExportOptimizer/11_53229130936_o.11efec5f-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/11_53229130936_o.11efec5f-opt-2048.WEBP b/public/nextImageExportOptimizer/11_53229130936_o.11efec5f-opt-2048.WEBP new file mode 100644 index 0000000000..91cd765755 Binary files /dev/null and b/public/nextImageExportOptimizer/11_53229130936_o.11efec5f-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/11_53229130936_o.11efec5f-opt-256.WEBP b/public/nextImageExportOptimizer/11_53229130936_o.11efec5f-opt-256.WEBP new file mode 100644 index 0000000000..d0687ddc11 Binary files /dev/null and b/public/nextImageExportOptimizer/11_53229130936_o.11efec5f-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/11_53229130936_o.11efec5f-opt-32.WEBP b/public/nextImageExportOptimizer/11_53229130936_o.11efec5f-opt-32.WEBP new file mode 100644 index 0000000000..e26dab6455 Binary files /dev/null and b/public/nextImageExportOptimizer/11_53229130936_o.11efec5f-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/11_53229130936_o.11efec5f-opt-384.WEBP b/public/nextImageExportOptimizer/11_53229130936_o.11efec5f-opt-384.WEBP new file mode 100644 index 0000000000..b5cf9cbeed Binary files /dev/null and b/public/nextImageExportOptimizer/11_53229130936_o.11efec5f-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/11_53229130936_o.11efec5f-opt-3840.WEBP b/public/nextImageExportOptimizer/11_53229130936_o.11efec5f-opt-3840.WEBP new file mode 100644 index 0000000000..ea9daabccb Binary files /dev/null and b/public/nextImageExportOptimizer/11_53229130936_o.11efec5f-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/11_53229130936_o.11efec5f-opt-48.WEBP b/public/nextImageExportOptimizer/11_53229130936_o.11efec5f-opt-48.WEBP new file mode 100644 index 0000000000..9ee1e90000 Binary files /dev/null and b/public/nextImageExportOptimizer/11_53229130936_o.11efec5f-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/11_53229130936_o.11efec5f-opt-64.WEBP b/public/nextImageExportOptimizer/11_53229130936_o.11efec5f-opt-64.WEBP new file mode 100644 index 0000000000..6d45cd5f3b Binary files /dev/null and b/public/nextImageExportOptimizer/11_53229130936_o.11efec5f-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/11_53229130936_o.11efec5f-opt-640.WEBP b/public/nextImageExportOptimizer/11_53229130936_o.11efec5f-opt-640.WEBP new file mode 100644 index 0000000000..677114c25d Binary files /dev/null and b/public/nextImageExportOptimizer/11_53229130936_o.11efec5f-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/11_53229130936_o.11efec5f-opt-750.WEBP b/public/nextImageExportOptimizer/11_53229130936_o.11efec5f-opt-750.WEBP new file mode 100644 index 0000000000..0ef25778a5 Binary files /dev/null and b/public/nextImageExportOptimizer/11_53229130936_o.11efec5f-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/11_53229130936_o.11efec5f-opt-828.WEBP b/public/nextImageExportOptimizer/11_53229130936_o.11efec5f-opt-828.WEBP new file mode 100644 index 0000000000..f605567e4c Binary files /dev/null and b/public/nextImageExportOptimizer/11_53229130936_o.11efec5f-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/11_53229130936_o.11efec5f-opt-96.WEBP b/public/nextImageExportOptimizer/11_53229130936_o.11efec5f-opt-96.WEBP new file mode 100644 index 0000000000..6125029f7d Binary files /dev/null and b/public/nextImageExportOptimizer/11_53229130936_o.11efec5f-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/12_53229130901_o.0594c3d9-opt-10.WEBP b/public/nextImageExportOptimizer/12_53229130901_o.0594c3d9-opt-10.WEBP new file mode 100644 index 0000000000..e9c872b46c Binary files /dev/null and b/public/nextImageExportOptimizer/12_53229130901_o.0594c3d9-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/12_53229130901_o.0594c3d9-opt-1080.WEBP b/public/nextImageExportOptimizer/12_53229130901_o.0594c3d9-opt-1080.WEBP new file mode 100644 index 0000000000..8f0bcd9f15 Binary files /dev/null and b/public/nextImageExportOptimizer/12_53229130901_o.0594c3d9-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/12_53229130901_o.0594c3d9-opt-1200.WEBP b/public/nextImageExportOptimizer/12_53229130901_o.0594c3d9-opt-1200.WEBP new file mode 100644 index 0000000000..233130953e Binary files /dev/null and b/public/nextImageExportOptimizer/12_53229130901_o.0594c3d9-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/12_53229130901_o.0594c3d9-opt-128.WEBP b/public/nextImageExportOptimizer/12_53229130901_o.0594c3d9-opt-128.WEBP new file mode 100644 index 0000000000..292dd691e5 Binary files /dev/null and b/public/nextImageExportOptimizer/12_53229130901_o.0594c3d9-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/12_53229130901_o.0594c3d9-opt-16.WEBP b/public/nextImageExportOptimizer/12_53229130901_o.0594c3d9-opt-16.WEBP new file mode 100644 index 0000000000..2212aff58d Binary files /dev/null and b/public/nextImageExportOptimizer/12_53229130901_o.0594c3d9-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/12_53229130901_o.0594c3d9-opt-1920.WEBP b/public/nextImageExportOptimizer/12_53229130901_o.0594c3d9-opt-1920.WEBP new file mode 100644 index 0000000000..b3e9790a05 Binary files /dev/null and b/public/nextImageExportOptimizer/12_53229130901_o.0594c3d9-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/12_53229130901_o.0594c3d9-opt-2048.WEBP b/public/nextImageExportOptimizer/12_53229130901_o.0594c3d9-opt-2048.WEBP new file mode 100644 index 0000000000..a329a6fb46 Binary files /dev/null and b/public/nextImageExportOptimizer/12_53229130901_o.0594c3d9-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/12_53229130901_o.0594c3d9-opt-256.WEBP b/public/nextImageExportOptimizer/12_53229130901_o.0594c3d9-opt-256.WEBP new file mode 100644 index 0000000000..355d30c9fa Binary files /dev/null and b/public/nextImageExportOptimizer/12_53229130901_o.0594c3d9-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/12_53229130901_o.0594c3d9-opt-32.WEBP b/public/nextImageExportOptimizer/12_53229130901_o.0594c3d9-opt-32.WEBP new file mode 100644 index 0000000000..58af9b76c5 Binary files /dev/null and b/public/nextImageExportOptimizer/12_53229130901_o.0594c3d9-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/12_53229130901_o.0594c3d9-opt-384.WEBP b/public/nextImageExportOptimizer/12_53229130901_o.0594c3d9-opt-384.WEBP new file mode 100644 index 0000000000..3a107a05a3 Binary files /dev/null and b/public/nextImageExportOptimizer/12_53229130901_o.0594c3d9-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/12_53229130901_o.0594c3d9-opt-3840.WEBP b/public/nextImageExportOptimizer/12_53229130901_o.0594c3d9-opt-3840.WEBP new file mode 100644 index 0000000000..115666273d Binary files /dev/null and b/public/nextImageExportOptimizer/12_53229130901_o.0594c3d9-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/12_53229130901_o.0594c3d9-opt-48.WEBP b/public/nextImageExportOptimizer/12_53229130901_o.0594c3d9-opt-48.WEBP new file mode 100644 index 0000000000..a25835cad5 Binary files /dev/null and b/public/nextImageExportOptimizer/12_53229130901_o.0594c3d9-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/12_53229130901_o.0594c3d9-opt-64.WEBP b/public/nextImageExportOptimizer/12_53229130901_o.0594c3d9-opt-64.WEBP new file mode 100644 index 0000000000..07442638eb Binary files /dev/null and b/public/nextImageExportOptimizer/12_53229130901_o.0594c3d9-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/12_53229130901_o.0594c3d9-opt-640.WEBP b/public/nextImageExportOptimizer/12_53229130901_o.0594c3d9-opt-640.WEBP new file mode 100644 index 0000000000..e151e062a8 Binary files /dev/null and b/public/nextImageExportOptimizer/12_53229130901_o.0594c3d9-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/12_53229130901_o.0594c3d9-opt-750.WEBP b/public/nextImageExportOptimizer/12_53229130901_o.0594c3d9-opt-750.WEBP new file mode 100644 index 0000000000..b2572ce55c Binary files /dev/null and b/public/nextImageExportOptimizer/12_53229130901_o.0594c3d9-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/12_53229130901_o.0594c3d9-opt-828.WEBP b/public/nextImageExportOptimizer/12_53229130901_o.0594c3d9-opt-828.WEBP new file mode 100644 index 0000000000..e59b64dbd3 Binary files /dev/null and b/public/nextImageExportOptimizer/12_53229130901_o.0594c3d9-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/12_53229130901_o.0594c3d9-opt-96.WEBP b/public/nextImageExportOptimizer/12_53229130901_o.0594c3d9-opt-96.WEBP new file mode 100644 index 0000000000..d15edcf38c Binary files /dev/null and b/public/nextImageExportOptimizer/12_53229130901_o.0594c3d9-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/13_53229431753_o.312ed4c6-opt-10.WEBP b/public/nextImageExportOptimizer/13_53229431753_o.312ed4c6-opt-10.WEBP new file mode 100644 index 0000000000..0b4f76630a Binary files /dev/null and b/public/nextImageExportOptimizer/13_53229431753_o.312ed4c6-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/13_53229431753_o.312ed4c6-opt-1080.WEBP b/public/nextImageExportOptimizer/13_53229431753_o.312ed4c6-opt-1080.WEBP new file mode 100644 index 0000000000..4d895a2f93 Binary files /dev/null and b/public/nextImageExportOptimizer/13_53229431753_o.312ed4c6-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/13_53229431753_o.312ed4c6-opt-1200.WEBP b/public/nextImageExportOptimizer/13_53229431753_o.312ed4c6-opt-1200.WEBP new file mode 100644 index 0000000000..fb2be46937 Binary files /dev/null and b/public/nextImageExportOptimizer/13_53229431753_o.312ed4c6-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/13_53229431753_o.312ed4c6-opt-128.WEBP b/public/nextImageExportOptimizer/13_53229431753_o.312ed4c6-opt-128.WEBP new file mode 100644 index 0000000000..22e2130444 Binary files /dev/null and b/public/nextImageExportOptimizer/13_53229431753_o.312ed4c6-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/13_53229431753_o.312ed4c6-opt-16.WEBP b/public/nextImageExportOptimizer/13_53229431753_o.312ed4c6-opt-16.WEBP new file mode 100644 index 0000000000..88f4200c19 Binary files /dev/null and b/public/nextImageExportOptimizer/13_53229431753_o.312ed4c6-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/13_53229431753_o.312ed4c6-opt-1920.WEBP b/public/nextImageExportOptimizer/13_53229431753_o.312ed4c6-opt-1920.WEBP new file mode 100644 index 0000000000..90822adac6 Binary files /dev/null and b/public/nextImageExportOptimizer/13_53229431753_o.312ed4c6-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/13_53229431753_o.312ed4c6-opt-2048.WEBP b/public/nextImageExportOptimizer/13_53229431753_o.312ed4c6-opt-2048.WEBP new file mode 100644 index 0000000000..add16e784b Binary files /dev/null and b/public/nextImageExportOptimizer/13_53229431753_o.312ed4c6-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/13_53229431753_o.312ed4c6-opt-256.WEBP b/public/nextImageExportOptimizer/13_53229431753_o.312ed4c6-opt-256.WEBP new file mode 100644 index 0000000000..22535cd032 Binary files /dev/null and b/public/nextImageExportOptimizer/13_53229431753_o.312ed4c6-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/13_53229431753_o.312ed4c6-opt-32.WEBP b/public/nextImageExportOptimizer/13_53229431753_o.312ed4c6-opt-32.WEBP new file mode 100644 index 0000000000..39e354729c Binary files /dev/null and b/public/nextImageExportOptimizer/13_53229431753_o.312ed4c6-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/13_53229431753_o.312ed4c6-opt-384.WEBP b/public/nextImageExportOptimizer/13_53229431753_o.312ed4c6-opt-384.WEBP new file mode 100644 index 0000000000..979d89f6e1 Binary files /dev/null and b/public/nextImageExportOptimizer/13_53229431753_o.312ed4c6-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/13_53229431753_o.312ed4c6-opt-3840.WEBP b/public/nextImageExportOptimizer/13_53229431753_o.312ed4c6-opt-3840.WEBP new file mode 100644 index 0000000000..7c44df5f92 Binary files /dev/null and b/public/nextImageExportOptimizer/13_53229431753_o.312ed4c6-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/13_53229431753_o.312ed4c6-opt-48.WEBP b/public/nextImageExportOptimizer/13_53229431753_o.312ed4c6-opt-48.WEBP new file mode 100644 index 0000000000..42f0be6db7 Binary files /dev/null and b/public/nextImageExportOptimizer/13_53229431753_o.312ed4c6-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/13_53229431753_o.312ed4c6-opt-64.WEBP b/public/nextImageExportOptimizer/13_53229431753_o.312ed4c6-opt-64.WEBP new file mode 100644 index 0000000000..fbab12120c Binary files /dev/null and b/public/nextImageExportOptimizer/13_53229431753_o.312ed4c6-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/13_53229431753_o.312ed4c6-opt-640.WEBP b/public/nextImageExportOptimizer/13_53229431753_o.312ed4c6-opt-640.WEBP new file mode 100644 index 0000000000..c0230607b5 Binary files /dev/null and b/public/nextImageExportOptimizer/13_53229431753_o.312ed4c6-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/13_53229431753_o.312ed4c6-opt-750.WEBP b/public/nextImageExportOptimizer/13_53229431753_o.312ed4c6-opt-750.WEBP new file mode 100644 index 0000000000..638533aec9 Binary files /dev/null and b/public/nextImageExportOptimizer/13_53229431753_o.312ed4c6-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/13_53229431753_o.312ed4c6-opt-828.WEBP b/public/nextImageExportOptimizer/13_53229431753_o.312ed4c6-opt-828.WEBP new file mode 100644 index 0000000000..2e94f36b82 Binary files /dev/null and b/public/nextImageExportOptimizer/13_53229431753_o.312ed4c6-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/13_53229431753_o.312ed4c6-opt-96.WEBP b/public/nextImageExportOptimizer/13_53229431753_o.312ed4c6-opt-96.WEBP new file mode 100644 index 0000000000..a61a09ca19 Binary files /dev/null and b/public/nextImageExportOptimizer/13_53229431753_o.312ed4c6-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/14_53228256817_o.e967eba8-opt-10.WEBP b/public/nextImageExportOptimizer/14_53228256817_o.e967eba8-opt-10.WEBP new file mode 100644 index 0000000000..de3529fd97 Binary files /dev/null and b/public/nextImageExportOptimizer/14_53228256817_o.e967eba8-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/14_53228256817_o.e967eba8-opt-1080.WEBP b/public/nextImageExportOptimizer/14_53228256817_o.e967eba8-opt-1080.WEBP new file mode 100644 index 0000000000..e781d3f926 Binary files /dev/null and b/public/nextImageExportOptimizer/14_53228256817_o.e967eba8-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/14_53228256817_o.e967eba8-opt-1200.WEBP b/public/nextImageExportOptimizer/14_53228256817_o.e967eba8-opt-1200.WEBP new file mode 100644 index 0000000000..93f6abfa86 Binary files /dev/null and b/public/nextImageExportOptimizer/14_53228256817_o.e967eba8-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/14_53228256817_o.e967eba8-opt-128.WEBP b/public/nextImageExportOptimizer/14_53228256817_o.e967eba8-opt-128.WEBP new file mode 100644 index 0000000000..74405ef998 Binary files /dev/null and b/public/nextImageExportOptimizer/14_53228256817_o.e967eba8-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/14_53228256817_o.e967eba8-opt-16.WEBP b/public/nextImageExportOptimizer/14_53228256817_o.e967eba8-opt-16.WEBP new file mode 100644 index 0000000000..6fa90032e5 Binary files /dev/null and b/public/nextImageExportOptimizer/14_53228256817_o.e967eba8-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/14_53228256817_o.e967eba8-opt-1920.WEBP b/public/nextImageExportOptimizer/14_53228256817_o.e967eba8-opt-1920.WEBP new file mode 100644 index 0000000000..0cc133b861 Binary files /dev/null and b/public/nextImageExportOptimizer/14_53228256817_o.e967eba8-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/14_53228256817_o.e967eba8-opt-2048.WEBP b/public/nextImageExportOptimizer/14_53228256817_o.e967eba8-opt-2048.WEBP new file mode 100644 index 0000000000..e768280123 Binary files /dev/null and b/public/nextImageExportOptimizer/14_53228256817_o.e967eba8-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/14_53228256817_o.e967eba8-opt-256.WEBP b/public/nextImageExportOptimizer/14_53228256817_o.e967eba8-opt-256.WEBP new file mode 100644 index 0000000000..ccb94f3e4f Binary files /dev/null and b/public/nextImageExportOptimizer/14_53228256817_o.e967eba8-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/14_53228256817_o.e967eba8-opt-32.WEBP b/public/nextImageExportOptimizer/14_53228256817_o.e967eba8-opt-32.WEBP new file mode 100644 index 0000000000..52c275e858 Binary files /dev/null and b/public/nextImageExportOptimizer/14_53228256817_o.e967eba8-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/14_53228256817_o.e967eba8-opt-384.WEBP b/public/nextImageExportOptimizer/14_53228256817_o.e967eba8-opt-384.WEBP new file mode 100644 index 0000000000..3925b52dcb Binary files /dev/null and b/public/nextImageExportOptimizer/14_53228256817_o.e967eba8-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/14_53228256817_o.e967eba8-opt-3840.WEBP b/public/nextImageExportOptimizer/14_53228256817_o.e967eba8-opt-3840.WEBP new file mode 100644 index 0000000000..f6c7af4423 Binary files /dev/null and b/public/nextImageExportOptimizer/14_53228256817_o.e967eba8-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/14_53228256817_o.e967eba8-opt-48.WEBP b/public/nextImageExportOptimizer/14_53228256817_o.e967eba8-opt-48.WEBP new file mode 100644 index 0000000000..6ff5c08549 Binary files /dev/null and b/public/nextImageExportOptimizer/14_53228256817_o.e967eba8-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/14_53228256817_o.e967eba8-opt-64.WEBP b/public/nextImageExportOptimizer/14_53228256817_o.e967eba8-opt-64.WEBP new file mode 100644 index 0000000000..f97f6a9f29 Binary files /dev/null and b/public/nextImageExportOptimizer/14_53228256817_o.e967eba8-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/14_53228256817_o.e967eba8-opt-640.WEBP b/public/nextImageExportOptimizer/14_53228256817_o.e967eba8-opt-640.WEBP new file mode 100644 index 0000000000..803ff06acd Binary files /dev/null and b/public/nextImageExportOptimizer/14_53228256817_o.e967eba8-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/14_53228256817_o.e967eba8-opt-750.WEBP b/public/nextImageExportOptimizer/14_53228256817_o.e967eba8-opt-750.WEBP new file mode 100644 index 0000000000..24fa55e819 Binary files /dev/null and b/public/nextImageExportOptimizer/14_53228256817_o.e967eba8-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/14_53228256817_o.e967eba8-opt-828.WEBP b/public/nextImageExportOptimizer/14_53228256817_o.e967eba8-opt-828.WEBP new file mode 100644 index 0000000000..01c70dcb72 Binary files /dev/null and b/public/nextImageExportOptimizer/14_53228256817_o.e967eba8-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/14_53228256817_o.e967eba8-opt-96.WEBP b/public/nextImageExportOptimizer/14_53228256817_o.e967eba8-opt-96.WEBP new file mode 100644 index 0000000000..41945e638b Binary files /dev/null and b/public/nextImageExportOptimizer/14_53228256817_o.e967eba8-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/151_53229506084_o.2e2d8d93-opt-10.WEBP b/public/nextImageExportOptimizer/151_53229506084_o.2e2d8d93-opt-10.WEBP new file mode 100644 index 0000000000..12fb224a5b Binary files /dev/null and b/public/nextImageExportOptimizer/151_53229506084_o.2e2d8d93-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/151_53229506084_o.2e2d8d93-opt-1080.WEBP b/public/nextImageExportOptimizer/151_53229506084_o.2e2d8d93-opt-1080.WEBP new file mode 100644 index 0000000000..8db30720dc Binary files /dev/null and b/public/nextImageExportOptimizer/151_53229506084_o.2e2d8d93-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/151_53229506084_o.2e2d8d93-opt-1200.WEBP b/public/nextImageExportOptimizer/151_53229506084_o.2e2d8d93-opt-1200.WEBP new file mode 100644 index 0000000000..435096d36c Binary files /dev/null and b/public/nextImageExportOptimizer/151_53229506084_o.2e2d8d93-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/151_53229506084_o.2e2d8d93-opt-128.WEBP b/public/nextImageExportOptimizer/151_53229506084_o.2e2d8d93-opt-128.WEBP new file mode 100644 index 0000000000..67aaab48c2 Binary files /dev/null and b/public/nextImageExportOptimizer/151_53229506084_o.2e2d8d93-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/151_53229506084_o.2e2d8d93-opt-16.WEBP b/public/nextImageExportOptimizer/151_53229506084_o.2e2d8d93-opt-16.WEBP new file mode 100644 index 0000000000..7252a50e12 Binary files /dev/null and b/public/nextImageExportOptimizer/151_53229506084_o.2e2d8d93-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/151_53229506084_o.2e2d8d93-opt-1920.WEBP b/public/nextImageExportOptimizer/151_53229506084_o.2e2d8d93-opt-1920.WEBP new file mode 100644 index 0000000000..26284bec68 Binary files /dev/null and b/public/nextImageExportOptimizer/151_53229506084_o.2e2d8d93-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/151_53229506084_o.2e2d8d93-opt-2048.WEBP b/public/nextImageExportOptimizer/151_53229506084_o.2e2d8d93-opt-2048.WEBP new file mode 100644 index 0000000000..92e9c132e3 Binary files /dev/null and b/public/nextImageExportOptimizer/151_53229506084_o.2e2d8d93-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/151_53229506084_o.2e2d8d93-opt-256.WEBP b/public/nextImageExportOptimizer/151_53229506084_o.2e2d8d93-opt-256.WEBP new file mode 100644 index 0000000000..f32137df8f Binary files /dev/null and b/public/nextImageExportOptimizer/151_53229506084_o.2e2d8d93-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/151_53229506084_o.2e2d8d93-opt-32.WEBP b/public/nextImageExportOptimizer/151_53229506084_o.2e2d8d93-opt-32.WEBP new file mode 100644 index 0000000000..08694bff41 Binary files /dev/null and b/public/nextImageExportOptimizer/151_53229506084_o.2e2d8d93-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/151_53229506084_o.2e2d8d93-opt-384.WEBP b/public/nextImageExportOptimizer/151_53229506084_o.2e2d8d93-opt-384.WEBP new file mode 100644 index 0000000000..7bd4f952a9 Binary files /dev/null and b/public/nextImageExportOptimizer/151_53229506084_o.2e2d8d93-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/151_53229506084_o.2e2d8d93-opt-3840.WEBP b/public/nextImageExportOptimizer/151_53229506084_o.2e2d8d93-opt-3840.WEBP new file mode 100644 index 0000000000..f050149043 Binary files /dev/null and b/public/nextImageExportOptimizer/151_53229506084_o.2e2d8d93-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/151_53229506084_o.2e2d8d93-opt-48.WEBP b/public/nextImageExportOptimizer/151_53229506084_o.2e2d8d93-opt-48.WEBP new file mode 100644 index 0000000000..392f79343d Binary files /dev/null and b/public/nextImageExportOptimizer/151_53229506084_o.2e2d8d93-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/151_53229506084_o.2e2d8d93-opt-64.WEBP b/public/nextImageExportOptimizer/151_53229506084_o.2e2d8d93-opt-64.WEBP new file mode 100644 index 0000000000..7ea47f4f99 Binary files /dev/null and b/public/nextImageExportOptimizer/151_53229506084_o.2e2d8d93-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/151_53229506084_o.2e2d8d93-opt-640.WEBP b/public/nextImageExportOptimizer/151_53229506084_o.2e2d8d93-opt-640.WEBP new file mode 100644 index 0000000000..4b7c246085 Binary files /dev/null and b/public/nextImageExportOptimizer/151_53229506084_o.2e2d8d93-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/151_53229506084_o.2e2d8d93-opt-750.WEBP b/public/nextImageExportOptimizer/151_53229506084_o.2e2d8d93-opt-750.WEBP new file mode 100644 index 0000000000..4b37118d16 Binary files /dev/null and b/public/nextImageExportOptimizer/151_53229506084_o.2e2d8d93-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/151_53229506084_o.2e2d8d93-opt-828.WEBP b/public/nextImageExportOptimizer/151_53229506084_o.2e2d8d93-opt-828.WEBP new file mode 100644 index 0000000000..84576c8684 Binary files /dev/null and b/public/nextImageExportOptimizer/151_53229506084_o.2e2d8d93-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/151_53229506084_o.2e2d8d93-opt-96.WEBP b/public/nextImageExportOptimizer/151_53229506084_o.2e2d8d93-opt-96.WEBP new file mode 100644 index 0000000000..f07e03dfe7 Binary files /dev/null and b/public/nextImageExportOptimizer/151_53229506084_o.2e2d8d93-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/15_53228256787_o.1d94ba72-opt-10.WEBP b/public/nextImageExportOptimizer/15_53228256787_o.1d94ba72-opt-10.WEBP new file mode 100644 index 0000000000..4b9121788f Binary files /dev/null and b/public/nextImageExportOptimizer/15_53228256787_o.1d94ba72-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/15_53228256787_o.1d94ba72-opt-1080.WEBP b/public/nextImageExportOptimizer/15_53228256787_o.1d94ba72-opt-1080.WEBP new file mode 100644 index 0000000000..029b9b7b0c Binary files /dev/null and b/public/nextImageExportOptimizer/15_53228256787_o.1d94ba72-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/15_53228256787_o.1d94ba72-opt-1200.WEBP b/public/nextImageExportOptimizer/15_53228256787_o.1d94ba72-opt-1200.WEBP new file mode 100644 index 0000000000..3031e19be3 Binary files /dev/null and b/public/nextImageExportOptimizer/15_53228256787_o.1d94ba72-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/15_53228256787_o.1d94ba72-opt-128.WEBP b/public/nextImageExportOptimizer/15_53228256787_o.1d94ba72-opt-128.WEBP new file mode 100644 index 0000000000..5f896fc9a1 Binary files /dev/null and b/public/nextImageExportOptimizer/15_53228256787_o.1d94ba72-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/15_53228256787_o.1d94ba72-opt-16.WEBP b/public/nextImageExportOptimizer/15_53228256787_o.1d94ba72-opt-16.WEBP new file mode 100644 index 0000000000..3ec6e8910f Binary files /dev/null and b/public/nextImageExportOptimizer/15_53228256787_o.1d94ba72-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/15_53228256787_o.1d94ba72-opt-1920.WEBP b/public/nextImageExportOptimizer/15_53228256787_o.1d94ba72-opt-1920.WEBP new file mode 100644 index 0000000000..3a88de1d28 Binary files /dev/null and b/public/nextImageExportOptimizer/15_53228256787_o.1d94ba72-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/15_53228256787_o.1d94ba72-opt-2048.WEBP b/public/nextImageExportOptimizer/15_53228256787_o.1d94ba72-opt-2048.WEBP new file mode 100644 index 0000000000..48c3d1f52c Binary files /dev/null and b/public/nextImageExportOptimizer/15_53228256787_o.1d94ba72-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/15_53228256787_o.1d94ba72-opt-256.WEBP b/public/nextImageExportOptimizer/15_53228256787_o.1d94ba72-opt-256.WEBP new file mode 100644 index 0000000000..15c990d34b Binary files /dev/null and b/public/nextImageExportOptimizer/15_53228256787_o.1d94ba72-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/15_53228256787_o.1d94ba72-opt-32.WEBP b/public/nextImageExportOptimizer/15_53228256787_o.1d94ba72-opt-32.WEBP new file mode 100644 index 0000000000..ef573d65bd Binary files /dev/null and b/public/nextImageExportOptimizer/15_53228256787_o.1d94ba72-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/15_53228256787_o.1d94ba72-opt-384.WEBP b/public/nextImageExportOptimizer/15_53228256787_o.1d94ba72-opt-384.WEBP new file mode 100644 index 0000000000..ad489feb5d Binary files /dev/null and b/public/nextImageExportOptimizer/15_53228256787_o.1d94ba72-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/15_53228256787_o.1d94ba72-opt-3840.WEBP b/public/nextImageExportOptimizer/15_53228256787_o.1d94ba72-opt-3840.WEBP new file mode 100644 index 0000000000..351bd51b20 Binary files /dev/null and b/public/nextImageExportOptimizer/15_53228256787_o.1d94ba72-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/15_53228256787_o.1d94ba72-opt-48.WEBP b/public/nextImageExportOptimizer/15_53228256787_o.1d94ba72-opt-48.WEBP new file mode 100644 index 0000000000..eddf6b25e1 Binary files /dev/null and b/public/nextImageExportOptimizer/15_53228256787_o.1d94ba72-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/15_53228256787_o.1d94ba72-opt-64.WEBP b/public/nextImageExportOptimizer/15_53228256787_o.1d94ba72-opt-64.WEBP new file mode 100644 index 0000000000..9b1305a748 Binary files /dev/null and b/public/nextImageExportOptimizer/15_53228256787_o.1d94ba72-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/15_53228256787_o.1d94ba72-opt-640.WEBP b/public/nextImageExportOptimizer/15_53228256787_o.1d94ba72-opt-640.WEBP new file mode 100644 index 0000000000..07616810e9 Binary files /dev/null and b/public/nextImageExportOptimizer/15_53228256787_o.1d94ba72-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/15_53228256787_o.1d94ba72-opt-750.WEBP b/public/nextImageExportOptimizer/15_53228256787_o.1d94ba72-opt-750.WEBP new file mode 100644 index 0000000000..f8b01223c5 Binary files /dev/null and b/public/nextImageExportOptimizer/15_53228256787_o.1d94ba72-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/15_53228256787_o.1d94ba72-opt-828.WEBP b/public/nextImageExportOptimizer/15_53228256787_o.1d94ba72-opt-828.WEBP new file mode 100644 index 0000000000..46063b5e13 Binary files /dev/null and b/public/nextImageExportOptimizer/15_53228256787_o.1d94ba72-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/15_53228256787_o.1d94ba72-opt-96.WEBP b/public/nextImageExportOptimizer/15_53228256787_o.1d94ba72-opt-96.WEBP new file mode 100644 index 0000000000..179654d7b0 Binary files /dev/null and b/public/nextImageExportOptimizer/15_53228256787_o.1d94ba72-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/16_53229629695_o.cead94d8-opt-10.WEBP b/public/nextImageExportOptimizer/16_53229629695_o.cead94d8-opt-10.WEBP new file mode 100644 index 0000000000..63b4d6cdd4 Binary files /dev/null and b/public/nextImageExportOptimizer/16_53229629695_o.cead94d8-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/16_53229629695_o.cead94d8-opt-1080.WEBP b/public/nextImageExportOptimizer/16_53229629695_o.cead94d8-opt-1080.WEBP new file mode 100644 index 0000000000..8b42d22c46 Binary files /dev/null and b/public/nextImageExportOptimizer/16_53229629695_o.cead94d8-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/16_53229629695_o.cead94d8-opt-1200.WEBP b/public/nextImageExportOptimizer/16_53229629695_o.cead94d8-opt-1200.WEBP new file mode 100644 index 0000000000..c6b32764eb Binary files /dev/null and b/public/nextImageExportOptimizer/16_53229629695_o.cead94d8-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/16_53229629695_o.cead94d8-opt-128.WEBP b/public/nextImageExportOptimizer/16_53229629695_o.cead94d8-opt-128.WEBP new file mode 100644 index 0000000000..a1886f8da5 Binary files /dev/null and b/public/nextImageExportOptimizer/16_53229629695_o.cead94d8-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/16_53229629695_o.cead94d8-opt-16.WEBP b/public/nextImageExportOptimizer/16_53229629695_o.cead94d8-opt-16.WEBP new file mode 100644 index 0000000000..319275f9ab Binary files /dev/null and b/public/nextImageExportOptimizer/16_53229629695_o.cead94d8-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/16_53229629695_o.cead94d8-opt-1920.WEBP b/public/nextImageExportOptimizer/16_53229629695_o.cead94d8-opt-1920.WEBP new file mode 100644 index 0000000000..fae15efe63 Binary files /dev/null and b/public/nextImageExportOptimizer/16_53229629695_o.cead94d8-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/16_53229629695_o.cead94d8-opt-2048.WEBP b/public/nextImageExportOptimizer/16_53229629695_o.cead94d8-opt-2048.WEBP new file mode 100644 index 0000000000..e038e3a1ae Binary files /dev/null and b/public/nextImageExportOptimizer/16_53229629695_o.cead94d8-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/16_53229629695_o.cead94d8-opt-256.WEBP b/public/nextImageExportOptimizer/16_53229629695_o.cead94d8-opt-256.WEBP new file mode 100644 index 0000000000..942d48348c Binary files /dev/null and b/public/nextImageExportOptimizer/16_53229629695_o.cead94d8-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/16_53229629695_o.cead94d8-opt-32.WEBP b/public/nextImageExportOptimizer/16_53229629695_o.cead94d8-opt-32.WEBP new file mode 100644 index 0000000000..d05a494040 Binary files /dev/null and b/public/nextImageExportOptimizer/16_53229629695_o.cead94d8-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/16_53229629695_o.cead94d8-opt-384.WEBP b/public/nextImageExportOptimizer/16_53229629695_o.cead94d8-opt-384.WEBP new file mode 100644 index 0000000000..7235c9e765 Binary files /dev/null and b/public/nextImageExportOptimizer/16_53229629695_o.cead94d8-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/16_53229629695_o.cead94d8-opt-3840.WEBP b/public/nextImageExportOptimizer/16_53229629695_o.cead94d8-opt-3840.WEBP new file mode 100644 index 0000000000..dde5caf49c Binary files /dev/null and b/public/nextImageExportOptimizer/16_53229629695_o.cead94d8-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/16_53229629695_o.cead94d8-opt-48.WEBP b/public/nextImageExportOptimizer/16_53229629695_o.cead94d8-opt-48.WEBP new file mode 100644 index 0000000000..f87bff0fa9 Binary files /dev/null and b/public/nextImageExportOptimizer/16_53229629695_o.cead94d8-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/16_53229629695_o.cead94d8-opt-64.WEBP b/public/nextImageExportOptimizer/16_53229629695_o.cead94d8-opt-64.WEBP new file mode 100644 index 0000000000..dc73714b72 Binary files /dev/null and b/public/nextImageExportOptimizer/16_53229629695_o.cead94d8-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/16_53229629695_o.cead94d8-opt-640.WEBP b/public/nextImageExportOptimizer/16_53229629695_o.cead94d8-opt-640.WEBP new file mode 100644 index 0000000000..f65b4eb8b3 Binary files /dev/null and b/public/nextImageExportOptimizer/16_53229629695_o.cead94d8-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/16_53229629695_o.cead94d8-opt-750.WEBP b/public/nextImageExportOptimizer/16_53229629695_o.cead94d8-opt-750.WEBP new file mode 100644 index 0000000000..b7db33d2ac Binary files /dev/null and b/public/nextImageExportOptimizer/16_53229629695_o.cead94d8-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/16_53229629695_o.cead94d8-opt-828.WEBP b/public/nextImageExportOptimizer/16_53229629695_o.cead94d8-opt-828.WEBP new file mode 100644 index 0000000000..df238c1cd9 Binary files /dev/null and b/public/nextImageExportOptimizer/16_53229629695_o.cead94d8-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/16_53229629695_o.cead94d8-opt-96.WEBP b/public/nextImageExportOptimizer/16_53229629695_o.cead94d8-opt-96.WEBP new file mode 100644 index 0000000000..a557fb77ae Binary files /dev/null and b/public/nextImageExportOptimizer/16_53229629695_o.cead94d8-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/17_53229431688_o.4c21d256-opt-10.WEBP b/public/nextImageExportOptimizer/17_53229431688_o.4c21d256-opt-10.WEBP new file mode 100644 index 0000000000..df847f6231 Binary files /dev/null and b/public/nextImageExportOptimizer/17_53229431688_o.4c21d256-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/17_53229431688_o.4c21d256-opt-1080.WEBP b/public/nextImageExportOptimizer/17_53229431688_o.4c21d256-opt-1080.WEBP new file mode 100644 index 0000000000..a653755731 Binary files /dev/null and b/public/nextImageExportOptimizer/17_53229431688_o.4c21d256-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/17_53229431688_o.4c21d256-opt-1200.WEBP b/public/nextImageExportOptimizer/17_53229431688_o.4c21d256-opt-1200.WEBP new file mode 100644 index 0000000000..869b45dcbc Binary files /dev/null and b/public/nextImageExportOptimizer/17_53229431688_o.4c21d256-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/17_53229431688_o.4c21d256-opt-128.WEBP b/public/nextImageExportOptimizer/17_53229431688_o.4c21d256-opt-128.WEBP new file mode 100644 index 0000000000..44d7254644 Binary files /dev/null and b/public/nextImageExportOptimizer/17_53229431688_o.4c21d256-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/17_53229431688_o.4c21d256-opt-16.WEBP b/public/nextImageExportOptimizer/17_53229431688_o.4c21d256-opt-16.WEBP new file mode 100644 index 0000000000..5040f7fcb2 Binary files /dev/null and b/public/nextImageExportOptimizer/17_53229431688_o.4c21d256-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/17_53229431688_o.4c21d256-opt-1920.WEBP b/public/nextImageExportOptimizer/17_53229431688_o.4c21d256-opt-1920.WEBP new file mode 100644 index 0000000000..d0855752fe Binary files /dev/null and b/public/nextImageExportOptimizer/17_53229431688_o.4c21d256-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/17_53229431688_o.4c21d256-opt-2048.WEBP b/public/nextImageExportOptimizer/17_53229431688_o.4c21d256-opt-2048.WEBP new file mode 100644 index 0000000000..dd5892130c Binary files /dev/null and b/public/nextImageExportOptimizer/17_53229431688_o.4c21d256-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/17_53229431688_o.4c21d256-opt-256.WEBP b/public/nextImageExportOptimizer/17_53229431688_o.4c21d256-opt-256.WEBP new file mode 100644 index 0000000000..7ab9bb48e5 Binary files /dev/null and b/public/nextImageExportOptimizer/17_53229431688_o.4c21d256-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/17_53229431688_o.4c21d256-opt-32.WEBP b/public/nextImageExportOptimizer/17_53229431688_o.4c21d256-opt-32.WEBP new file mode 100644 index 0000000000..71af5c5b5f Binary files /dev/null and b/public/nextImageExportOptimizer/17_53229431688_o.4c21d256-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/17_53229431688_o.4c21d256-opt-384.WEBP b/public/nextImageExportOptimizer/17_53229431688_o.4c21d256-opt-384.WEBP new file mode 100644 index 0000000000..b841ad73e1 Binary files /dev/null and b/public/nextImageExportOptimizer/17_53229431688_o.4c21d256-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/17_53229431688_o.4c21d256-opt-3840.WEBP b/public/nextImageExportOptimizer/17_53229431688_o.4c21d256-opt-3840.WEBP new file mode 100644 index 0000000000..e5ab8aefca Binary files /dev/null and b/public/nextImageExportOptimizer/17_53229431688_o.4c21d256-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/17_53229431688_o.4c21d256-opt-48.WEBP b/public/nextImageExportOptimizer/17_53229431688_o.4c21d256-opt-48.WEBP new file mode 100644 index 0000000000..dfe28bbf06 Binary files /dev/null and b/public/nextImageExportOptimizer/17_53229431688_o.4c21d256-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/17_53229431688_o.4c21d256-opt-64.WEBP b/public/nextImageExportOptimizer/17_53229431688_o.4c21d256-opt-64.WEBP new file mode 100644 index 0000000000..c8084d1bed Binary files /dev/null and b/public/nextImageExportOptimizer/17_53229431688_o.4c21d256-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/17_53229431688_o.4c21d256-opt-640.WEBP b/public/nextImageExportOptimizer/17_53229431688_o.4c21d256-opt-640.WEBP new file mode 100644 index 0000000000..212b50cd7d Binary files /dev/null and b/public/nextImageExportOptimizer/17_53229431688_o.4c21d256-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/17_53229431688_o.4c21d256-opt-750.WEBP b/public/nextImageExportOptimizer/17_53229431688_o.4c21d256-opt-750.WEBP new file mode 100644 index 0000000000..d60374b563 Binary files /dev/null and b/public/nextImageExportOptimizer/17_53229431688_o.4c21d256-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/17_53229431688_o.4c21d256-opt-828.WEBP b/public/nextImageExportOptimizer/17_53229431688_o.4c21d256-opt-828.WEBP new file mode 100644 index 0000000000..edb9dfd828 Binary files /dev/null and b/public/nextImageExportOptimizer/17_53229431688_o.4c21d256-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/17_53229431688_o.4c21d256-opt-96.WEBP b/public/nextImageExportOptimizer/17_53229431688_o.4c21d256-opt-96.WEBP new file mode 100644 index 0000000000..d980a1a45e Binary files /dev/null and b/public/nextImageExportOptimizer/17_53229431688_o.4c21d256-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/18_53229629645_o.379c2659-opt-10.WEBP b/public/nextImageExportOptimizer/18_53229629645_o.379c2659-opt-10.WEBP new file mode 100644 index 0000000000..8fa1c81777 Binary files /dev/null and b/public/nextImageExportOptimizer/18_53229629645_o.379c2659-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/18_53229629645_o.379c2659-opt-1080.WEBP b/public/nextImageExportOptimizer/18_53229629645_o.379c2659-opt-1080.WEBP new file mode 100644 index 0000000000..42b9869036 Binary files /dev/null and b/public/nextImageExportOptimizer/18_53229629645_o.379c2659-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/18_53229629645_o.379c2659-opt-1200.WEBP b/public/nextImageExportOptimizer/18_53229629645_o.379c2659-opt-1200.WEBP new file mode 100644 index 0000000000..ad1bb49e97 Binary files /dev/null and b/public/nextImageExportOptimizer/18_53229629645_o.379c2659-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/18_53229629645_o.379c2659-opt-128.WEBP b/public/nextImageExportOptimizer/18_53229629645_o.379c2659-opt-128.WEBP new file mode 100644 index 0000000000..666e119a27 Binary files /dev/null and b/public/nextImageExportOptimizer/18_53229629645_o.379c2659-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/18_53229629645_o.379c2659-opt-16.WEBP b/public/nextImageExportOptimizer/18_53229629645_o.379c2659-opt-16.WEBP new file mode 100644 index 0000000000..114838b015 Binary files /dev/null and b/public/nextImageExportOptimizer/18_53229629645_o.379c2659-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/18_53229629645_o.379c2659-opt-1920.WEBP b/public/nextImageExportOptimizer/18_53229629645_o.379c2659-opt-1920.WEBP new file mode 100644 index 0000000000..b993acca67 Binary files /dev/null and b/public/nextImageExportOptimizer/18_53229629645_o.379c2659-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/18_53229629645_o.379c2659-opt-2048.WEBP b/public/nextImageExportOptimizer/18_53229629645_o.379c2659-opt-2048.WEBP new file mode 100644 index 0000000000..8dbcff1199 Binary files /dev/null and b/public/nextImageExportOptimizer/18_53229629645_o.379c2659-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/18_53229629645_o.379c2659-opt-256.WEBP b/public/nextImageExportOptimizer/18_53229629645_o.379c2659-opt-256.WEBP new file mode 100644 index 0000000000..9515d40e11 Binary files /dev/null and b/public/nextImageExportOptimizer/18_53229629645_o.379c2659-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/18_53229629645_o.379c2659-opt-32.WEBP b/public/nextImageExportOptimizer/18_53229629645_o.379c2659-opt-32.WEBP new file mode 100644 index 0000000000..2f694ab2af Binary files /dev/null and b/public/nextImageExportOptimizer/18_53229629645_o.379c2659-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/18_53229629645_o.379c2659-opt-384.WEBP b/public/nextImageExportOptimizer/18_53229629645_o.379c2659-opt-384.WEBP new file mode 100644 index 0000000000..efc7069537 Binary files /dev/null and b/public/nextImageExportOptimizer/18_53229629645_o.379c2659-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/18_53229629645_o.379c2659-opt-3840.WEBP b/public/nextImageExportOptimizer/18_53229629645_o.379c2659-opt-3840.WEBP new file mode 100644 index 0000000000..34da001907 Binary files /dev/null and b/public/nextImageExportOptimizer/18_53229629645_o.379c2659-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/18_53229629645_o.379c2659-opt-48.WEBP b/public/nextImageExportOptimizer/18_53229629645_o.379c2659-opt-48.WEBP new file mode 100644 index 0000000000..e929d68306 Binary files /dev/null and b/public/nextImageExportOptimizer/18_53229629645_o.379c2659-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/18_53229629645_o.379c2659-opt-64.WEBP b/public/nextImageExportOptimizer/18_53229629645_o.379c2659-opt-64.WEBP new file mode 100644 index 0000000000..dad4170468 Binary files /dev/null and b/public/nextImageExportOptimizer/18_53229629645_o.379c2659-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/18_53229629645_o.379c2659-opt-640.WEBP b/public/nextImageExportOptimizer/18_53229629645_o.379c2659-opt-640.WEBP new file mode 100644 index 0000000000..0448ed8f8d Binary files /dev/null and b/public/nextImageExportOptimizer/18_53229629645_o.379c2659-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/18_53229629645_o.379c2659-opt-750.WEBP b/public/nextImageExportOptimizer/18_53229629645_o.379c2659-opt-750.WEBP new file mode 100644 index 0000000000..c058fe6ce9 Binary files /dev/null and b/public/nextImageExportOptimizer/18_53229629645_o.379c2659-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/18_53229629645_o.379c2659-opt-828.WEBP b/public/nextImageExportOptimizer/18_53229629645_o.379c2659-opt-828.WEBP new file mode 100644 index 0000000000..539d11de06 Binary files /dev/null and b/public/nextImageExportOptimizer/18_53229629645_o.379c2659-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/18_53229629645_o.379c2659-opt-96.WEBP b/public/nextImageExportOptimizer/18_53229629645_o.379c2659-opt-96.WEBP new file mode 100644 index 0000000000..3e53321f3e Binary files /dev/null and b/public/nextImageExportOptimizer/18_53229629645_o.379c2659-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/1_53229506279_o.f0bca9c1-opt-10.WEBP b/public/nextImageExportOptimizer/1_53229506279_o.f0bca9c1-opt-10.WEBP new file mode 100644 index 0000000000..6fdb45771d Binary files /dev/null and b/public/nextImageExportOptimizer/1_53229506279_o.f0bca9c1-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/1_53229506279_o.f0bca9c1-opt-1080.WEBP b/public/nextImageExportOptimizer/1_53229506279_o.f0bca9c1-opt-1080.WEBP new file mode 100644 index 0000000000..19a0de0b8a Binary files /dev/null and b/public/nextImageExportOptimizer/1_53229506279_o.f0bca9c1-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/1_53229506279_o.f0bca9c1-opt-1200.WEBP b/public/nextImageExportOptimizer/1_53229506279_o.f0bca9c1-opt-1200.WEBP new file mode 100644 index 0000000000..fe2c072fec Binary files /dev/null and b/public/nextImageExportOptimizer/1_53229506279_o.f0bca9c1-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/1_53229506279_o.f0bca9c1-opt-128.WEBP b/public/nextImageExportOptimizer/1_53229506279_o.f0bca9c1-opt-128.WEBP new file mode 100644 index 0000000000..13703edc82 Binary files /dev/null and b/public/nextImageExportOptimizer/1_53229506279_o.f0bca9c1-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/1_53229506279_o.f0bca9c1-opt-16.WEBP b/public/nextImageExportOptimizer/1_53229506279_o.f0bca9c1-opt-16.WEBP new file mode 100644 index 0000000000..d6c9b52042 Binary files /dev/null and b/public/nextImageExportOptimizer/1_53229506279_o.f0bca9c1-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/1_53229506279_o.f0bca9c1-opt-1920.WEBP b/public/nextImageExportOptimizer/1_53229506279_o.f0bca9c1-opt-1920.WEBP new file mode 100644 index 0000000000..f54f282130 Binary files /dev/null and b/public/nextImageExportOptimizer/1_53229506279_o.f0bca9c1-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/1_53229506279_o.f0bca9c1-opt-2048.WEBP b/public/nextImageExportOptimizer/1_53229506279_o.f0bca9c1-opt-2048.WEBP new file mode 100644 index 0000000000..b8b7b46770 Binary files /dev/null and b/public/nextImageExportOptimizer/1_53229506279_o.f0bca9c1-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/1_53229506279_o.f0bca9c1-opt-256.WEBP b/public/nextImageExportOptimizer/1_53229506279_o.f0bca9c1-opt-256.WEBP new file mode 100644 index 0000000000..a352fa5d0c Binary files /dev/null and b/public/nextImageExportOptimizer/1_53229506279_o.f0bca9c1-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/1_53229506279_o.f0bca9c1-opt-32.WEBP b/public/nextImageExportOptimizer/1_53229506279_o.f0bca9c1-opt-32.WEBP new file mode 100644 index 0000000000..89b85d0c26 Binary files /dev/null and b/public/nextImageExportOptimizer/1_53229506279_o.f0bca9c1-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/1_53229506279_o.f0bca9c1-opt-384.WEBP b/public/nextImageExportOptimizer/1_53229506279_o.f0bca9c1-opt-384.WEBP new file mode 100644 index 0000000000..f557e50b74 Binary files /dev/null and b/public/nextImageExportOptimizer/1_53229506279_o.f0bca9c1-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/1_53229506279_o.f0bca9c1-opt-3840.WEBP b/public/nextImageExportOptimizer/1_53229506279_o.f0bca9c1-opt-3840.WEBP new file mode 100644 index 0000000000..c8883f1962 Binary files /dev/null and b/public/nextImageExportOptimizer/1_53229506279_o.f0bca9c1-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/1_53229506279_o.f0bca9c1-opt-48.WEBP b/public/nextImageExportOptimizer/1_53229506279_o.f0bca9c1-opt-48.WEBP new file mode 100644 index 0000000000..4ee15001b6 Binary files /dev/null and b/public/nextImageExportOptimizer/1_53229506279_o.f0bca9c1-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/1_53229506279_o.f0bca9c1-opt-64.WEBP b/public/nextImageExportOptimizer/1_53229506279_o.f0bca9c1-opt-64.WEBP new file mode 100644 index 0000000000..13622ecc6f Binary files /dev/null and b/public/nextImageExportOptimizer/1_53229506279_o.f0bca9c1-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/1_53229506279_o.f0bca9c1-opt-640.WEBP b/public/nextImageExportOptimizer/1_53229506279_o.f0bca9c1-opt-640.WEBP new file mode 100644 index 0000000000..c6f7cb1c1d Binary files /dev/null and b/public/nextImageExportOptimizer/1_53229506279_o.f0bca9c1-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/1_53229506279_o.f0bca9c1-opt-750.WEBP b/public/nextImageExportOptimizer/1_53229506279_o.f0bca9c1-opt-750.WEBP new file mode 100644 index 0000000000..f1d6771a34 Binary files /dev/null and b/public/nextImageExportOptimizer/1_53229506279_o.f0bca9c1-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/1_53229506279_o.f0bca9c1-opt-828.WEBP b/public/nextImageExportOptimizer/1_53229506279_o.f0bca9c1-opt-828.WEBP new file mode 100644 index 0000000000..0f60138176 Binary files /dev/null and b/public/nextImageExportOptimizer/1_53229506279_o.f0bca9c1-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/1_53229506279_o.f0bca9c1-opt-96.WEBP b/public/nextImageExportOptimizer/1_53229506279_o.f0bca9c1-opt-96.WEBP new file mode 100644 index 0000000000..a9a532ea11 Binary files /dev/null and b/public/nextImageExportOptimizer/1_53229506279_o.f0bca9c1-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/2.99d027a1-opt-10.WEBP b/public/nextImageExportOptimizer/2.99d027a1-opt-10.WEBP new file mode 100644 index 0000000000..65828024bf Binary files /dev/null and b/public/nextImageExportOptimizer/2.99d027a1-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/2.99d027a1-opt-1080.WEBP b/public/nextImageExportOptimizer/2.99d027a1-opt-1080.WEBP new file mode 100644 index 0000000000..2dae34ccdb Binary files /dev/null and b/public/nextImageExportOptimizer/2.99d027a1-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/2.99d027a1-opt-1200.WEBP b/public/nextImageExportOptimizer/2.99d027a1-opt-1200.WEBP new file mode 100644 index 0000000000..2eb5308d17 Binary files /dev/null and b/public/nextImageExportOptimizer/2.99d027a1-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/2.99d027a1-opt-128.WEBP b/public/nextImageExportOptimizer/2.99d027a1-opt-128.WEBP new file mode 100644 index 0000000000..3fc05237a1 Binary files /dev/null and b/public/nextImageExportOptimizer/2.99d027a1-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/2.99d027a1-opt-16.WEBP b/public/nextImageExportOptimizer/2.99d027a1-opt-16.WEBP new file mode 100644 index 0000000000..fa59fb60d9 Binary files /dev/null and b/public/nextImageExportOptimizer/2.99d027a1-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/2.99d027a1-opt-1920.WEBP b/public/nextImageExportOptimizer/2.99d027a1-opt-1920.WEBP new file mode 100644 index 0000000000..c9cb660f98 Binary files /dev/null and b/public/nextImageExportOptimizer/2.99d027a1-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/2.99d027a1-opt-2048.WEBP b/public/nextImageExportOptimizer/2.99d027a1-opt-2048.WEBP new file mode 100644 index 0000000000..964d3f1dc9 Binary files /dev/null and b/public/nextImageExportOptimizer/2.99d027a1-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/2.99d027a1-opt-256.WEBP b/public/nextImageExportOptimizer/2.99d027a1-opt-256.WEBP new file mode 100644 index 0000000000..ad833ba497 Binary files /dev/null and b/public/nextImageExportOptimizer/2.99d027a1-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/2.99d027a1-opt-32.WEBP b/public/nextImageExportOptimizer/2.99d027a1-opt-32.WEBP new file mode 100644 index 0000000000..32457e23bb Binary files /dev/null and b/public/nextImageExportOptimizer/2.99d027a1-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/2.99d027a1-opt-384.WEBP b/public/nextImageExportOptimizer/2.99d027a1-opt-384.WEBP new file mode 100644 index 0000000000..1e84439c20 Binary files /dev/null and b/public/nextImageExportOptimizer/2.99d027a1-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/2.99d027a1-opt-3840.WEBP b/public/nextImageExportOptimizer/2.99d027a1-opt-3840.WEBP new file mode 100644 index 0000000000..e369a64d5d Binary files /dev/null and b/public/nextImageExportOptimizer/2.99d027a1-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/2.99d027a1-opt-48.WEBP b/public/nextImageExportOptimizer/2.99d027a1-opt-48.WEBP new file mode 100644 index 0000000000..ad821856dc Binary files /dev/null and b/public/nextImageExportOptimizer/2.99d027a1-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/2.99d027a1-opt-64.WEBP b/public/nextImageExportOptimizer/2.99d027a1-opt-64.WEBP new file mode 100644 index 0000000000..5702043b71 Binary files /dev/null and b/public/nextImageExportOptimizer/2.99d027a1-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/2.99d027a1-opt-640.WEBP b/public/nextImageExportOptimizer/2.99d027a1-opt-640.WEBP new file mode 100644 index 0000000000..9f19bb98fe Binary files /dev/null and b/public/nextImageExportOptimizer/2.99d027a1-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/2.99d027a1-opt-750.WEBP b/public/nextImageExportOptimizer/2.99d027a1-opt-750.WEBP new file mode 100644 index 0000000000..7fa586142d Binary files /dev/null and b/public/nextImageExportOptimizer/2.99d027a1-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/2.99d027a1-opt-828.WEBP b/public/nextImageExportOptimizer/2.99d027a1-opt-828.WEBP new file mode 100644 index 0000000000..0c729ac4a6 Binary files /dev/null and b/public/nextImageExportOptimizer/2.99d027a1-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/2.99d027a1-opt-96.WEBP b/public/nextImageExportOptimizer/2.99d027a1-opt-96.WEBP new file mode 100644 index 0000000000..02083a8a7f Binary files /dev/null and b/public/nextImageExportOptimizer/2.99d027a1-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/2_53229431883_o.cddf7051-opt-10.WEBP b/public/nextImageExportOptimizer/2_53229431883_o.cddf7051-opt-10.WEBP new file mode 100644 index 0000000000..072e7746b7 Binary files /dev/null and b/public/nextImageExportOptimizer/2_53229431883_o.cddf7051-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/2_53229431883_o.cddf7051-opt-1080.WEBP b/public/nextImageExportOptimizer/2_53229431883_o.cddf7051-opt-1080.WEBP new file mode 100644 index 0000000000..51a0e63db3 Binary files /dev/null and b/public/nextImageExportOptimizer/2_53229431883_o.cddf7051-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/2_53229431883_o.cddf7051-opt-1200.WEBP b/public/nextImageExportOptimizer/2_53229431883_o.cddf7051-opt-1200.WEBP new file mode 100644 index 0000000000..c43916a959 Binary files /dev/null and b/public/nextImageExportOptimizer/2_53229431883_o.cddf7051-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/2_53229431883_o.cddf7051-opt-128.WEBP b/public/nextImageExportOptimizer/2_53229431883_o.cddf7051-opt-128.WEBP new file mode 100644 index 0000000000..876f4f331b Binary files /dev/null and b/public/nextImageExportOptimizer/2_53229431883_o.cddf7051-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/2_53229431883_o.cddf7051-opt-16.WEBP b/public/nextImageExportOptimizer/2_53229431883_o.cddf7051-opt-16.WEBP new file mode 100644 index 0000000000..facd0ed88f Binary files /dev/null and b/public/nextImageExportOptimizer/2_53229431883_o.cddf7051-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/2_53229431883_o.cddf7051-opt-1920.WEBP b/public/nextImageExportOptimizer/2_53229431883_o.cddf7051-opt-1920.WEBP new file mode 100644 index 0000000000..4a5d88baf4 Binary files /dev/null and b/public/nextImageExportOptimizer/2_53229431883_o.cddf7051-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/2_53229431883_o.cddf7051-opt-2048.WEBP b/public/nextImageExportOptimizer/2_53229431883_o.cddf7051-opt-2048.WEBP new file mode 100644 index 0000000000..2019decc83 Binary files /dev/null and b/public/nextImageExportOptimizer/2_53229431883_o.cddf7051-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/2_53229431883_o.cddf7051-opt-256.WEBP b/public/nextImageExportOptimizer/2_53229431883_o.cddf7051-opt-256.WEBP new file mode 100644 index 0000000000..b24857a827 Binary files /dev/null and b/public/nextImageExportOptimizer/2_53229431883_o.cddf7051-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/2_53229431883_o.cddf7051-opt-32.WEBP b/public/nextImageExportOptimizer/2_53229431883_o.cddf7051-opt-32.WEBP new file mode 100644 index 0000000000..804ed71198 Binary files /dev/null and b/public/nextImageExportOptimizer/2_53229431883_o.cddf7051-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/2_53229431883_o.cddf7051-opt-384.WEBP b/public/nextImageExportOptimizer/2_53229431883_o.cddf7051-opt-384.WEBP new file mode 100644 index 0000000000..f3bd350337 Binary files /dev/null and b/public/nextImageExportOptimizer/2_53229431883_o.cddf7051-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/2_53229431883_o.cddf7051-opt-3840.WEBP b/public/nextImageExportOptimizer/2_53229431883_o.cddf7051-opt-3840.WEBP new file mode 100644 index 0000000000..664af1bed2 Binary files /dev/null and b/public/nextImageExportOptimizer/2_53229431883_o.cddf7051-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/2_53229431883_o.cddf7051-opt-48.WEBP b/public/nextImageExportOptimizer/2_53229431883_o.cddf7051-opt-48.WEBP new file mode 100644 index 0000000000..8433ad333a Binary files /dev/null and b/public/nextImageExportOptimizer/2_53229431883_o.cddf7051-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/2_53229431883_o.cddf7051-opt-64.WEBP b/public/nextImageExportOptimizer/2_53229431883_o.cddf7051-opt-64.WEBP new file mode 100644 index 0000000000..8ba05e1667 Binary files /dev/null and b/public/nextImageExportOptimizer/2_53229431883_o.cddf7051-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/2_53229431883_o.cddf7051-opt-640.WEBP b/public/nextImageExportOptimizer/2_53229431883_o.cddf7051-opt-640.WEBP new file mode 100644 index 0000000000..f5ef5a8950 Binary files /dev/null and b/public/nextImageExportOptimizer/2_53229431883_o.cddf7051-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/2_53229431883_o.cddf7051-opt-750.WEBP b/public/nextImageExportOptimizer/2_53229431883_o.cddf7051-opt-750.WEBP new file mode 100644 index 0000000000..1d9e1a1f7c Binary files /dev/null and b/public/nextImageExportOptimizer/2_53229431883_o.cddf7051-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/2_53229431883_o.cddf7051-opt-828.WEBP b/public/nextImageExportOptimizer/2_53229431883_o.cddf7051-opt-828.WEBP new file mode 100644 index 0000000000..c7027b2849 Binary files /dev/null and b/public/nextImageExportOptimizer/2_53229431883_o.cddf7051-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/2_53229431883_o.cddf7051-opt-96.WEBP b/public/nextImageExportOptimizer/2_53229431883_o.cddf7051-opt-96.WEBP new file mode 100644 index 0000000000..5ee5078afc Binary files /dev/null and b/public/nextImageExportOptimizer/2_53229431883_o.cddf7051-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/3.2ed01ad0-opt-10.WEBP b/public/nextImageExportOptimizer/3.2ed01ad0-opt-10.WEBP new file mode 100644 index 0000000000..7d1f13269d Binary files /dev/null and b/public/nextImageExportOptimizer/3.2ed01ad0-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/3.2ed01ad0-opt-1080.WEBP b/public/nextImageExportOptimizer/3.2ed01ad0-opt-1080.WEBP new file mode 100644 index 0000000000..0420f886d8 Binary files /dev/null and b/public/nextImageExportOptimizer/3.2ed01ad0-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/3.2ed01ad0-opt-1200.WEBP b/public/nextImageExportOptimizer/3.2ed01ad0-opt-1200.WEBP new file mode 100644 index 0000000000..351a218f44 Binary files /dev/null and b/public/nextImageExportOptimizer/3.2ed01ad0-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/3.2ed01ad0-opt-128.WEBP b/public/nextImageExportOptimizer/3.2ed01ad0-opt-128.WEBP new file mode 100644 index 0000000000..ef7b675d64 Binary files /dev/null and b/public/nextImageExportOptimizer/3.2ed01ad0-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/3.2ed01ad0-opt-16.WEBP b/public/nextImageExportOptimizer/3.2ed01ad0-opt-16.WEBP new file mode 100644 index 0000000000..f828f79f04 Binary files /dev/null and b/public/nextImageExportOptimizer/3.2ed01ad0-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/3.2ed01ad0-opt-1920.WEBP b/public/nextImageExportOptimizer/3.2ed01ad0-opt-1920.WEBP new file mode 100644 index 0000000000..f4439c897e Binary files /dev/null and b/public/nextImageExportOptimizer/3.2ed01ad0-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/3.2ed01ad0-opt-2048.WEBP b/public/nextImageExportOptimizer/3.2ed01ad0-opt-2048.WEBP new file mode 100644 index 0000000000..19b2d8ac5c Binary files /dev/null and b/public/nextImageExportOptimizer/3.2ed01ad0-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/3.2ed01ad0-opt-256.WEBP b/public/nextImageExportOptimizer/3.2ed01ad0-opt-256.WEBP new file mode 100644 index 0000000000..f65fbf4773 Binary files /dev/null and b/public/nextImageExportOptimizer/3.2ed01ad0-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/3.2ed01ad0-opt-32.WEBP b/public/nextImageExportOptimizer/3.2ed01ad0-opt-32.WEBP new file mode 100644 index 0000000000..c2fc60710f Binary files /dev/null and b/public/nextImageExportOptimizer/3.2ed01ad0-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/3.2ed01ad0-opt-384.WEBP b/public/nextImageExportOptimizer/3.2ed01ad0-opt-384.WEBP new file mode 100644 index 0000000000..b212ff243c Binary files /dev/null and b/public/nextImageExportOptimizer/3.2ed01ad0-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/3.2ed01ad0-opt-3840.WEBP b/public/nextImageExportOptimizer/3.2ed01ad0-opt-3840.WEBP new file mode 100644 index 0000000000..64df947ac8 Binary files /dev/null and b/public/nextImageExportOptimizer/3.2ed01ad0-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/3.2ed01ad0-opt-48.WEBP b/public/nextImageExportOptimizer/3.2ed01ad0-opt-48.WEBP new file mode 100644 index 0000000000..c97fed9293 Binary files /dev/null and b/public/nextImageExportOptimizer/3.2ed01ad0-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/3.2ed01ad0-opt-64.WEBP b/public/nextImageExportOptimizer/3.2ed01ad0-opt-64.WEBP new file mode 100644 index 0000000000..f76ef83c3a Binary files /dev/null and b/public/nextImageExportOptimizer/3.2ed01ad0-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/3.2ed01ad0-opt-640.WEBP b/public/nextImageExportOptimizer/3.2ed01ad0-opt-640.WEBP new file mode 100644 index 0000000000..38d4839dcb Binary files /dev/null and b/public/nextImageExportOptimizer/3.2ed01ad0-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/3.2ed01ad0-opt-750.WEBP b/public/nextImageExportOptimizer/3.2ed01ad0-opt-750.WEBP new file mode 100644 index 0000000000..15f159b924 Binary files /dev/null and b/public/nextImageExportOptimizer/3.2ed01ad0-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/3.2ed01ad0-opt-828.WEBP b/public/nextImageExportOptimizer/3.2ed01ad0-opt-828.WEBP new file mode 100644 index 0000000000..539102a44e Binary files /dev/null and b/public/nextImageExportOptimizer/3.2ed01ad0-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/3.2ed01ad0-opt-96.WEBP b/public/nextImageExportOptimizer/3.2ed01ad0-opt-96.WEBP new file mode 100644 index 0000000000..cc0f7fadd0 Binary files /dev/null and b/public/nextImageExportOptimizer/3.2ed01ad0-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/31_53228256917_o.f420933f-opt-10.WEBP b/public/nextImageExportOptimizer/31_53228256917_o.f420933f-opt-10.WEBP new file mode 100644 index 0000000000..69c494d5ff Binary files /dev/null and b/public/nextImageExportOptimizer/31_53228256917_o.f420933f-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/31_53228256917_o.f420933f-opt-1080.WEBP b/public/nextImageExportOptimizer/31_53228256917_o.f420933f-opt-1080.WEBP new file mode 100644 index 0000000000..9e0ec6f524 Binary files /dev/null and b/public/nextImageExportOptimizer/31_53228256917_o.f420933f-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/31_53228256917_o.f420933f-opt-1200.WEBP b/public/nextImageExportOptimizer/31_53228256917_o.f420933f-opt-1200.WEBP new file mode 100644 index 0000000000..0b422e8524 Binary files /dev/null and b/public/nextImageExportOptimizer/31_53228256917_o.f420933f-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/31_53228256917_o.f420933f-opt-128.WEBP b/public/nextImageExportOptimizer/31_53228256917_o.f420933f-opt-128.WEBP new file mode 100644 index 0000000000..c8fe3027f5 Binary files /dev/null and b/public/nextImageExportOptimizer/31_53228256917_o.f420933f-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/31_53228256917_o.f420933f-opt-16.WEBP b/public/nextImageExportOptimizer/31_53228256917_o.f420933f-opt-16.WEBP new file mode 100644 index 0000000000..002f5c4622 Binary files /dev/null and b/public/nextImageExportOptimizer/31_53228256917_o.f420933f-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/31_53228256917_o.f420933f-opt-1920.WEBP b/public/nextImageExportOptimizer/31_53228256917_o.f420933f-opt-1920.WEBP new file mode 100644 index 0000000000..172ed46e18 Binary files /dev/null and b/public/nextImageExportOptimizer/31_53228256917_o.f420933f-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/31_53228256917_o.f420933f-opt-2048.WEBP b/public/nextImageExportOptimizer/31_53228256917_o.f420933f-opt-2048.WEBP new file mode 100644 index 0000000000..84287b5dde Binary files /dev/null and b/public/nextImageExportOptimizer/31_53228256917_o.f420933f-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/31_53228256917_o.f420933f-opt-256.WEBP b/public/nextImageExportOptimizer/31_53228256917_o.f420933f-opt-256.WEBP new file mode 100644 index 0000000000..9c77dbf016 Binary files /dev/null and b/public/nextImageExportOptimizer/31_53228256917_o.f420933f-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/31_53228256917_o.f420933f-opt-32.WEBP b/public/nextImageExportOptimizer/31_53228256917_o.f420933f-opt-32.WEBP new file mode 100644 index 0000000000..502c8218f5 Binary files /dev/null and b/public/nextImageExportOptimizer/31_53228256917_o.f420933f-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/31_53228256917_o.f420933f-opt-384.WEBP b/public/nextImageExportOptimizer/31_53228256917_o.f420933f-opt-384.WEBP new file mode 100644 index 0000000000..548b225469 Binary files /dev/null and b/public/nextImageExportOptimizer/31_53228256917_o.f420933f-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/31_53228256917_o.f420933f-opt-3840.WEBP b/public/nextImageExportOptimizer/31_53228256917_o.f420933f-opt-3840.WEBP new file mode 100644 index 0000000000..6465fa0cd9 Binary files /dev/null and b/public/nextImageExportOptimizer/31_53228256917_o.f420933f-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/31_53228256917_o.f420933f-opt-48.WEBP b/public/nextImageExportOptimizer/31_53228256917_o.f420933f-opt-48.WEBP new file mode 100644 index 0000000000..6aad2d547a Binary files /dev/null and b/public/nextImageExportOptimizer/31_53228256917_o.f420933f-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/31_53228256917_o.f420933f-opt-64.WEBP b/public/nextImageExportOptimizer/31_53228256917_o.f420933f-opt-64.WEBP new file mode 100644 index 0000000000..cc66c8a958 Binary files /dev/null and b/public/nextImageExportOptimizer/31_53228256917_o.f420933f-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/31_53228256917_o.f420933f-opt-640.WEBP b/public/nextImageExportOptimizer/31_53228256917_o.f420933f-opt-640.WEBP new file mode 100644 index 0000000000..d50ef4e1f3 Binary files /dev/null and b/public/nextImageExportOptimizer/31_53228256917_o.f420933f-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/31_53228256917_o.f420933f-opt-750.WEBP b/public/nextImageExportOptimizer/31_53228256917_o.f420933f-opt-750.WEBP new file mode 100644 index 0000000000..3d5f91bffa Binary files /dev/null and b/public/nextImageExportOptimizer/31_53228256917_o.f420933f-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/31_53228256917_o.f420933f-opt-828.WEBP b/public/nextImageExportOptimizer/31_53228256917_o.f420933f-opt-828.WEBP new file mode 100644 index 0000000000..2625604fa7 Binary files /dev/null and b/public/nextImageExportOptimizer/31_53228256917_o.f420933f-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/31_53228256917_o.f420933f-opt-96.WEBP b/public/nextImageExportOptimizer/31_53228256917_o.f420933f-opt-96.WEBP new file mode 100644 index 0000000000..991fc735e2 Binary files /dev/null and b/public/nextImageExportOptimizer/31_53228256917_o.f420933f-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/3_53229131021_o.dfd0081f-opt-10.WEBP b/public/nextImageExportOptimizer/3_53229131021_o.dfd0081f-opt-10.WEBP new file mode 100644 index 0000000000..c64d8895d8 Binary files /dev/null and b/public/nextImageExportOptimizer/3_53229131021_o.dfd0081f-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/3_53229131021_o.dfd0081f-opt-1080.WEBP b/public/nextImageExportOptimizer/3_53229131021_o.dfd0081f-opt-1080.WEBP new file mode 100644 index 0000000000..3ef4bb2574 Binary files /dev/null and b/public/nextImageExportOptimizer/3_53229131021_o.dfd0081f-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/3_53229131021_o.dfd0081f-opt-1200.WEBP b/public/nextImageExportOptimizer/3_53229131021_o.dfd0081f-opt-1200.WEBP new file mode 100644 index 0000000000..f93bd3add1 Binary files /dev/null and b/public/nextImageExportOptimizer/3_53229131021_o.dfd0081f-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/3_53229131021_o.dfd0081f-opt-128.WEBP b/public/nextImageExportOptimizer/3_53229131021_o.dfd0081f-opt-128.WEBP new file mode 100644 index 0000000000..5ed8c27cf9 Binary files /dev/null and b/public/nextImageExportOptimizer/3_53229131021_o.dfd0081f-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/3_53229131021_o.dfd0081f-opt-16.WEBP b/public/nextImageExportOptimizer/3_53229131021_o.dfd0081f-opt-16.WEBP new file mode 100644 index 0000000000..63e3b4f6ce Binary files /dev/null and b/public/nextImageExportOptimizer/3_53229131021_o.dfd0081f-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/3_53229131021_o.dfd0081f-opt-1920.WEBP b/public/nextImageExportOptimizer/3_53229131021_o.dfd0081f-opt-1920.WEBP new file mode 100644 index 0000000000..1f6f6d8545 Binary files /dev/null and b/public/nextImageExportOptimizer/3_53229131021_o.dfd0081f-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/3_53229131021_o.dfd0081f-opt-2048.WEBP b/public/nextImageExportOptimizer/3_53229131021_o.dfd0081f-opt-2048.WEBP new file mode 100644 index 0000000000..631b6645ef Binary files /dev/null and b/public/nextImageExportOptimizer/3_53229131021_o.dfd0081f-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/3_53229131021_o.dfd0081f-opt-256.WEBP b/public/nextImageExportOptimizer/3_53229131021_o.dfd0081f-opt-256.WEBP new file mode 100644 index 0000000000..d5ed41b378 Binary files /dev/null and b/public/nextImageExportOptimizer/3_53229131021_o.dfd0081f-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/3_53229131021_o.dfd0081f-opt-32.WEBP b/public/nextImageExportOptimizer/3_53229131021_o.dfd0081f-opt-32.WEBP new file mode 100644 index 0000000000..552e867ec8 Binary files /dev/null and b/public/nextImageExportOptimizer/3_53229131021_o.dfd0081f-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/3_53229131021_o.dfd0081f-opt-384.WEBP b/public/nextImageExportOptimizer/3_53229131021_o.dfd0081f-opt-384.WEBP new file mode 100644 index 0000000000..f7a73b8ffe Binary files /dev/null and b/public/nextImageExportOptimizer/3_53229131021_o.dfd0081f-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/3_53229131021_o.dfd0081f-opt-3840.WEBP b/public/nextImageExportOptimizer/3_53229131021_o.dfd0081f-opt-3840.WEBP new file mode 100644 index 0000000000..53763501ce Binary files /dev/null and b/public/nextImageExportOptimizer/3_53229131021_o.dfd0081f-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/3_53229131021_o.dfd0081f-opt-48.WEBP b/public/nextImageExportOptimizer/3_53229131021_o.dfd0081f-opt-48.WEBP new file mode 100644 index 0000000000..fb9237c7cb Binary files /dev/null and b/public/nextImageExportOptimizer/3_53229131021_o.dfd0081f-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/3_53229131021_o.dfd0081f-opt-64.WEBP b/public/nextImageExportOptimizer/3_53229131021_o.dfd0081f-opt-64.WEBP new file mode 100644 index 0000000000..7b26c63565 Binary files /dev/null and b/public/nextImageExportOptimizer/3_53229131021_o.dfd0081f-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/3_53229131021_o.dfd0081f-opt-640.WEBP b/public/nextImageExportOptimizer/3_53229131021_o.dfd0081f-opt-640.WEBP new file mode 100644 index 0000000000..963077088d Binary files /dev/null and b/public/nextImageExportOptimizer/3_53229131021_o.dfd0081f-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/3_53229131021_o.dfd0081f-opt-750.WEBP b/public/nextImageExportOptimizer/3_53229131021_o.dfd0081f-opt-750.WEBP new file mode 100644 index 0000000000..b6db5d68ec Binary files /dev/null and b/public/nextImageExportOptimizer/3_53229131021_o.dfd0081f-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/3_53229131021_o.dfd0081f-opt-828.WEBP b/public/nextImageExportOptimizer/3_53229131021_o.dfd0081f-opt-828.WEBP new file mode 100644 index 0000000000..bcd7ba43ea Binary files /dev/null and b/public/nextImageExportOptimizer/3_53229131021_o.dfd0081f-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/3_53229131021_o.dfd0081f-opt-96.WEBP b/public/nextImageExportOptimizer/3_53229131021_o.dfd0081f-opt-96.WEBP new file mode 100644 index 0000000000..08c01f3d50 Binary files /dev/null and b/public/nextImageExportOptimizer/3_53229131021_o.dfd0081f-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/4.f41621f8-opt-10.WEBP b/public/nextImageExportOptimizer/4.f41621f8-opt-10.WEBP new file mode 100644 index 0000000000..01268949b0 Binary files /dev/null and b/public/nextImageExportOptimizer/4.f41621f8-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/4.f41621f8-opt-1080.WEBP b/public/nextImageExportOptimizer/4.f41621f8-opt-1080.WEBP new file mode 100644 index 0000000000..508faa4cdd Binary files /dev/null and b/public/nextImageExportOptimizer/4.f41621f8-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/4.f41621f8-opt-1200.WEBP b/public/nextImageExportOptimizer/4.f41621f8-opt-1200.WEBP new file mode 100644 index 0000000000..606c036888 Binary files /dev/null and b/public/nextImageExportOptimizer/4.f41621f8-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/4.f41621f8-opt-128.WEBP b/public/nextImageExportOptimizer/4.f41621f8-opt-128.WEBP new file mode 100644 index 0000000000..4ee3a19236 Binary files /dev/null and b/public/nextImageExportOptimizer/4.f41621f8-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/4.f41621f8-opt-16.WEBP b/public/nextImageExportOptimizer/4.f41621f8-opt-16.WEBP new file mode 100644 index 0000000000..cd18fb7905 Binary files /dev/null and b/public/nextImageExportOptimizer/4.f41621f8-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/4.f41621f8-opt-1920.WEBP b/public/nextImageExportOptimizer/4.f41621f8-opt-1920.WEBP new file mode 100644 index 0000000000..0219f370f1 Binary files /dev/null and b/public/nextImageExportOptimizer/4.f41621f8-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/4.f41621f8-opt-2048.WEBP b/public/nextImageExportOptimizer/4.f41621f8-opt-2048.WEBP new file mode 100644 index 0000000000..65cb8f45d0 Binary files /dev/null and b/public/nextImageExportOptimizer/4.f41621f8-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/4.f41621f8-opt-256.WEBP b/public/nextImageExportOptimizer/4.f41621f8-opt-256.WEBP new file mode 100644 index 0000000000..ec67c32a57 Binary files /dev/null and b/public/nextImageExportOptimizer/4.f41621f8-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/4.f41621f8-opt-32.WEBP b/public/nextImageExportOptimizer/4.f41621f8-opt-32.WEBP new file mode 100644 index 0000000000..aa02c39629 Binary files /dev/null and b/public/nextImageExportOptimizer/4.f41621f8-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/4.f41621f8-opt-384.WEBP b/public/nextImageExportOptimizer/4.f41621f8-opt-384.WEBP new file mode 100644 index 0000000000..e76cfa0470 Binary files /dev/null and b/public/nextImageExportOptimizer/4.f41621f8-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/4.f41621f8-opt-3840.WEBP b/public/nextImageExportOptimizer/4.f41621f8-opt-3840.WEBP new file mode 100644 index 0000000000..57471d5f35 Binary files /dev/null and b/public/nextImageExportOptimizer/4.f41621f8-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/4.f41621f8-opt-48.WEBP b/public/nextImageExportOptimizer/4.f41621f8-opt-48.WEBP new file mode 100644 index 0000000000..7069ebebb3 Binary files /dev/null and b/public/nextImageExportOptimizer/4.f41621f8-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/4.f41621f8-opt-64.WEBP b/public/nextImageExportOptimizer/4.f41621f8-opt-64.WEBP new file mode 100644 index 0000000000..a345c01194 Binary files /dev/null and b/public/nextImageExportOptimizer/4.f41621f8-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/4.f41621f8-opt-640.WEBP b/public/nextImageExportOptimizer/4.f41621f8-opt-640.WEBP new file mode 100644 index 0000000000..a5d556a035 Binary files /dev/null and b/public/nextImageExportOptimizer/4.f41621f8-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/4.f41621f8-opt-750.WEBP b/public/nextImageExportOptimizer/4.f41621f8-opt-750.WEBP new file mode 100644 index 0000000000..b2d45e3642 Binary files /dev/null and b/public/nextImageExportOptimizer/4.f41621f8-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/4.f41621f8-opt-828.WEBP b/public/nextImageExportOptimizer/4.f41621f8-opt-828.WEBP new file mode 100644 index 0000000000..40e3af8034 Binary files /dev/null and b/public/nextImageExportOptimizer/4.f41621f8-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/4.f41621f8-opt-96.WEBP b/public/nextImageExportOptimizer/4.f41621f8-opt-96.WEBP new file mode 100644 index 0000000000..b8b4da24d2 Binary files /dev/null and b/public/nextImageExportOptimizer/4.f41621f8-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/5.5e7fbfc8-opt-10.WEBP b/public/nextImageExportOptimizer/5.5e7fbfc8-opt-10.WEBP new file mode 100644 index 0000000000..61df4d9018 Binary files /dev/null and b/public/nextImageExportOptimizer/5.5e7fbfc8-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/5.5e7fbfc8-opt-1080.WEBP b/public/nextImageExportOptimizer/5.5e7fbfc8-opt-1080.WEBP new file mode 100644 index 0000000000..2f3ea7d244 Binary files /dev/null and b/public/nextImageExportOptimizer/5.5e7fbfc8-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/5.5e7fbfc8-opt-1200.WEBP b/public/nextImageExportOptimizer/5.5e7fbfc8-opt-1200.WEBP new file mode 100644 index 0000000000..6f0fe4f0c3 Binary files /dev/null and b/public/nextImageExportOptimizer/5.5e7fbfc8-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/5.5e7fbfc8-opt-128.WEBP b/public/nextImageExportOptimizer/5.5e7fbfc8-opt-128.WEBP new file mode 100644 index 0000000000..38d93d2805 Binary files /dev/null and b/public/nextImageExportOptimizer/5.5e7fbfc8-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/5.5e7fbfc8-opt-16.WEBP b/public/nextImageExportOptimizer/5.5e7fbfc8-opt-16.WEBP new file mode 100644 index 0000000000..6a6d2428f4 Binary files /dev/null and b/public/nextImageExportOptimizer/5.5e7fbfc8-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/5.5e7fbfc8-opt-1920.WEBP b/public/nextImageExportOptimizer/5.5e7fbfc8-opt-1920.WEBP new file mode 100644 index 0000000000..8a9fd6e35e Binary files /dev/null and b/public/nextImageExportOptimizer/5.5e7fbfc8-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/5.5e7fbfc8-opt-2048.WEBP b/public/nextImageExportOptimizer/5.5e7fbfc8-opt-2048.WEBP new file mode 100644 index 0000000000..36a8db4ad0 Binary files /dev/null and b/public/nextImageExportOptimizer/5.5e7fbfc8-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/5.5e7fbfc8-opt-256.WEBP b/public/nextImageExportOptimizer/5.5e7fbfc8-opt-256.WEBP new file mode 100644 index 0000000000..d9ef639c8d Binary files /dev/null and b/public/nextImageExportOptimizer/5.5e7fbfc8-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/5.5e7fbfc8-opt-32.WEBP b/public/nextImageExportOptimizer/5.5e7fbfc8-opt-32.WEBP new file mode 100644 index 0000000000..6d0d78ef77 Binary files /dev/null and b/public/nextImageExportOptimizer/5.5e7fbfc8-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/5.5e7fbfc8-opt-384.WEBP b/public/nextImageExportOptimizer/5.5e7fbfc8-opt-384.WEBP new file mode 100644 index 0000000000..b1dca87b35 Binary files /dev/null and b/public/nextImageExportOptimizer/5.5e7fbfc8-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/5.5e7fbfc8-opt-3840.WEBP b/public/nextImageExportOptimizer/5.5e7fbfc8-opt-3840.WEBP new file mode 100644 index 0000000000..b13e14c0bb Binary files /dev/null and b/public/nextImageExportOptimizer/5.5e7fbfc8-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/5.5e7fbfc8-opt-48.WEBP b/public/nextImageExportOptimizer/5.5e7fbfc8-opt-48.WEBP new file mode 100644 index 0000000000..f09ff6f3ff Binary files /dev/null and b/public/nextImageExportOptimizer/5.5e7fbfc8-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/5.5e7fbfc8-opt-64.WEBP b/public/nextImageExportOptimizer/5.5e7fbfc8-opt-64.WEBP new file mode 100644 index 0000000000..ba72a687fa Binary files /dev/null and b/public/nextImageExportOptimizer/5.5e7fbfc8-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/5.5e7fbfc8-opt-640.WEBP b/public/nextImageExportOptimizer/5.5e7fbfc8-opt-640.WEBP new file mode 100644 index 0000000000..1c202eac56 Binary files /dev/null and b/public/nextImageExportOptimizer/5.5e7fbfc8-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/5.5e7fbfc8-opt-750.WEBP b/public/nextImageExportOptimizer/5.5e7fbfc8-opt-750.WEBP new file mode 100644 index 0000000000..8798120814 Binary files /dev/null and b/public/nextImageExportOptimizer/5.5e7fbfc8-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/5.5e7fbfc8-opt-828.WEBP b/public/nextImageExportOptimizer/5.5e7fbfc8-opt-828.WEBP new file mode 100644 index 0000000000..1f498f50e8 Binary files /dev/null and b/public/nextImageExportOptimizer/5.5e7fbfc8-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/5.5e7fbfc8-opt-96.WEBP b/public/nextImageExportOptimizer/5.5e7fbfc8-opt-96.WEBP new file mode 100644 index 0000000000..f8fe32841c Binary files /dev/null and b/public/nextImageExportOptimizer/5.5e7fbfc8-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/5_53228256882_o.2173b47b-opt-10.WEBP b/public/nextImageExportOptimizer/5_53228256882_o.2173b47b-opt-10.WEBP new file mode 100644 index 0000000000..b2a9157058 Binary files /dev/null and b/public/nextImageExportOptimizer/5_53228256882_o.2173b47b-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/5_53228256882_o.2173b47b-opt-1080.WEBP b/public/nextImageExportOptimizer/5_53228256882_o.2173b47b-opt-1080.WEBP new file mode 100644 index 0000000000..e6df4e3fc8 Binary files /dev/null and b/public/nextImageExportOptimizer/5_53228256882_o.2173b47b-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/5_53228256882_o.2173b47b-opt-1200.WEBP b/public/nextImageExportOptimizer/5_53228256882_o.2173b47b-opt-1200.WEBP new file mode 100644 index 0000000000..e473dc6ccd Binary files /dev/null and b/public/nextImageExportOptimizer/5_53228256882_o.2173b47b-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/5_53228256882_o.2173b47b-opt-128.WEBP b/public/nextImageExportOptimizer/5_53228256882_o.2173b47b-opt-128.WEBP new file mode 100644 index 0000000000..aa2aa09376 Binary files /dev/null and b/public/nextImageExportOptimizer/5_53228256882_o.2173b47b-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/5_53228256882_o.2173b47b-opt-16.WEBP b/public/nextImageExportOptimizer/5_53228256882_o.2173b47b-opt-16.WEBP new file mode 100644 index 0000000000..4e24234844 Binary files /dev/null and b/public/nextImageExportOptimizer/5_53228256882_o.2173b47b-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/5_53228256882_o.2173b47b-opt-1920.WEBP b/public/nextImageExportOptimizer/5_53228256882_o.2173b47b-opt-1920.WEBP new file mode 100644 index 0000000000..91377d39d5 Binary files /dev/null and b/public/nextImageExportOptimizer/5_53228256882_o.2173b47b-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/5_53228256882_o.2173b47b-opt-2048.WEBP b/public/nextImageExportOptimizer/5_53228256882_o.2173b47b-opt-2048.WEBP new file mode 100644 index 0000000000..b201fda7a8 Binary files /dev/null and b/public/nextImageExportOptimizer/5_53228256882_o.2173b47b-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/5_53228256882_o.2173b47b-opt-256.WEBP b/public/nextImageExportOptimizer/5_53228256882_o.2173b47b-opt-256.WEBP new file mode 100644 index 0000000000..9d47249e90 Binary files /dev/null and b/public/nextImageExportOptimizer/5_53228256882_o.2173b47b-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/5_53228256882_o.2173b47b-opt-32.WEBP b/public/nextImageExportOptimizer/5_53228256882_o.2173b47b-opt-32.WEBP new file mode 100644 index 0000000000..0b11969b85 Binary files /dev/null and b/public/nextImageExportOptimizer/5_53228256882_o.2173b47b-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/5_53228256882_o.2173b47b-opt-384.WEBP b/public/nextImageExportOptimizer/5_53228256882_o.2173b47b-opt-384.WEBP new file mode 100644 index 0000000000..3e8789caec Binary files /dev/null and b/public/nextImageExportOptimizer/5_53228256882_o.2173b47b-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/5_53228256882_o.2173b47b-opt-3840.WEBP b/public/nextImageExportOptimizer/5_53228256882_o.2173b47b-opt-3840.WEBP new file mode 100644 index 0000000000..09ef3a6f74 Binary files /dev/null and b/public/nextImageExportOptimizer/5_53228256882_o.2173b47b-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/5_53228256882_o.2173b47b-opt-48.WEBP b/public/nextImageExportOptimizer/5_53228256882_o.2173b47b-opt-48.WEBP new file mode 100644 index 0000000000..e96d33ff65 Binary files /dev/null and b/public/nextImageExportOptimizer/5_53228256882_o.2173b47b-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/5_53228256882_o.2173b47b-opt-64.WEBP b/public/nextImageExportOptimizer/5_53228256882_o.2173b47b-opt-64.WEBP new file mode 100644 index 0000000000..2fbb3e87a9 Binary files /dev/null and b/public/nextImageExportOptimizer/5_53228256882_o.2173b47b-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/5_53228256882_o.2173b47b-opt-640.WEBP b/public/nextImageExportOptimizer/5_53228256882_o.2173b47b-opt-640.WEBP new file mode 100644 index 0000000000..15bb8c2ca5 Binary files /dev/null and b/public/nextImageExportOptimizer/5_53228256882_o.2173b47b-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/5_53228256882_o.2173b47b-opt-750.WEBP b/public/nextImageExportOptimizer/5_53228256882_o.2173b47b-opt-750.WEBP new file mode 100644 index 0000000000..83fbc4dff9 Binary files /dev/null and b/public/nextImageExportOptimizer/5_53228256882_o.2173b47b-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/5_53228256882_o.2173b47b-opt-828.WEBP b/public/nextImageExportOptimizer/5_53228256882_o.2173b47b-opt-828.WEBP new file mode 100644 index 0000000000..22c1d008fd Binary files /dev/null and b/public/nextImageExportOptimizer/5_53228256882_o.2173b47b-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/5_53228256882_o.2173b47b-opt-96.WEBP b/public/nextImageExportOptimizer/5_53228256882_o.2173b47b-opt-96.WEBP new file mode 100644 index 0000000000..8d0469caea Binary files /dev/null and b/public/nextImageExportOptimizer/5_53228256882_o.2173b47b-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/6.7cec175d-opt-10.WEBP b/public/nextImageExportOptimizer/6.7cec175d-opt-10.WEBP new file mode 100644 index 0000000000..2cdd70d3c7 Binary files /dev/null and b/public/nextImageExportOptimizer/6.7cec175d-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/6.7cec175d-opt-1080.WEBP b/public/nextImageExportOptimizer/6.7cec175d-opt-1080.WEBP new file mode 100644 index 0000000000..e9bf7ac3fc Binary files /dev/null and b/public/nextImageExportOptimizer/6.7cec175d-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/6.7cec175d-opt-1200.WEBP b/public/nextImageExportOptimizer/6.7cec175d-opt-1200.WEBP new file mode 100644 index 0000000000..b957aa72b4 Binary files /dev/null and b/public/nextImageExportOptimizer/6.7cec175d-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/6.7cec175d-opt-128.WEBP b/public/nextImageExportOptimizer/6.7cec175d-opt-128.WEBP new file mode 100644 index 0000000000..7aafd707b8 Binary files /dev/null and b/public/nextImageExportOptimizer/6.7cec175d-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/6.7cec175d-opt-16.WEBP b/public/nextImageExportOptimizer/6.7cec175d-opt-16.WEBP new file mode 100644 index 0000000000..2cbe95886f Binary files /dev/null and b/public/nextImageExportOptimizer/6.7cec175d-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/6.7cec175d-opt-1920.WEBP b/public/nextImageExportOptimizer/6.7cec175d-opt-1920.WEBP new file mode 100644 index 0000000000..1766f37f20 Binary files /dev/null and b/public/nextImageExportOptimizer/6.7cec175d-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/6.7cec175d-opt-2048.WEBP b/public/nextImageExportOptimizer/6.7cec175d-opt-2048.WEBP new file mode 100644 index 0000000000..87894747f0 Binary files /dev/null and b/public/nextImageExportOptimizer/6.7cec175d-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/6.7cec175d-opt-256.WEBP b/public/nextImageExportOptimizer/6.7cec175d-opt-256.WEBP new file mode 100644 index 0000000000..813f373015 Binary files /dev/null and b/public/nextImageExportOptimizer/6.7cec175d-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/6.7cec175d-opt-32.WEBP b/public/nextImageExportOptimizer/6.7cec175d-opt-32.WEBP new file mode 100644 index 0000000000..0a01070011 Binary files /dev/null and b/public/nextImageExportOptimizer/6.7cec175d-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/6.7cec175d-opt-384.WEBP b/public/nextImageExportOptimizer/6.7cec175d-opt-384.WEBP new file mode 100644 index 0000000000..23d3ca22b9 Binary files /dev/null and b/public/nextImageExportOptimizer/6.7cec175d-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/6.7cec175d-opt-3840.WEBP b/public/nextImageExportOptimizer/6.7cec175d-opt-3840.WEBP new file mode 100644 index 0000000000..bfc635047f Binary files /dev/null and b/public/nextImageExportOptimizer/6.7cec175d-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/6.7cec175d-opt-48.WEBP b/public/nextImageExportOptimizer/6.7cec175d-opt-48.WEBP new file mode 100644 index 0000000000..fe2de55b0a Binary files /dev/null and b/public/nextImageExportOptimizer/6.7cec175d-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/6.7cec175d-opt-64.WEBP b/public/nextImageExportOptimizer/6.7cec175d-opt-64.WEBP new file mode 100644 index 0000000000..24cf33182f Binary files /dev/null and b/public/nextImageExportOptimizer/6.7cec175d-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/6.7cec175d-opt-640.WEBP b/public/nextImageExportOptimizer/6.7cec175d-opt-640.WEBP new file mode 100644 index 0000000000..ef0e316c2f Binary files /dev/null and b/public/nextImageExportOptimizer/6.7cec175d-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/6.7cec175d-opt-750.WEBP b/public/nextImageExportOptimizer/6.7cec175d-opt-750.WEBP new file mode 100644 index 0000000000..bae92bcaf1 Binary files /dev/null and b/public/nextImageExportOptimizer/6.7cec175d-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/6.7cec175d-opt-828.WEBP b/public/nextImageExportOptimizer/6.7cec175d-opt-828.WEBP new file mode 100644 index 0000000000..4fbd604cfa Binary files /dev/null and b/public/nextImageExportOptimizer/6.7cec175d-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/6.7cec175d-opt-96.WEBP b/public/nextImageExportOptimizer/6.7cec175d-opt-96.WEBP new file mode 100644 index 0000000000..c266f1765e Binary files /dev/null and b/public/nextImageExportOptimizer/6.7cec175d-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/7_53229506199_o.9bbeb0b1-opt-10.WEBP b/public/nextImageExportOptimizer/7_53229506199_o.9bbeb0b1-opt-10.WEBP new file mode 100644 index 0000000000..b60f0715a1 Binary files /dev/null and b/public/nextImageExportOptimizer/7_53229506199_o.9bbeb0b1-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/7_53229506199_o.9bbeb0b1-opt-1080.WEBP b/public/nextImageExportOptimizer/7_53229506199_o.9bbeb0b1-opt-1080.WEBP new file mode 100644 index 0000000000..f0b3b43132 Binary files /dev/null and b/public/nextImageExportOptimizer/7_53229506199_o.9bbeb0b1-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/7_53229506199_o.9bbeb0b1-opt-1200.WEBP b/public/nextImageExportOptimizer/7_53229506199_o.9bbeb0b1-opt-1200.WEBP new file mode 100644 index 0000000000..067ef8f292 Binary files /dev/null and b/public/nextImageExportOptimizer/7_53229506199_o.9bbeb0b1-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/7_53229506199_o.9bbeb0b1-opt-128.WEBP b/public/nextImageExportOptimizer/7_53229506199_o.9bbeb0b1-opt-128.WEBP new file mode 100644 index 0000000000..02c6ce85ab Binary files /dev/null and b/public/nextImageExportOptimizer/7_53229506199_o.9bbeb0b1-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/7_53229506199_o.9bbeb0b1-opt-16.WEBP b/public/nextImageExportOptimizer/7_53229506199_o.9bbeb0b1-opt-16.WEBP new file mode 100644 index 0000000000..d4b06e3dfe Binary files /dev/null and b/public/nextImageExportOptimizer/7_53229506199_o.9bbeb0b1-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/7_53229506199_o.9bbeb0b1-opt-1920.WEBP b/public/nextImageExportOptimizer/7_53229506199_o.9bbeb0b1-opt-1920.WEBP new file mode 100644 index 0000000000..3d30490b57 Binary files /dev/null and b/public/nextImageExportOptimizer/7_53229506199_o.9bbeb0b1-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/7_53229506199_o.9bbeb0b1-opt-2048.WEBP b/public/nextImageExportOptimizer/7_53229506199_o.9bbeb0b1-opt-2048.WEBP new file mode 100644 index 0000000000..fdd28ae44c Binary files /dev/null and b/public/nextImageExportOptimizer/7_53229506199_o.9bbeb0b1-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/7_53229506199_o.9bbeb0b1-opt-256.WEBP b/public/nextImageExportOptimizer/7_53229506199_o.9bbeb0b1-opt-256.WEBP new file mode 100644 index 0000000000..2e38de5f4c Binary files /dev/null and b/public/nextImageExportOptimizer/7_53229506199_o.9bbeb0b1-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/7_53229506199_o.9bbeb0b1-opt-32.WEBP b/public/nextImageExportOptimizer/7_53229506199_o.9bbeb0b1-opt-32.WEBP new file mode 100644 index 0000000000..c775b85fd7 Binary files /dev/null and b/public/nextImageExportOptimizer/7_53229506199_o.9bbeb0b1-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/7_53229506199_o.9bbeb0b1-opt-384.WEBP b/public/nextImageExportOptimizer/7_53229506199_o.9bbeb0b1-opt-384.WEBP new file mode 100644 index 0000000000..f99d6681b7 Binary files /dev/null and b/public/nextImageExportOptimizer/7_53229506199_o.9bbeb0b1-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/7_53229506199_o.9bbeb0b1-opt-3840.WEBP b/public/nextImageExportOptimizer/7_53229506199_o.9bbeb0b1-opt-3840.WEBP new file mode 100644 index 0000000000..da98d73e1f Binary files /dev/null and b/public/nextImageExportOptimizer/7_53229506199_o.9bbeb0b1-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/7_53229506199_o.9bbeb0b1-opt-48.WEBP b/public/nextImageExportOptimizer/7_53229506199_o.9bbeb0b1-opt-48.WEBP new file mode 100644 index 0000000000..cab58017eb Binary files /dev/null and b/public/nextImageExportOptimizer/7_53229506199_o.9bbeb0b1-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/7_53229506199_o.9bbeb0b1-opt-64.WEBP b/public/nextImageExportOptimizer/7_53229506199_o.9bbeb0b1-opt-64.WEBP new file mode 100644 index 0000000000..d5b9494ab6 Binary files /dev/null and b/public/nextImageExportOptimizer/7_53229506199_o.9bbeb0b1-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/7_53229506199_o.9bbeb0b1-opt-640.WEBP b/public/nextImageExportOptimizer/7_53229506199_o.9bbeb0b1-opt-640.WEBP new file mode 100644 index 0000000000..c136c08717 Binary files /dev/null and b/public/nextImageExportOptimizer/7_53229506199_o.9bbeb0b1-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/7_53229506199_o.9bbeb0b1-opt-750.WEBP b/public/nextImageExportOptimizer/7_53229506199_o.9bbeb0b1-opt-750.WEBP new file mode 100644 index 0000000000..480b02f885 Binary files /dev/null and b/public/nextImageExportOptimizer/7_53229506199_o.9bbeb0b1-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/7_53229506199_o.9bbeb0b1-opt-828.WEBP b/public/nextImageExportOptimizer/7_53229506199_o.9bbeb0b1-opt-828.WEBP new file mode 100644 index 0000000000..55c5bbb6f1 Binary files /dev/null and b/public/nextImageExportOptimizer/7_53229506199_o.9bbeb0b1-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/7_53229506199_o.9bbeb0b1-opt-96.WEBP b/public/nextImageExportOptimizer/7_53229506199_o.9bbeb0b1-opt-96.WEBP new file mode 100644 index 0000000000..a7cd64f73a Binary files /dev/null and b/public/nextImageExportOptimizer/7_53229506199_o.9bbeb0b1-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/8.eafdc50d-opt-10.WEBP b/public/nextImageExportOptimizer/8.eafdc50d-opt-10.WEBP new file mode 100644 index 0000000000..1ff8730721 Binary files /dev/null and b/public/nextImageExportOptimizer/8.eafdc50d-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/8.eafdc50d-opt-1080.WEBP b/public/nextImageExportOptimizer/8.eafdc50d-opt-1080.WEBP new file mode 100644 index 0000000000..f73da1cb92 Binary files /dev/null and b/public/nextImageExportOptimizer/8.eafdc50d-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/8.eafdc50d-opt-1200.WEBP b/public/nextImageExportOptimizer/8.eafdc50d-opt-1200.WEBP new file mode 100644 index 0000000000..e22bb46547 Binary files /dev/null and b/public/nextImageExportOptimizer/8.eafdc50d-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/8.eafdc50d-opt-128.WEBP b/public/nextImageExportOptimizer/8.eafdc50d-opt-128.WEBP new file mode 100644 index 0000000000..1eafa24e78 Binary files /dev/null and b/public/nextImageExportOptimizer/8.eafdc50d-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/8.eafdc50d-opt-16.WEBP b/public/nextImageExportOptimizer/8.eafdc50d-opt-16.WEBP new file mode 100644 index 0000000000..aca4e7c907 Binary files /dev/null and b/public/nextImageExportOptimizer/8.eafdc50d-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/8.eafdc50d-opt-1920.WEBP b/public/nextImageExportOptimizer/8.eafdc50d-opt-1920.WEBP new file mode 100644 index 0000000000..c0c5a24d7e Binary files /dev/null and b/public/nextImageExportOptimizer/8.eafdc50d-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/8.eafdc50d-opt-2048.WEBP b/public/nextImageExportOptimizer/8.eafdc50d-opt-2048.WEBP new file mode 100644 index 0000000000..5239a59091 Binary files /dev/null and b/public/nextImageExportOptimizer/8.eafdc50d-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/8.eafdc50d-opt-256.WEBP b/public/nextImageExportOptimizer/8.eafdc50d-opt-256.WEBP new file mode 100644 index 0000000000..cfa83a3978 Binary files /dev/null and b/public/nextImageExportOptimizer/8.eafdc50d-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/8.eafdc50d-opt-32.WEBP b/public/nextImageExportOptimizer/8.eafdc50d-opt-32.WEBP new file mode 100644 index 0000000000..38ae1b3a51 Binary files /dev/null and b/public/nextImageExportOptimizer/8.eafdc50d-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/8.eafdc50d-opt-384.WEBP b/public/nextImageExportOptimizer/8.eafdc50d-opt-384.WEBP new file mode 100644 index 0000000000..e25178305a Binary files /dev/null and b/public/nextImageExportOptimizer/8.eafdc50d-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/8.eafdc50d-opt-3840.WEBP b/public/nextImageExportOptimizer/8.eafdc50d-opt-3840.WEBP new file mode 100644 index 0000000000..555c4f2513 Binary files /dev/null and b/public/nextImageExportOptimizer/8.eafdc50d-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/8.eafdc50d-opt-48.WEBP b/public/nextImageExportOptimizer/8.eafdc50d-opt-48.WEBP new file mode 100644 index 0000000000..102b00f9a5 Binary files /dev/null and b/public/nextImageExportOptimizer/8.eafdc50d-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/8.eafdc50d-opt-64.WEBP b/public/nextImageExportOptimizer/8.eafdc50d-opt-64.WEBP new file mode 100644 index 0000000000..065bbbcb58 Binary files /dev/null and b/public/nextImageExportOptimizer/8.eafdc50d-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/8.eafdc50d-opt-640.WEBP b/public/nextImageExportOptimizer/8.eafdc50d-opt-640.WEBP new file mode 100644 index 0000000000..d4a30e3d96 Binary files /dev/null and b/public/nextImageExportOptimizer/8.eafdc50d-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/8.eafdc50d-opt-750.WEBP b/public/nextImageExportOptimizer/8.eafdc50d-opt-750.WEBP new file mode 100644 index 0000000000..ebe6b2d800 Binary files /dev/null and b/public/nextImageExportOptimizer/8.eafdc50d-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/8.eafdc50d-opt-828.WEBP b/public/nextImageExportOptimizer/8.eafdc50d-opt-828.WEBP new file mode 100644 index 0000000000..9a17b8066c Binary files /dev/null and b/public/nextImageExportOptimizer/8.eafdc50d-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/8.eafdc50d-opt-96.WEBP b/public/nextImageExportOptimizer/8.eafdc50d-opt-96.WEBP new file mode 100644 index 0000000000..9f2ccdcfe0 Binary files /dev/null and b/public/nextImageExportOptimizer/8.eafdc50d-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/8_53229629805_o.290e35be-opt-10.WEBP b/public/nextImageExportOptimizer/8_53229629805_o.290e35be-opt-10.WEBP new file mode 100644 index 0000000000..f056c7d2f5 Binary files /dev/null and b/public/nextImageExportOptimizer/8_53229629805_o.290e35be-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/8_53229629805_o.290e35be-opt-1080.WEBP b/public/nextImageExportOptimizer/8_53229629805_o.290e35be-opt-1080.WEBP new file mode 100644 index 0000000000..1dccf1e7cb Binary files /dev/null and b/public/nextImageExportOptimizer/8_53229629805_o.290e35be-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/8_53229629805_o.290e35be-opt-1200.WEBP b/public/nextImageExportOptimizer/8_53229629805_o.290e35be-opt-1200.WEBP new file mode 100644 index 0000000000..3ed67e5fdb Binary files /dev/null and b/public/nextImageExportOptimizer/8_53229629805_o.290e35be-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/8_53229629805_o.290e35be-opt-128.WEBP b/public/nextImageExportOptimizer/8_53229629805_o.290e35be-opt-128.WEBP new file mode 100644 index 0000000000..050d1f747e Binary files /dev/null and b/public/nextImageExportOptimizer/8_53229629805_o.290e35be-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/8_53229629805_o.290e35be-opt-16.WEBP b/public/nextImageExportOptimizer/8_53229629805_o.290e35be-opt-16.WEBP new file mode 100644 index 0000000000..e1717c85a6 Binary files /dev/null and b/public/nextImageExportOptimizer/8_53229629805_o.290e35be-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/8_53229629805_o.290e35be-opt-1920.WEBP b/public/nextImageExportOptimizer/8_53229629805_o.290e35be-opt-1920.WEBP new file mode 100644 index 0000000000..3c93257d9a Binary files /dev/null and b/public/nextImageExportOptimizer/8_53229629805_o.290e35be-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/8_53229629805_o.290e35be-opt-2048.WEBP b/public/nextImageExportOptimizer/8_53229629805_o.290e35be-opt-2048.WEBP new file mode 100644 index 0000000000..53603587fa Binary files /dev/null and b/public/nextImageExportOptimizer/8_53229629805_o.290e35be-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/8_53229629805_o.290e35be-opt-256.WEBP b/public/nextImageExportOptimizer/8_53229629805_o.290e35be-opt-256.WEBP new file mode 100644 index 0000000000..d6b4bb9011 Binary files /dev/null and b/public/nextImageExportOptimizer/8_53229629805_o.290e35be-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/8_53229629805_o.290e35be-opt-32.WEBP b/public/nextImageExportOptimizer/8_53229629805_o.290e35be-opt-32.WEBP new file mode 100644 index 0000000000..bf61bd2266 Binary files /dev/null and b/public/nextImageExportOptimizer/8_53229629805_o.290e35be-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/8_53229629805_o.290e35be-opt-384.WEBP b/public/nextImageExportOptimizer/8_53229629805_o.290e35be-opt-384.WEBP new file mode 100644 index 0000000000..14e0031eb6 Binary files /dev/null and b/public/nextImageExportOptimizer/8_53229629805_o.290e35be-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/8_53229629805_o.290e35be-opt-3840.WEBP b/public/nextImageExportOptimizer/8_53229629805_o.290e35be-opt-3840.WEBP new file mode 100644 index 0000000000..657bc2db3e Binary files /dev/null and b/public/nextImageExportOptimizer/8_53229629805_o.290e35be-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/8_53229629805_o.290e35be-opt-48.WEBP b/public/nextImageExportOptimizer/8_53229629805_o.290e35be-opt-48.WEBP new file mode 100644 index 0000000000..06628b7e8e Binary files /dev/null and b/public/nextImageExportOptimizer/8_53229629805_o.290e35be-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/8_53229629805_o.290e35be-opt-64.WEBP b/public/nextImageExportOptimizer/8_53229629805_o.290e35be-opt-64.WEBP new file mode 100644 index 0000000000..6bc5bc3817 Binary files /dev/null and b/public/nextImageExportOptimizer/8_53229629805_o.290e35be-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/8_53229629805_o.290e35be-opt-640.WEBP b/public/nextImageExportOptimizer/8_53229629805_o.290e35be-opt-640.WEBP new file mode 100644 index 0000000000..9cfff7aafa Binary files /dev/null and b/public/nextImageExportOptimizer/8_53229629805_o.290e35be-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/8_53229629805_o.290e35be-opt-750.WEBP b/public/nextImageExportOptimizer/8_53229629805_o.290e35be-opt-750.WEBP new file mode 100644 index 0000000000..46df36f589 Binary files /dev/null and b/public/nextImageExportOptimizer/8_53229629805_o.290e35be-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/8_53229629805_o.290e35be-opt-828.WEBP b/public/nextImageExportOptimizer/8_53229629805_o.290e35be-opt-828.WEBP new file mode 100644 index 0000000000..328c82a005 Binary files /dev/null and b/public/nextImageExportOptimizer/8_53229629805_o.290e35be-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/8_53229629805_o.290e35be-opt-96.WEBP b/public/nextImageExportOptimizer/8_53229629805_o.290e35be-opt-96.WEBP new file mode 100644 index 0000000000..55b7dc4ff2 Binary files /dev/null and b/public/nextImageExportOptimizer/8_53229629805_o.290e35be-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/9.4a558c85-opt-10.WEBP b/public/nextImageExportOptimizer/9.4a558c85-opt-10.WEBP new file mode 100644 index 0000000000..423e78ad3a Binary files /dev/null and b/public/nextImageExportOptimizer/9.4a558c85-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/9.4a558c85-opt-1080.WEBP b/public/nextImageExportOptimizer/9.4a558c85-opt-1080.WEBP new file mode 100644 index 0000000000..a0f77e6180 Binary files /dev/null and b/public/nextImageExportOptimizer/9.4a558c85-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/9.4a558c85-opt-1200.WEBP b/public/nextImageExportOptimizer/9.4a558c85-opt-1200.WEBP new file mode 100644 index 0000000000..754c3f6341 Binary files /dev/null and b/public/nextImageExportOptimizer/9.4a558c85-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/9.4a558c85-opt-128.WEBP b/public/nextImageExportOptimizer/9.4a558c85-opt-128.WEBP new file mode 100644 index 0000000000..931f65c91c Binary files /dev/null and b/public/nextImageExportOptimizer/9.4a558c85-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/9.4a558c85-opt-16.WEBP b/public/nextImageExportOptimizer/9.4a558c85-opt-16.WEBP new file mode 100644 index 0000000000..e446b920e4 Binary files /dev/null and b/public/nextImageExportOptimizer/9.4a558c85-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/9.4a558c85-opt-1920.WEBP b/public/nextImageExportOptimizer/9.4a558c85-opt-1920.WEBP new file mode 100644 index 0000000000..8a093858c3 Binary files /dev/null and b/public/nextImageExportOptimizer/9.4a558c85-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/9.4a558c85-opt-256.WEBP b/public/nextImageExportOptimizer/9.4a558c85-opt-256.WEBP new file mode 100644 index 0000000000..4dd3342fce Binary files /dev/null and b/public/nextImageExportOptimizer/9.4a558c85-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/9.4a558c85-opt-32.WEBP b/public/nextImageExportOptimizer/9.4a558c85-opt-32.WEBP new file mode 100644 index 0000000000..5e02f754e8 Binary files /dev/null and b/public/nextImageExportOptimizer/9.4a558c85-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/9.4a558c85-opt-384.WEBP b/public/nextImageExportOptimizer/9.4a558c85-opt-384.WEBP new file mode 100644 index 0000000000..64468b55ad Binary files /dev/null and b/public/nextImageExportOptimizer/9.4a558c85-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/9.4a558c85-opt-48.WEBP b/public/nextImageExportOptimizer/9.4a558c85-opt-48.WEBP new file mode 100644 index 0000000000..e043facf83 Binary files /dev/null and b/public/nextImageExportOptimizer/9.4a558c85-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/9.4a558c85-opt-64.WEBP b/public/nextImageExportOptimizer/9.4a558c85-opt-64.WEBP new file mode 100644 index 0000000000..6548e7a34a Binary files /dev/null and b/public/nextImageExportOptimizer/9.4a558c85-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/9.4a558c85-opt-640.WEBP b/public/nextImageExportOptimizer/9.4a558c85-opt-640.WEBP new file mode 100644 index 0000000000..aa5b4531d9 Binary files /dev/null and b/public/nextImageExportOptimizer/9.4a558c85-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/9.4a558c85-opt-750.WEBP b/public/nextImageExportOptimizer/9.4a558c85-opt-750.WEBP new file mode 100644 index 0000000000..3f0c8be347 Binary files /dev/null and b/public/nextImageExportOptimizer/9.4a558c85-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/9.4a558c85-opt-828.WEBP b/public/nextImageExportOptimizer/9.4a558c85-opt-828.WEBP new file mode 100644 index 0000000000..f41bc43648 Binary files /dev/null and b/public/nextImageExportOptimizer/9.4a558c85-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/9.4a558c85-opt-96.WEBP b/public/nextImageExportOptimizer/9.4a558c85-opt-96.WEBP new file mode 100644 index 0000000000..43c3d0c2e0 Binary files /dev/null and b/public/nextImageExportOptimizer/9.4a558c85-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/annual-report-1.5ebe2b34-opt-10.WEBP b/public/nextImageExportOptimizer/annual-report-1.5ebe2b34-opt-10.WEBP new file mode 100644 index 0000000000..d60c7992ae Binary files /dev/null and b/public/nextImageExportOptimizer/annual-report-1.5ebe2b34-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/annual-report-1.5ebe2b34-opt-1080.WEBP b/public/nextImageExportOptimizer/annual-report-1.5ebe2b34-opt-1080.WEBP new file mode 100644 index 0000000000..0e824e6a3f Binary files /dev/null and b/public/nextImageExportOptimizer/annual-report-1.5ebe2b34-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/annual-report-1.5ebe2b34-opt-128.WEBP b/public/nextImageExportOptimizer/annual-report-1.5ebe2b34-opt-128.WEBP new file mode 100644 index 0000000000..35611db5ed Binary files /dev/null and b/public/nextImageExportOptimizer/annual-report-1.5ebe2b34-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/annual-report-1.5ebe2b34-opt-16.WEBP b/public/nextImageExportOptimizer/annual-report-1.5ebe2b34-opt-16.WEBP new file mode 100644 index 0000000000..2ac91e71cd Binary files /dev/null and b/public/nextImageExportOptimizer/annual-report-1.5ebe2b34-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/annual-report-1.5ebe2b34-opt-256.WEBP b/public/nextImageExportOptimizer/annual-report-1.5ebe2b34-opt-256.WEBP new file mode 100644 index 0000000000..437ee38420 Binary files /dev/null and b/public/nextImageExportOptimizer/annual-report-1.5ebe2b34-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/annual-report-1.5ebe2b34-opt-32.WEBP b/public/nextImageExportOptimizer/annual-report-1.5ebe2b34-opt-32.WEBP new file mode 100644 index 0000000000..9820ff18ff Binary files /dev/null and b/public/nextImageExportOptimizer/annual-report-1.5ebe2b34-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/annual-report-1.5ebe2b34-opt-384.WEBP b/public/nextImageExportOptimizer/annual-report-1.5ebe2b34-opt-384.WEBP new file mode 100644 index 0000000000..b82d941a23 Binary files /dev/null and b/public/nextImageExportOptimizer/annual-report-1.5ebe2b34-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/annual-report-1.5ebe2b34-opt-48.WEBP b/public/nextImageExportOptimizer/annual-report-1.5ebe2b34-opt-48.WEBP new file mode 100644 index 0000000000..03690f76bf Binary files /dev/null and b/public/nextImageExportOptimizer/annual-report-1.5ebe2b34-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/annual-report-1.5ebe2b34-opt-64.WEBP b/public/nextImageExportOptimizer/annual-report-1.5ebe2b34-opt-64.WEBP new file mode 100644 index 0000000000..fe74c84a85 Binary files /dev/null and b/public/nextImageExportOptimizer/annual-report-1.5ebe2b34-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/annual-report-1.5ebe2b34-opt-640.WEBP b/public/nextImageExportOptimizer/annual-report-1.5ebe2b34-opt-640.WEBP new file mode 100644 index 0000000000..6f20b7aedd Binary files /dev/null and b/public/nextImageExportOptimizer/annual-report-1.5ebe2b34-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/annual-report-1.5ebe2b34-opt-750.WEBP b/public/nextImageExportOptimizer/annual-report-1.5ebe2b34-opt-750.WEBP new file mode 100644 index 0000000000..589b8f3776 Binary files /dev/null and b/public/nextImageExportOptimizer/annual-report-1.5ebe2b34-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/annual-report-1.5ebe2b34-opt-828.WEBP b/public/nextImageExportOptimizer/annual-report-1.5ebe2b34-opt-828.WEBP new file mode 100644 index 0000000000..f5839c651b Binary files /dev/null and b/public/nextImageExportOptimizer/annual-report-1.5ebe2b34-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/annual-report-1.5ebe2b34-opt-96.WEBP b/public/nextImageExportOptimizer/annual-report-1.5ebe2b34-opt-96.WEBP new file mode 100644 index 0000000000..47711f881d Binary files /dev/null and b/public/nextImageExportOptimizer/annual-report-1.5ebe2b34-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/audience.f60c1c99-opt-10.WEBP b/public/nextImageExportOptimizer/audience.f60c1c99-opt-10.WEBP new file mode 100644 index 0000000000..66eb869864 Binary files /dev/null and b/public/nextImageExportOptimizer/audience.f60c1c99-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/audience.f60c1c99-opt-128.WEBP b/public/nextImageExportOptimizer/audience.f60c1c99-opt-128.WEBP new file mode 100644 index 0000000000..7aeb554b19 Binary files /dev/null and b/public/nextImageExportOptimizer/audience.f60c1c99-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/audience.f60c1c99-opt-16.WEBP b/public/nextImageExportOptimizer/audience.f60c1c99-opt-16.WEBP new file mode 100644 index 0000000000..7c4002b78c Binary files /dev/null and b/public/nextImageExportOptimizer/audience.f60c1c99-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/audience.f60c1c99-opt-256.WEBP b/public/nextImageExportOptimizer/audience.f60c1c99-opt-256.WEBP new file mode 100644 index 0000000000..04fcbd191f Binary files /dev/null and b/public/nextImageExportOptimizer/audience.f60c1c99-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/audience.f60c1c99-opt-32.WEBP b/public/nextImageExportOptimizer/audience.f60c1c99-opt-32.WEBP new file mode 100644 index 0000000000..cf8bc5216f Binary files /dev/null and b/public/nextImageExportOptimizer/audience.f60c1c99-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/audience.f60c1c99-opt-384.WEBP b/public/nextImageExportOptimizer/audience.f60c1c99-opt-384.WEBP new file mode 100644 index 0000000000..fb51ae7534 Binary files /dev/null and b/public/nextImageExportOptimizer/audience.f60c1c99-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/audience.f60c1c99-opt-48.WEBP b/public/nextImageExportOptimizer/audience.f60c1c99-opt-48.WEBP new file mode 100644 index 0000000000..ffead8e573 Binary files /dev/null and b/public/nextImageExportOptimizer/audience.f60c1c99-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/audience.f60c1c99-opt-64.WEBP b/public/nextImageExportOptimizer/audience.f60c1c99-opt-64.WEBP new file mode 100644 index 0000000000..dc80da647a Binary files /dev/null and b/public/nextImageExportOptimizer/audience.f60c1c99-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/audience.f60c1c99-opt-640.WEBP b/public/nextImageExportOptimizer/audience.f60c1c99-opt-640.WEBP new file mode 100644 index 0000000000..14aca601e6 Binary files /dev/null and b/public/nextImageExportOptimizer/audience.f60c1c99-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/audience.f60c1c99-opt-750.WEBP b/public/nextImageExportOptimizer/audience.f60c1c99-opt-750.WEBP new file mode 100644 index 0000000000..6ccd850c0d Binary files /dev/null and b/public/nextImageExportOptimizer/audience.f60c1c99-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/audience.f60c1c99-opt-828.WEBP b/public/nextImageExportOptimizer/audience.f60c1c99-opt-828.WEBP new file mode 100644 index 0000000000..70e9adefee Binary files /dev/null and b/public/nextImageExportOptimizer/audience.f60c1c99-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/audience.f60c1c99-opt-96.WEBP b/public/nextImageExportOptimizer/audience.f60c1c99-opt-96.WEBP new file mode 100644 index 0000000000..17d7d3b34e Binary files /dev/null and b/public/nextImageExportOptimizer/audience.f60c1c99-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/banner.10d4d66b-opt-10.WEBP b/public/nextImageExportOptimizer/banner.10d4d66b-opt-10.WEBP new file mode 100644 index 0000000000..f68c6ddfca Binary files /dev/null and b/public/nextImageExportOptimizer/banner.10d4d66b-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/banner.10d4d66b-opt-1080.WEBP b/public/nextImageExportOptimizer/banner.10d4d66b-opt-1080.WEBP new file mode 100644 index 0000000000..58c5b33576 Binary files /dev/null and b/public/nextImageExportOptimizer/banner.10d4d66b-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/banner.10d4d66b-opt-128.WEBP b/public/nextImageExportOptimizer/banner.10d4d66b-opt-128.WEBP new file mode 100644 index 0000000000..826dcea91f Binary files /dev/null and b/public/nextImageExportOptimizer/banner.10d4d66b-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/banner.10d4d66b-opt-16.WEBP b/public/nextImageExportOptimizer/banner.10d4d66b-opt-16.WEBP new file mode 100644 index 0000000000..bc2abcf681 Binary files /dev/null and b/public/nextImageExportOptimizer/banner.10d4d66b-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/banner.10d4d66b-opt-256.WEBP b/public/nextImageExportOptimizer/banner.10d4d66b-opt-256.WEBP new file mode 100644 index 0000000000..e03d3299f4 Binary files /dev/null and b/public/nextImageExportOptimizer/banner.10d4d66b-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/banner.10d4d66b-opt-32.WEBP b/public/nextImageExportOptimizer/banner.10d4d66b-opt-32.WEBP new file mode 100644 index 0000000000..ad21a7cf8f Binary files /dev/null and b/public/nextImageExportOptimizer/banner.10d4d66b-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/banner.10d4d66b-opt-384.WEBP b/public/nextImageExportOptimizer/banner.10d4d66b-opt-384.WEBP new file mode 100644 index 0000000000..c43e7974ee Binary files /dev/null and b/public/nextImageExportOptimizer/banner.10d4d66b-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/banner.10d4d66b-opt-48.WEBP b/public/nextImageExportOptimizer/banner.10d4d66b-opt-48.WEBP new file mode 100644 index 0000000000..42dbfb65e5 Binary files /dev/null and b/public/nextImageExportOptimizer/banner.10d4d66b-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/banner.10d4d66b-opt-64.WEBP b/public/nextImageExportOptimizer/banner.10d4d66b-opt-64.WEBP new file mode 100644 index 0000000000..b108b2d3d0 Binary files /dev/null and b/public/nextImageExportOptimizer/banner.10d4d66b-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/banner.10d4d66b-opt-640.WEBP b/public/nextImageExportOptimizer/banner.10d4d66b-opt-640.WEBP new file mode 100644 index 0000000000..4df0a15f9f Binary files /dev/null and b/public/nextImageExportOptimizer/banner.10d4d66b-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/banner.10d4d66b-opt-750.WEBP b/public/nextImageExportOptimizer/banner.10d4d66b-opt-750.WEBP new file mode 100644 index 0000000000..bf0f780afd Binary files /dev/null and b/public/nextImageExportOptimizer/banner.10d4d66b-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/banner.10d4d66b-opt-828.WEBP b/public/nextImageExportOptimizer/banner.10d4d66b-opt-828.WEBP new file mode 100644 index 0000000000..aea73c381f Binary files /dev/null and b/public/nextImageExportOptimizer/banner.10d4d66b-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/banner.10d4d66b-opt-96.WEBP b/public/nextImageExportOptimizer/banner.10d4d66b-opt-96.WEBP new file mode 100644 index 0000000000..2ad7f6fd0a Binary files /dev/null and b/public/nextImageExportOptimizer/banner.10d4d66b-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/business_layer.68bf746f-opt-10.WEBP b/public/nextImageExportOptimizer/business_layer.68bf746f-opt-10.WEBP new file mode 100644 index 0000000000..8d4f9994b7 Binary files /dev/null and b/public/nextImageExportOptimizer/business_layer.68bf746f-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/business_layer.68bf746f-opt-128.WEBP b/public/nextImageExportOptimizer/business_layer.68bf746f-opt-128.WEBP new file mode 100644 index 0000000000..57eb31f772 Binary files /dev/null and b/public/nextImageExportOptimizer/business_layer.68bf746f-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/business_layer.68bf746f-opt-16.WEBP b/public/nextImageExportOptimizer/business_layer.68bf746f-opt-16.WEBP new file mode 100644 index 0000000000..96ad47268d Binary files /dev/null and b/public/nextImageExportOptimizer/business_layer.68bf746f-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/business_layer.68bf746f-opt-256.WEBP b/public/nextImageExportOptimizer/business_layer.68bf746f-opt-256.WEBP new file mode 100644 index 0000000000..4ae01ef13a Binary files /dev/null and b/public/nextImageExportOptimizer/business_layer.68bf746f-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/business_layer.68bf746f-opt-32.WEBP b/public/nextImageExportOptimizer/business_layer.68bf746f-opt-32.WEBP new file mode 100644 index 0000000000..3388a3c7a8 Binary files /dev/null and b/public/nextImageExportOptimizer/business_layer.68bf746f-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/business_layer.68bf746f-opt-384.WEBP b/public/nextImageExportOptimizer/business_layer.68bf746f-opt-384.WEBP new file mode 100644 index 0000000000..f3e0dae817 Binary files /dev/null and b/public/nextImageExportOptimizer/business_layer.68bf746f-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/business_layer.68bf746f-opt-48.WEBP b/public/nextImageExportOptimizer/business_layer.68bf746f-opt-48.WEBP new file mode 100644 index 0000000000..3f0230793e Binary files /dev/null and b/public/nextImageExportOptimizer/business_layer.68bf746f-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/business_layer.68bf746f-opt-64.WEBP b/public/nextImageExportOptimizer/business_layer.68bf746f-opt-64.WEBP new file mode 100644 index 0000000000..61f16328ab Binary files /dev/null and b/public/nextImageExportOptimizer/business_layer.68bf746f-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/business_layer.68bf746f-opt-640.WEBP b/public/nextImageExportOptimizer/business_layer.68bf746f-opt-640.WEBP new file mode 100644 index 0000000000..2b2019cdee Binary files /dev/null and b/public/nextImageExportOptimizer/business_layer.68bf746f-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/business_layer.68bf746f-opt-96.WEBP b/public/nextImageExportOptimizer/business_layer.68bf746f-opt-96.WEBP new file mode 100644 index 0000000000..6196b7f0a8 Binary files /dev/null and b/public/nextImageExportOptimizer/business_layer.68bf746f-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/coursera.968d6897-opt-10.WEBP b/public/nextImageExportOptimizer/coursera.968d6897-opt-10.WEBP new file mode 100644 index 0000000000..58310c3f53 Binary files /dev/null and b/public/nextImageExportOptimizer/coursera.968d6897-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/coursera.968d6897-opt-1080.WEBP b/public/nextImageExportOptimizer/coursera.968d6897-opt-1080.WEBP new file mode 100644 index 0000000000..d38c450711 Binary files /dev/null and b/public/nextImageExportOptimizer/coursera.968d6897-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/coursera.968d6897-opt-128.WEBP b/public/nextImageExportOptimizer/coursera.968d6897-opt-128.WEBP new file mode 100644 index 0000000000..7686170eaa Binary files /dev/null and b/public/nextImageExportOptimizer/coursera.968d6897-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/coursera.968d6897-opt-16.WEBP b/public/nextImageExportOptimizer/coursera.968d6897-opt-16.WEBP new file mode 100644 index 0000000000..cb292fe67b Binary files /dev/null and b/public/nextImageExportOptimizer/coursera.968d6897-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/coursera.968d6897-opt-256.WEBP b/public/nextImageExportOptimizer/coursera.968d6897-opt-256.WEBP new file mode 100644 index 0000000000..15cda3cada Binary files /dev/null and b/public/nextImageExportOptimizer/coursera.968d6897-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/coursera.968d6897-opt-32.WEBP b/public/nextImageExportOptimizer/coursera.968d6897-opt-32.WEBP new file mode 100644 index 0000000000..fdaee78d64 Binary files /dev/null and b/public/nextImageExportOptimizer/coursera.968d6897-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/coursera.968d6897-opt-384.WEBP b/public/nextImageExportOptimizer/coursera.968d6897-opt-384.WEBP new file mode 100644 index 0000000000..c89bdd1462 Binary files /dev/null and b/public/nextImageExportOptimizer/coursera.968d6897-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/coursera.968d6897-opt-48.WEBP b/public/nextImageExportOptimizer/coursera.968d6897-opt-48.WEBP new file mode 100644 index 0000000000..b6a973cfcd Binary files /dev/null and b/public/nextImageExportOptimizer/coursera.968d6897-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/coursera.968d6897-opt-64.WEBP b/public/nextImageExportOptimizer/coursera.968d6897-opt-64.WEBP new file mode 100644 index 0000000000..a130aa0ca4 Binary files /dev/null and b/public/nextImageExportOptimizer/coursera.968d6897-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/coursera.968d6897-opt-640.WEBP b/public/nextImageExportOptimizer/coursera.968d6897-opt-640.WEBP new file mode 100644 index 0000000000..b5c5a64268 Binary files /dev/null and b/public/nextImageExportOptimizer/coursera.968d6897-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/coursera.968d6897-opt-750.WEBP b/public/nextImageExportOptimizer/coursera.968d6897-opt-750.WEBP new file mode 100644 index 0000000000..e91ca697ad Binary files /dev/null and b/public/nextImageExportOptimizer/coursera.968d6897-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/coursera.968d6897-opt-828.WEBP b/public/nextImageExportOptimizer/coursera.968d6897-opt-828.WEBP new file mode 100644 index 0000000000..2fcc819bd1 Binary files /dev/null and b/public/nextImageExportOptimizer/coursera.968d6897-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/coursera.968d6897-opt-96.WEBP b/public/nextImageExportOptimizer/coursera.968d6897-opt-96.WEBP new file mode 100644 index 0000000000..ddad24761e Binary files /dev/null and b/public/nextImageExportOptimizer/coursera.968d6897-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/dataloader-query.9c90539e-opt-10.WEBP b/public/nextImageExportOptimizer/dataloader-query.9c90539e-opt-10.WEBP new file mode 100644 index 0000000000..18de6aaddc Binary files /dev/null and b/public/nextImageExportOptimizer/dataloader-query.9c90539e-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/dataloader-query.9c90539e-opt-1080.WEBP b/public/nextImageExportOptimizer/dataloader-query.9c90539e-opt-1080.WEBP new file mode 100644 index 0000000000..7094c9571a Binary files /dev/null and b/public/nextImageExportOptimizer/dataloader-query.9c90539e-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/dataloader-query.9c90539e-opt-1200.WEBP b/public/nextImageExportOptimizer/dataloader-query.9c90539e-opt-1200.WEBP new file mode 100644 index 0000000000..bf2c93de37 Binary files /dev/null and b/public/nextImageExportOptimizer/dataloader-query.9c90539e-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/dataloader-query.9c90539e-opt-128.WEBP b/public/nextImageExportOptimizer/dataloader-query.9c90539e-opt-128.WEBP new file mode 100644 index 0000000000..6feacdf2a0 Binary files /dev/null and b/public/nextImageExportOptimizer/dataloader-query.9c90539e-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/dataloader-query.9c90539e-opt-16.WEBP b/public/nextImageExportOptimizer/dataloader-query.9c90539e-opt-16.WEBP new file mode 100644 index 0000000000..665e8a1a86 Binary files /dev/null and b/public/nextImageExportOptimizer/dataloader-query.9c90539e-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/dataloader-query.9c90539e-opt-1920.WEBP b/public/nextImageExportOptimizer/dataloader-query.9c90539e-opt-1920.WEBP new file mode 100644 index 0000000000..df169469d9 Binary files /dev/null and b/public/nextImageExportOptimizer/dataloader-query.9c90539e-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/dataloader-query.9c90539e-opt-256.WEBP b/public/nextImageExportOptimizer/dataloader-query.9c90539e-opt-256.WEBP new file mode 100644 index 0000000000..22add80ddc Binary files /dev/null and b/public/nextImageExportOptimizer/dataloader-query.9c90539e-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/dataloader-query.9c90539e-opt-32.WEBP b/public/nextImageExportOptimizer/dataloader-query.9c90539e-opt-32.WEBP new file mode 100644 index 0000000000..ca3f463dba Binary files /dev/null and b/public/nextImageExportOptimizer/dataloader-query.9c90539e-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/dataloader-query.9c90539e-opt-384.WEBP b/public/nextImageExportOptimizer/dataloader-query.9c90539e-opt-384.WEBP new file mode 100644 index 0000000000..de8fc82fcb Binary files /dev/null and b/public/nextImageExportOptimizer/dataloader-query.9c90539e-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/dataloader-query.9c90539e-opt-48.WEBP b/public/nextImageExportOptimizer/dataloader-query.9c90539e-opt-48.WEBP new file mode 100644 index 0000000000..998af674aa Binary files /dev/null and b/public/nextImageExportOptimizer/dataloader-query.9c90539e-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/dataloader-query.9c90539e-opt-64.WEBP b/public/nextImageExportOptimizer/dataloader-query.9c90539e-opt-64.WEBP new file mode 100644 index 0000000000..e65e0ae692 Binary files /dev/null and b/public/nextImageExportOptimizer/dataloader-query.9c90539e-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/dataloader-query.9c90539e-opt-640.WEBP b/public/nextImageExportOptimizer/dataloader-query.9c90539e-opt-640.WEBP new file mode 100644 index 0000000000..ece7c6562e Binary files /dev/null and b/public/nextImageExportOptimizer/dataloader-query.9c90539e-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/dataloader-query.9c90539e-opt-750.WEBP b/public/nextImageExportOptimizer/dataloader-query.9c90539e-opt-750.WEBP new file mode 100644 index 0000000000..a2e4cdaf5a Binary files /dev/null and b/public/nextImageExportOptimizer/dataloader-query.9c90539e-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/dataloader-query.9c90539e-opt-828.WEBP b/public/nextImageExportOptimizer/dataloader-query.9c90539e-opt-828.WEBP new file mode 100644 index 0000000000..4296acf75f Binary files /dev/null and b/public/nextImageExportOptimizer/dataloader-query.9c90539e-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/dataloader-query.9c90539e-opt-96.WEBP b/public/nextImageExportOptimizer/dataloader-query.9c90539e-opt-96.WEBP new file mode 100644 index 0000000000..8639fffce9 Binary files /dev/null and b/public/nextImageExportOptimizer/dataloader-query.9c90539e-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/facebook.0e9e1517-opt-10.WEBP b/public/nextImageExportOptimizer/facebook.0e9e1517-opt-10.WEBP new file mode 100644 index 0000000000..9d86bb30fa Binary files /dev/null and b/public/nextImageExportOptimizer/facebook.0e9e1517-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/facebook.0e9e1517-opt-128.WEBP b/public/nextImageExportOptimizer/facebook.0e9e1517-opt-128.WEBP new file mode 100644 index 0000000000..195f5a2b12 Binary files /dev/null and b/public/nextImageExportOptimizer/facebook.0e9e1517-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/facebook.0e9e1517-opt-16.WEBP b/public/nextImageExportOptimizer/facebook.0e9e1517-opt-16.WEBP new file mode 100644 index 0000000000..9db699b24e Binary files /dev/null and b/public/nextImageExportOptimizer/facebook.0e9e1517-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/facebook.0e9e1517-opt-256.WEBP b/public/nextImageExportOptimizer/facebook.0e9e1517-opt-256.WEBP new file mode 100644 index 0000000000..bba7ff18bf Binary files /dev/null and b/public/nextImageExportOptimizer/facebook.0e9e1517-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/facebook.0e9e1517-opt-32.WEBP b/public/nextImageExportOptimizer/facebook.0e9e1517-opt-32.WEBP new file mode 100644 index 0000000000..ab515aa698 Binary files /dev/null and b/public/nextImageExportOptimizer/facebook.0e9e1517-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/facebook.0e9e1517-opt-384.WEBP b/public/nextImageExportOptimizer/facebook.0e9e1517-opt-384.WEBP new file mode 100644 index 0000000000..8895590dee Binary files /dev/null and b/public/nextImageExportOptimizer/facebook.0e9e1517-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/facebook.0e9e1517-opt-48.WEBP b/public/nextImageExportOptimizer/facebook.0e9e1517-opt-48.WEBP new file mode 100644 index 0000000000..d92f19eaaf Binary files /dev/null and b/public/nextImageExportOptimizer/facebook.0e9e1517-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/facebook.0e9e1517-opt-64.WEBP b/public/nextImageExportOptimizer/facebook.0e9e1517-opt-64.WEBP new file mode 100644 index 0000000000..076b23c54a Binary files /dev/null and b/public/nextImageExportOptimizer/facebook.0e9e1517-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/facebook.0e9e1517-opt-640.WEBP b/public/nextImageExportOptimizer/facebook.0e9e1517-opt-640.WEBP new file mode 100644 index 0000000000..f971c80f1c Binary files /dev/null and b/public/nextImageExportOptimizer/facebook.0e9e1517-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/facebook.0e9e1517-opt-96.WEBP b/public/nextImageExportOptimizer/facebook.0e9e1517-opt-96.WEBP new file mode 100644 index 0000000000..726732a6c6 Binary files /dev/null and b/public/nextImageExportOptimizer/facebook.0e9e1517-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/github.0821dbe0-opt-10.WEBP b/public/nextImageExportOptimizer/github.0821dbe0-opt-10.WEBP new file mode 100644 index 0000000000..0e7ae4f68d Binary files /dev/null and b/public/nextImageExportOptimizer/github.0821dbe0-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/github.0821dbe0-opt-128.WEBP b/public/nextImageExportOptimizer/github.0821dbe0-opt-128.WEBP new file mode 100644 index 0000000000..ffc81eb7cb Binary files /dev/null and b/public/nextImageExportOptimizer/github.0821dbe0-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/github.0821dbe0-opt-16.WEBP b/public/nextImageExportOptimizer/github.0821dbe0-opt-16.WEBP new file mode 100644 index 0000000000..980c0fb03f Binary files /dev/null and b/public/nextImageExportOptimizer/github.0821dbe0-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/github.0821dbe0-opt-256.WEBP b/public/nextImageExportOptimizer/github.0821dbe0-opt-256.WEBP new file mode 100644 index 0000000000..bfb2f02c44 Binary files /dev/null and b/public/nextImageExportOptimizer/github.0821dbe0-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/github.0821dbe0-opt-32.WEBP b/public/nextImageExportOptimizer/github.0821dbe0-opt-32.WEBP new file mode 100644 index 0000000000..0189e412dc Binary files /dev/null and b/public/nextImageExportOptimizer/github.0821dbe0-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/github.0821dbe0-opt-384.WEBP b/public/nextImageExportOptimizer/github.0821dbe0-opt-384.WEBP new file mode 100644 index 0000000000..03b0f786e5 Binary files /dev/null and b/public/nextImageExportOptimizer/github.0821dbe0-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/github.0821dbe0-opt-48.WEBP b/public/nextImageExportOptimizer/github.0821dbe0-opt-48.WEBP new file mode 100644 index 0000000000..3b12fe3998 Binary files /dev/null and b/public/nextImageExportOptimizer/github.0821dbe0-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/github.0821dbe0-opt-64.WEBP b/public/nextImageExportOptimizer/github.0821dbe0-opt-64.WEBP new file mode 100644 index 0000000000..8466abb6de Binary files /dev/null and b/public/nextImageExportOptimizer/github.0821dbe0-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/github.0821dbe0-opt-640.WEBP b/public/nextImageExportOptimizer/github.0821dbe0-opt-640.WEBP new file mode 100644 index 0000000000..09dfe7b99d Binary files /dev/null and b/public/nextImageExportOptimizer/github.0821dbe0-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/github.0821dbe0-opt-96.WEBP b/public/nextImageExportOptimizer/github.0821dbe0-opt-96.WEBP new file mode 100644 index 0000000000..9e8b09eea7 Binary files /dev/null and b/public/nextImageExportOptimizer/github.0821dbe0-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-cover-1_53228256677_o.f1214f00-opt-10.WEBP b/public/nextImageExportOptimizer/graphql-cover-1_53228256677_o.f1214f00-opt-10.WEBP new file mode 100644 index 0000000000..644146f57c Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-cover-1_53228256677_o.f1214f00-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-cover-1_53228256677_o.f1214f00-opt-1080.WEBP b/public/nextImageExportOptimizer/graphql-cover-1_53228256677_o.f1214f00-opt-1080.WEBP new file mode 100644 index 0000000000..b51095913a Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-cover-1_53228256677_o.f1214f00-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-cover-1_53228256677_o.f1214f00-opt-1200.WEBP b/public/nextImageExportOptimizer/graphql-cover-1_53228256677_o.f1214f00-opt-1200.WEBP new file mode 100644 index 0000000000..087bbbc47a Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-cover-1_53228256677_o.f1214f00-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-cover-1_53228256677_o.f1214f00-opt-128.WEBP b/public/nextImageExportOptimizer/graphql-cover-1_53228256677_o.f1214f00-opt-128.WEBP new file mode 100644 index 0000000000..b521b3e803 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-cover-1_53228256677_o.f1214f00-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-cover-1_53228256677_o.f1214f00-opt-16.WEBP b/public/nextImageExportOptimizer/graphql-cover-1_53228256677_o.f1214f00-opt-16.WEBP new file mode 100644 index 0000000000..eca68ba636 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-cover-1_53228256677_o.f1214f00-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-cover-1_53228256677_o.f1214f00-opt-1920.WEBP b/public/nextImageExportOptimizer/graphql-cover-1_53228256677_o.f1214f00-opt-1920.WEBP new file mode 100644 index 0000000000..69a0b0b1a8 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-cover-1_53228256677_o.f1214f00-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-cover-1_53228256677_o.f1214f00-opt-2048.WEBP b/public/nextImageExportOptimizer/graphql-cover-1_53228256677_o.f1214f00-opt-2048.WEBP new file mode 100644 index 0000000000..9ac882de9c Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-cover-1_53228256677_o.f1214f00-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-cover-1_53228256677_o.f1214f00-opt-256.WEBP b/public/nextImageExportOptimizer/graphql-cover-1_53228256677_o.f1214f00-opt-256.WEBP new file mode 100644 index 0000000000..a159c0c718 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-cover-1_53228256677_o.f1214f00-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-cover-1_53228256677_o.f1214f00-opt-32.WEBP b/public/nextImageExportOptimizer/graphql-cover-1_53228256677_o.f1214f00-opt-32.WEBP new file mode 100644 index 0000000000..7d41ce6164 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-cover-1_53228256677_o.f1214f00-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-cover-1_53228256677_o.f1214f00-opt-384.WEBP b/public/nextImageExportOptimizer/graphql-cover-1_53228256677_o.f1214f00-opt-384.WEBP new file mode 100644 index 0000000000..33cc296909 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-cover-1_53228256677_o.f1214f00-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-cover-1_53228256677_o.f1214f00-opt-3840.WEBP b/public/nextImageExportOptimizer/graphql-cover-1_53228256677_o.f1214f00-opt-3840.WEBP new file mode 100644 index 0000000000..1cc1d89c4d Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-cover-1_53228256677_o.f1214f00-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-cover-1_53228256677_o.f1214f00-opt-48.WEBP b/public/nextImageExportOptimizer/graphql-cover-1_53228256677_o.f1214f00-opt-48.WEBP new file mode 100644 index 0000000000..3332964c7c Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-cover-1_53228256677_o.f1214f00-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-cover-1_53228256677_o.f1214f00-opt-64.WEBP b/public/nextImageExportOptimizer/graphql-cover-1_53228256677_o.f1214f00-opt-64.WEBP new file mode 100644 index 0000000000..b36647c2d4 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-cover-1_53228256677_o.f1214f00-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-cover-1_53228256677_o.f1214f00-opt-640.WEBP b/public/nextImageExportOptimizer/graphql-cover-1_53228256677_o.f1214f00-opt-640.WEBP new file mode 100644 index 0000000000..c79f6a413c Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-cover-1_53228256677_o.f1214f00-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-cover-1_53228256677_o.f1214f00-opt-750.WEBP b/public/nextImageExportOptimizer/graphql-cover-1_53228256677_o.f1214f00-opt-750.WEBP new file mode 100644 index 0000000000..aa0aaa8487 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-cover-1_53228256677_o.f1214f00-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-cover-1_53228256677_o.f1214f00-opt-828.WEBP b/public/nextImageExportOptimizer/graphql-cover-1_53228256677_o.f1214f00-opt-828.WEBP new file mode 100644 index 0000000000..1ab0e892fb Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-cover-1_53228256677_o.f1214f00-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-cover-1_53228256677_o.f1214f00-opt-96.WEBP b/public/nextImageExportOptimizer/graphql-cover-1_53228256677_o.f1214f00-opt-96.WEBP new file mode 100644 index 0000000000..7e606fa6d9 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-cover-1_53228256677_o.f1214f00-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-cover-2_53228256672_o.80b12e74-opt-10.WEBP b/public/nextImageExportOptimizer/graphql-cover-2_53228256672_o.80b12e74-opt-10.WEBP new file mode 100644 index 0000000000..b0fbcd5af1 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-cover-2_53228256672_o.80b12e74-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-cover-2_53228256672_o.80b12e74-opt-1080.WEBP b/public/nextImageExportOptimizer/graphql-cover-2_53228256672_o.80b12e74-opt-1080.WEBP new file mode 100644 index 0000000000..06cbfd6e95 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-cover-2_53228256672_o.80b12e74-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-cover-2_53228256672_o.80b12e74-opt-1200.WEBP b/public/nextImageExportOptimizer/graphql-cover-2_53228256672_o.80b12e74-opt-1200.WEBP new file mode 100644 index 0000000000..1946fff7e7 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-cover-2_53228256672_o.80b12e74-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-cover-2_53228256672_o.80b12e74-opt-128.WEBP b/public/nextImageExportOptimizer/graphql-cover-2_53228256672_o.80b12e74-opt-128.WEBP new file mode 100644 index 0000000000..d3f7772b1e Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-cover-2_53228256672_o.80b12e74-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-cover-2_53228256672_o.80b12e74-opt-16.WEBP b/public/nextImageExportOptimizer/graphql-cover-2_53228256672_o.80b12e74-opt-16.WEBP new file mode 100644 index 0000000000..0786652c43 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-cover-2_53228256672_o.80b12e74-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-cover-2_53228256672_o.80b12e74-opt-1920.WEBP b/public/nextImageExportOptimizer/graphql-cover-2_53228256672_o.80b12e74-opt-1920.WEBP new file mode 100644 index 0000000000..3558c89dc2 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-cover-2_53228256672_o.80b12e74-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-cover-2_53228256672_o.80b12e74-opt-2048.WEBP b/public/nextImageExportOptimizer/graphql-cover-2_53228256672_o.80b12e74-opt-2048.WEBP new file mode 100644 index 0000000000..84158a142f Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-cover-2_53228256672_o.80b12e74-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-cover-2_53228256672_o.80b12e74-opt-256.WEBP b/public/nextImageExportOptimizer/graphql-cover-2_53228256672_o.80b12e74-opt-256.WEBP new file mode 100644 index 0000000000..0d35ec6a22 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-cover-2_53228256672_o.80b12e74-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-cover-2_53228256672_o.80b12e74-opt-32.WEBP b/public/nextImageExportOptimizer/graphql-cover-2_53228256672_o.80b12e74-opt-32.WEBP new file mode 100644 index 0000000000..b7b331ac62 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-cover-2_53228256672_o.80b12e74-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-cover-2_53228256672_o.80b12e74-opt-384.WEBP b/public/nextImageExportOptimizer/graphql-cover-2_53228256672_o.80b12e74-opt-384.WEBP new file mode 100644 index 0000000000..b0b294591d Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-cover-2_53228256672_o.80b12e74-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-cover-2_53228256672_o.80b12e74-opt-3840.WEBP b/public/nextImageExportOptimizer/graphql-cover-2_53228256672_o.80b12e74-opt-3840.WEBP new file mode 100644 index 0000000000..b416e0e8ee Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-cover-2_53228256672_o.80b12e74-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-cover-2_53228256672_o.80b12e74-opt-48.WEBP b/public/nextImageExportOptimizer/graphql-cover-2_53228256672_o.80b12e74-opt-48.WEBP new file mode 100644 index 0000000000..bf9d357da7 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-cover-2_53228256672_o.80b12e74-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-cover-2_53228256672_o.80b12e74-opt-64.WEBP b/public/nextImageExportOptimizer/graphql-cover-2_53228256672_o.80b12e74-opt-64.WEBP new file mode 100644 index 0000000000..572bd6e0fe Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-cover-2_53228256672_o.80b12e74-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-cover-2_53228256672_o.80b12e74-opt-640.WEBP b/public/nextImageExportOptimizer/graphql-cover-2_53228256672_o.80b12e74-opt-640.WEBP new file mode 100644 index 0000000000..9176226c56 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-cover-2_53228256672_o.80b12e74-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-cover-2_53228256672_o.80b12e74-opt-750.WEBP b/public/nextImageExportOptimizer/graphql-cover-2_53228256672_o.80b12e74-opt-750.WEBP new file mode 100644 index 0000000000..f78e48b0a3 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-cover-2_53228256672_o.80b12e74-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-cover-2_53228256672_o.80b12e74-opt-828.WEBP b/public/nextImageExportOptimizer/graphql-cover-2_53228256672_o.80b12e74-opt-828.WEBP new file mode 100644 index 0000000000..07c8dd92f4 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-cover-2_53228256672_o.80b12e74-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-cover-2_53228256672_o.80b12e74-opt-96.WEBP b/public/nextImageExportOptimizer/graphql-cover-2_53228256672_o.80b12e74-opt-96.WEBP new file mode 100644 index 0000000000..8727e55c28 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-cover-2_53228256672_o.80b12e74-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-cover-3_53228256612_o.a5360272-opt-10.WEBP b/public/nextImageExportOptimizer/graphql-cover-3_53228256612_o.a5360272-opt-10.WEBP new file mode 100644 index 0000000000..9841df6575 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-cover-3_53228256612_o.a5360272-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-cover-3_53228256612_o.a5360272-opt-1080.WEBP b/public/nextImageExportOptimizer/graphql-cover-3_53228256612_o.a5360272-opt-1080.WEBP new file mode 100644 index 0000000000..0b9e8456a9 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-cover-3_53228256612_o.a5360272-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-cover-3_53228256612_o.a5360272-opt-1200.WEBP b/public/nextImageExportOptimizer/graphql-cover-3_53228256612_o.a5360272-opt-1200.WEBP new file mode 100644 index 0000000000..575ee8d81d Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-cover-3_53228256612_o.a5360272-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-cover-3_53228256612_o.a5360272-opt-128.WEBP b/public/nextImageExportOptimizer/graphql-cover-3_53228256612_o.a5360272-opt-128.WEBP new file mode 100644 index 0000000000..39e7e7d0d1 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-cover-3_53228256612_o.a5360272-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-cover-3_53228256612_o.a5360272-opt-16.WEBP b/public/nextImageExportOptimizer/graphql-cover-3_53228256612_o.a5360272-opt-16.WEBP new file mode 100644 index 0000000000..4453dc518d Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-cover-3_53228256612_o.a5360272-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-cover-3_53228256612_o.a5360272-opt-1920.WEBP b/public/nextImageExportOptimizer/graphql-cover-3_53228256612_o.a5360272-opt-1920.WEBP new file mode 100644 index 0000000000..70c44d6619 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-cover-3_53228256612_o.a5360272-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-cover-3_53228256612_o.a5360272-opt-2048.WEBP b/public/nextImageExportOptimizer/graphql-cover-3_53228256612_o.a5360272-opt-2048.WEBP new file mode 100644 index 0000000000..d1da16820a Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-cover-3_53228256612_o.a5360272-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-cover-3_53228256612_o.a5360272-opt-256.WEBP b/public/nextImageExportOptimizer/graphql-cover-3_53228256612_o.a5360272-opt-256.WEBP new file mode 100644 index 0000000000..0a6220d2b4 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-cover-3_53228256612_o.a5360272-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-cover-3_53228256612_o.a5360272-opt-32.WEBP b/public/nextImageExportOptimizer/graphql-cover-3_53228256612_o.a5360272-opt-32.WEBP new file mode 100644 index 0000000000..252f73e3ed Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-cover-3_53228256612_o.a5360272-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-cover-3_53228256612_o.a5360272-opt-384.WEBP b/public/nextImageExportOptimizer/graphql-cover-3_53228256612_o.a5360272-opt-384.WEBP new file mode 100644 index 0000000000..f2e4fc0ebd Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-cover-3_53228256612_o.a5360272-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-cover-3_53228256612_o.a5360272-opt-3840.WEBP b/public/nextImageExportOptimizer/graphql-cover-3_53228256612_o.a5360272-opt-3840.WEBP new file mode 100644 index 0000000000..0fb3c36f5a Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-cover-3_53228256612_o.a5360272-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-cover-3_53228256612_o.a5360272-opt-48.WEBP b/public/nextImageExportOptimizer/graphql-cover-3_53228256612_o.a5360272-opt-48.WEBP new file mode 100644 index 0000000000..5d5ae8eb12 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-cover-3_53228256612_o.a5360272-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-cover-3_53228256612_o.a5360272-opt-64.WEBP b/public/nextImageExportOptimizer/graphql-cover-3_53228256612_o.a5360272-opt-64.WEBP new file mode 100644 index 0000000000..9908cb8c07 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-cover-3_53228256612_o.a5360272-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-cover-3_53228256612_o.a5360272-opt-640.WEBP b/public/nextImageExportOptimizer/graphql-cover-3_53228256612_o.a5360272-opt-640.WEBP new file mode 100644 index 0000000000..457926aac3 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-cover-3_53228256612_o.a5360272-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-cover-3_53228256612_o.a5360272-opt-750.WEBP b/public/nextImageExportOptimizer/graphql-cover-3_53228256612_o.a5360272-opt-750.WEBP new file mode 100644 index 0000000000..f5bb5843bc Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-cover-3_53228256612_o.a5360272-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-cover-3_53228256612_o.a5360272-opt-828.WEBP b/public/nextImageExportOptimizer/graphql-cover-3_53228256612_o.a5360272-opt-828.WEBP new file mode 100644 index 0000000000..30d2a539da Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-cover-3_53228256612_o.a5360272-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-cover-3_53228256612_o.a5360272-opt-96.WEBP b/public/nextImageExportOptimizer/graphql-cover-3_53228256612_o.a5360272-opt-96.WEBP new file mode 100644 index 0000000000..071bfca8bb Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-cover-3_53228256612_o.a5360272-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v0.8990439d-opt-10.WEBP b/public/nextImageExportOptimizer/graphql-org-v0.8990439d-opt-10.WEBP new file mode 100644 index 0000000000..5a9c1d9f0a Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v0.8990439d-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v0.8990439d-opt-1080.WEBP b/public/nextImageExportOptimizer/graphql-org-v0.8990439d-opt-1080.WEBP new file mode 100644 index 0000000000..2bfd53a3f1 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v0.8990439d-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v0.8990439d-opt-1200.WEBP b/public/nextImageExportOptimizer/graphql-org-v0.8990439d-opt-1200.WEBP new file mode 100644 index 0000000000..ef2384c69c Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v0.8990439d-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v0.8990439d-opt-128.WEBP b/public/nextImageExportOptimizer/graphql-org-v0.8990439d-opt-128.WEBP new file mode 100644 index 0000000000..7c5064a7b7 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v0.8990439d-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v0.8990439d-opt-16.WEBP b/public/nextImageExportOptimizer/graphql-org-v0.8990439d-opt-16.WEBP new file mode 100644 index 0000000000..ee07c93c52 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v0.8990439d-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v0.8990439d-opt-1920.WEBP b/public/nextImageExportOptimizer/graphql-org-v0.8990439d-opt-1920.WEBP new file mode 100644 index 0000000000..5aafa98c3f Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v0.8990439d-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v0.8990439d-opt-2048.WEBP b/public/nextImageExportOptimizer/graphql-org-v0.8990439d-opt-2048.WEBP new file mode 100644 index 0000000000..bd1d662ae5 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v0.8990439d-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v0.8990439d-opt-256.WEBP b/public/nextImageExportOptimizer/graphql-org-v0.8990439d-opt-256.WEBP new file mode 100644 index 0000000000..4aa5f9acc0 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v0.8990439d-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v0.8990439d-opt-32.WEBP b/public/nextImageExportOptimizer/graphql-org-v0.8990439d-opt-32.WEBP new file mode 100644 index 0000000000..c6c48fdf3c Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v0.8990439d-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v0.8990439d-opt-384.WEBP b/public/nextImageExportOptimizer/graphql-org-v0.8990439d-opt-384.WEBP new file mode 100644 index 0000000000..627087e0cf Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v0.8990439d-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v0.8990439d-opt-3840.WEBP b/public/nextImageExportOptimizer/graphql-org-v0.8990439d-opt-3840.WEBP new file mode 100644 index 0000000000..724102fa4d Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v0.8990439d-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v0.8990439d-opt-48.WEBP b/public/nextImageExportOptimizer/graphql-org-v0.8990439d-opt-48.WEBP new file mode 100644 index 0000000000..8e638e1882 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v0.8990439d-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v0.8990439d-opt-64.WEBP b/public/nextImageExportOptimizer/graphql-org-v0.8990439d-opt-64.WEBP new file mode 100644 index 0000000000..f60d8b71a0 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v0.8990439d-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v0.8990439d-opt-640.WEBP b/public/nextImageExportOptimizer/graphql-org-v0.8990439d-opt-640.WEBP new file mode 100644 index 0000000000..96f016a819 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v0.8990439d-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v0.8990439d-opt-750.WEBP b/public/nextImageExportOptimizer/graphql-org-v0.8990439d-opt-750.WEBP new file mode 100644 index 0000000000..a6ada6820c Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v0.8990439d-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v0.8990439d-opt-828.WEBP b/public/nextImageExportOptimizer/graphql-org-v0.8990439d-opt-828.WEBP new file mode 100644 index 0000000000..885a86a986 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v0.8990439d-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v0.8990439d-opt-96.WEBP b/public/nextImageExportOptimizer/graphql-org-v0.8990439d-opt-96.WEBP new file mode 100644 index 0000000000..fbf2ca2e2f Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v0.8990439d-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v1-learn-page.44ccd7df-opt-10.WEBP b/public/nextImageExportOptimizer/graphql-org-v1-learn-page.44ccd7df-opt-10.WEBP new file mode 100644 index 0000000000..fa20afb13e Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v1-learn-page.44ccd7df-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v1-learn-page.44ccd7df-opt-1080.WEBP b/public/nextImageExportOptimizer/graphql-org-v1-learn-page.44ccd7df-opt-1080.WEBP new file mode 100644 index 0000000000..de88363fd4 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v1-learn-page.44ccd7df-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v1-learn-page.44ccd7df-opt-1200.WEBP b/public/nextImageExportOptimizer/graphql-org-v1-learn-page.44ccd7df-opt-1200.WEBP new file mode 100644 index 0000000000..45cb396372 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v1-learn-page.44ccd7df-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v1-learn-page.44ccd7df-opt-128.WEBP b/public/nextImageExportOptimizer/graphql-org-v1-learn-page.44ccd7df-opt-128.WEBP new file mode 100644 index 0000000000..d98efd81db Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v1-learn-page.44ccd7df-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v1-learn-page.44ccd7df-opt-16.WEBP b/public/nextImageExportOptimizer/graphql-org-v1-learn-page.44ccd7df-opt-16.WEBP new file mode 100644 index 0000000000..0a5ecf8b36 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v1-learn-page.44ccd7df-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v1-learn-page.44ccd7df-opt-1920.WEBP b/public/nextImageExportOptimizer/graphql-org-v1-learn-page.44ccd7df-opt-1920.WEBP new file mode 100644 index 0000000000..48b76a17d0 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v1-learn-page.44ccd7df-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v1-learn-page.44ccd7df-opt-256.WEBP b/public/nextImageExportOptimizer/graphql-org-v1-learn-page.44ccd7df-opt-256.WEBP new file mode 100644 index 0000000000..60d073068c Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v1-learn-page.44ccd7df-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v1-learn-page.44ccd7df-opt-32.WEBP b/public/nextImageExportOptimizer/graphql-org-v1-learn-page.44ccd7df-opt-32.WEBP new file mode 100644 index 0000000000..ec28c75f0f Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v1-learn-page.44ccd7df-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v1-learn-page.44ccd7df-opt-384.WEBP b/public/nextImageExportOptimizer/graphql-org-v1-learn-page.44ccd7df-opt-384.WEBP new file mode 100644 index 0000000000..d0199c8069 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v1-learn-page.44ccd7df-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v1-learn-page.44ccd7df-opt-48.WEBP b/public/nextImageExportOptimizer/graphql-org-v1-learn-page.44ccd7df-opt-48.WEBP new file mode 100644 index 0000000000..e0ab5aba2c Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v1-learn-page.44ccd7df-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v1-learn-page.44ccd7df-opt-64.WEBP b/public/nextImageExportOptimizer/graphql-org-v1-learn-page.44ccd7df-opt-64.WEBP new file mode 100644 index 0000000000..7a992e7263 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v1-learn-page.44ccd7df-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v1-learn-page.44ccd7df-opt-640.WEBP b/public/nextImageExportOptimizer/graphql-org-v1-learn-page.44ccd7df-opt-640.WEBP new file mode 100644 index 0000000000..36a401d302 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v1-learn-page.44ccd7df-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v1-learn-page.44ccd7df-opt-750.WEBP b/public/nextImageExportOptimizer/graphql-org-v1-learn-page.44ccd7df-opt-750.WEBP new file mode 100644 index 0000000000..2d95c3fcda Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v1-learn-page.44ccd7df-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v1-learn-page.44ccd7df-opt-828.WEBP b/public/nextImageExportOptimizer/graphql-org-v1-learn-page.44ccd7df-opt-828.WEBP new file mode 100644 index 0000000000..06e0880b4b Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v1-learn-page.44ccd7df-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v1-learn-page.44ccd7df-opt-96.WEBP b/public/nextImageExportOptimizer/graphql-org-v1-learn-page.44ccd7df-opt-96.WEBP new file mode 100644 index 0000000000..d468b9d486 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v1-learn-page.44ccd7df-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v1.599caf32-opt-10.WEBP b/public/nextImageExportOptimizer/graphql-org-v1.599caf32-opt-10.WEBP new file mode 100644 index 0000000000..8794b85237 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v1.599caf32-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v1.599caf32-opt-1080.WEBP b/public/nextImageExportOptimizer/graphql-org-v1.599caf32-opt-1080.WEBP new file mode 100644 index 0000000000..c5bffb30a3 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v1.599caf32-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v1.599caf32-opt-1200.WEBP b/public/nextImageExportOptimizer/graphql-org-v1.599caf32-opt-1200.WEBP new file mode 100644 index 0000000000..724f7c05df Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v1.599caf32-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v1.599caf32-opt-128.WEBP b/public/nextImageExportOptimizer/graphql-org-v1.599caf32-opt-128.WEBP new file mode 100644 index 0000000000..80bd0ccfaa Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v1.599caf32-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v1.599caf32-opt-16.WEBP b/public/nextImageExportOptimizer/graphql-org-v1.599caf32-opt-16.WEBP new file mode 100644 index 0000000000..fc302c6197 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v1.599caf32-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v1.599caf32-opt-1920.WEBP b/public/nextImageExportOptimizer/graphql-org-v1.599caf32-opt-1920.WEBP new file mode 100644 index 0000000000..38d0be83a9 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v1.599caf32-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v1.599caf32-opt-2048.WEBP b/public/nextImageExportOptimizer/graphql-org-v1.599caf32-opt-2048.WEBP new file mode 100644 index 0000000000..58c688518e Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v1.599caf32-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v1.599caf32-opt-256.WEBP b/public/nextImageExportOptimizer/graphql-org-v1.599caf32-opt-256.WEBP new file mode 100644 index 0000000000..04e08fbc7c Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v1.599caf32-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v1.599caf32-opt-32.WEBP b/public/nextImageExportOptimizer/graphql-org-v1.599caf32-opt-32.WEBP new file mode 100644 index 0000000000..f68c2fd721 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v1.599caf32-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v1.599caf32-opt-384.WEBP b/public/nextImageExportOptimizer/graphql-org-v1.599caf32-opt-384.WEBP new file mode 100644 index 0000000000..cb4da77d5b Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v1.599caf32-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v1.599caf32-opt-3840.WEBP b/public/nextImageExportOptimizer/graphql-org-v1.599caf32-opt-3840.WEBP new file mode 100644 index 0000000000..1d9b621d57 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v1.599caf32-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v1.599caf32-opt-48.WEBP b/public/nextImageExportOptimizer/graphql-org-v1.599caf32-opt-48.WEBP new file mode 100644 index 0000000000..d1e9d15db1 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v1.599caf32-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v1.599caf32-opt-64.WEBP b/public/nextImageExportOptimizer/graphql-org-v1.599caf32-opt-64.WEBP new file mode 100644 index 0000000000..33bdd21683 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v1.599caf32-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v1.599caf32-opt-640.WEBP b/public/nextImageExportOptimizer/graphql-org-v1.599caf32-opt-640.WEBP new file mode 100644 index 0000000000..0f53274874 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v1.599caf32-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v1.599caf32-opt-750.WEBP b/public/nextImageExportOptimizer/graphql-org-v1.599caf32-opt-750.WEBP new file mode 100644 index 0000000000..75802d10d5 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v1.599caf32-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v1.599caf32-opt-828.WEBP b/public/nextImageExportOptimizer/graphql-org-v1.599caf32-opt-828.WEBP new file mode 100644 index 0000000000..a51bbc7c61 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v1.599caf32-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v1.599caf32-opt-96.WEBP b/public/nextImageExportOptimizer/graphql-org-v1.599caf32-opt-96.WEBP new file mode 100644 index 0000000000..d7006614fd Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v1.599caf32-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v2-learn-page-dark.0eae8efc-opt-10.WEBP b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-dark.0eae8efc-opt-10.WEBP new file mode 100644 index 0000000000..a3aae0f4fe Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-dark.0eae8efc-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v2-learn-page-dark.0eae8efc-opt-1080.WEBP b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-dark.0eae8efc-opt-1080.WEBP new file mode 100644 index 0000000000..d11a3aac7a Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-dark.0eae8efc-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v2-learn-page-dark.0eae8efc-opt-1200.WEBP b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-dark.0eae8efc-opt-1200.WEBP new file mode 100644 index 0000000000..f557eae1fa Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-dark.0eae8efc-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v2-learn-page-dark.0eae8efc-opt-128.WEBP b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-dark.0eae8efc-opt-128.WEBP new file mode 100644 index 0000000000..9da6d5924e Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-dark.0eae8efc-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v2-learn-page-dark.0eae8efc-opt-16.WEBP b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-dark.0eae8efc-opt-16.WEBP new file mode 100644 index 0000000000..d05d659f3e Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-dark.0eae8efc-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v2-learn-page-dark.0eae8efc-opt-1920.WEBP b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-dark.0eae8efc-opt-1920.WEBP new file mode 100644 index 0000000000..e48471309d Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-dark.0eae8efc-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v2-learn-page-dark.0eae8efc-opt-2048.WEBP b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-dark.0eae8efc-opt-2048.WEBP new file mode 100644 index 0000000000..f0f37ad41f Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-dark.0eae8efc-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v2-learn-page-dark.0eae8efc-opt-256.WEBP b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-dark.0eae8efc-opt-256.WEBP new file mode 100644 index 0000000000..233124e07c Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-dark.0eae8efc-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v2-learn-page-dark.0eae8efc-opt-32.WEBP b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-dark.0eae8efc-opt-32.WEBP new file mode 100644 index 0000000000..e7e05de36c Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-dark.0eae8efc-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v2-learn-page-dark.0eae8efc-opt-384.WEBP b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-dark.0eae8efc-opt-384.WEBP new file mode 100644 index 0000000000..b476588c61 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-dark.0eae8efc-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v2-learn-page-dark.0eae8efc-opt-3840.WEBP b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-dark.0eae8efc-opt-3840.WEBP new file mode 100644 index 0000000000..640d0027d7 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-dark.0eae8efc-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v2-learn-page-dark.0eae8efc-opt-48.WEBP b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-dark.0eae8efc-opt-48.WEBP new file mode 100644 index 0000000000..eb307dc951 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-dark.0eae8efc-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v2-learn-page-dark.0eae8efc-opt-64.WEBP b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-dark.0eae8efc-opt-64.WEBP new file mode 100644 index 0000000000..5e1d860527 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-dark.0eae8efc-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v2-learn-page-dark.0eae8efc-opt-640.WEBP b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-dark.0eae8efc-opt-640.WEBP new file mode 100644 index 0000000000..00d310027f Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-dark.0eae8efc-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v2-learn-page-dark.0eae8efc-opt-750.WEBP b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-dark.0eae8efc-opt-750.WEBP new file mode 100644 index 0000000000..22c02f6f01 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-dark.0eae8efc-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v2-learn-page-dark.0eae8efc-opt-828.WEBP b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-dark.0eae8efc-opt-828.WEBP new file mode 100644 index 0000000000..e12d44bdc5 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-dark.0eae8efc-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v2-learn-page-dark.0eae8efc-opt-96.WEBP b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-dark.0eae8efc-opt-96.WEBP new file mode 100644 index 0000000000..48692eb8d8 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-dark.0eae8efc-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v2-learn-page-light.009ff55d-opt-10.WEBP b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-light.009ff55d-opt-10.WEBP new file mode 100644 index 0000000000..4a86c42a7b Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-light.009ff55d-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v2-learn-page-light.009ff55d-opt-1080.WEBP b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-light.009ff55d-opt-1080.WEBP new file mode 100644 index 0000000000..8d6be4149c Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-light.009ff55d-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v2-learn-page-light.009ff55d-opt-1200.WEBP b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-light.009ff55d-opt-1200.WEBP new file mode 100644 index 0000000000..1e72c37d8b Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-light.009ff55d-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v2-learn-page-light.009ff55d-opt-128.WEBP b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-light.009ff55d-opt-128.WEBP new file mode 100644 index 0000000000..0bebaa2e7f Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-light.009ff55d-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v2-learn-page-light.009ff55d-opt-16.WEBP b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-light.009ff55d-opt-16.WEBP new file mode 100644 index 0000000000..3e201270a4 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-light.009ff55d-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v2-learn-page-light.009ff55d-opt-1920.WEBP b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-light.009ff55d-opt-1920.WEBP new file mode 100644 index 0000000000..5192849160 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-light.009ff55d-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v2-learn-page-light.009ff55d-opt-2048.WEBP b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-light.009ff55d-opt-2048.WEBP new file mode 100644 index 0000000000..4e073dacc1 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-light.009ff55d-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v2-learn-page-light.009ff55d-opt-256.WEBP b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-light.009ff55d-opt-256.WEBP new file mode 100644 index 0000000000..faf33cb1a4 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-light.009ff55d-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v2-learn-page-light.009ff55d-opt-32.WEBP b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-light.009ff55d-opt-32.WEBP new file mode 100644 index 0000000000..0244677ad9 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-light.009ff55d-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v2-learn-page-light.009ff55d-opt-384.WEBP b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-light.009ff55d-opt-384.WEBP new file mode 100644 index 0000000000..67220d4b17 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-light.009ff55d-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v2-learn-page-light.009ff55d-opt-3840.WEBP b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-light.009ff55d-opt-3840.WEBP new file mode 100644 index 0000000000..8051b5cd7b Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-light.009ff55d-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v2-learn-page-light.009ff55d-opt-48.WEBP b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-light.009ff55d-opt-48.WEBP new file mode 100644 index 0000000000..aff4c37746 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-light.009ff55d-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v2-learn-page-light.009ff55d-opt-64.WEBP b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-light.009ff55d-opt-64.WEBP new file mode 100644 index 0000000000..ce870623c6 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-light.009ff55d-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v2-learn-page-light.009ff55d-opt-640.WEBP b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-light.009ff55d-opt-640.WEBP new file mode 100644 index 0000000000..2b0d9083e5 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-light.009ff55d-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v2-learn-page-light.009ff55d-opt-750.WEBP b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-light.009ff55d-opt-750.WEBP new file mode 100644 index 0000000000..e94a9ba9b0 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-light.009ff55d-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v2-learn-page-light.009ff55d-opt-828.WEBP b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-light.009ff55d-opt-828.WEBP new file mode 100644 index 0000000000..c347ff1361 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-light.009ff55d-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphql-org-v2-learn-page-light.009ff55d-opt-96.WEBP b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-light.009ff55d-opt-96.WEBP new file mode 100644 index 0000000000..fe9c7682f7 Binary files /dev/null and b/public/nextImageExportOptimizer/graphql-org-v2-learn-page-light.009ff55d-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202310_53229130641_o.0a9f57a8-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202310_53229130641_o.0a9f57a8-opt-10.WEBP new file mode 100644 index 0000000000..636c5321b3 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202310_53229130641_o.0a9f57a8-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202310_53229130641_o.0a9f57a8-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202310_53229130641_o.0a9f57a8-opt-1080.WEBP new file mode 100644 index 0000000000..bc6772fbbd Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202310_53229130641_o.0a9f57a8-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202310_53229130641_o.0a9f57a8-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202310_53229130641_o.0a9f57a8-opt-1200.WEBP new file mode 100644 index 0000000000..7c8d3a7845 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202310_53229130641_o.0a9f57a8-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202310_53229130641_o.0a9f57a8-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202310_53229130641_o.0a9f57a8-opt-128.WEBP new file mode 100644 index 0000000000..4bb8d50079 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202310_53229130641_o.0a9f57a8-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202310_53229130641_o.0a9f57a8-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202310_53229130641_o.0a9f57a8-opt-16.WEBP new file mode 100644 index 0000000000..18f9fc6733 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202310_53229130641_o.0a9f57a8-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202310_53229130641_o.0a9f57a8-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202310_53229130641_o.0a9f57a8-opt-1920.WEBP new file mode 100644 index 0000000000..a12433bf69 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202310_53229130641_o.0a9f57a8-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202310_53229130641_o.0a9f57a8-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202310_53229130641_o.0a9f57a8-opt-2048.WEBP new file mode 100644 index 0000000000..e7a592926a Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202310_53229130641_o.0a9f57a8-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202310_53229130641_o.0a9f57a8-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202310_53229130641_o.0a9f57a8-opt-256.WEBP new file mode 100644 index 0000000000..fe137e4af6 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202310_53229130641_o.0a9f57a8-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202310_53229130641_o.0a9f57a8-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202310_53229130641_o.0a9f57a8-opt-32.WEBP new file mode 100644 index 0000000000..3e60c986f9 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202310_53229130641_o.0a9f57a8-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202310_53229130641_o.0a9f57a8-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202310_53229130641_o.0a9f57a8-opt-384.WEBP new file mode 100644 index 0000000000..e5c6b2c9e8 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202310_53229130641_o.0a9f57a8-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202310_53229130641_o.0a9f57a8-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202310_53229130641_o.0a9f57a8-opt-3840.WEBP new file mode 100644 index 0000000000..ba2bf0fb5c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202310_53229130641_o.0a9f57a8-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202310_53229130641_o.0a9f57a8-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202310_53229130641_o.0a9f57a8-opt-48.WEBP new file mode 100644 index 0000000000..68716ffe4e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202310_53229130641_o.0a9f57a8-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202310_53229130641_o.0a9f57a8-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202310_53229130641_o.0a9f57a8-opt-64.WEBP new file mode 100644 index 0000000000..ab029849b5 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202310_53229130641_o.0a9f57a8-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202310_53229130641_o.0a9f57a8-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202310_53229130641_o.0a9f57a8-opt-640.WEBP new file mode 100644 index 0000000000..8fc73179ee Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202310_53229130641_o.0a9f57a8-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202310_53229130641_o.0a9f57a8-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202310_53229130641_o.0a9f57a8-opt-750.WEBP new file mode 100644 index 0000000000..31d3c55009 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202310_53229130641_o.0a9f57a8-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202310_53229130641_o.0a9f57a8-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202310_53229130641_o.0a9f57a8-opt-828.WEBP new file mode 100644 index 0000000000..d80b4e617c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202310_53229130641_o.0a9f57a8-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202310_53229130641_o.0a9f57a8-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202310_53229130641_o.0a9f57a8-opt-96.WEBP new file mode 100644 index 0000000000..b47a9a66b1 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202310_53229130641_o.0a9f57a8-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202311_53229130636_o.8575f45f-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202311_53229130636_o.8575f45f-opt-10.WEBP new file mode 100644 index 0000000000..5de91fead6 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202311_53229130636_o.8575f45f-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202311_53229130636_o.8575f45f-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202311_53229130636_o.8575f45f-opt-1080.WEBP new file mode 100644 index 0000000000..43b55bbd96 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202311_53229130636_o.8575f45f-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202311_53229130636_o.8575f45f-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202311_53229130636_o.8575f45f-opt-1200.WEBP new file mode 100644 index 0000000000..b499d3fcfd Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202311_53229130636_o.8575f45f-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202311_53229130636_o.8575f45f-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202311_53229130636_o.8575f45f-opt-128.WEBP new file mode 100644 index 0000000000..fed7308c8b Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202311_53229130636_o.8575f45f-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202311_53229130636_o.8575f45f-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202311_53229130636_o.8575f45f-opt-16.WEBP new file mode 100644 index 0000000000..c8bd8acee1 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202311_53229130636_o.8575f45f-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202311_53229130636_o.8575f45f-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202311_53229130636_o.8575f45f-opt-1920.WEBP new file mode 100644 index 0000000000..34812c8962 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202311_53229130636_o.8575f45f-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202311_53229130636_o.8575f45f-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202311_53229130636_o.8575f45f-opt-2048.WEBP new file mode 100644 index 0000000000..69dd975045 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202311_53229130636_o.8575f45f-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202311_53229130636_o.8575f45f-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202311_53229130636_o.8575f45f-opt-256.WEBP new file mode 100644 index 0000000000..3a8c7254d0 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202311_53229130636_o.8575f45f-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202311_53229130636_o.8575f45f-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202311_53229130636_o.8575f45f-opt-32.WEBP new file mode 100644 index 0000000000..c194b27642 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202311_53229130636_o.8575f45f-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202311_53229130636_o.8575f45f-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202311_53229130636_o.8575f45f-opt-384.WEBP new file mode 100644 index 0000000000..c4667d3d51 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202311_53229130636_o.8575f45f-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202311_53229130636_o.8575f45f-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202311_53229130636_o.8575f45f-opt-3840.WEBP new file mode 100644 index 0000000000..70f0607264 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202311_53229130636_o.8575f45f-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202311_53229130636_o.8575f45f-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202311_53229130636_o.8575f45f-opt-48.WEBP new file mode 100644 index 0000000000..40aad731e9 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202311_53229130636_o.8575f45f-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202311_53229130636_o.8575f45f-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202311_53229130636_o.8575f45f-opt-64.WEBP new file mode 100644 index 0000000000..2ca0cbba4e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202311_53229130636_o.8575f45f-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202311_53229130636_o.8575f45f-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202311_53229130636_o.8575f45f-opt-640.WEBP new file mode 100644 index 0000000000..d07859f22d Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202311_53229130636_o.8575f45f-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202311_53229130636_o.8575f45f-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202311_53229130636_o.8575f45f-opt-750.WEBP new file mode 100644 index 0000000000..c8832102bf Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202311_53229130636_o.8575f45f-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202311_53229130636_o.8575f45f-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202311_53229130636_o.8575f45f-opt-828.WEBP new file mode 100644 index 0000000000..30368a0790 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202311_53229130636_o.8575f45f-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202311_53229130636_o.8575f45f-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202311_53229130636_o.8575f45f-opt-96.WEBP new file mode 100644 index 0000000000..0c8061517f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202311_53229130636_o.8575f45f-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202312_53229431468_o.ae2d4d8c-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202312_53229431468_o.ae2d4d8c-opt-10.WEBP new file mode 100644 index 0000000000..5c64788e1a Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202312_53229431468_o.ae2d4d8c-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202312_53229431468_o.ae2d4d8c-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202312_53229431468_o.ae2d4d8c-opt-1080.WEBP new file mode 100644 index 0000000000..db7da82a86 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202312_53229431468_o.ae2d4d8c-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202312_53229431468_o.ae2d4d8c-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202312_53229431468_o.ae2d4d8c-opt-1200.WEBP new file mode 100644 index 0000000000..ce877620b9 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202312_53229431468_o.ae2d4d8c-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202312_53229431468_o.ae2d4d8c-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202312_53229431468_o.ae2d4d8c-opt-128.WEBP new file mode 100644 index 0000000000..1da7df0091 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202312_53229431468_o.ae2d4d8c-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202312_53229431468_o.ae2d4d8c-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202312_53229431468_o.ae2d4d8c-opt-16.WEBP new file mode 100644 index 0000000000..8dd707413e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202312_53229431468_o.ae2d4d8c-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202312_53229431468_o.ae2d4d8c-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202312_53229431468_o.ae2d4d8c-opt-1920.WEBP new file mode 100644 index 0000000000..4e81b53708 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202312_53229431468_o.ae2d4d8c-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202312_53229431468_o.ae2d4d8c-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202312_53229431468_o.ae2d4d8c-opt-2048.WEBP new file mode 100644 index 0000000000..83546f65ee Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202312_53229431468_o.ae2d4d8c-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202312_53229431468_o.ae2d4d8c-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202312_53229431468_o.ae2d4d8c-opt-256.WEBP new file mode 100644 index 0000000000..95c9963970 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202312_53229431468_o.ae2d4d8c-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202312_53229431468_o.ae2d4d8c-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202312_53229431468_o.ae2d4d8c-opt-32.WEBP new file mode 100644 index 0000000000..dcc31bcf94 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202312_53229431468_o.ae2d4d8c-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202312_53229431468_o.ae2d4d8c-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202312_53229431468_o.ae2d4d8c-opt-384.WEBP new file mode 100644 index 0000000000..15668ba98b Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202312_53229431468_o.ae2d4d8c-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202312_53229431468_o.ae2d4d8c-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202312_53229431468_o.ae2d4d8c-opt-3840.WEBP new file mode 100644 index 0000000000..064e5ad938 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202312_53229431468_o.ae2d4d8c-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202312_53229431468_o.ae2d4d8c-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202312_53229431468_o.ae2d4d8c-opt-48.WEBP new file mode 100644 index 0000000000..d5f8f4402b Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202312_53229431468_o.ae2d4d8c-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202312_53229431468_o.ae2d4d8c-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202312_53229431468_o.ae2d4d8c-opt-64.WEBP new file mode 100644 index 0000000000..47888a74b1 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202312_53229431468_o.ae2d4d8c-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202312_53229431468_o.ae2d4d8c-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202312_53229431468_o.ae2d4d8c-opt-640.WEBP new file mode 100644 index 0000000000..f1d7b5cb29 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202312_53229431468_o.ae2d4d8c-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202312_53229431468_o.ae2d4d8c-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202312_53229431468_o.ae2d4d8c-opt-750.WEBP new file mode 100644 index 0000000000..becf3b5b0f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202312_53229431468_o.ae2d4d8c-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202312_53229431468_o.ae2d4d8c-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202312_53229431468_o.ae2d4d8c-opt-828.WEBP new file mode 100644 index 0000000000..6bdded2ace Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202312_53229431468_o.ae2d4d8c-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202312_53229431468_o.ae2d4d8c-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202312_53229431468_o.ae2d4d8c-opt-96.WEBP new file mode 100644 index 0000000000..c7c3dbdca5 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202312_53229431468_o.ae2d4d8c-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202313_53229431453_o.ad027cad-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202313_53229431453_o.ad027cad-opt-10.WEBP new file mode 100644 index 0000000000..ebd879e910 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202313_53229431453_o.ad027cad-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202313_53229431453_o.ad027cad-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202313_53229431453_o.ad027cad-opt-1080.WEBP new file mode 100644 index 0000000000..2327cba822 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202313_53229431453_o.ad027cad-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202313_53229431453_o.ad027cad-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202313_53229431453_o.ad027cad-opt-1200.WEBP new file mode 100644 index 0000000000..1477d2f61b Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202313_53229431453_o.ad027cad-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202313_53229431453_o.ad027cad-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202313_53229431453_o.ad027cad-opt-128.WEBP new file mode 100644 index 0000000000..94c34c2348 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202313_53229431453_o.ad027cad-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202313_53229431453_o.ad027cad-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202313_53229431453_o.ad027cad-opt-16.WEBP new file mode 100644 index 0000000000..4c4c5f32c6 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202313_53229431453_o.ad027cad-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202313_53229431453_o.ad027cad-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202313_53229431453_o.ad027cad-opt-1920.WEBP new file mode 100644 index 0000000000..d8d75da0ea Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202313_53229431453_o.ad027cad-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202313_53229431453_o.ad027cad-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202313_53229431453_o.ad027cad-opt-2048.WEBP new file mode 100644 index 0000000000..f5665fa4f4 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202313_53229431453_o.ad027cad-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202313_53229431453_o.ad027cad-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202313_53229431453_o.ad027cad-opt-256.WEBP new file mode 100644 index 0000000000..3688903c95 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202313_53229431453_o.ad027cad-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202313_53229431453_o.ad027cad-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202313_53229431453_o.ad027cad-opt-32.WEBP new file mode 100644 index 0000000000..99736e3659 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202313_53229431453_o.ad027cad-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202313_53229431453_o.ad027cad-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202313_53229431453_o.ad027cad-opt-384.WEBP new file mode 100644 index 0000000000..72c7ff7b12 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202313_53229431453_o.ad027cad-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202313_53229431453_o.ad027cad-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202313_53229431453_o.ad027cad-opt-3840.WEBP new file mode 100644 index 0000000000..63db5b9777 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202313_53229431453_o.ad027cad-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202313_53229431453_o.ad027cad-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202313_53229431453_o.ad027cad-opt-48.WEBP new file mode 100644 index 0000000000..c8495a0bfd Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202313_53229431453_o.ad027cad-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202313_53229431453_o.ad027cad-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202313_53229431453_o.ad027cad-opt-64.WEBP new file mode 100644 index 0000000000..c50fc08e03 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202313_53229431453_o.ad027cad-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202313_53229431453_o.ad027cad-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202313_53229431453_o.ad027cad-opt-640.WEBP new file mode 100644 index 0000000000..1a191775af Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202313_53229431453_o.ad027cad-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202313_53229431453_o.ad027cad-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202313_53229431453_o.ad027cad-opt-750.WEBP new file mode 100644 index 0000000000..d6ee1e23c1 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202313_53229431453_o.ad027cad-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202313_53229431453_o.ad027cad-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202313_53229431453_o.ad027cad-opt-828.WEBP new file mode 100644 index 0000000000..f1639a014f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202313_53229431453_o.ad027cad-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202313_53229431453_o.ad027cad-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202313_53229431453_o.ad027cad-opt-96.WEBP new file mode 100644 index 0000000000..c80a58c149 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202313_53229431453_o.ad027cad-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202314_53228256402_o.2bf2cdae-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202314_53228256402_o.2bf2cdae-opt-10.WEBP new file mode 100644 index 0000000000..cfe4f227f4 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202314_53228256402_o.2bf2cdae-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202314_53228256402_o.2bf2cdae-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202314_53228256402_o.2bf2cdae-opt-1080.WEBP new file mode 100644 index 0000000000..5fbe35debd Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202314_53228256402_o.2bf2cdae-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202314_53228256402_o.2bf2cdae-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202314_53228256402_o.2bf2cdae-opt-1200.WEBP new file mode 100644 index 0000000000..17501161ff Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202314_53228256402_o.2bf2cdae-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202314_53228256402_o.2bf2cdae-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202314_53228256402_o.2bf2cdae-opt-128.WEBP new file mode 100644 index 0000000000..e055be7ec0 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202314_53228256402_o.2bf2cdae-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202314_53228256402_o.2bf2cdae-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202314_53228256402_o.2bf2cdae-opt-16.WEBP new file mode 100644 index 0000000000..628b648af5 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202314_53228256402_o.2bf2cdae-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202314_53228256402_o.2bf2cdae-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202314_53228256402_o.2bf2cdae-opt-1920.WEBP new file mode 100644 index 0000000000..2d81341b08 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202314_53228256402_o.2bf2cdae-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202314_53228256402_o.2bf2cdae-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202314_53228256402_o.2bf2cdae-opt-2048.WEBP new file mode 100644 index 0000000000..3d152c2472 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202314_53228256402_o.2bf2cdae-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202314_53228256402_o.2bf2cdae-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202314_53228256402_o.2bf2cdae-opt-256.WEBP new file mode 100644 index 0000000000..3d4af11791 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202314_53228256402_o.2bf2cdae-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202314_53228256402_o.2bf2cdae-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202314_53228256402_o.2bf2cdae-opt-32.WEBP new file mode 100644 index 0000000000..f640848373 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202314_53228256402_o.2bf2cdae-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202314_53228256402_o.2bf2cdae-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202314_53228256402_o.2bf2cdae-opt-384.WEBP new file mode 100644 index 0000000000..f5b0e2321c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202314_53228256402_o.2bf2cdae-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202314_53228256402_o.2bf2cdae-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202314_53228256402_o.2bf2cdae-opt-3840.WEBP new file mode 100644 index 0000000000..66eef5512f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202314_53228256402_o.2bf2cdae-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202314_53228256402_o.2bf2cdae-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202314_53228256402_o.2bf2cdae-opt-48.WEBP new file mode 100644 index 0000000000..4d4e3182ac Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202314_53228256402_o.2bf2cdae-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202314_53228256402_o.2bf2cdae-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202314_53228256402_o.2bf2cdae-opt-64.WEBP new file mode 100644 index 0000000000..daee93f6be Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202314_53228256402_o.2bf2cdae-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202314_53228256402_o.2bf2cdae-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202314_53228256402_o.2bf2cdae-opt-640.WEBP new file mode 100644 index 0000000000..76afaa5cb9 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202314_53228256402_o.2bf2cdae-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202314_53228256402_o.2bf2cdae-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202314_53228256402_o.2bf2cdae-opt-750.WEBP new file mode 100644 index 0000000000..004010b28c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202314_53228256402_o.2bf2cdae-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202314_53228256402_o.2bf2cdae-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202314_53228256402_o.2bf2cdae-opt-828.WEBP new file mode 100644 index 0000000000..027cc16e83 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202314_53228256402_o.2bf2cdae-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202314_53228256402_o.2bf2cdae-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202314_53228256402_o.2bf2cdae-opt-96.WEBP new file mode 100644 index 0000000000..1ef3a448e8 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202314_53228256402_o.2bf2cdae-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202315_53229431418_o.9469c593-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202315_53229431418_o.9469c593-opt-10.WEBP new file mode 100644 index 0000000000..3e20d44e14 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202315_53229431418_o.9469c593-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202315_53229431418_o.9469c593-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202315_53229431418_o.9469c593-opt-1080.WEBP new file mode 100644 index 0000000000..9794848632 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202315_53229431418_o.9469c593-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202315_53229431418_o.9469c593-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202315_53229431418_o.9469c593-opt-1200.WEBP new file mode 100644 index 0000000000..48106eec37 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202315_53229431418_o.9469c593-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202315_53229431418_o.9469c593-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202315_53229431418_o.9469c593-opt-128.WEBP new file mode 100644 index 0000000000..0261db5dbc Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202315_53229431418_o.9469c593-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202315_53229431418_o.9469c593-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202315_53229431418_o.9469c593-opt-16.WEBP new file mode 100644 index 0000000000..8066e1f05e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202315_53229431418_o.9469c593-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202315_53229431418_o.9469c593-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202315_53229431418_o.9469c593-opt-1920.WEBP new file mode 100644 index 0000000000..6edf568fd1 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202315_53229431418_o.9469c593-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202315_53229431418_o.9469c593-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202315_53229431418_o.9469c593-opt-2048.WEBP new file mode 100644 index 0000000000..0ac409cf8e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202315_53229431418_o.9469c593-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202315_53229431418_o.9469c593-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202315_53229431418_o.9469c593-opt-256.WEBP new file mode 100644 index 0000000000..292e53caaa Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202315_53229431418_o.9469c593-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202315_53229431418_o.9469c593-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202315_53229431418_o.9469c593-opt-32.WEBP new file mode 100644 index 0000000000..231cf532b4 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202315_53229431418_o.9469c593-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202315_53229431418_o.9469c593-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202315_53229431418_o.9469c593-opt-384.WEBP new file mode 100644 index 0000000000..72586dde23 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202315_53229431418_o.9469c593-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202315_53229431418_o.9469c593-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202315_53229431418_o.9469c593-opt-3840.WEBP new file mode 100644 index 0000000000..3f9a47759d Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202315_53229431418_o.9469c593-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202315_53229431418_o.9469c593-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202315_53229431418_o.9469c593-opt-48.WEBP new file mode 100644 index 0000000000..eccd477f89 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202315_53229431418_o.9469c593-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202315_53229431418_o.9469c593-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202315_53229431418_o.9469c593-opt-64.WEBP new file mode 100644 index 0000000000..7e2a3b0366 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202315_53229431418_o.9469c593-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202315_53229431418_o.9469c593-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202315_53229431418_o.9469c593-opt-640.WEBP new file mode 100644 index 0000000000..d019da2d12 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202315_53229431418_o.9469c593-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202315_53229431418_o.9469c593-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202315_53229431418_o.9469c593-opt-750.WEBP new file mode 100644 index 0000000000..6d72f7bb53 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202315_53229431418_o.9469c593-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202315_53229431418_o.9469c593-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202315_53229431418_o.9469c593-opt-828.WEBP new file mode 100644 index 0000000000..27021215b1 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202315_53229431418_o.9469c593-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202315_53229431418_o.9469c593-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202315_53229431418_o.9469c593-opt-96.WEBP new file mode 100644 index 0000000000..7cdd4cca56 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202315_53229431418_o.9469c593-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202316_53229130551_o.c6b56b39-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202316_53229130551_o.c6b56b39-opt-10.WEBP new file mode 100644 index 0000000000..287a71b2a6 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202316_53229130551_o.c6b56b39-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202316_53229130551_o.c6b56b39-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202316_53229130551_o.c6b56b39-opt-1080.WEBP new file mode 100644 index 0000000000..aa3bd64140 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202316_53229130551_o.c6b56b39-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202316_53229130551_o.c6b56b39-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202316_53229130551_o.c6b56b39-opt-1200.WEBP new file mode 100644 index 0000000000..39528330e4 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202316_53229130551_o.c6b56b39-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202316_53229130551_o.c6b56b39-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202316_53229130551_o.c6b56b39-opt-128.WEBP new file mode 100644 index 0000000000..724bf33000 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202316_53229130551_o.c6b56b39-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202316_53229130551_o.c6b56b39-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202316_53229130551_o.c6b56b39-opt-16.WEBP new file mode 100644 index 0000000000..8a55a31985 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202316_53229130551_o.c6b56b39-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202316_53229130551_o.c6b56b39-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202316_53229130551_o.c6b56b39-opt-1920.WEBP new file mode 100644 index 0000000000..93bf62e65e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202316_53229130551_o.c6b56b39-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202316_53229130551_o.c6b56b39-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202316_53229130551_o.c6b56b39-opt-2048.WEBP new file mode 100644 index 0000000000..b6e769cf28 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202316_53229130551_o.c6b56b39-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202316_53229130551_o.c6b56b39-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202316_53229130551_o.c6b56b39-opt-256.WEBP new file mode 100644 index 0000000000..0a34807e78 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202316_53229130551_o.c6b56b39-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202316_53229130551_o.c6b56b39-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202316_53229130551_o.c6b56b39-opt-32.WEBP new file mode 100644 index 0000000000..71c513967e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202316_53229130551_o.c6b56b39-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202316_53229130551_o.c6b56b39-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202316_53229130551_o.c6b56b39-opt-384.WEBP new file mode 100644 index 0000000000..d46813151e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202316_53229130551_o.c6b56b39-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202316_53229130551_o.c6b56b39-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202316_53229130551_o.c6b56b39-opt-3840.WEBP new file mode 100644 index 0000000000..8b79d62f58 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202316_53229130551_o.c6b56b39-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202316_53229130551_o.c6b56b39-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202316_53229130551_o.c6b56b39-opt-48.WEBP new file mode 100644 index 0000000000..3ecbc9b6a8 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202316_53229130551_o.c6b56b39-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202316_53229130551_o.c6b56b39-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202316_53229130551_o.c6b56b39-opt-64.WEBP new file mode 100644 index 0000000000..240a12e23a Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202316_53229130551_o.c6b56b39-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202316_53229130551_o.c6b56b39-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202316_53229130551_o.c6b56b39-opt-640.WEBP new file mode 100644 index 0000000000..02e489361d Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202316_53229130551_o.c6b56b39-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202316_53229130551_o.c6b56b39-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202316_53229130551_o.c6b56b39-opt-750.WEBP new file mode 100644 index 0000000000..db2a59b1cc Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202316_53229130551_o.c6b56b39-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202316_53229130551_o.c6b56b39-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202316_53229130551_o.c6b56b39-opt-828.WEBP new file mode 100644 index 0000000000..f0ccd7bf9d Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202316_53229130551_o.c6b56b39-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202316_53229130551_o.c6b56b39-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202316_53229130551_o.c6b56b39-opt-96.WEBP new file mode 100644 index 0000000000..afb324a0bb Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202316_53229130551_o.c6b56b39-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202317_53229431408_o.58596b8b-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202317_53229431408_o.58596b8b-opt-10.WEBP new file mode 100644 index 0000000000..77bec7973d Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202317_53229431408_o.58596b8b-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202317_53229431408_o.58596b8b-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202317_53229431408_o.58596b8b-opt-1080.WEBP new file mode 100644 index 0000000000..60f7db8943 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202317_53229431408_o.58596b8b-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202317_53229431408_o.58596b8b-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202317_53229431408_o.58596b8b-opt-1200.WEBP new file mode 100644 index 0000000000..b81bfd6c66 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202317_53229431408_o.58596b8b-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202317_53229431408_o.58596b8b-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202317_53229431408_o.58596b8b-opt-128.WEBP new file mode 100644 index 0000000000..8fe826084f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202317_53229431408_o.58596b8b-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202317_53229431408_o.58596b8b-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202317_53229431408_o.58596b8b-opt-16.WEBP new file mode 100644 index 0000000000..40c83d49ef Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202317_53229431408_o.58596b8b-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202317_53229431408_o.58596b8b-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202317_53229431408_o.58596b8b-opt-1920.WEBP new file mode 100644 index 0000000000..6eb6cc6c31 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202317_53229431408_o.58596b8b-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202317_53229431408_o.58596b8b-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202317_53229431408_o.58596b8b-opt-2048.WEBP new file mode 100644 index 0000000000..3d4a20fe7e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202317_53229431408_o.58596b8b-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202317_53229431408_o.58596b8b-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202317_53229431408_o.58596b8b-opt-256.WEBP new file mode 100644 index 0000000000..46ffabbb54 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202317_53229431408_o.58596b8b-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202317_53229431408_o.58596b8b-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202317_53229431408_o.58596b8b-opt-32.WEBP new file mode 100644 index 0000000000..6744f14b65 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202317_53229431408_o.58596b8b-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202317_53229431408_o.58596b8b-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202317_53229431408_o.58596b8b-opt-384.WEBP new file mode 100644 index 0000000000..278c6d8449 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202317_53229431408_o.58596b8b-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202317_53229431408_o.58596b8b-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202317_53229431408_o.58596b8b-opt-3840.WEBP new file mode 100644 index 0000000000..ea58e49d45 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202317_53229431408_o.58596b8b-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202317_53229431408_o.58596b8b-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202317_53229431408_o.58596b8b-opt-48.WEBP new file mode 100644 index 0000000000..568f1fa5d9 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202317_53229431408_o.58596b8b-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202317_53229431408_o.58596b8b-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202317_53229431408_o.58596b8b-opt-64.WEBP new file mode 100644 index 0000000000..1232fca173 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202317_53229431408_o.58596b8b-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202317_53229431408_o.58596b8b-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202317_53229431408_o.58596b8b-opt-640.WEBP new file mode 100644 index 0000000000..a7b84faba8 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202317_53229431408_o.58596b8b-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202317_53229431408_o.58596b8b-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202317_53229431408_o.58596b8b-opt-750.WEBP new file mode 100644 index 0000000000..34f02fe2e9 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202317_53229431408_o.58596b8b-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202317_53229431408_o.58596b8b-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202317_53229431408_o.58596b8b-opt-828.WEBP new file mode 100644 index 0000000000..c2af663e5b Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202317_53229431408_o.58596b8b-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202317_53229431408_o.58596b8b-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202317_53229431408_o.58596b8b-opt-96.WEBP new file mode 100644 index 0000000000..267931af87 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202317_53229431408_o.58596b8b-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202318_53229431413_o.04a6f9b5-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202318_53229431413_o.04a6f9b5-opt-10.WEBP new file mode 100644 index 0000000000..7965584beb Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202318_53229431413_o.04a6f9b5-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202318_53229431413_o.04a6f9b5-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202318_53229431413_o.04a6f9b5-opt-1080.WEBP new file mode 100644 index 0000000000..090a39bc51 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202318_53229431413_o.04a6f9b5-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202318_53229431413_o.04a6f9b5-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202318_53229431413_o.04a6f9b5-opt-1200.WEBP new file mode 100644 index 0000000000..9377ab1795 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202318_53229431413_o.04a6f9b5-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202318_53229431413_o.04a6f9b5-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202318_53229431413_o.04a6f9b5-opt-128.WEBP new file mode 100644 index 0000000000..e92e5083e4 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202318_53229431413_o.04a6f9b5-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202318_53229431413_o.04a6f9b5-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202318_53229431413_o.04a6f9b5-opt-16.WEBP new file mode 100644 index 0000000000..1ca814a1c5 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202318_53229431413_o.04a6f9b5-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202318_53229431413_o.04a6f9b5-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202318_53229431413_o.04a6f9b5-opt-1920.WEBP new file mode 100644 index 0000000000..bfb8c43fb4 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202318_53229431413_o.04a6f9b5-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202318_53229431413_o.04a6f9b5-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202318_53229431413_o.04a6f9b5-opt-2048.WEBP new file mode 100644 index 0000000000..207261c3eb Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202318_53229431413_o.04a6f9b5-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202318_53229431413_o.04a6f9b5-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202318_53229431413_o.04a6f9b5-opt-256.WEBP new file mode 100644 index 0000000000..3ffdb5568f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202318_53229431413_o.04a6f9b5-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202318_53229431413_o.04a6f9b5-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202318_53229431413_o.04a6f9b5-opt-32.WEBP new file mode 100644 index 0000000000..c7686a21e8 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202318_53229431413_o.04a6f9b5-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202318_53229431413_o.04a6f9b5-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202318_53229431413_o.04a6f9b5-opt-384.WEBP new file mode 100644 index 0000000000..d62b302781 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202318_53229431413_o.04a6f9b5-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202318_53229431413_o.04a6f9b5-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202318_53229431413_o.04a6f9b5-opt-3840.WEBP new file mode 100644 index 0000000000..2fe2461e12 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202318_53229431413_o.04a6f9b5-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202318_53229431413_o.04a6f9b5-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202318_53229431413_o.04a6f9b5-opt-48.WEBP new file mode 100644 index 0000000000..90928d2be5 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202318_53229431413_o.04a6f9b5-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202318_53229431413_o.04a6f9b5-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202318_53229431413_o.04a6f9b5-opt-64.WEBP new file mode 100644 index 0000000000..cebfc09844 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202318_53229431413_o.04a6f9b5-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202318_53229431413_o.04a6f9b5-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202318_53229431413_o.04a6f9b5-opt-640.WEBP new file mode 100644 index 0000000000..5a8f9a5c6d Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202318_53229431413_o.04a6f9b5-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202318_53229431413_o.04a6f9b5-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202318_53229431413_o.04a6f9b5-opt-750.WEBP new file mode 100644 index 0000000000..2789b9ccd7 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202318_53229431413_o.04a6f9b5-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202318_53229431413_o.04a6f9b5-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202318_53229431413_o.04a6f9b5-opt-828.WEBP new file mode 100644 index 0000000000..8301124c9e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202318_53229431413_o.04a6f9b5-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202318_53229431413_o.04a6f9b5-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202318_53229431413_o.04a6f9b5-opt-96.WEBP new file mode 100644 index 0000000000..bbbf5252be Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202318_53229431413_o.04a6f9b5-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202319_53229505639_o.20199331-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202319_53229505639_o.20199331-opt-10.WEBP new file mode 100644 index 0000000000..1ca537cc8b Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202319_53229505639_o.20199331-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202319_53229505639_o.20199331-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202319_53229505639_o.20199331-opt-1080.WEBP new file mode 100644 index 0000000000..b3c89dc933 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202319_53229505639_o.20199331-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202319_53229505639_o.20199331-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202319_53229505639_o.20199331-opt-1200.WEBP new file mode 100644 index 0000000000..98dc0505fa Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202319_53229505639_o.20199331-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202319_53229505639_o.20199331-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202319_53229505639_o.20199331-opt-128.WEBP new file mode 100644 index 0000000000..c897b3b49c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202319_53229505639_o.20199331-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202319_53229505639_o.20199331-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202319_53229505639_o.20199331-opt-16.WEBP new file mode 100644 index 0000000000..3d868c0dba Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202319_53229505639_o.20199331-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202319_53229505639_o.20199331-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202319_53229505639_o.20199331-opt-1920.WEBP new file mode 100644 index 0000000000..e058796859 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202319_53229505639_o.20199331-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202319_53229505639_o.20199331-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202319_53229505639_o.20199331-opt-256.WEBP new file mode 100644 index 0000000000..6d9c40f876 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202319_53229505639_o.20199331-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202319_53229505639_o.20199331-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202319_53229505639_o.20199331-opt-32.WEBP new file mode 100644 index 0000000000..8bb6445619 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202319_53229505639_o.20199331-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202319_53229505639_o.20199331-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202319_53229505639_o.20199331-opt-384.WEBP new file mode 100644 index 0000000000..9364fbf942 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202319_53229505639_o.20199331-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202319_53229505639_o.20199331-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202319_53229505639_o.20199331-opt-48.WEBP new file mode 100644 index 0000000000..e1132bd533 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202319_53229505639_o.20199331-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202319_53229505639_o.20199331-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202319_53229505639_o.20199331-opt-64.WEBP new file mode 100644 index 0000000000..eccd6c2c8e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202319_53229505639_o.20199331-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202319_53229505639_o.20199331-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202319_53229505639_o.20199331-opt-640.WEBP new file mode 100644 index 0000000000..9ccc850082 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202319_53229505639_o.20199331-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202319_53229505639_o.20199331-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202319_53229505639_o.20199331-opt-750.WEBP new file mode 100644 index 0000000000..25bde44e44 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202319_53229505639_o.20199331-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202319_53229505639_o.20199331-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202319_53229505639_o.20199331-opt-828.WEBP new file mode 100644 index 0000000000..ed3c95f5d3 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202319_53229505639_o.20199331-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202319_53229505639_o.20199331-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202319_53229505639_o.20199331-opt-96.WEBP new file mode 100644 index 0000000000..92d6d62a5c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202319_53229505639_o.20199331-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20231_53229505964_o.9c56a9e4-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-20231_53229505964_o.9c56a9e4-opt-10.WEBP new file mode 100644 index 0000000000..bfa1341643 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20231_53229505964_o.9c56a9e4-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20231_53229505964_o.9c56a9e4-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-20231_53229505964_o.9c56a9e4-opt-1080.WEBP new file mode 100644 index 0000000000..eb46351bd5 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20231_53229505964_o.9c56a9e4-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20231_53229505964_o.9c56a9e4-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-20231_53229505964_o.9c56a9e4-opt-1200.WEBP new file mode 100644 index 0000000000..564ed1176f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20231_53229505964_o.9c56a9e4-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20231_53229505964_o.9c56a9e4-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-20231_53229505964_o.9c56a9e4-opt-128.WEBP new file mode 100644 index 0000000000..eb728e82d9 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20231_53229505964_o.9c56a9e4-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20231_53229505964_o.9c56a9e4-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-20231_53229505964_o.9c56a9e4-opt-16.WEBP new file mode 100644 index 0000000000..4090b887ce Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20231_53229505964_o.9c56a9e4-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20231_53229505964_o.9c56a9e4-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-20231_53229505964_o.9c56a9e4-opt-1920.WEBP new file mode 100644 index 0000000000..16c1b51c17 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20231_53229505964_o.9c56a9e4-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20231_53229505964_o.9c56a9e4-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-20231_53229505964_o.9c56a9e4-opt-2048.WEBP new file mode 100644 index 0000000000..6a8f98dfbd Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20231_53229505964_o.9c56a9e4-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20231_53229505964_o.9c56a9e4-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-20231_53229505964_o.9c56a9e4-opt-256.WEBP new file mode 100644 index 0000000000..60e0d456c8 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20231_53229505964_o.9c56a9e4-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20231_53229505964_o.9c56a9e4-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-20231_53229505964_o.9c56a9e4-opt-32.WEBP new file mode 100644 index 0000000000..56f3d536c4 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20231_53229505964_o.9c56a9e4-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20231_53229505964_o.9c56a9e4-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-20231_53229505964_o.9c56a9e4-opt-384.WEBP new file mode 100644 index 0000000000..a7d529f908 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20231_53229505964_o.9c56a9e4-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20231_53229505964_o.9c56a9e4-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-20231_53229505964_o.9c56a9e4-opt-3840.WEBP new file mode 100644 index 0000000000..df0c4c8195 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20231_53229505964_o.9c56a9e4-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20231_53229505964_o.9c56a9e4-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-20231_53229505964_o.9c56a9e4-opt-48.WEBP new file mode 100644 index 0000000000..ffe5369bbf Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20231_53229505964_o.9c56a9e4-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20231_53229505964_o.9c56a9e4-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-20231_53229505964_o.9c56a9e4-opt-64.WEBP new file mode 100644 index 0000000000..aa7e2c8920 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20231_53229505964_o.9c56a9e4-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20231_53229505964_o.9c56a9e4-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-20231_53229505964_o.9c56a9e4-opt-640.WEBP new file mode 100644 index 0000000000..d3f0abed10 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20231_53229505964_o.9c56a9e4-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20231_53229505964_o.9c56a9e4-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-20231_53229505964_o.9c56a9e4-opt-750.WEBP new file mode 100644 index 0000000000..b09764eb79 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20231_53229505964_o.9c56a9e4-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20231_53229505964_o.9c56a9e4-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-20231_53229505964_o.9c56a9e4-opt-828.WEBP new file mode 100644 index 0000000000..815d6fa663 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20231_53229505964_o.9c56a9e4-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20231_53229505964_o.9c56a9e4-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-20231_53229505964_o.9c56a9e4-opt-96.WEBP new file mode 100644 index 0000000000..7170cfd197 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20231_53229505964_o.9c56a9e4-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202321_53229504679_o.1718fe3c-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202321_53229504679_o.1718fe3c-opt-10.WEBP new file mode 100644 index 0000000000..82daba1acb Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202321_53229504679_o.1718fe3c-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202321_53229504679_o.1718fe3c-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202321_53229504679_o.1718fe3c-opt-1080.WEBP new file mode 100644 index 0000000000..70866e2f17 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202321_53229504679_o.1718fe3c-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202321_53229504679_o.1718fe3c-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202321_53229504679_o.1718fe3c-opt-1200.WEBP new file mode 100644 index 0000000000..6c322e35c9 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202321_53229504679_o.1718fe3c-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202321_53229504679_o.1718fe3c-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202321_53229504679_o.1718fe3c-opt-128.WEBP new file mode 100644 index 0000000000..6efd21a770 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202321_53229504679_o.1718fe3c-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202321_53229504679_o.1718fe3c-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202321_53229504679_o.1718fe3c-opt-16.WEBP new file mode 100644 index 0000000000..3d982d523a Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202321_53229504679_o.1718fe3c-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202321_53229504679_o.1718fe3c-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202321_53229504679_o.1718fe3c-opt-1920.WEBP new file mode 100644 index 0000000000..5fc1d86ebd Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202321_53229504679_o.1718fe3c-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202321_53229504679_o.1718fe3c-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202321_53229504679_o.1718fe3c-opt-2048.WEBP new file mode 100644 index 0000000000..294b5a542c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202321_53229504679_o.1718fe3c-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202321_53229504679_o.1718fe3c-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202321_53229504679_o.1718fe3c-opt-256.WEBP new file mode 100644 index 0000000000..228a6ae632 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202321_53229504679_o.1718fe3c-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202321_53229504679_o.1718fe3c-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202321_53229504679_o.1718fe3c-opt-32.WEBP new file mode 100644 index 0000000000..939a1c1128 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202321_53229504679_o.1718fe3c-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202321_53229504679_o.1718fe3c-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202321_53229504679_o.1718fe3c-opt-384.WEBP new file mode 100644 index 0000000000..9b977731a8 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202321_53229504679_o.1718fe3c-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202321_53229504679_o.1718fe3c-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202321_53229504679_o.1718fe3c-opt-3840.WEBP new file mode 100644 index 0000000000..8301d36c12 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202321_53229504679_o.1718fe3c-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202321_53229504679_o.1718fe3c-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202321_53229504679_o.1718fe3c-opt-48.WEBP new file mode 100644 index 0000000000..c1b0bb7570 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202321_53229504679_o.1718fe3c-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202321_53229504679_o.1718fe3c-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202321_53229504679_o.1718fe3c-opt-64.WEBP new file mode 100644 index 0000000000..7ec7b98701 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202321_53229504679_o.1718fe3c-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202321_53229504679_o.1718fe3c-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202321_53229504679_o.1718fe3c-opt-640.WEBP new file mode 100644 index 0000000000..bdb97dfff4 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202321_53229504679_o.1718fe3c-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202321_53229504679_o.1718fe3c-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202321_53229504679_o.1718fe3c-opt-750.WEBP new file mode 100644 index 0000000000..86a373fa0b Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202321_53229504679_o.1718fe3c-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202321_53229504679_o.1718fe3c-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202321_53229504679_o.1718fe3c-opt-828.WEBP new file mode 100644 index 0000000000..3121ddb2dc Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202321_53229504679_o.1718fe3c-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202321_53229504679_o.1718fe3c-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202321_53229504679_o.1718fe3c-opt-96.WEBP new file mode 100644 index 0000000000..f0c78ca78e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202321_53229504679_o.1718fe3c-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202322_53229431348_o.3468cf44-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202322_53229431348_o.3468cf44-opt-10.WEBP new file mode 100644 index 0000000000..6bdd9d88aa Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202322_53229431348_o.3468cf44-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202322_53229431348_o.3468cf44-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202322_53229431348_o.3468cf44-opt-1080.WEBP new file mode 100644 index 0000000000..8838ee8411 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202322_53229431348_o.3468cf44-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202322_53229431348_o.3468cf44-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202322_53229431348_o.3468cf44-opt-1200.WEBP new file mode 100644 index 0000000000..b6add5e094 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202322_53229431348_o.3468cf44-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202322_53229431348_o.3468cf44-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202322_53229431348_o.3468cf44-opt-128.WEBP new file mode 100644 index 0000000000..f82111b9ba Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202322_53229431348_o.3468cf44-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202322_53229431348_o.3468cf44-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202322_53229431348_o.3468cf44-opt-16.WEBP new file mode 100644 index 0000000000..82b06e76cc Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202322_53229431348_o.3468cf44-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202322_53229431348_o.3468cf44-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202322_53229431348_o.3468cf44-opt-1920.WEBP new file mode 100644 index 0000000000..ebd6c9efae Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202322_53229431348_o.3468cf44-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202322_53229431348_o.3468cf44-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202322_53229431348_o.3468cf44-opt-2048.WEBP new file mode 100644 index 0000000000..960d4be199 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202322_53229431348_o.3468cf44-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202322_53229431348_o.3468cf44-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202322_53229431348_o.3468cf44-opt-256.WEBP new file mode 100644 index 0000000000..d69094a102 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202322_53229431348_o.3468cf44-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202322_53229431348_o.3468cf44-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202322_53229431348_o.3468cf44-opt-32.WEBP new file mode 100644 index 0000000000..86f322c902 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202322_53229431348_o.3468cf44-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202322_53229431348_o.3468cf44-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202322_53229431348_o.3468cf44-opt-384.WEBP new file mode 100644 index 0000000000..cbfd7029a4 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202322_53229431348_o.3468cf44-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202322_53229431348_o.3468cf44-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202322_53229431348_o.3468cf44-opt-3840.WEBP new file mode 100644 index 0000000000..970f810133 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202322_53229431348_o.3468cf44-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202322_53229431348_o.3468cf44-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202322_53229431348_o.3468cf44-opt-48.WEBP new file mode 100644 index 0000000000..632213b869 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202322_53229431348_o.3468cf44-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202322_53229431348_o.3468cf44-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202322_53229431348_o.3468cf44-opt-64.WEBP new file mode 100644 index 0000000000..63d2fa2347 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202322_53229431348_o.3468cf44-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202322_53229431348_o.3468cf44-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202322_53229431348_o.3468cf44-opt-640.WEBP new file mode 100644 index 0000000000..4d8d3b0704 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202322_53229431348_o.3468cf44-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202322_53229431348_o.3468cf44-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202322_53229431348_o.3468cf44-opt-750.WEBP new file mode 100644 index 0000000000..630254ac03 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202322_53229431348_o.3468cf44-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202322_53229431348_o.3468cf44-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202322_53229431348_o.3468cf44-opt-828.WEBP new file mode 100644 index 0000000000..f4df7e72fc Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202322_53229431348_o.3468cf44-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202322_53229431348_o.3468cf44-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202322_53229431348_o.3468cf44-opt-96.WEBP new file mode 100644 index 0000000000..15cb36a599 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202322_53229431348_o.3468cf44-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202323_53229431353_o.23dba57f-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202323_53229431353_o.23dba57f-opt-10.WEBP new file mode 100644 index 0000000000..dcb0bc1a70 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202323_53229431353_o.23dba57f-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202323_53229431353_o.23dba57f-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202323_53229431353_o.23dba57f-opt-1080.WEBP new file mode 100644 index 0000000000..4dd05c7492 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202323_53229431353_o.23dba57f-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202323_53229431353_o.23dba57f-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202323_53229431353_o.23dba57f-opt-1200.WEBP new file mode 100644 index 0000000000..92e6081fd0 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202323_53229431353_o.23dba57f-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202323_53229431353_o.23dba57f-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202323_53229431353_o.23dba57f-opt-128.WEBP new file mode 100644 index 0000000000..76343847ea Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202323_53229431353_o.23dba57f-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202323_53229431353_o.23dba57f-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202323_53229431353_o.23dba57f-opt-16.WEBP new file mode 100644 index 0000000000..749f9e944c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202323_53229431353_o.23dba57f-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202323_53229431353_o.23dba57f-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202323_53229431353_o.23dba57f-opt-1920.WEBP new file mode 100644 index 0000000000..5faa10e271 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202323_53229431353_o.23dba57f-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202323_53229431353_o.23dba57f-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202323_53229431353_o.23dba57f-opt-2048.WEBP new file mode 100644 index 0000000000..9d1f36bcf8 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202323_53229431353_o.23dba57f-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202323_53229431353_o.23dba57f-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202323_53229431353_o.23dba57f-opt-256.WEBP new file mode 100644 index 0000000000..053a0f70e1 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202323_53229431353_o.23dba57f-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202323_53229431353_o.23dba57f-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202323_53229431353_o.23dba57f-opt-32.WEBP new file mode 100644 index 0000000000..bbfab19281 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202323_53229431353_o.23dba57f-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202323_53229431353_o.23dba57f-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202323_53229431353_o.23dba57f-opt-384.WEBP new file mode 100644 index 0000000000..8b7a6d03e7 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202323_53229431353_o.23dba57f-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202323_53229431353_o.23dba57f-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202323_53229431353_o.23dba57f-opt-3840.WEBP new file mode 100644 index 0000000000..663988d36a Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202323_53229431353_o.23dba57f-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202323_53229431353_o.23dba57f-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202323_53229431353_o.23dba57f-opt-48.WEBP new file mode 100644 index 0000000000..62a21bb86c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202323_53229431353_o.23dba57f-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202323_53229431353_o.23dba57f-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202323_53229431353_o.23dba57f-opt-64.WEBP new file mode 100644 index 0000000000..bc20a6dd48 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202323_53229431353_o.23dba57f-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202323_53229431353_o.23dba57f-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202323_53229431353_o.23dba57f-opt-640.WEBP new file mode 100644 index 0000000000..597c5ab921 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202323_53229431353_o.23dba57f-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202323_53229431353_o.23dba57f-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202323_53229431353_o.23dba57f-opt-750.WEBP new file mode 100644 index 0000000000..71fe19db8a Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202323_53229431353_o.23dba57f-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202323_53229431353_o.23dba57f-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202323_53229431353_o.23dba57f-opt-828.WEBP new file mode 100644 index 0000000000..553dfe79b4 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202323_53229431353_o.23dba57f-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202323_53229431353_o.23dba57f-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202323_53229431353_o.23dba57f-opt-96.WEBP new file mode 100644 index 0000000000..b7ae63e7a0 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202323_53229431353_o.23dba57f-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202324_53228255322_o.45bb89d7-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202324_53228255322_o.45bb89d7-opt-10.WEBP new file mode 100644 index 0000000000..b143188bbb Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202324_53228255322_o.45bb89d7-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202324_53228255322_o.45bb89d7-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202324_53228255322_o.45bb89d7-opt-1080.WEBP new file mode 100644 index 0000000000..9323f54fb8 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202324_53228255322_o.45bb89d7-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202324_53228255322_o.45bb89d7-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202324_53228255322_o.45bb89d7-opt-1200.WEBP new file mode 100644 index 0000000000..58944c56c5 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202324_53228255322_o.45bb89d7-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202324_53228255322_o.45bb89d7-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202324_53228255322_o.45bb89d7-opt-128.WEBP new file mode 100644 index 0000000000..901fd069e8 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202324_53228255322_o.45bb89d7-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202324_53228255322_o.45bb89d7-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202324_53228255322_o.45bb89d7-opt-16.WEBP new file mode 100644 index 0000000000..b1f07ce7e7 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202324_53228255322_o.45bb89d7-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202324_53228255322_o.45bb89d7-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202324_53228255322_o.45bb89d7-opt-1920.WEBP new file mode 100644 index 0000000000..775f7bcaad Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202324_53228255322_o.45bb89d7-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202324_53228255322_o.45bb89d7-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202324_53228255322_o.45bb89d7-opt-2048.WEBP new file mode 100644 index 0000000000..3905e36826 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202324_53228255322_o.45bb89d7-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202324_53228255322_o.45bb89d7-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202324_53228255322_o.45bb89d7-opt-256.WEBP new file mode 100644 index 0000000000..777ba665ef Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202324_53228255322_o.45bb89d7-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202324_53228255322_o.45bb89d7-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202324_53228255322_o.45bb89d7-opt-32.WEBP new file mode 100644 index 0000000000..0c916eb886 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202324_53228255322_o.45bb89d7-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202324_53228255322_o.45bb89d7-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202324_53228255322_o.45bb89d7-opt-384.WEBP new file mode 100644 index 0000000000..c5ebccc1e9 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202324_53228255322_o.45bb89d7-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202324_53228255322_o.45bb89d7-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202324_53228255322_o.45bb89d7-opt-3840.WEBP new file mode 100644 index 0000000000..e1e435ff96 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202324_53228255322_o.45bb89d7-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202324_53228255322_o.45bb89d7-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202324_53228255322_o.45bb89d7-opt-48.WEBP new file mode 100644 index 0000000000..679562bca6 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202324_53228255322_o.45bb89d7-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202324_53228255322_o.45bb89d7-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202324_53228255322_o.45bb89d7-opt-64.WEBP new file mode 100644 index 0000000000..9f5c55fb76 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202324_53228255322_o.45bb89d7-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202324_53228255322_o.45bb89d7-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202324_53228255322_o.45bb89d7-opt-640.WEBP new file mode 100644 index 0000000000..6b01f6c550 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202324_53228255322_o.45bb89d7-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202324_53228255322_o.45bb89d7-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202324_53228255322_o.45bb89d7-opt-750.WEBP new file mode 100644 index 0000000000..a1da105dc4 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202324_53228255322_o.45bb89d7-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202324_53228255322_o.45bb89d7-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202324_53228255322_o.45bb89d7-opt-828.WEBP new file mode 100644 index 0000000000..eb9b9c339c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202324_53228255322_o.45bb89d7-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202324_53228255322_o.45bb89d7-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202324_53228255322_o.45bb89d7-opt-96.WEBP new file mode 100644 index 0000000000..0333299c8f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202324_53228255322_o.45bb89d7-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202325_53229628480_o.99d027a1-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202325_53229628480_o.99d027a1-opt-10.WEBP new file mode 100644 index 0000000000..65828024bf Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202325_53229628480_o.99d027a1-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202325_53229628480_o.99d027a1-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202325_53229628480_o.99d027a1-opt-1080.WEBP new file mode 100644 index 0000000000..2dae34ccdb Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202325_53229628480_o.99d027a1-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202325_53229628480_o.99d027a1-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202325_53229628480_o.99d027a1-opt-1200.WEBP new file mode 100644 index 0000000000..2eb5308d17 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202325_53229628480_o.99d027a1-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202325_53229628480_o.99d027a1-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202325_53229628480_o.99d027a1-opt-128.WEBP new file mode 100644 index 0000000000..3fc05237a1 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202325_53229628480_o.99d027a1-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202325_53229628480_o.99d027a1-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202325_53229628480_o.99d027a1-opt-16.WEBP new file mode 100644 index 0000000000..fa59fb60d9 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202325_53229628480_o.99d027a1-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202325_53229628480_o.99d027a1-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202325_53229628480_o.99d027a1-opt-1920.WEBP new file mode 100644 index 0000000000..c9cb660f98 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202325_53229628480_o.99d027a1-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202325_53229628480_o.99d027a1-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202325_53229628480_o.99d027a1-opt-2048.WEBP new file mode 100644 index 0000000000..964d3f1dc9 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202325_53229628480_o.99d027a1-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202325_53229628480_o.99d027a1-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202325_53229628480_o.99d027a1-opt-256.WEBP new file mode 100644 index 0000000000..ad833ba497 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202325_53229628480_o.99d027a1-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202325_53229628480_o.99d027a1-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202325_53229628480_o.99d027a1-opt-32.WEBP new file mode 100644 index 0000000000..32457e23bb Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202325_53229628480_o.99d027a1-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202325_53229628480_o.99d027a1-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202325_53229628480_o.99d027a1-opt-384.WEBP new file mode 100644 index 0000000000..1e84439c20 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202325_53229628480_o.99d027a1-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202325_53229628480_o.99d027a1-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202325_53229628480_o.99d027a1-opt-3840.WEBP new file mode 100644 index 0000000000..e369a64d5d Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202325_53229628480_o.99d027a1-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202325_53229628480_o.99d027a1-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202325_53229628480_o.99d027a1-opt-48.WEBP new file mode 100644 index 0000000000..ad821856dc Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202325_53229628480_o.99d027a1-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202325_53229628480_o.99d027a1-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202325_53229628480_o.99d027a1-opt-64.WEBP new file mode 100644 index 0000000000..5702043b71 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202325_53229628480_o.99d027a1-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202325_53229628480_o.99d027a1-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202325_53229628480_o.99d027a1-opt-640.WEBP new file mode 100644 index 0000000000..9f19bb98fe Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202325_53229628480_o.99d027a1-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202325_53229628480_o.99d027a1-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202325_53229628480_o.99d027a1-opt-750.WEBP new file mode 100644 index 0000000000..7fa586142d Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202325_53229628480_o.99d027a1-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202325_53229628480_o.99d027a1-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202325_53229628480_o.99d027a1-opt-828.WEBP new file mode 100644 index 0000000000..0c729ac4a6 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202325_53229628480_o.99d027a1-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202325_53229628480_o.99d027a1-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202325_53229628480_o.99d027a1-opt-96.WEBP new file mode 100644 index 0000000000..02083a8a7f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202325_53229628480_o.99d027a1-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202326_53229504664_o.001fe4fe-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202326_53229504664_o.001fe4fe-opt-10.WEBP new file mode 100644 index 0000000000..eeacd0686c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202326_53229504664_o.001fe4fe-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202326_53229504664_o.001fe4fe-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202326_53229504664_o.001fe4fe-opt-1080.WEBP new file mode 100644 index 0000000000..76f4dd7a8a Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202326_53229504664_o.001fe4fe-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202326_53229504664_o.001fe4fe-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202326_53229504664_o.001fe4fe-opt-1200.WEBP new file mode 100644 index 0000000000..c9482a31a6 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202326_53229504664_o.001fe4fe-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202326_53229504664_o.001fe4fe-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202326_53229504664_o.001fe4fe-opt-128.WEBP new file mode 100644 index 0000000000..96706cd7f4 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202326_53229504664_o.001fe4fe-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202326_53229504664_o.001fe4fe-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202326_53229504664_o.001fe4fe-opt-16.WEBP new file mode 100644 index 0000000000..c89bacd88a Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202326_53229504664_o.001fe4fe-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202326_53229504664_o.001fe4fe-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202326_53229504664_o.001fe4fe-opt-1920.WEBP new file mode 100644 index 0000000000..e1b3cb3027 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202326_53229504664_o.001fe4fe-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202326_53229504664_o.001fe4fe-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202326_53229504664_o.001fe4fe-opt-2048.WEBP new file mode 100644 index 0000000000..b84c9b5213 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202326_53229504664_o.001fe4fe-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202326_53229504664_o.001fe4fe-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202326_53229504664_o.001fe4fe-opt-256.WEBP new file mode 100644 index 0000000000..61aa21aa01 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202326_53229504664_o.001fe4fe-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202326_53229504664_o.001fe4fe-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202326_53229504664_o.001fe4fe-opt-32.WEBP new file mode 100644 index 0000000000..3bd98ea96f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202326_53229504664_o.001fe4fe-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202326_53229504664_o.001fe4fe-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202326_53229504664_o.001fe4fe-opt-384.WEBP new file mode 100644 index 0000000000..163c1a5caa Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202326_53229504664_o.001fe4fe-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202326_53229504664_o.001fe4fe-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202326_53229504664_o.001fe4fe-opt-3840.WEBP new file mode 100644 index 0000000000..e76b418236 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202326_53229504664_o.001fe4fe-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202326_53229504664_o.001fe4fe-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202326_53229504664_o.001fe4fe-opt-48.WEBP new file mode 100644 index 0000000000..a1950964df Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202326_53229504664_o.001fe4fe-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202326_53229504664_o.001fe4fe-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202326_53229504664_o.001fe4fe-opt-64.WEBP new file mode 100644 index 0000000000..00e82f8775 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202326_53229504664_o.001fe4fe-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202326_53229504664_o.001fe4fe-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202326_53229504664_o.001fe4fe-opt-640.WEBP new file mode 100644 index 0000000000..2088d24240 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202326_53229504664_o.001fe4fe-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202326_53229504664_o.001fe4fe-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202326_53229504664_o.001fe4fe-opt-750.WEBP new file mode 100644 index 0000000000..1d505e47a0 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202326_53229504664_o.001fe4fe-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202326_53229504664_o.001fe4fe-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202326_53229504664_o.001fe4fe-opt-828.WEBP new file mode 100644 index 0000000000..f6a878016e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202326_53229504664_o.001fe4fe-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202326_53229504664_o.001fe4fe-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202326_53229504664_o.001fe4fe-opt-96.WEBP new file mode 100644 index 0000000000..228c814d03 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202326_53229504664_o.001fe4fe-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202327_53229430403_o.b50ec61c-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202327_53229430403_o.b50ec61c-opt-10.WEBP new file mode 100644 index 0000000000..ef0cf9564e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202327_53229430403_o.b50ec61c-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202327_53229430403_o.b50ec61c-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202327_53229430403_o.b50ec61c-opt-1080.WEBP new file mode 100644 index 0000000000..7e33cc5066 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202327_53229430403_o.b50ec61c-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202327_53229430403_o.b50ec61c-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202327_53229430403_o.b50ec61c-opt-1200.WEBP new file mode 100644 index 0000000000..e1de23f879 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202327_53229430403_o.b50ec61c-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202327_53229430403_o.b50ec61c-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202327_53229430403_o.b50ec61c-opt-128.WEBP new file mode 100644 index 0000000000..26071516cf Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202327_53229430403_o.b50ec61c-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202327_53229430403_o.b50ec61c-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202327_53229430403_o.b50ec61c-opt-16.WEBP new file mode 100644 index 0000000000..6cdbf47c6d Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202327_53229430403_o.b50ec61c-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202327_53229430403_o.b50ec61c-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202327_53229430403_o.b50ec61c-opt-1920.WEBP new file mode 100644 index 0000000000..8427ecb0f1 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202327_53229430403_o.b50ec61c-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202327_53229430403_o.b50ec61c-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202327_53229430403_o.b50ec61c-opt-2048.WEBP new file mode 100644 index 0000000000..c597ae0d17 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202327_53229430403_o.b50ec61c-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202327_53229430403_o.b50ec61c-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202327_53229430403_o.b50ec61c-opt-256.WEBP new file mode 100644 index 0000000000..c855d43b11 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202327_53229430403_o.b50ec61c-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202327_53229430403_o.b50ec61c-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202327_53229430403_o.b50ec61c-opt-32.WEBP new file mode 100644 index 0000000000..a0b82d44c2 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202327_53229430403_o.b50ec61c-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202327_53229430403_o.b50ec61c-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202327_53229430403_o.b50ec61c-opt-384.WEBP new file mode 100644 index 0000000000..ee6fe0089b Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202327_53229430403_o.b50ec61c-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202327_53229430403_o.b50ec61c-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202327_53229430403_o.b50ec61c-opt-3840.WEBP new file mode 100644 index 0000000000..956192f7f1 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202327_53229430403_o.b50ec61c-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202327_53229430403_o.b50ec61c-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202327_53229430403_o.b50ec61c-opt-48.WEBP new file mode 100644 index 0000000000..fc742f68ab Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202327_53229430403_o.b50ec61c-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202327_53229430403_o.b50ec61c-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202327_53229430403_o.b50ec61c-opt-64.WEBP new file mode 100644 index 0000000000..77b4167389 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202327_53229430403_o.b50ec61c-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202327_53229430403_o.b50ec61c-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202327_53229430403_o.b50ec61c-opt-640.WEBP new file mode 100644 index 0000000000..aa6125098f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202327_53229430403_o.b50ec61c-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202327_53229430403_o.b50ec61c-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202327_53229430403_o.b50ec61c-opt-750.WEBP new file mode 100644 index 0000000000..c29a119bde Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202327_53229430403_o.b50ec61c-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202327_53229430403_o.b50ec61c-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202327_53229430403_o.b50ec61c-opt-828.WEBP new file mode 100644 index 0000000000..c9035032c1 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202327_53229430403_o.b50ec61c-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202327_53229430403_o.b50ec61c-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202327_53229430403_o.b50ec61c-opt-96.WEBP new file mode 100644 index 0000000000..bb481782bb Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202327_53229430403_o.b50ec61c-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202328_53229129426_o.4935b165-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202328_53229129426_o.4935b165-opt-10.WEBP new file mode 100644 index 0000000000..0bc06b2435 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202328_53229129426_o.4935b165-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202328_53229129426_o.4935b165-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202328_53229129426_o.4935b165-opt-1080.WEBP new file mode 100644 index 0000000000..20f9cfa575 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202328_53229129426_o.4935b165-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202328_53229129426_o.4935b165-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202328_53229129426_o.4935b165-opt-1200.WEBP new file mode 100644 index 0000000000..574543947e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202328_53229129426_o.4935b165-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202328_53229129426_o.4935b165-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202328_53229129426_o.4935b165-opt-128.WEBP new file mode 100644 index 0000000000..75b0049cb7 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202328_53229129426_o.4935b165-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202328_53229129426_o.4935b165-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202328_53229129426_o.4935b165-opt-16.WEBP new file mode 100644 index 0000000000..7f365acc5f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202328_53229129426_o.4935b165-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202328_53229129426_o.4935b165-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202328_53229129426_o.4935b165-opt-1920.WEBP new file mode 100644 index 0000000000..1eae748cdd Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202328_53229129426_o.4935b165-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202328_53229129426_o.4935b165-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202328_53229129426_o.4935b165-opt-2048.WEBP new file mode 100644 index 0000000000..b38599d81a Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202328_53229129426_o.4935b165-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202328_53229129426_o.4935b165-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202328_53229129426_o.4935b165-opt-256.WEBP new file mode 100644 index 0000000000..21c0c14d87 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202328_53229129426_o.4935b165-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202328_53229129426_o.4935b165-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202328_53229129426_o.4935b165-opt-32.WEBP new file mode 100644 index 0000000000..d86a6b8dd3 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202328_53229129426_o.4935b165-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202328_53229129426_o.4935b165-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202328_53229129426_o.4935b165-opt-384.WEBP new file mode 100644 index 0000000000..8986d388d8 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202328_53229129426_o.4935b165-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202328_53229129426_o.4935b165-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202328_53229129426_o.4935b165-opt-3840.WEBP new file mode 100644 index 0000000000..25781a3f71 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202328_53229129426_o.4935b165-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202328_53229129426_o.4935b165-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202328_53229129426_o.4935b165-opt-48.WEBP new file mode 100644 index 0000000000..ca30ea7335 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202328_53229129426_o.4935b165-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202328_53229129426_o.4935b165-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202328_53229129426_o.4935b165-opt-64.WEBP new file mode 100644 index 0000000000..d05f6d1a63 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202328_53229129426_o.4935b165-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202328_53229129426_o.4935b165-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202328_53229129426_o.4935b165-opt-640.WEBP new file mode 100644 index 0000000000..e2127fd258 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202328_53229129426_o.4935b165-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202328_53229129426_o.4935b165-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202328_53229129426_o.4935b165-opt-750.WEBP new file mode 100644 index 0000000000..c88fd35520 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202328_53229129426_o.4935b165-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202328_53229129426_o.4935b165-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202328_53229129426_o.4935b165-opt-828.WEBP new file mode 100644 index 0000000000..1555908b8d Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202328_53229129426_o.4935b165-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202328_53229129426_o.4935b165-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202328_53229129426_o.4935b165-opt-96.WEBP new file mode 100644 index 0000000000..8603564ab4 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202328_53229129426_o.4935b165-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202329_53228255262_o.b7737353-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202329_53228255262_o.b7737353-opt-10.WEBP new file mode 100644 index 0000000000..dde3be1a52 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202329_53228255262_o.b7737353-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202329_53228255262_o.b7737353-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202329_53228255262_o.b7737353-opt-1080.WEBP new file mode 100644 index 0000000000..b750de376d Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202329_53228255262_o.b7737353-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202329_53228255262_o.b7737353-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202329_53228255262_o.b7737353-opt-1200.WEBP new file mode 100644 index 0000000000..4deff64467 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202329_53228255262_o.b7737353-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202329_53228255262_o.b7737353-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202329_53228255262_o.b7737353-opt-128.WEBP new file mode 100644 index 0000000000..e631c51b4d Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202329_53228255262_o.b7737353-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202329_53228255262_o.b7737353-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202329_53228255262_o.b7737353-opt-16.WEBP new file mode 100644 index 0000000000..e9d3d1a76f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202329_53228255262_o.b7737353-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202329_53228255262_o.b7737353-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202329_53228255262_o.b7737353-opt-1920.WEBP new file mode 100644 index 0000000000..96d04cd280 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202329_53228255262_o.b7737353-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202329_53228255262_o.b7737353-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202329_53228255262_o.b7737353-opt-2048.WEBP new file mode 100644 index 0000000000..0c651efe73 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202329_53228255262_o.b7737353-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202329_53228255262_o.b7737353-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202329_53228255262_o.b7737353-opt-256.WEBP new file mode 100644 index 0000000000..37dd52cfd6 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202329_53228255262_o.b7737353-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202329_53228255262_o.b7737353-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202329_53228255262_o.b7737353-opt-32.WEBP new file mode 100644 index 0000000000..50bc218bb8 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202329_53228255262_o.b7737353-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202329_53228255262_o.b7737353-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202329_53228255262_o.b7737353-opt-384.WEBP new file mode 100644 index 0000000000..8985ecf4d2 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202329_53228255262_o.b7737353-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202329_53228255262_o.b7737353-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202329_53228255262_o.b7737353-opt-3840.WEBP new file mode 100644 index 0000000000..02c450dcc5 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202329_53228255262_o.b7737353-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202329_53228255262_o.b7737353-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202329_53228255262_o.b7737353-opt-48.WEBP new file mode 100644 index 0000000000..3fa859d95d Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202329_53228255262_o.b7737353-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202329_53228255262_o.b7737353-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202329_53228255262_o.b7737353-opt-64.WEBP new file mode 100644 index 0000000000..81139d342f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202329_53228255262_o.b7737353-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202329_53228255262_o.b7737353-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202329_53228255262_o.b7737353-opt-640.WEBP new file mode 100644 index 0000000000..58d9582c2b Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202329_53228255262_o.b7737353-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202329_53228255262_o.b7737353-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202329_53228255262_o.b7737353-opt-750.WEBP new file mode 100644 index 0000000000..33e509879b Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202329_53228255262_o.b7737353-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202329_53228255262_o.b7737353-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202329_53228255262_o.b7737353-opt-828.WEBP new file mode 100644 index 0000000000..d855910a0a Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202329_53228255262_o.b7737353-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202329_53228255262_o.b7737353-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202329_53228255262_o.b7737353-opt-96.WEBP new file mode 100644 index 0000000000..92660afc5a Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202329_53228255262_o.b7737353-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20232_53229629585_o.a005f452-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-20232_53229629585_o.a005f452-opt-10.WEBP new file mode 100644 index 0000000000..6ef22538df Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20232_53229629585_o.a005f452-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20232_53229629585_o.a005f452-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-20232_53229629585_o.a005f452-opt-1080.WEBP new file mode 100644 index 0000000000..4953fd8f0c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20232_53229629585_o.a005f452-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20232_53229629585_o.a005f452-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-20232_53229629585_o.a005f452-opt-1200.WEBP new file mode 100644 index 0000000000..f7b00dccf6 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20232_53229629585_o.a005f452-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20232_53229629585_o.a005f452-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-20232_53229629585_o.a005f452-opt-128.WEBP new file mode 100644 index 0000000000..0b271121ec Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20232_53229629585_o.a005f452-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20232_53229629585_o.a005f452-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-20232_53229629585_o.a005f452-opt-16.WEBP new file mode 100644 index 0000000000..e02a475fcd Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20232_53229629585_o.a005f452-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20232_53229629585_o.a005f452-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-20232_53229629585_o.a005f452-opt-1920.WEBP new file mode 100644 index 0000000000..7f8d7c3255 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20232_53229629585_o.a005f452-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20232_53229629585_o.a005f452-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-20232_53229629585_o.a005f452-opt-2048.WEBP new file mode 100644 index 0000000000..5d7e313b38 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20232_53229629585_o.a005f452-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20232_53229629585_o.a005f452-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-20232_53229629585_o.a005f452-opt-256.WEBP new file mode 100644 index 0000000000..ae32a6532a Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20232_53229629585_o.a005f452-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20232_53229629585_o.a005f452-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-20232_53229629585_o.a005f452-opt-32.WEBP new file mode 100644 index 0000000000..1e190901da Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20232_53229629585_o.a005f452-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20232_53229629585_o.a005f452-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-20232_53229629585_o.a005f452-opt-384.WEBP new file mode 100644 index 0000000000..9dfab2dbab Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20232_53229629585_o.a005f452-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20232_53229629585_o.a005f452-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-20232_53229629585_o.a005f452-opt-3840.WEBP new file mode 100644 index 0000000000..2a0b49bed4 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20232_53229629585_o.a005f452-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20232_53229629585_o.a005f452-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-20232_53229629585_o.a005f452-opt-48.WEBP new file mode 100644 index 0000000000..356dfe7d9d Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20232_53229629585_o.a005f452-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20232_53229629585_o.a005f452-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-20232_53229629585_o.a005f452-opt-64.WEBP new file mode 100644 index 0000000000..34ba7372b1 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20232_53229629585_o.a005f452-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20232_53229629585_o.a005f452-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-20232_53229629585_o.a005f452-opt-640.WEBP new file mode 100644 index 0000000000..ae5c6f0c14 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20232_53229629585_o.a005f452-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20232_53229629585_o.a005f452-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-20232_53229629585_o.a005f452-opt-750.WEBP new file mode 100644 index 0000000000..7042c04371 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20232_53229629585_o.a005f452-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20232_53229629585_o.a005f452-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-20232_53229629585_o.a005f452-opt-828.WEBP new file mode 100644 index 0000000000..03b692325d Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20232_53229629585_o.a005f452-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20232_53229629585_o.a005f452-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-20232_53229629585_o.a005f452-opt-96.WEBP new file mode 100644 index 0000000000..734d0137b7 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20232_53229629585_o.a005f452-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202330_53229430393_o.7d716e9e-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202330_53229430393_o.7d716e9e-opt-10.WEBP new file mode 100644 index 0000000000..4d5b77a5bb Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202330_53229430393_o.7d716e9e-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202330_53229430393_o.7d716e9e-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202330_53229430393_o.7d716e9e-opt-1080.WEBP new file mode 100644 index 0000000000..8e02755f26 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202330_53229430393_o.7d716e9e-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202330_53229430393_o.7d716e9e-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202330_53229430393_o.7d716e9e-opt-1200.WEBP new file mode 100644 index 0000000000..98a7e671cf Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202330_53229430393_o.7d716e9e-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202330_53229430393_o.7d716e9e-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202330_53229430393_o.7d716e9e-opt-128.WEBP new file mode 100644 index 0000000000..7c4a1a6fdf Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202330_53229430393_o.7d716e9e-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202330_53229430393_o.7d716e9e-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202330_53229430393_o.7d716e9e-opt-16.WEBP new file mode 100644 index 0000000000..d2773af2c1 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202330_53229430393_o.7d716e9e-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202330_53229430393_o.7d716e9e-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202330_53229430393_o.7d716e9e-opt-1920.WEBP new file mode 100644 index 0000000000..5334a05cb6 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202330_53229430393_o.7d716e9e-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202330_53229430393_o.7d716e9e-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202330_53229430393_o.7d716e9e-opt-2048.WEBP new file mode 100644 index 0000000000..e65e351c3e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202330_53229430393_o.7d716e9e-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202330_53229430393_o.7d716e9e-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202330_53229430393_o.7d716e9e-opt-256.WEBP new file mode 100644 index 0000000000..e442eff40d Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202330_53229430393_o.7d716e9e-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202330_53229430393_o.7d716e9e-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202330_53229430393_o.7d716e9e-opt-32.WEBP new file mode 100644 index 0000000000..97a05e47c5 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202330_53229430393_o.7d716e9e-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202330_53229430393_o.7d716e9e-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202330_53229430393_o.7d716e9e-opt-384.WEBP new file mode 100644 index 0000000000..ba0f6c818d Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202330_53229430393_o.7d716e9e-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202330_53229430393_o.7d716e9e-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202330_53229430393_o.7d716e9e-opt-3840.WEBP new file mode 100644 index 0000000000..b6a31d621b Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202330_53229430393_o.7d716e9e-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202330_53229430393_o.7d716e9e-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202330_53229430393_o.7d716e9e-opt-48.WEBP new file mode 100644 index 0000000000..2c45e49199 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202330_53229430393_o.7d716e9e-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202330_53229430393_o.7d716e9e-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202330_53229430393_o.7d716e9e-opt-64.WEBP new file mode 100644 index 0000000000..3f292a830c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202330_53229430393_o.7d716e9e-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202330_53229430393_o.7d716e9e-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202330_53229430393_o.7d716e9e-opt-640.WEBP new file mode 100644 index 0000000000..1f0dd1f693 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202330_53229430393_o.7d716e9e-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202330_53229430393_o.7d716e9e-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202330_53229430393_o.7d716e9e-opt-750.WEBP new file mode 100644 index 0000000000..b0d0c4259b Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202330_53229430393_o.7d716e9e-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202330_53229430393_o.7d716e9e-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202330_53229430393_o.7d716e9e-opt-828.WEBP new file mode 100644 index 0000000000..d69987c219 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202330_53229430393_o.7d716e9e-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202330_53229430393_o.7d716e9e-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202330_53229430393_o.7d716e9e-opt-96.WEBP new file mode 100644 index 0000000000..c4d62416b3 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202330_53229430393_o.7d716e9e-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202331_53229430378_o.16d725b1-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202331_53229430378_o.16d725b1-opt-10.WEBP new file mode 100644 index 0000000000..7d64deaead Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202331_53229430378_o.16d725b1-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202331_53229430378_o.16d725b1-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202331_53229430378_o.16d725b1-opt-1080.WEBP new file mode 100644 index 0000000000..c167378d5c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202331_53229430378_o.16d725b1-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202331_53229430378_o.16d725b1-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202331_53229430378_o.16d725b1-opt-1200.WEBP new file mode 100644 index 0000000000..bfeeccf1b1 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202331_53229430378_o.16d725b1-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202331_53229430378_o.16d725b1-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202331_53229430378_o.16d725b1-opt-128.WEBP new file mode 100644 index 0000000000..3273192929 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202331_53229430378_o.16d725b1-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202331_53229430378_o.16d725b1-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202331_53229430378_o.16d725b1-opt-16.WEBP new file mode 100644 index 0000000000..d6f52ee934 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202331_53229430378_o.16d725b1-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202331_53229430378_o.16d725b1-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202331_53229430378_o.16d725b1-opt-1920.WEBP new file mode 100644 index 0000000000..30690b5717 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202331_53229430378_o.16d725b1-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202331_53229430378_o.16d725b1-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202331_53229430378_o.16d725b1-opt-2048.WEBP new file mode 100644 index 0000000000..76b85e8526 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202331_53229430378_o.16d725b1-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202331_53229430378_o.16d725b1-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202331_53229430378_o.16d725b1-opt-256.WEBP new file mode 100644 index 0000000000..dea72abd13 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202331_53229430378_o.16d725b1-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202331_53229430378_o.16d725b1-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202331_53229430378_o.16d725b1-opt-32.WEBP new file mode 100644 index 0000000000..42e02a8450 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202331_53229430378_o.16d725b1-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202331_53229430378_o.16d725b1-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202331_53229430378_o.16d725b1-opt-384.WEBP new file mode 100644 index 0000000000..dbc6085894 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202331_53229430378_o.16d725b1-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202331_53229430378_o.16d725b1-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202331_53229430378_o.16d725b1-opt-3840.WEBP new file mode 100644 index 0000000000..e249197664 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202331_53229430378_o.16d725b1-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202331_53229430378_o.16d725b1-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202331_53229430378_o.16d725b1-opt-48.WEBP new file mode 100644 index 0000000000..10a3bab5a9 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202331_53229430378_o.16d725b1-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202331_53229430378_o.16d725b1-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202331_53229430378_o.16d725b1-opt-64.WEBP new file mode 100644 index 0000000000..0c138422ba Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202331_53229430378_o.16d725b1-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202331_53229430378_o.16d725b1-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202331_53229430378_o.16d725b1-opt-640.WEBP new file mode 100644 index 0000000000..990fd0dc3b Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202331_53229430378_o.16d725b1-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202331_53229430378_o.16d725b1-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202331_53229430378_o.16d725b1-opt-750.WEBP new file mode 100644 index 0000000000..fa635e5939 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202331_53229430378_o.16d725b1-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202331_53229430378_o.16d725b1-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202331_53229430378_o.16d725b1-opt-828.WEBP new file mode 100644 index 0000000000..3c8addc25f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202331_53229430378_o.16d725b1-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202331_53229430378_o.16d725b1-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202331_53229430378_o.16d725b1-opt-96.WEBP new file mode 100644 index 0000000000..961ed1b962 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202331_53229430378_o.16d725b1-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202332_53228255222_o.236f0447-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202332_53228255222_o.236f0447-opt-10.WEBP new file mode 100644 index 0000000000..3b967ad617 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202332_53228255222_o.236f0447-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202332_53228255222_o.236f0447-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202332_53228255222_o.236f0447-opt-1080.WEBP new file mode 100644 index 0000000000..278dc61201 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202332_53228255222_o.236f0447-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202332_53228255222_o.236f0447-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202332_53228255222_o.236f0447-opt-1200.WEBP new file mode 100644 index 0000000000..6f6e8112bc Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202332_53228255222_o.236f0447-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202332_53228255222_o.236f0447-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202332_53228255222_o.236f0447-opt-128.WEBP new file mode 100644 index 0000000000..a3f108c58d Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202332_53228255222_o.236f0447-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202332_53228255222_o.236f0447-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202332_53228255222_o.236f0447-opt-16.WEBP new file mode 100644 index 0000000000..5fb86654da Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202332_53228255222_o.236f0447-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202332_53228255222_o.236f0447-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202332_53228255222_o.236f0447-opt-1920.WEBP new file mode 100644 index 0000000000..dda89a8e81 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202332_53228255222_o.236f0447-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202332_53228255222_o.236f0447-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202332_53228255222_o.236f0447-opt-2048.WEBP new file mode 100644 index 0000000000..ecc40f3031 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202332_53228255222_o.236f0447-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202332_53228255222_o.236f0447-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202332_53228255222_o.236f0447-opt-256.WEBP new file mode 100644 index 0000000000..6c741071c8 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202332_53228255222_o.236f0447-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202332_53228255222_o.236f0447-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202332_53228255222_o.236f0447-opt-32.WEBP new file mode 100644 index 0000000000..b8b53a3276 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202332_53228255222_o.236f0447-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202332_53228255222_o.236f0447-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202332_53228255222_o.236f0447-opt-384.WEBP new file mode 100644 index 0000000000..a30c3a8913 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202332_53228255222_o.236f0447-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202332_53228255222_o.236f0447-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202332_53228255222_o.236f0447-opt-3840.WEBP new file mode 100644 index 0000000000..4523b2b741 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202332_53228255222_o.236f0447-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202332_53228255222_o.236f0447-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202332_53228255222_o.236f0447-opt-48.WEBP new file mode 100644 index 0000000000..0dc9e97e3b Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202332_53228255222_o.236f0447-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202332_53228255222_o.236f0447-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202332_53228255222_o.236f0447-opt-64.WEBP new file mode 100644 index 0000000000..4b471cff47 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202332_53228255222_o.236f0447-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202332_53228255222_o.236f0447-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202332_53228255222_o.236f0447-opt-640.WEBP new file mode 100644 index 0000000000..6650baa910 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202332_53228255222_o.236f0447-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202332_53228255222_o.236f0447-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202332_53228255222_o.236f0447-opt-750.WEBP new file mode 100644 index 0000000000..d25b19d2ea Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202332_53228255222_o.236f0447-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202332_53228255222_o.236f0447-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202332_53228255222_o.236f0447-opt-828.WEBP new file mode 100644 index 0000000000..c85efa1449 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202332_53228255222_o.236f0447-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202332_53228255222_o.236f0447-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202332_53228255222_o.236f0447-opt-96.WEBP new file mode 100644 index 0000000000..406fdc8308 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202332_53228255222_o.236f0447-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202333_53229504589_o.6dd5899b-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202333_53229504589_o.6dd5899b-opt-10.WEBP new file mode 100644 index 0000000000..f85e29b260 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202333_53229504589_o.6dd5899b-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202333_53229504589_o.6dd5899b-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202333_53229504589_o.6dd5899b-opt-1080.WEBP new file mode 100644 index 0000000000..0f20192901 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202333_53229504589_o.6dd5899b-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202333_53229504589_o.6dd5899b-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202333_53229504589_o.6dd5899b-opt-1200.WEBP new file mode 100644 index 0000000000..ee3ee730ba Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202333_53229504589_o.6dd5899b-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202333_53229504589_o.6dd5899b-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202333_53229504589_o.6dd5899b-opt-128.WEBP new file mode 100644 index 0000000000..be72572fee Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202333_53229504589_o.6dd5899b-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202333_53229504589_o.6dd5899b-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202333_53229504589_o.6dd5899b-opt-16.WEBP new file mode 100644 index 0000000000..d7c19b3b4a Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202333_53229504589_o.6dd5899b-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202333_53229504589_o.6dd5899b-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202333_53229504589_o.6dd5899b-opt-1920.WEBP new file mode 100644 index 0000000000..23abf6cf49 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202333_53229504589_o.6dd5899b-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202333_53229504589_o.6dd5899b-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202333_53229504589_o.6dd5899b-opt-2048.WEBP new file mode 100644 index 0000000000..bd320cd31b Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202333_53229504589_o.6dd5899b-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202333_53229504589_o.6dd5899b-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202333_53229504589_o.6dd5899b-opt-256.WEBP new file mode 100644 index 0000000000..b0477c2a6a Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202333_53229504589_o.6dd5899b-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202333_53229504589_o.6dd5899b-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202333_53229504589_o.6dd5899b-opt-32.WEBP new file mode 100644 index 0000000000..58bbed960e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202333_53229504589_o.6dd5899b-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202333_53229504589_o.6dd5899b-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202333_53229504589_o.6dd5899b-opt-384.WEBP new file mode 100644 index 0000000000..ff97af7557 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202333_53229504589_o.6dd5899b-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202333_53229504589_o.6dd5899b-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202333_53229504589_o.6dd5899b-opt-3840.WEBP new file mode 100644 index 0000000000..b41bfad0b6 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202333_53229504589_o.6dd5899b-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202333_53229504589_o.6dd5899b-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202333_53229504589_o.6dd5899b-opt-48.WEBP new file mode 100644 index 0000000000..7913e4072a Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202333_53229504589_o.6dd5899b-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202333_53229504589_o.6dd5899b-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202333_53229504589_o.6dd5899b-opt-64.WEBP new file mode 100644 index 0000000000..b83370bdbf Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202333_53229504589_o.6dd5899b-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202333_53229504589_o.6dd5899b-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202333_53229504589_o.6dd5899b-opt-640.WEBP new file mode 100644 index 0000000000..5bf1ad5347 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202333_53229504589_o.6dd5899b-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202333_53229504589_o.6dd5899b-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202333_53229504589_o.6dd5899b-opt-750.WEBP new file mode 100644 index 0000000000..9519bce112 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202333_53229504589_o.6dd5899b-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202333_53229504589_o.6dd5899b-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202333_53229504589_o.6dd5899b-opt-828.WEBP new file mode 100644 index 0000000000..6c8e079951 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202333_53229504589_o.6dd5899b-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202333_53229504589_o.6dd5899b-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202333_53229504589_o.6dd5899b-opt-96.WEBP new file mode 100644 index 0000000000..b9caad67b1 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202333_53229504589_o.6dd5899b-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202334_53229505599_o.a404f647-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202334_53229505599_o.a404f647-opt-10.WEBP new file mode 100644 index 0000000000..bc6a632194 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202334_53229505599_o.a404f647-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202334_53229505599_o.a404f647-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202334_53229505599_o.a404f647-opt-1080.WEBP new file mode 100644 index 0000000000..bba2e26e65 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202334_53229505599_o.a404f647-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202334_53229505599_o.a404f647-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202334_53229505599_o.a404f647-opt-1200.WEBP new file mode 100644 index 0000000000..54b0ea6792 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202334_53229505599_o.a404f647-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202334_53229505599_o.a404f647-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202334_53229505599_o.a404f647-opt-128.WEBP new file mode 100644 index 0000000000..88f07c5282 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202334_53229505599_o.a404f647-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202334_53229505599_o.a404f647-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202334_53229505599_o.a404f647-opt-16.WEBP new file mode 100644 index 0000000000..893962c493 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202334_53229505599_o.a404f647-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202334_53229505599_o.a404f647-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202334_53229505599_o.a404f647-opt-1920.WEBP new file mode 100644 index 0000000000..3e4996cd78 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202334_53229505599_o.a404f647-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202334_53229505599_o.a404f647-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202334_53229505599_o.a404f647-opt-2048.WEBP new file mode 100644 index 0000000000..6689f0ae1f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202334_53229505599_o.a404f647-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202334_53229505599_o.a404f647-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202334_53229505599_o.a404f647-opt-256.WEBP new file mode 100644 index 0000000000..6546ded739 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202334_53229505599_o.a404f647-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202334_53229505599_o.a404f647-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202334_53229505599_o.a404f647-opt-32.WEBP new file mode 100644 index 0000000000..814a227036 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202334_53229505599_o.a404f647-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202334_53229505599_o.a404f647-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202334_53229505599_o.a404f647-opt-384.WEBP new file mode 100644 index 0000000000..2d183c6746 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202334_53229505599_o.a404f647-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202334_53229505599_o.a404f647-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202334_53229505599_o.a404f647-opt-3840.WEBP new file mode 100644 index 0000000000..ec9982ae7f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202334_53229505599_o.a404f647-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202334_53229505599_o.a404f647-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202334_53229505599_o.a404f647-opt-48.WEBP new file mode 100644 index 0000000000..06003ceb1f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202334_53229505599_o.a404f647-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202334_53229505599_o.a404f647-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202334_53229505599_o.a404f647-opt-64.WEBP new file mode 100644 index 0000000000..68bdf8898c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202334_53229505599_o.a404f647-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202334_53229505599_o.a404f647-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202334_53229505599_o.a404f647-opt-640.WEBP new file mode 100644 index 0000000000..7a17953608 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202334_53229505599_o.a404f647-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202334_53229505599_o.a404f647-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202334_53229505599_o.a404f647-opt-750.WEBP new file mode 100644 index 0000000000..58940e01fb Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202334_53229505599_o.a404f647-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202334_53229505599_o.a404f647-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202334_53229505599_o.a404f647-opt-828.WEBP new file mode 100644 index 0000000000..518b8e5273 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202334_53229505599_o.a404f647-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202334_53229505599_o.a404f647-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202334_53229505599_o.a404f647-opt-96.WEBP new file mode 100644 index 0000000000..e6d32b6cbf Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202334_53229505599_o.a404f647-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202335_53228256247_o.51c1c212-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202335_53228256247_o.51c1c212-opt-10.WEBP new file mode 100644 index 0000000000..19df01a125 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202335_53228256247_o.51c1c212-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202335_53228256247_o.51c1c212-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202335_53228256247_o.51c1c212-opt-1080.WEBP new file mode 100644 index 0000000000..bb19e126d6 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202335_53228256247_o.51c1c212-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202335_53228256247_o.51c1c212-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202335_53228256247_o.51c1c212-opt-1200.WEBP new file mode 100644 index 0000000000..90a56d498b Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202335_53228256247_o.51c1c212-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202335_53228256247_o.51c1c212-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202335_53228256247_o.51c1c212-opt-128.WEBP new file mode 100644 index 0000000000..7ba8a20865 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202335_53228256247_o.51c1c212-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202335_53228256247_o.51c1c212-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202335_53228256247_o.51c1c212-opt-16.WEBP new file mode 100644 index 0000000000..9f9acdb7e0 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202335_53228256247_o.51c1c212-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202335_53228256247_o.51c1c212-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202335_53228256247_o.51c1c212-opt-1920.WEBP new file mode 100644 index 0000000000..e389fba008 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202335_53228256247_o.51c1c212-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202335_53228256247_o.51c1c212-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202335_53228256247_o.51c1c212-opt-2048.WEBP new file mode 100644 index 0000000000..fed0c58244 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202335_53228256247_o.51c1c212-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202335_53228256247_o.51c1c212-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202335_53228256247_o.51c1c212-opt-256.WEBP new file mode 100644 index 0000000000..44e3bca4d4 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202335_53228256247_o.51c1c212-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202335_53228256247_o.51c1c212-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202335_53228256247_o.51c1c212-opt-32.WEBP new file mode 100644 index 0000000000..6399981216 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202335_53228256247_o.51c1c212-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202335_53228256247_o.51c1c212-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202335_53228256247_o.51c1c212-opt-384.WEBP new file mode 100644 index 0000000000..248b02ba49 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202335_53228256247_o.51c1c212-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202335_53228256247_o.51c1c212-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202335_53228256247_o.51c1c212-opt-3840.WEBP new file mode 100644 index 0000000000..9b7e73ede9 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202335_53228256247_o.51c1c212-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202335_53228256247_o.51c1c212-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202335_53228256247_o.51c1c212-opt-48.WEBP new file mode 100644 index 0000000000..efd5528fda Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202335_53228256247_o.51c1c212-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202335_53228256247_o.51c1c212-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202335_53228256247_o.51c1c212-opt-64.WEBP new file mode 100644 index 0000000000..48dd499fa5 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202335_53228256247_o.51c1c212-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202335_53228256247_o.51c1c212-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202335_53228256247_o.51c1c212-opt-640.WEBP new file mode 100644 index 0000000000..eb51a3a7cf Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202335_53228256247_o.51c1c212-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202335_53228256247_o.51c1c212-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202335_53228256247_o.51c1c212-opt-750.WEBP new file mode 100644 index 0000000000..759e17b776 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202335_53228256247_o.51c1c212-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202335_53228256247_o.51c1c212-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202335_53228256247_o.51c1c212-opt-828.WEBP new file mode 100644 index 0000000000..175a047f5c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202335_53228256247_o.51c1c212-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202335_53228256247_o.51c1c212-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202335_53228256247_o.51c1c212-opt-96.WEBP new file mode 100644 index 0000000000..f664418f7e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202335_53228256247_o.51c1c212-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202336_53229431263_o.bce162ef-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202336_53229431263_o.bce162ef-opt-10.WEBP new file mode 100644 index 0000000000..c0d4ce3505 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202336_53229431263_o.bce162ef-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202336_53229431263_o.bce162ef-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202336_53229431263_o.bce162ef-opt-1080.WEBP new file mode 100644 index 0000000000..cf55dbad1a Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202336_53229431263_o.bce162ef-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202336_53229431263_o.bce162ef-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202336_53229431263_o.bce162ef-opt-1200.WEBP new file mode 100644 index 0000000000..ff26e06649 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202336_53229431263_o.bce162ef-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202336_53229431263_o.bce162ef-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202336_53229431263_o.bce162ef-opt-128.WEBP new file mode 100644 index 0000000000..2ecbfd2504 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202336_53229431263_o.bce162ef-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202336_53229431263_o.bce162ef-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202336_53229431263_o.bce162ef-opt-16.WEBP new file mode 100644 index 0000000000..667c56ab0f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202336_53229431263_o.bce162ef-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202336_53229431263_o.bce162ef-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202336_53229431263_o.bce162ef-opt-1920.WEBP new file mode 100644 index 0000000000..ee6f7891e0 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202336_53229431263_o.bce162ef-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202336_53229431263_o.bce162ef-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202336_53229431263_o.bce162ef-opt-2048.WEBP new file mode 100644 index 0000000000..5de793c7b8 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202336_53229431263_o.bce162ef-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202336_53229431263_o.bce162ef-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202336_53229431263_o.bce162ef-opt-256.WEBP new file mode 100644 index 0000000000..1c48d78eac Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202336_53229431263_o.bce162ef-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202336_53229431263_o.bce162ef-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202336_53229431263_o.bce162ef-opt-32.WEBP new file mode 100644 index 0000000000..0ebed467e5 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202336_53229431263_o.bce162ef-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202336_53229431263_o.bce162ef-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202336_53229431263_o.bce162ef-opt-384.WEBP new file mode 100644 index 0000000000..d1377768d7 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202336_53229431263_o.bce162ef-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202336_53229431263_o.bce162ef-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202336_53229431263_o.bce162ef-opt-3840.WEBP new file mode 100644 index 0000000000..e8ec9d559a Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202336_53229431263_o.bce162ef-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202336_53229431263_o.bce162ef-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202336_53229431263_o.bce162ef-opt-48.WEBP new file mode 100644 index 0000000000..ce33a0ce2e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202336_53229431263_o.bce162ef-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202336_53229431263_o.bce162ef-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202336_53229431263_o.bce162ef-opt-64.WEBP new file mode 100644 index 0000000000..d9473925ab Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202336_53229431263_o.bce162ef-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202336_53229431263_o.bce162ef-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202336_53229431263_o.bce162ef-opt-640.WEBP new file mode 100644 index 0000000000..63e81cab80 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202336_53229431263_o.bce162ef-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202336_53229431263_o.bce162ef-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202336_53229431263_o.bce162ef-opt-750.WEBP new file mode 100644 index 0000000000..e517148adf Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202336_53229431263_o.bce162ef-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202336_53229431263_o.bce162ef-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202336_53229431263_o.bce162ef-opt-828.WEBP new file mode 100644 index 0000000000..03374c63f2 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202336_53229431263_o.bce162ef-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202336_53229431263_o.bce162ef-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202336_53229431263_o.bce162ef-opt-96.WEBP new file mode 100644 index 0000000000..8afacdffda Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202336_53229431263_o.bce162ef-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202337_53229431268_o.db2f5296-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202337_53229431268_o.db2f5296-opt-10.WEBP new file mode 100644 index 0000000000..aa7354bcc8 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202337_53229431268_o.db2f5296-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202337_53229431268_o.db2f5296-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202337_53229431268_o.db2f5296-opt-1080.WEBP new file mode 100644 index 0000000000..0506b3fee0 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202337_53229431268_o.db2f5296-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202337_53229431268_o.db2f5296-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202337_53229431268_o.db2f5296-opt-1200.WEBP new file mode 100644 index 0000000000..66106d8912 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202337_53229431268_o.db2f5296-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202337_53229431268_o.db2f5296-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202337_53229431268_o.db2f5296-opt-128.WEBP new file mode 100644 index 0000000000..b11cca1183 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202337_53229431268_o.db2f5296-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202337_53229431268_o.db2f5296-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202337_53229431268_o.db2f5296-opt-16.WEBP new file mode 100644 index 0000000000..2384043500 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202337_53229431268_o.db2f5296-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202337_53229431268_o.db2f5296-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202337_53229431268_o.db2f5296-opt-1920.WEBP new file mode 100644 index 0000000000..6ce1503b97 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202337_53229431268_o.db2f5296-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202337_53229431268_o.db2f5296-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202337_53229431268_o.db2f5296-opt-2048.WEBP new file mode 100644 index 0000000000..6fcfec4199 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202337_53229431268_o.db2f5296-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202337_53229431268_o.db2f5296-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202337_53229431268_o.db2f5296-opt-256.WEBP new file mode 100644 index 0000000000..e0f1681294 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202337_53229431268_o.db2f5296-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202337_53229431268_o.db2f5296-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202337_53229431268_o.db2f5296-opt-32.WEBP new file mode 100644 index 0000000000..5465216dd2 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202337_53229431268_o.db2f5296-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202337_53229431268_o.db2f5296-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202337_53229431268_o.db2f5296-opt-384.WEBP new file mode 100644 index 0000000000..fdacccd30f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202337_53229431268_o.db2f5296-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202337_53229431268_o.db2f5296-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202337_53229431268_o.db2f5296-opt-3840.WEBP new file mode 100644 index 0000000000..4642b853e9 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202337_53229431268_o.db2f5296-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202337_53229431268_o.db2f5296-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202337_53229431268_o.db2f5296-opt-48.WEBP new file mode 100644 index 0000000000..e97918d882 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202337_53229431268_o.db2f5296-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202337_53229431268_o.db2f5296-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202337_53229431268_o.db2f5296-opt-64.WEBP new file mode 100644 index 0000000000..3f179f7752 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202337_53229431268_o.db2f5296-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202337_53229431268_o.db2f5296-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202337_53229431268_o.db2f5296-opt-640.WEBP new file mode 100644 index 0000000000..f4113b2ad9 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202337_53229431268_o.db2f5296-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202337_53229431268_o.db2f5296-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202337_53229431268_o.db2f5296-opt-750.WEBP new file mode 100644 index 0000000000..f38cf30536 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202337_53229431268_o.db2f5296-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202337_53229431268_o.db2f5296-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202337_53229431268_o.db2f5296-opt-828.WEBP new file mode 100644 index 0000000000..b9f0f8a937 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202337_53229431268_o.db2f5296-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202337_53229431268_o.db2f5296-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202337_53229431268_o.db2f5296-opt-96.WEBP new file mode 100644 index 0000000000..297b6117ae Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202337_53229431268_o.db2f5296-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202338_53228256132_o.f68b24c7-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202338_53228256132_o.f68b24c7-opt-10.WEBP new file mode 100644 index 0000000000..836ed97eb6 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202338_53228256132_o.f68b24c7-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202338_53228256132_o.f68b24c7-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202338_53228256132_o.f68b24c7-opt-1080.WEBP new file mode 100644 index 0000000000..ea085e7e7d Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202338_53228256132_o.f68b24c7-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202338_53228256132_o.f68b24c7-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202338_53228256132_o.f68b24c7-opt-1200.WEBP new file mode 100644 index 0000000000..44de04fa54 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202338_53228256132_o.f68b24c7-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202338_53228256132_o.f68b24c7-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202338_53228256132_o.f68b24c7-opt-128.WEBP new file mode 100644 index 0000000000..35bccb3c55 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202338_53228256132_o.f68b24c7-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202338_53228256132_o.f68b24c7-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202338_53228256132_o.f68b24c7-opt-16.WEBP new file mode 100644 index 0000000000..5f3f283831 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202338_53228256132_o.f68b24c7-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202338_53228256132_o.f68b24c7-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202338_53228256132_o.f68b24c7-opt-1920.WEBP new file mode 100644 index 0000000000..c4629d557d Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202338_53228256132_o.f68b24c7-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202338_53228256132_o.f68b24c7-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202338_53228256132_o.f68b24c7-opt-2048.WEBP new file mode 100644 index 0000000000..9923bc112c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202338_53228256132_o.f68b24c7-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202338_53228256132_o.f68b24c7-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202338_53228256132_o.f68b24c7-opt-256.WEBP new file mode 100644 index 0000000000..d7faacece7 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202338_53228256132_o.f68b24c7-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202338_53228256132_o.f68b24c7-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202338_53228256132_o.f68b24c7-opt-32.WEBP new file mode 100644 index 0000000000..ec40dc6877 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202338_53228256132_o.f68b24c7-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202338_53228256132_o.f68b24c7-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202338_53228256132_o.f68b24c7-opt-384.WEBP new file mode 100644 index 0000000000..f0970d9925 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202338_53228256132_o.f68b24c7-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202338_53228256132_o.f68b24c7-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202338_53228256132_o.f68b24c7-opt-3840.WEBP new file mode 100644 index 0000000000..b4387d4790 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202338_53228256132_o.f68b24c7-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202338_53228256132_o.f68b24c7-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202338_53228256132_o.f68b24c7-opt-48.WEBP new file mode 100644 index 0000000000..82731e10c2 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202338_53228256132_o.f68b24c7-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202338_53228256132_o.f68b24c7-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202338_53228256132_o.f68b24c7-opt-64.WEBP new file mode 100644 index 0000000000..8f1d3903f8 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202338_53228256132_o.f68b24c7-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202338_53228256132_o.f68b24c7-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202338_53228256132_o.f68b24c7-opt-640.WEBP new file mode 100644 index 0000000000..cd6269c6cb Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202338_53228256132_o.f68b24c7-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202338_53228256132_o.f68b24c7-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202338_53228256132_o.f68b24c7-opt-750.WEBP new file mode 100644 index 0000000000..6a729c456a Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202338_53228256132_o.f68b24c7-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202338_53228256132_o.f68b24c7-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202338_53228256132_o.f68b24c7-opt-828.WEBP new file mode 100644 index 0000000000..0417687258 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202338_53228256132_o.f68b24c7-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202338_53228256132_o.f68b24c7-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202338_53228256132_o.f68b24c7-opt-96.WEBP new file mode 100644 index 0000000000..f0a92ccde5 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202338_53228256132_o.f68b24c7-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202339_53228256117_o.c86b66da-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202339_53228256117_o.c86b66da-opt-10.WEBP new file mode 100644 index 0000000000..a0c69b9b17 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202339_53228256117_o.c86b66da-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202339_53228256117_o.c86b66da-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202339_53228256117_o.c86b66da-opt-1080.WEBP new file mode 100644 index 0000000000..9b5b52abe0 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202339_53228256117_o.c86b66da-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202339_53228256117_o.c86b66da-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202339_53228256117_o.c86b66da-opt-1200.WEBP new file mode 100644 index 0000000000..c8404a1c03 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202339_53228256117_o.c86b66da-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202339_53228256117_o.c86b66da-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202339_53228256117_o.c86b66da-opt-128.WEBP new file mode 100644 index 0000000000..2dea01f9a8 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202339_53228256117_o.c86b66da-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202339_53228256117_o.c86b66da-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202339_53228256117_o.c86b66da-opt-16.WEBP new file mode 100644 index 0000000000..7f04568491 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202339_53228256117_o.c86b66da-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202339_53228256117_o.c86b66da-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202339_53228256117_o.c86b66da-opt-1920.WEBP new file mode 100644 index 0000000000..16d42d3b48 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202339_53228256117_o.c86b66da-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202339_53228256117_o.c86b66da-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202339_53228256117_o.c86b66da-opt-2048.WEBP new file mode 100644 index 0000000000..18f9812b60 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202339_53228256117_o.c86b66da-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202339_53228256117_o.c86b66da-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202339_53228256117_o.c86b66da-opt-256.WEBP new file mode 100644 index 0000000000..d8a247cb4b Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202339_53228256117_o.c86b66da-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202339_53228256117_o.c86b66da-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202339_53228256117_o.c86b66da-opt-32.WEBP new file mode 100644 index 0000000000..bfb1bac663 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202339_53228256117_o.c86b66da-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202339_53228256117_o.c86b66da-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202339_53228256117_o.c86b66da-opt-384.WEBP new file mode 100644 index 0000000000..b5b3dc4932 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202339_53228256117_o.c86b66da-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202339_53228256117_o.c86b66da-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202339_53228256117_o.c86b66da-opt-3840.WEBP new file mode 100644 index 0000000000..f18fff8468 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202339_53228256117_o.c86b66da-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202339_53228256117_o.c86b66da-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202339_53228256117_o.c86b66da-opt-48.WEBP new file mode 100644 index 0000000000..5719370ef8 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202339_53228256117_o.c86b66da-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202339_53228256117_o.c86b66da-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202339_53228256117_o.c86b66da-opt-64.WEBP new file mode 100644 index 0000000000..8a7a82e116 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202339_53228256117_o.c86b66da-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202339_53228256117_o.c86b66da-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202339_53228256117_o.c86b66da-opt-640.WEBP new file mode 100644 index 0000000000..7378390d87 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202339_53228256117_o.c86b66da-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202339_53228256117_o.c86b66da-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202339_53228256117_o.c86b66da-opt-750.WEBP new file mode 100644 index 0000000000..9a75c388a7 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202339_53228256117_o.c86b66da-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202339_53228256117_o.c86b66da-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202339_53228256117_o.c86b66da-opt-828.WEBP new file mode 100644 index 0000000000..0153c41235 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202339_53228256117_o.c86b66da-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202339_53228256117_o.c86b66da-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202339_53228256117_o.c86b66da-opt-96.WEBP new file mode 100644 index 0000000000..5705a97a6d Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202339_53228256117_o.c86b66da-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20233_53229431633_o.17086c3b-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-20233_53229431633_o.17086c3b-opt-10.WEBP new file mode 100644 index 0000000000..5562944bd9 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20233_53229431633_o.17086c3b-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20233_53229431633_o.17086c3b-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-20233_53229431633_o.17086c3b-opt-1080.WEBP new file mode 100644 index 0000000000..2d830abd00 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20233_53229431633_o.17086c3b-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20233_53229431633_o.17086c3b-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-20233_53229431633_o.17086c3b-opt-1200.WEBP new file mode 100644 index 0000000000..51e798da21 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20233_53229431633_o.17086c3b-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20233_53229431633_o.17086c3b-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-20233_53229431633_o.17086c3b-opt-128.WEBP new file mode 100644 index 0000000000..9d11960b8a Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20233_53229431633_o.17086c3b-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20233_53229431633_o.17086c3b-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-20233_53229431633_o.17086c3b-opt-16.WEBP new file mode 100644 index 0000000000..34fe7609d4 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20233_53229431633_o.17086c3b-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20233_53229431633_o.17086c3b-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-20233_53229431633_o.17086c3b-opt-1920.WEBP new file mode 100644 index 0000000000..59ed038b29 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20233_53229431633_o.17086c3b-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20233_53229431633_o.17086c3b-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-20233_53229431633_o.17086c3b-opt-2048.WEBP new file mode 100644 index 0000000000..ef1a37a7ba Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20233_53229431633_o.17086c3b-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20233_53229431633_o.17086c3b-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-20233_53229431633_o.17086c3b-opt-256.WEBP new file mode 100644 index 0000000000..8bfb5a5e01 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20233_53229431633_o.17086c3b-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20233_53229431633_o.17086c3b-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-20233_53229431633_o.17086c3b-opt-32.WEBP new file mode 100644 index 0000000000..6c011dd63e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20233_53229431633_o.17086c3b-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20233_53229431633_o.17086c3b-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-20233_53229431633_o.17086c3b-opt-384.WEBP new file mode 100644 index 0000000000..8d38869248 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20233_53229431633_o.17086c3b-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20233_53229431633_o.17086c3b-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-20233_53229431633_o.17086c3b-opt-3840.WEBP new file mode 100644 index 0000000000..9a79d08ec0 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20233_53229431633_o.17086c3b-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20233_53229431633_o.17086c3b-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-20233_53229431633_o.17086c3b-opt-48.WEBP new file mode 100644 index 0000000000..d0cdfacb6a Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20233_53229431633_o.17086c3b-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20233_53229431633_o.17086c3b-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-20233_53229431633_o.17086c3b-opt-64.WEBP new file mode 100644 index 0000000000..2a970be8b2 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20233_53229431633_o.17086c3b-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20233_53229431633_o.17086c3b-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-20233_53229431633_o.17086c3b-opt-640.WEBP new file mode 100644 index 0000000000..1c068910d5 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20233_53229431633_o.17086c3b-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20233_53229431633_o.17086c3b-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-20233_53229431633_o.17086c3b-opt-750.WEBP new file mode 100644 index 0000000000..eeba691ec4 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20233_53229431633_o.17086c3b-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20233_53229431633_o.17086c3b-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-20233_53229431633_o.17086c3b-opt-828.WEBP new file mode 100644 index 0000000000..7384d45d38 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20233_53229431633_o.17086c3b-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20233_53229431633_o.17086c3b-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-20233_53229431633_o.17086c3b-opt-96.WEBP new file mode 100644 index 0000000000..107b6c1989 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20233_53229431633_o.17086c3b-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202340_53229431183_o.31494071-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202340_53229431183_o.31494071-opt-10.WEBP new file mode 100644 index 0000000000..eebf998a3f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202340_53229431183_o.31494071-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202340_53229431183_o.31494071-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202340_53229431183_o.31494071-opt-1080.WEBP new file mode 100644 index 0000000000..e87bfe5dd8 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202340_53229431183_o.31494071-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202340_53229431183_o.31494071-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202340_53229431183_o.31494071-opt-1200.WEBP new file mode 100644 index 0000000000..08b5c8a1d4 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202340_53229431183_o.31494071-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202340_53229431183_o.31494071-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202340_53229431183_o.31494071-opt-128.WEBP new file mode 100644 index 0000000000..e624215b52 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202340_53229431183_o.31494071-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202340_53229431183_o.31494071-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202340_53229431183_o.31494071-opt-16.WEBP new file mode 100644 index 0000000000..37a8a8c840 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202340_53229431183_o.31494071-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202340_53229431183_o.31494071-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202340_53229431183_o.31494071-opt-1920.WEBP new file mode 100644 index 0000000000..121c43c3c0 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202340_53229431183_o.31494071-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202340_53229431183_o.31494071-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202340_53229431183_o.31494071-opt-2048.WEBP new file mode 100644 index 0000000000..c6ce99fb16 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202340_53229431183_o.31494071-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202340_53229431183_o.31494071-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202340_53229431183_o.31494071-opt-256.WEBP new file mode 100644 index 0000000000..237ee89a7b Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202340_53229431183_o.31494071-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202340_53229431183_o.31494071-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202340_53229431183_o.31494071-opt-32.WEBP new file mode 100644 index 0000000000..28185be1d8 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202340_53229431183_o.31494071-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202340_53229431183_o.31494071-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202340_53229431183_o.31494071-opt-384.WEBP new file mode 100644 index 0000000000..62eb79c09a Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202340_53229431183_o.31494071-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202340_53229431183_o.31494071-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202340_53229431183_o.31494071-opt-3840.WEBP new file mode 100644 index 0000000000..a1fb29b5cf Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202340_53229431183_o.31494071-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202340_53229431183_o.31494071-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202340_53229431183_o.31494071-opt-48.WEBP new file mode 100644 index 0000000000..283baf6eb9 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202340_53229431183_o.31494071-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202340_53229431183_o.31494071-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202340_53229431183_o.31494071-opt-64.WEBP new file mode 100644 index 0000000000..3e64c76289 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202340_53229431183_o.31494071-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202340_53229431183_o.31494071-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202340_53229431183_o.31494071-opt-640.WEBP new file mode 100644 index 0000000000..cae7a39881 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202340_53229431183_o.31494071-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202340_53229431183_o.31494071-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202340_53229431183_o.31494071-opt-750.WEBP new file mode 100644 index 0000000000..a803e812c8 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202340_53229431183_o.31494071-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202340_53229431183_o.31494071-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202340_53229431183_o.31494071-opt-828.WEBP new file mode 100644 index 0000000000..18f1baed76 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202340_53229431183_o.31494071-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202340_53229431183_o.31494071-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202340_53229431183_o.31494071-opt-96.WEBP new file mode 100644 index 0000000000..7b2a18fc7c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202340_53229431183_o.31494071-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202341_53229629225_o.c86a20d5-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202341_53229629225_o.c86a20d5-opt-10.WEBP new file mode 100644 index 0000000000..10817b9d4f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202341_53229629225_o.c86a20d5-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202341_53229629225_o.c86a20d5-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202341_53229629225_o.c86a20d5-opt-1080.WEBP new file mode 100644 index 0000000000..0a0f29bed7 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202341_53229629225_o.c86a20d5-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202341_53229629225_o.c86a20d5-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202341_53229629225_o.c86a20d5-opt-1200.WEBP new file mode 100644 index 0000000000..f56b266377 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202341_53229629225_o.c86a20d5-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202341_53229629225_o.c86a20d5-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202341_53229629225_o.c86a20d5-opt-128.WEBP new file mode 100644 index 0000000000..6d85c113f8 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202341_53229629225_o.c86a20d5-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202341_53229629225_o.c86a20d5-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202341_53229629225_o.c86a20d5-opt-16.WEBP new file mode 100644 index 0000000000..26db29fd26 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202341_53229629225_o.c86a20d5-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202341_53229629225_o.c86a20d5-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202341_53229629225_o.c86a20d5-opt-1920.WEBP new file mode 100644 index 0000000000..f9b57637af Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202341_53229629225_o.c86a20d5-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202341_53229629225_o.c86a20d5-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202341_53229629225_o.c86a20d5-opt-2048.WEBP new file mode 100644 index 0000000000..f11febfd93 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202341_53229629225_o.c86a20d5-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202341_53229629225_o.c86a20d5-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202341_53229629225_o.c86a20d5-opt-256.WEBP new file mode 100644 index 0000000000..96947ed41f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202341_53229629225_o.c86a20d5-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202341_53229629225_o.c86a20d5-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202341_53229629225_o.c86a20d5-opt-32.WEBP new file mode 100644 index 0000000000..28d7518cbf Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202341_53229629225_o.c86a20d5-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202341_53229629225_o.c86a20d5-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202341_53229629225_o.c86a20d5-opt-384.WEBP new file mode 100644 index 0000000000..d60f4f3801 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202341_53229629225_o.c86a20d5-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202341_53229629225_o.c86a20d5-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202341_53229629225_o.c86a20d5-opt-3840.WEBP new file mode 100644 index 0000000000..e286515cc1 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202341_53229629225_o.c86a20d5-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202341_53229629225_o.c86a20d5-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202341_53229629225_o.c86a20d5-opt-48.WEBP new file mode 100644 index 0000000000..fada111a43 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202341_53229629225_o.c86a20d5-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202341_53229629225_o.c86a20d5-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202341_53229629225_o.c86a20d5-opt-64.WEBP new file mode 100644 index 0000000000..111a1f5bbe Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202341_53229629225_o.c86a20d5-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202341_53229629225_o.c86a20d5-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202341_53229629225_o.c86a20d5-opt-640.WEBP new file mode 100644 index 0000000000..5387f0bd7b Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202341_53229629225_o.c86a20d5-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202341_53229629225_o.c86a20d5-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202341_53229629225_o.c86a20d5-opt-750.WEBP new file mode 100644 index 0000000000..a655aabf52 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202341_53229629225_o.c86a20d5-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202341_53229629225_o.c86a20d5-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202341_53229629225_o.c86a20d5-opt-828.WEBP new file mode 100644 index 0000000000..6a7e2ef795 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202341_53229629225_o.c86a20d5-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202341_53229629225_o.c86a20d5-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202341_53229629225_o.c86a20d5-opt-96.WEBP new file mode 100644 index 0000000000..082d65f4fe Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202341_53229629225_o.c86a20d5-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202342_53229130301_o.5d03e216-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202342_53229130301_o.5d03e216-opt-10.WEBP new file mode 100644 index 0000000000..767a2f169a Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202342_53229130301_o.5d03e216-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202342_53229130301_o.5d03e216-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202342_53229130301_o.5d03e216-opt-1080.WEBP new file mode 100644 index 0000000000..663c1b28f6 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202342_53229130301_o.5d03e216-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202342_53229130301_o.5d03e216-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202342_53229130301_o.5d03e216-opt-1200.WEBP new file mode 100644 index 0000000000..fa85d094f0 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202342_53229130301_o.5d03e216-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202342_53229130301_o.5d03e216-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202342_53229130301_o.5d03e216-opt-128.WEBP new file mode 100644 index 0000000000..1a6dd36cff Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202342_53229130301_o.5d03e216-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202342_53229130301_o.5d03e216-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202342_53229130301_o.5d03e216-opt-16.WEBP new file mode 100644 index 0000000000..c540853aca Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202342_53229130301_o.5d03e216-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202342_53229130301_o.5d03e216-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202342_53229130301_o.5d03e216-opt-1920.WEBP new file mode 100644 index 0000000000..2e964b30d5 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202342_53229130301_o.5d03e216-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202342_53229130301_o.5d03e216-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202342_53229130301_o.5d03e216-opt-2048.WEBP new file mode 100644 index 0000000000..aebbde4ca7 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202342_53229130301_o.5d03e216-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202342_53229130301_o.5d03e216-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202342_53229130301_o.5d03e216-opt-256.WEBP new file mode 100644 index 0000000000..f571206128 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202342_53229130301_o.5d03e216-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202342_53229130301_o.5d03e216-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202342_53229130301_o.5d03e216-opt-32.WEBP new file mode 100644 index 0000000000..0161ec996e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202342_53229130301_o.5d03e216-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202342_53229130301_o.5d03e216-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202342_53229130301_o.5d03e216-opt-384.WEBP new file mode 100644 index 0000000000..9f19de3f98 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202342_53229130301_o.5d03e216-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202342_53229130301_o.5d03e216-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202342_53229130301_o.5d03e216-opt-3840.WEBP new file mode 100644 index 0000000000..76137f53d6 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202342_53229130301_o.5d03e216-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202342_53229130301_o.5d03e216-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202342_53229130301_o.5d03e216-opt-48.WEBP new file mode 100644 index 0000000000..079df4b518 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202342_53229130301_o.5d03e216-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202342_53229130301_o.5d03e216-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202342_53229130301_o.5d03e216-opt-64.WEBP new file mode 100644 index 0000000000..4cf38917cc Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202342_53229130301_o.5d03e216-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202342_53229130301_o.5d03e216-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202342_53229130301_o.5d03e216-opt-640.WEBP new file mode 100644 index 0000000000..9b23c1bda3 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202342_53229130301_o.5d03e216-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202342_53229130301_o.5d03e216-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202342_53229130301_o.5d03e216-opt-750.WEBP new file mode 100644 index 0000000000..959baf85b9 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202342_53229130301_o.5d03e216-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202342_53229130301_o.5d03e216-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202342_53229130301_o.5d03e216-opt-828.WEBP new file mode 100644 index 0000000000..dd990039da Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202342_53229130301_o.5d03e216-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202342_53229130301_o.5d03e216-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202342_53229130301_o.5d03e216-opt-96.WEBP new file mode 100644 index 0000000000..bfb78b904e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202342_53229130301_o.5d03e216-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202343_53229505484_o.063091c7-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202343_53229505484_o.063091c7-opt-10.WEBP new file mode 100644 index 0000000000..bd5ce245cd Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202343_53229505484_o.063091c7-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202343_53229505484_o.063091c7-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202343_53229505484_o.063091c7-opt-1080.WEBP new file mode 100644 index 0000000000..f45a79df3c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202343_53229505484_o.063091c7-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202343_53229505484_o.063091c7-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202343_53229505484_o.063091c7-opt-1200.WEBP new file mode 100644 index 0000000000..8b32fda233 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202343_53229505484_o.063091c7-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202343_53229505484_o.063091c7-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202343_53229505484_o.063091c7-opt-128.WEBP new file mode 100644 index 0000000000..70a451293a Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202343_53229505484_o.063091c7-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202343_53229505484_o.063091c7-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202343_53229505484_o.063091c7-opt-16.WEBP new file mode 100644 index 0000000000..1ebadd0b81 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202343_53229505484_o.063091c7-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202343_53229505484_o.063091c7-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202343_53229505484_o.063091c7-opt-1920.WEBP new file mode 100644 index 0000000000..30446cdf56 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202343_53229505484_o.063091c7-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202343_53229505484_o.063091c7-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202343_53229505484_o.063091c7-opt-2048.WEBP new file mode 100644 index 0000000000..8232984148 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202343_53229505484_o.063091c7-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202343_53229505484_o.063091c7-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202343_53229505484_o.063091c7-opt-256.WEBP new file mode 100644 index 0000000000..48fa53853f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202343_53229505484_o.063091c7-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202343_53229505484_o.063091c7-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202343_53229505484_o.063091c7-opt-32.WEBP new file mode 100644 index 0000000000..7e15dd53d5 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202343_53229505484_o.063091c7-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202343_53229505484_o.063091c7-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202343_53229505484_o.063091c7-opt-384.WEBP new file mode 100644 index 0000000000..f5a987a210 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202343_53229505484_o.063091c7-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202343_53229505484_o.063091c7-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202343_53229505484_o.063091c7-opt-3840.WEBP new file mode 100644 index 0000000000..ef5ebb5a5b Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202343_53229505484_o.063091c7-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202343_53229505484_o.063091c7-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202343_53229505484_o.063091c7-opt-48.WEBP new file mode 100644 index 0000000000..2b7bbdee92 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202343_53229505484_o.063091c7-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202343_53229505484_o.063091c7-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202343_53229505484_o.063091c7-opt-64.WEBP new file mode 100644 index 0000000000..f22c15d776 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202343_53229505484_o.063091c7-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202343_53229505484_o.063091c7-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202343_53229505484_o.063091c7-opt-640.WEBP new file mode 100644 index 0000000000..0957243c73 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202343_53229505484_o.063091c7-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202343_53229505484_o.063091c7-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202343_53229505484_o.063091c7-opt-750.WEBP new file mode 100644 index 0000000000..f460b04a2a Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202343_53229505484_o.063091c7-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202343_53229505484_o.063091c7-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202343_53229505484_o.063091c7-opt-828.WEBP new file mode 100644 index 0000000000..b75d2e8138 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202343_53229505484_o.063091c7-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202343_53229505484_o.063091c7-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202343_53229505484_o.063091c7-opt-96.WEBP new file mode 100644 index 0000000000..ca6b63f762 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202343_53229505484_o.063091c7-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202344_53228256077_o.ac84a9e0-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202344_53228256077_o.ac84a9e0-opt-10.WEBP new file mode 100644 index 0000000000..7f9cbcf204 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202344_53228256077_o.ac84a9e0-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202344_53228256077_o.ac84a9e0-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202344_53228256077_o.ac84a9e0-opt-1080.WEBP new file mode 100644 index 0000000000..8cc894bc96 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202344_53228256077_o.ac84a9e0-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202344_53228256077_o.ac84a9e0-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202344_53228256077_o.ac84a9e0-opt-1200.WEBP new file mode 100644 index 0000000000..4960ddfab3 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202344_53228256077_o.ac84a9e0-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202344_53228256077_o.ac84a9e0-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202344_53228256077_o.ac84a9e0-opt-128.WEBP new file mode 100644 index 0000000000..5cb4351af4 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202344_53228256077_o.ac84a9e0-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202344_53228256077_o.ac84a9e0-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202344_53228256077_o.ac84a9e0-opt-16.WEBP new file mode 100644 index 0000000000..f16f2a640c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202344_53228256077_o.ac84a9e0-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202344_53228256077_o.ac84a9e0-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202344_53228256077_o.ac84a9e0-opt-1920.WEBP new file mode 100644 index 0000000000..a35114972c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202344_53228256077_o.ac84a9e0-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202344_53228256077_o.ac84a9e0-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202344_53228256077_o.ac84a9e0-opt-2048.WEBP new file mode 100644 index 0000000000..0835060f7e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202344_53228256077_o.ac84a9e0-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202344_53228256077_o.ac84a9e0-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202344_53228256077_o.ac84a9e0-opt-256.WEBP new file mode 100644 index 0000000000..e240f08189 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202344_53228256077_o.ac84a9e0-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202344_53228256077_o.ac84a9e0-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202344_53228256077_o.ac84a9e0-opt-32.WEBP new file mode 100644 index 0000000000..67b3e776df Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202344_53228256077_o.ac84a9e0-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202344_53228256077_o.ac84a9e0-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202344_53228256077_o.ac84a9e0-opt-384.WEBP new file mode 100644 index 0000000000..7cf878a0e1 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202344_53228256077_o.ac84a9e0-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202344_53228256077_o.ac84a9e0-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202344_53228256077_o.ac84a9e0-opt-3840.WEBP new file mode 100644 index 0000000000..fa569057e9 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202344_53228256077_o.ac84a9e0-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202344_53228256077_o.ac84a9e0-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202344_53228256077_o.ac84a9e0-opt-48.WEBP new file mode 100644 index 0000000000..f738346b7a Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202344_53228256077_o.ac84a9e0-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202344_53228256077_o.ac84a9e0-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202344_53228256077_o.ac84a9e0-opt-64.WEBP new file mode 100644 index 0000000000..1143be69bc Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202344_53228256077_o.ac84a9e0-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202344_53228256077_o.ac84a9e0-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202344_53228256077_o.ac84a9e0-opt-640.WEBP new file mode 100644 index 0000000000..fc99e63856 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202344_53228256077_o.ac84a9e0-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202344_53228256077_o.ac84a9e0-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202344_53228256077_o.ac84a9e0-opt-750.WEBP new file mode 100644 index 0000000000..65e1995280 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202344_53228256077_o.ac84a9e0-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202344_53228256077_o.ac84a9e0-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202344_53228256077_o.ac84a9e0-opt-828.WEBP new file mode 100644 index 0000000000..c80bf3d610 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202344_53228256077_o.ac84a9e0-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202344_53228256077_o.ac84a9e0-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202344_53228256077_o.ac84a9e0-opt-96.WEBP new file mode 100644 index 0000000000..457d89dd91 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202344_53228256077_o.ac84a9e0-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202345_53229504499_o.041f7b08-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202345_53229504499_o.041f7b08-opt-10.WEBP new file mode 100644 index 0000000000..909476104a Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202345_53229504499_o.041f7b08-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202345_53229504499_o.041f7b08-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202345_53229504499_o.041f7b08-opt-1080.WEBP new file mode 100644 index 0000000000..0652e21651 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202345_53229504499_o.041f7b08-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202345_53229504499_o.041f7b08-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202345_53229504499_o.041f7b08-opt-1200.WEBP new file mode 100644 index 0000000000..822838f528 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202345_53229504499_o.041f7b08-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202345_53229504499_o.041f7b08-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202345_53229504499_o.041f7b08-opt-128.WEBP new file mode 100644 index 0000000000..22aec8861b Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202345_53229504499_o.041f7b08-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202345_53229504499_o.041f7b08-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202345_53229504499_o.041f7b08-opt-16.WEBP new file mode 100644 index 0000000000..bde5812883 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202345_53229504499_o.041f7b08-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202345_53229504499_o.041f7b08-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202345_53229504499_o.041f7b08-opt-1920.WEBP new file mode 100644 index 0000000000..cd7db56e70 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202345_53229504499_o.041f7b08-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202345_53229504499_o.041f7b08-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202345_53229504499_o.041f7b08-opt-2048.WEBP new file mode 100644 index 0000000000..c8024ce36e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202345_53229504499_o.041f7b08-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202345_53229504499_o.041f7b08-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202345_53229504499_o.041f7b08-opt-256.WEBP new file mode 100644 index 0000000000..edc94aed25 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202345_53229504499_o.041f7b08-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202345_53229504499_o.041f7b08-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202345_53229504499_o.041f7b08-opt-32.WEBP new file mode 100644 index 0000000000..7198a21f55 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202345_53229504499_o.041f7b08-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202345_53229504499_o.041f7b08-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202345_53229504499_o.041f7b08-opt-384.WEBP new file mode 100644 index 0000000000..4c39217a8a Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202345_53229504499_o.041f7b08-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202345_53229504499_o.041f7b08-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202345_53229504499_o.041f7b08-opt-3840.WEBP new file mode 100644 index 0000000000..d55814681b Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202345_53229504499_o.041f7b08-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202345_53229504499_o.041f7b08-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202345_53229504499_o.041f7b08-opt-48.WEBP new file mode 100644 index 0000000000..397138b4c1 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202345_53229504499_o.041f7b08-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202345_53229504499_o.041f7b08-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202345_53229504499_o.041f7b08-opt-64.WEBP new file mode 100644 index 0000000000..fd3ee95715 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202345_53229504499_o.041f7b08-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202345_53229504499_o.041f7b08-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202345_53229504499_o.041f7b08-opt-640.WEBP new file mode 100644 index 0000000000..7a7f8cfe1b Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202345_53229504499_o.041f7b08-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202345_53229504499_o.041f7b08-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202345_53229504499_o.041f7b08-opt-750.WEBP new file mode 100644 index 0000000000..e4b0e4b71d Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202345_53229504499_o.041f7b08-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202345_53229504499_o.041f7b08-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202345_53229504499_o.041f7b08-opt-828.WEBP new file mode 100644 index 0000000000..aca9c01379 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202345_53229504499_o.041f7b08-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202345_53229504499_o.041f7b08-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202345_53229504499_o.041f7b08-opt-96.WEBP new file mode 100644 index 0000000000..ed6c7991f5 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202345_53229504499_o.041f7b08-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202346_53229629115_o.f026376e-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202346_53229629115_o.f026376e-opt-10.WEBP new file mode 100644 index 0000000000..d71e6e1b86 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202346_53229629115_o.f026376e-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202346_53229629115_o.f026376e-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202346_53229629115_o.f026376e-opt-1080.WEBP new file mode 100644 index 0000000000..9470dfed42 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202346_53229629115_o.f026376e-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202346_53229629115_o.f026376e-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202346_53229629115_o.f026376e-opt-1200.WEBP new file mode 100644 index 0000000000..69be61233b Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202346_53229629115_o.f026376e-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202346_53229629115_o.f026376e-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202346_53229629115_o.f026376e-opt-128.WEBP new file mode 100644 index 0000000000..8aa581f3ab Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202346_53229629115_o.f026376e-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202346_53229629115_o.f026376e-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202346_53229629115_o.f026376e-opt-16.WEBP new file mode 100644 index 0000000000..36c73a9042 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202346_53229629115_o.f026376e-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202346_53229629115_o.f026376e-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202346_53229629115_o.f026376e-opt-1920.WEBP new file mode 100644 index 0000000000..18f3cfe672 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202346_53229629115_o.f026376e-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202346_53229629115_o.f026376e-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202346_53229629115_o.f026376e-opt-2048.WEBP new file mode 100644 index 0000000000..92da3352ab Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202346_53229629115_o.f026376e-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202346_53229629115_o.f026376e-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202346_53229629115_o.f026376e-opt-256.WEBP new file mode 100644 index 0000000000..85943a2eac Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202346_53229629115_o.f026376e-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202346_53229629115_o.f026376e-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202346_53229629115_o.f026376e-opt-32.WEBP new file mode 100644 index 0000000000..f4c2ce8a28 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202346_53229629115_o.f026376e-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202346_53229629115_o.f026376e-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202346_53229629115_o.f026376e-opt-384.WEBP new file mode 100644 index 0000000000..561c95b29d Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202346_53229629115_o.f026376e-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202346_53229629115_o.f026376e-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202346_53229629115_o.f026376e-opt-3840.WEBP new file mode 100644 index 0000000000..cb5c8e96e7 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202346_53229629115_o.f026376e-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202346_53229629115_o.f026376e-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202346_53229629115_o.f026376e-opt-48.WEBP new file mode 100644 index 0000000000..e36d121e4a Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202346_53229629115_o.f026376e-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202346_53229629115_o.f026376e-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202346_53229629115_o.f026376e-opt-64.WEBP new file mode 100644 index 0000000000..14bce5828e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202346_53229629115_o.f026376e-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202346_53229629115_o.f026376e-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202346_53229629115_o.f026376e-opt-640.WEBP new file mode 100644 index 0000000000..8a4d5e2c69 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202346_53229629115_o.f026376e-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202346_53229629115_o.f026376e-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202346_53229629115_o.f026376e-opt-750.WEBP new file mode 100644 index 0000000000..f18e034853 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202346_53229629115_o.f026376e-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202346_53229629115_o.f026376e-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202346_53229629115_o.f026376e-opt-828.WEBP new file mode 100644 index 0000000000..430fb05206 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202346_53229629115_o.f026376e-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202346_53229629115_o.f026376e-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202346_53229629115_o.f026376e-opt-96.WEBP new file mode 100644 index 0000000000..7b87a5064a Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202346_53229629115_o.f026376e-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202347_53229129301_o.ce3f873f-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202347_53229129301_o.ce3f873f-opt-10.WEBP new file mode 100644 index 0000000000..d3c61fd7c4 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202347_53229129301_o.ce3f873f-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202347_53229129301_o.ce3f873f-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202347_53229129301_o.ce3f873f-opt-1080.WEBP new file mode 100644 index 0000000000..a645090289 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202347_53229129301_o.ce3f873f-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202347_53229129301_o.ce3f873f-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202347_53229129301_o.ce3f873f-opt-1200.WEBP new file mode 100644 index 0000000000..1e49923c02 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202347_53229129301_o.ce3f873f-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202347_53229129301_o.ce3f873f-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202347_53229129301_o.ce3f873f-opt-128.WEBP new file mode 100644 index 0000000000..f5c4b56660 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202347_53229129301_o.ce3f873f-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202347_53229129301_o.ce3f873f-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202347_53229129301_o.ce3f873f-opt-16.WEBP new file mode 100644 index 0000000000..86279213c2 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202347_53229129301_o.ce3f873f-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202347_53229129301_o.ce3f873f-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202347_53229129301_o.ce3f873f-opt-1920.WEBP new file mode 100644 index 0000000000..a5598dc1ab Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202347_53229129301_o.ce3f873f-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202347_53229129301_o.ce3f873f-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202347_53229129301_o.ce3f873f-opt-2048.WEBP new file mode 100644 index 0000000000..b0cac5cd56 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202347_53229129301_o.ce3f873f-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202347_53229129301_o.ce3f873f-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202347_53229129301_o.ce3f873f-opt-256.WEBP new file mode 100644 index 0000000000..6ce672eb90 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202347_53229129301_o.ce3f873f-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202347_53229129301_o.ce3f873f-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202347_53229129301_o.ce3f873f-opt-32.WEBP new file mode 100644 index 0000000000..ae5918def9 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202347_53229129301_o.ce3f873f-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202347_53229129301_o.ce3f873f-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202347_53229129301_o.ce3f873f-opt-384.WEBP new file mode 100644 index 0000000000..9647a70637 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202347_53229129301_o.ce3f873f-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202347_53229129301_o.ce3f873f-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202347_53229129301_o.ce3f873f-opt-3840.WEBP new file mode 100644 index 0000000000..03d1fbc85a Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202347_53229129301_o.ce3f873f-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202347_53229129301_o.ce3f873f-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202347_53229129301_o.ce3f873f-opt-48.WEBP new file mode 100644 index 0000000000..71ed7c329e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202347_53229129301_o.ce3f873f-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202347_53229129301_o.ce3f873f-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202347_53229129301_o.ce3f873f-opt-64.WEBP new file mode 100644 index 0000000000..5802b9e23b Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202347_53229129301_o.ce3f873f-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202347_53229129301_o.ce3f873f-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202347_53229129301_o.ce3f873f-opt-640.WEBP new file mode 100644 index 0000000000..5fac2dea34 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202347_53229129301_o.ce3f873f-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202347_53229129301_o.ce3f873f-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202347_53229129301_o.ce3f873f-opt-750.WEBP new file mode 100644 index 0000000000..2e6ddbab809 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202347_53229129301_o.ce3f873f-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202347_53229129301_o.ce3f873f-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202347_53229129301_o.ce3f873f-opt-828.WEBP new file mode 100644 index 0000000000..29319becc3 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202347_53229129301_o.ce3f873f-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202347_53229129301_o.ce3f873f-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202347_53229129301_o.ce3f873f-opt-96.WEBP new file mode 100644 index 0000000000..d92f5ad27f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202347_53229129301_o.ce3f873f-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202348_53229130226_o.2ac71225-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202348_53229130226_o.2ac71225-opt-10.WEBP new file mode 100644 index 0000000000..cd79a1379d Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202348_53229130226_o.2ac71225-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202348_53229130226_o.2ac71225-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202348_53229130226_o.2ac71225-opt-1080.WEBP new file mode 100644 index 0000000000..d7594b55ae Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202348_53229130226_o.2ac71225-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202348_53229130226_o.2ac71225-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202348_53229130226_o.2ac71225-opt-1200.WEBP new file mode 100644 index 0000000000..e8fcd099b0 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202348_53229130226_o.2ac71225-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202348_53229130226_o.2ac71225-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202348_53229130226_o.2ac71225-opt-128.WEBP new file mode 100644 index 0000000000..3db04336a0 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202348_53229130226_o.2ac71225-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202348_53229130226_o.2ac71225-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202348_53229130226_o.2ac71225-opt-16.WEBP new file mode 100644 index 0000000000..eb882e290b Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202348_53229130226_o.2ac71225-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202348_53229130226_o.2ac71225-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202348_53229130226_o.2ac71225-opt-1920.WEBP new file mode 100644 index 0000000000..d37af38cc5 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202348_53229130226_o.2ac71225-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202348_53229130226_o.2ac71225-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202348_53229130226_o.2ac71225-opt-2048.WEBP new file mode 100644 index 0000000000..118bc83996 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202348_53229130226_o.2ac71225-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202348_53229130226_o.2ac71225-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202348_53229130226_o.2ac71225-opt-256.WEBP new file mode 100644 index 0000000000..8566f8b715 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202348_53229130226_o.2ac71225-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202348_53229130226_o.2ac71225-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202348_53229130226_o.2ac71225-opt-32.WEBP new file mode 100644 index 0000000000..987cdb78e9 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202348_53229130226_o.2ac71225-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202348_53229130226_o.2ac71225-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202348_53229130226_o.2ac71225-opt-384.WEBP new file mode 100644 index 0000000000..6251cbecc4 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202348_53229130226_o.2ac71225-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202348_53229130226_o.2ac71225-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202348_53229130226_o.2ac71225-opt-3840.WEBP new file mode 100644 index 0000000000..19df0a4971 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202348_53229130226_o.2ac71225-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202348_53229130226_o.2ac71225-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202348_53229130226_o.2ac71225-opt-48.WEBP new file mode 100644 index 0000000000..29f2f1224a Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202348_53229130226_o.2ac71225-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202348_53229130226_o.2ac71225-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202348_53229130226_o.2ac71225-opt-64.WEBP new file mode 100644 index 0000000000..aca3166466 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202348_53229130226_o.2ac71225-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202348_53229130226_o.2ac71225-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202348_53229130226_o.2ac71225-opt-640.WEBP new file mode 100644 index 0000000000..e7abeb4f12 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202348_53229130226_o.2ac71225-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202348_53229130226_o.2ac71225-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202348_53229130226_o.2ac71225-opt-750.WEBP new file mode 100644 index 0000000000..8a02be681a Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202348_53229130226_o.2ac71225-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202348_53229130226_o.2ac71225-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202348_53229130226_o.2ac71225-opt-828.WEBP new file mode 100644 index 0000000000..db04fedd53 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202348_53229130226_o.2ac71225-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202348_53229130226_o.2ac71225-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202348_53229130226_o.2ac71225-opt-96.WEBP new file mode 100644 index 0000000000..d5167f2fce Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202348_53229130226_o.2ac71225-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202349_53228256032_o.55fa111d-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202349_53228256032_o.55fa111d-opt-10.WEBP new file mode 100644 index 0000000000..8a13203376 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202349_53228256032_o.55fa111d-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202349_53228256032_o.55fa111d-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202349_53228256032_o.55fa111d-opt-1080.WEBP new file mode 100644 index 0000000000..24e4e6d7a2 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202349_53228256032_o.55fa111d-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202349_53228256032_o.55fa111d-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202349_53228256032_o.55fa111d-opt-1200.WEBP new file mode 100644 index 0000000000..2ff37a9c27 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202349_53228256032_o.55fa111d-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202349_53228256032_o.55fa111d-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202349_53228256032_o.55fa111d-opt-128.WEBP new file mode 100644 index 0000000000..7674197dd0 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202349_53228256032_o.55fa111d-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202349_53228256032_o.55fa111d-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202349_53228256032_o.55fa111d-opt-16.WEBP new file mode 100644 index 0000000000..99111d0f83 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202349_53228256032_o.55fa111d-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202349_53228256032_o.55fa111d-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202349_53228256032_o.55fa111d-opt-1920.WEBP new file mode 100644 index 0000000000..f5986db434 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202349_53228256032_o.55fa111d-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202349_53228256032_o.55fa111d-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202349_53228256032_o.55fa111d-opt-2048.WEBP new file mode 100644 index 0000000000..5368a4bd36 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202349_53228256032_o.55fa111d-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202349_53228256032_o.55fa111d-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202349_53228256032_o.55fa111d-opt-256.WEBP new file mode 100644 index 0000000000..d7b722f531 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202349_53228256032_o.55fa111d-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202349_53228256032_o.55fa111d-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202349_53228256032_o.55fa111d-opt-32.WEBP new file mode 100644 index 0000000000..da69c4f2a7 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202349_53228256032_o.55fa111d-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202349_53228256032_o.55fa111d-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202349_53228256032_o.55fa111d-opt-384.WEBP new file mode 100644 index 0000000000..153a41f2c4 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202349_53228256032_o.55fa111d-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202349_53228256032_o.55fa111d-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202349_53228256032_o.55fa111d-opt-3840.WEBP new file mode 100644 index 0000000000..c69cfa84f0 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202349_53228256032_o.55fa111d-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202349_53228256032_o.55fa111d-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202349_53228256032_o.55fa111d-opt-48.WEBP new file mode 100644 index 0000000000..9e62ffa0fc Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202349_53228256032_o.55fa111d-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202349_53228256032_o.55fa111d-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202349_53228256032_o.55fa111d-opt-64.WEBP new file mode 100644 index 0000000000..0648e2a589 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202349_53228256032_o.55fa111d-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202349_53228256032_o.55fa111d-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202349_53228256032_o.55fa111d-opt-640.WEBP new file mode 100644 index 0000000000..3723351f21 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202349_53228256032_o.55fa111d-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202349_53228256032_o.55fa111d-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202349_53228256032_o.55fa111d-opt-750.WEBP new file mode 100644 index 0000000000..0b93a106ff Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202349_53228256032_o.55fa111d-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202349_53228256032_o.55fa111d-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202349_53228256032_o.55fa111d-opt-828.WEBP new file mode 100644 index 0000000000..b28dda893d Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202349_53228256032_o.55fa111d-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202349_53228256032_o.55fa111d-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202349_53228256032_o.55fa111d-opt-96.WEBP new file mode 100644 index 0000000000..78ed939600 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202349_53228256032_o.55fa111d-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20234_53229629525_o.7cec175d-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-20234_53229629525_o.7cec175d-opt-10.WEBP new file mode 100644 index 0000000000..2cdd70d3c7 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20234_53229629525_o.7cec175d-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20234_53229629525_o.7cec175d-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-20234_53229629525_o.7cec175d-opt-1080.WEBP new file mode 100644 index 0000000000..e9bf7ac3fc Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20234_53229629525_o.7cec175d-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20234_53229629525_o.7cec175d-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-20234_53229629525_o.7cec175d-opt-1200.WEBP new file mode 100644 index 0000000000..b957aa72b4 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20234_53229629525_o.7cec175d-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20234_53229629525_o.7cec175d-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-20234_53229629525_o.7cec175d-opt-128.WEBP new file mode 100644 index 0000000000..7aafd707b8 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20234_53229629525_o.7cec175d-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20234_53229629525_o.7cec175d-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-20234_53229629525_o.7cec175d-opt-16.WEBP new file mode 100644 index 0000000000..2cbe95886f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20234_53229629525_o.7cec175d-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20234_53229629525_o.7cec175d-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-20234_53229629525_o.7cec175d-opt-1920.WEBP new file mode 100644 index 0000000000..1766f37f20 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20234_53229629525_o.7cec175d-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20234_53229629525_o.7cec175d-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-20234_53229629525_o.7cec175d-opt-2048.WEBP new file mode 100644 index 0000000000..87894747f0 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20234_53229629525_o.7cec175d-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20234_53229629525_o.7cec175d-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-20234_53229629525_o.7cec175d-opt-256.WEBP new file mode 100644 index 0000000000..813f373015 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20234_53229629525_o.7cec175d-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20234_53229629525_o.7cec175d-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-20234_53229629525_o.7cec175d-opt-32.WEBP new file mode 100644 index 0000000000..0a01070011 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20234_53229629525_o.7cec175d-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20234_53229629525_o.7cec175d-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-20234_53229629525_o.7cec175d-opt-384.WEBP new file mode 100644 index 0000000000..23d3ca22b9 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20234_53229629525_o.7cec175d-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20234_53229629525_o.7cec175d-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-20234_53229629525_o.7cec175d-opt-3840.WEBP new file mode 100644 index 0000000000..bfc635047f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20234_53229629525_o.7cec175d-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20234_53229629525_o.7cec175d-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-20234_53229629525_o.7cec175d-opt-48.WEBP new file mode 100644 index 0000000000..fe2de55b0a Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20234_53229629525_o.7cec175d-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20234_53229629525_o.7cec175d-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-20234_53229629525_o.7cec175d-opt-64.WEBP new file mode 100644 index 0000000000..24cf33182f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20234_53229629525_o.7cec175d-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20234_53229629525_o.7cec175d-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-20234_53229629525_o.7cec175d-opt-640.WEBP new file mode 100644 index 0000000000..ef0e316c2f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20234_53229629525_o.7cec175d-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20234_53229629525_o.7cec175d-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-20234_53229629525_o.7cec175d-opt-750.WEBP new file mode 100644 index 0000000000..bae92bcaf1 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20234_53229629525_o.7cec175d-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20234_53229629525_o.7cec175d-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-20234_53229629525_o.7cec175d-opt-828.WEBP new file mode 100644 index 0000000000..4fbd604cfa Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20234_53229629525_o.7cec175d-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20234_53229629525_o.7cec175d-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-20234_53229629525_o.7cec175d-opt-96.WEBP new file mode 100644 index 0000000000..c266f1765e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20234_53229629525_o.7cec175d-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202350_53229130146_o.ed5a0148-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202350_53229130146_o.ed5a0148-opt-10.WEBP new file mode 100644 index 0000000000..e94c1baf81 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202350_53229130146_o.ed5a0148-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202350_53229130146_o.ed5a0148-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202350_53229130146_o.ed5a0148-opt-1080.WEBP new file mode 100644 index 0000000000..727ed90f8d Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202350_53229130146_o.ed5a0148-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202350_53229130146_o.ed5a0148-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202350_53229130146_o.ed5a0148-opt-1200.WEBP new file mode 100644 index 0000000000..432ef58e89 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202350_53229130146_o.ed5a0148-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202350_53229130146_o.ed5a0148-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202350_53229130146_o.ed5a0148-opt-128.WEBP new file mode 100644 index 0000000000..b192b823e7 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202350_53229130146_o.ed5a0148-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202350_53229130146_o.ed5a0148-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202350_53229130146_o.ed5a0148-opt-16.WEBP new file mode 100644 index 0000000000..85e37e26dc Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202350_53229130146_o.ed5a0148-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202350_53229130146_o.ed5a0148-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202350_53229130146_o.ed5a0148-opt-1920.WEBP new file mode 100644 index 0000000000..902c6dbac9 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202350_53229130146_o.ed5a0148-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202350_53229130146_o.ed5a0148-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202350_53229130146_o.ed5a0148-opt-2048.WEBP new file mode 100644 index 0000000000..b270f45f9f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202350_53229130146_o.ed5a0148-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202350_53229130146_o.ed5a0148-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202350_53229130146_o.ed5a0148-opt-256.WEBP new file mode 100644 index 0000000000..ee14ed2e74 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202350_53229130146_o.ed5a0148-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202350_53229130146_o.ed5a0148-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202350_53229130146_o.ed5a0148-opt-32.WEBP new file mode 100644 index 0000000000..634ec1fa47 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202350_53229130146_o.ed5a0148-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202350_53229130146_o.ed5a0148-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202350_53229130146_o.ed5a0148-opt-384.WEBP new file mode 100644 index 0000000000..4a56bec908 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202350_53229130146_o.ed5a0148-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202350_53229130146_o.ed5a0148-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202350_53229130146_o.ed5a0148-opt-3840.WEBP new file mode 100644 index 0000000000..d123b342b6 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202350_53229130146_o.ed5a0148-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202350_53229130146_o.ed5a0148-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202350_53229130146_o.ed5a0148-opt-48.WEBP new file mode 100644 index 0000000000..63e5a13b5b Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202350_53229130146_o.ed5a0148-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202350_53229130146_o.ed5a0148-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202350_53229130146_o.ed5a0148-opt-64.WEBP new file mode 100644 index 0000000000..d233dff23e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202350_53229130146_o.ed5a0148-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202350_53229130146_o.ed5a0148-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202350_53229130146_o.ed5a0148-opt-640.WEBP new file mode 100644 index 0000000000..825a77bf53 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202350_53229130146_o.ed5a0148-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202350_53229130146_o.ed5a0148-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202350_53229130146_o.ed5a0148-opt-750.WEBP new file mode 100644 index 0000000000..1956f36093 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202350_53229130146_o.ed5a0148-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202350_53229130146_o.ed5a0148-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202350_53229130146_o.ed5a0148-opt-828.WEBP new file mode 100644 index 0000000000..ca98a39c00 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202350_53229130146_o.ed5a0148-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202350_53229130146_o.ed5a0148-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202350_53229130146_o.ed5a0148-opt-96.WEBP new file mode 100644 index 0000000000..dfda97282c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202350_53229130146_o.ed5a0148-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202351_53229130151_o.3ce915d2-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202351_53229130151_o.3ce915d2-opt-10.WEBP new file mode 100644 index 0000000000..5c0509fd26 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202351_53229130151_o.3ce915d2-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202351_53229130151_o.3ce915d2-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202351_53229130151_o.3ce915d2-opt-1080.WEBP new file mode 100644 index 0000000000..c754e7f15d Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202351_53229130151_o.3ce915d2-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202351_53229130151_o.3ce915d2-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202351_53229130151_o.3ce915d2-opt-1200.WEBP new file mode 100644 index 0000000000..a013440d24 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202351_53229130151_o.3ce915d2-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202351_53229130151_o.3ce915d2-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202351_53229130151_o.3ce915d2-opt-128.WEBP new file mode 100644 index 0000000000..7ef75d9799 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202351_53229130151_o.3ce915d2-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202351_53229130151_o.3ce915d2-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202351_53229130151_o.3ce915d2-opt-16.WEBP new file mode 100644 index 0000000000..14c8270614 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202351_53229130151_o.3ce915d2-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202351_53229130151_o.3ce915d2-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202351_53229130151_o.3ce915d2-opt-1920.WEBP new file mode 100644 index 0000000000..8676fb62e1 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202351_53229130151_o.3ce915d2-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202351_53229130151_o.3ce915d2-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202351_53229130151_o.3ce915d2-opt-2048.WEBP new file mode 100644 index 0000000000..1caa3e6f52 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202351_53229130151_o.3ce915d2-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202351_53229130151_o.3ce915d2-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202351_53229130151_o.3ce915d2-opt-256.WEBP new file mode 100644 index 0000000000..6d46cbf219 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202351_53229130151_o.3ce915d2-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202351_53229130151_o.3ce915d2-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202351_53229130151_o.3ce915d2-opt-32.WEBP new file mode 100644 index 0000000000..51f5997935 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202351_53229130151_o.3ce915d2-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202351_53229130151_o.3ce915d2-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202351_53229130151_o.3ce915d2-opt-384.WEBP new file mode 100644 index 0000000000..e2d03eb187 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202351_53229130151_o.3ce915d2-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202351_53229130151_o.3ce915d2-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202351_53229130151_o.3ce915d2-opt-3840.WEBP new file mode 100644 index 0000000000..d8b9d05464 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202351_53229130151_o.3ce915d2-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202351_53229130151_o.3ce915d2-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202351_53229130151_o.3ce915d2-opt-48.WEBP new file mode 100644 index 0000000000..7c96cb807e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202351_53229130151_o.3ce915d2-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202351_53229130151_o.3ce915d2-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202351_53229130151_o.3ce915d2-opt-64.WEBP new file mode 100644 index 0000000000..0bc71a8c6f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202351_53229130151_o.3ce915d2-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202351_53229130151_o.3ce915d2-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202351_53229130151_o.3ce915d2-opt-640.WEBP new file mode 100644 index 0000000000..635eab8b00 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202351_53229130151_o.3ce915d2-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202351_53229130151_o.3ce915d2-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202351_53229130151_o.3ce915d2-opt-750.WEBP new file mode 100644 index 0000000000..e16ad304a0 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202351_53229130151_o.3ce915d2-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202351_53229130151_o.3ce915d2-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202351_53229130151_o.3ce915d2-opt-828.WEBP new file mode 100644 index 0000000000..43efef24dd Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202351_53229130151_o.3ce915d2-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202351_53229130151_o.3ce915d2-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202351_53229130151_o.3ce915d2-opt-96.WEBP new file mode 100644 index 0000000000..209b439bbb Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202351_53229130151_o.3ce915d2-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202352_53229629035_o.05b7b814-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202352_53229629035_o.05b7b814-opt-10.WEBP new file mode 100644 index 0000000000..8dec487b6f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202352_53229629035_o.05b7b814-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202352_53229629035_o.05b7b814-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202352_53229629035_o.05b7b814-opt-1080.WEBP new file mode 100644 index 0000000000..d3525ac396 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202352_53229629035_o.05b7b814-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202352_53229629035_o.05b7b814-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202352_53229629035_o.05b7b814-opt-1200.WEBP new file mode 100644 index 0000000000..5189b76eee Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202352_53229629035_o.05b7b814-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202352_53229629035_o.05b7b814-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202352_53229629035_o.05b7b814-opt-128.WEBP new file mode 100644 index 0000000000..a1ec1eaf43 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202352_53229629035_o.05b7b814-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202352_53229629035_o.05b7b814-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202352_53229629035_o.05b7b814-opt-16.WEBP new file mode 100644 index 0000000000..2288a81efa Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202352_53229629035_o.05b7b814-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202352_53229629035_o.05b7b814-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202352_53229629035_o.05b7b814-opt-1920.WEBP new file mode 100644 index 0000000000..db50db75dc Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202352_53229629035_o.05b7b814-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202352_53229629035_o.05b7b814-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202352_53229629035_o.05b7b814-opt-2048.WEBP new file mode 100644 index 0000000000..b88c284a0b Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202352_53229629035_o.05b7b814-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202352_53229629035_o.05b7b814-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202352_53229629035_o.05b7b814-opt-256.WEBP new file mode 100644 index 0000000000..f398363209 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202352_53229629035_o.05b7b814-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202352_53229629035_o.05b7b814-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202352_53229629035_o.05b7b814-opt-32.WEBP new file mode 100644 index 0000000000..ccca112e18 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202352_53229629035_o.05b7b814-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202352_53229629035_o.05b7b814-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202352_53229629035_o.05b7b814-opt-384.WEBP new file mode 100644 index 0000000000..c75b87b09b Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202352_53229629035_o.05b7b814-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202352_53229629035_o.05b7b814-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202352_53229629035_o.05b7b814-opt-3840.WEBP new file mode 100644 index 0000000000..534663eb65 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202352_53229629035_o.05b7b814-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202352_53229629035_o.05b7b814-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202352_53229629035_o.05b7b814-opt-48.WEBP new file mode 100644 index 0000000000..f337f24a0c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202352_53229629035_o.05b7b814-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202352_53229629035_o.05b7b814-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202352_53229629035_o.05b7b814-opt-64.WEBP new file mode 100644 index 0000000000..401b06ea63 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202352_53229629035_o.05b7b814-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202352_53229629035_o.05b7b814-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202352_53229629035_o.05b7b814-opt-640.WEBP new file mode 100644 index 0000000000..d6ba0de5b1 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202352_53229629035_o.05b7b814-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202352_53229629035_o.05b7b814-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202352_53229629035_o.05b7b814-opt-750.WEBP new file mode 100644 index 0000000000..7e51c38c76 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202352_53229629035_o.05b7b814-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202352_53229629035_o.05b7b814-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202352_53229629035_o.05b7b814-opt-828.WEBP new file mode 100644 index 0000000000..fc30c2b13a Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202352_53229629035_o.05b7b814-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202352_53229629035_o.05b7b814-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202352_53229629035_o.05b7b814-opt-96.WEBP new file mode 100644 index 0000000000..a3a2c5bdbe Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202352_53229629035_o.05b7b814-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202353_53228255937_o.63b58806-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202353_53228255937_o.63b58806-opt-10.WEBP new file mode 100644 index 0000000000..4e91691229 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202353_53228255937_o.63b58806-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202353_53228255937_o.63b58806-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202353_53228255937_o.63b58806-opt-1080.WEBP new file mode 100644 index 0000000000..f59c76aff7 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202353_53228255937_o.63b58806-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202353_53228255937_o.63b58806-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202353_53228255937_o.63b58806-opt-1200.WEBP new file mode 100644 index 0000000000..1be4cec40c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202353_53228255937_o.63b58806-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202353_53228255937_o.63b58806-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202353_53228255937_o.63b58806-opt-128.WEBP new file mode 100644 index 0000000000..037fba36c7 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202353_53228255937_o.63b58806-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202353_53228255937_o.63b58806-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202353_53228255937_o.63b58806-opt-16.WEBP new file mode 100644 index 0000000000..285f08b3a6 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202353_53228255937_o.63b58806-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202353_53228255937_o.63b58806-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202353_53228255937_o.63b58806-opt-1920.WEBP new file mode 100644 index 0000000000..91ba3986c4 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202353_53228255937_o.63b58806-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202353_53228255937_o.63b58806-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202353_53228255937_o.63b58806-opt-2048.WEBP new file mode 100644 index 0000000000..03b57ef28d Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202353_53228255937_o.63b58806-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202353_53228255937_o.63b58806-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202353_53228255937_o.63b58806-opt-256.WEBP new file mode 100644 index 0000000000..bdec9fe411 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202353_53228255937_o.63b58806-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202353_53228255937_o.63b58806-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202353_53228255937_o.63b58806-opt-32.WEBP new file mode 100644 index 0000000000..6b82dcccb2 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202353_53228255937_o.63b58806-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202353_53228255937_o.63b58806-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202353_53228255937_o.63b58806-opt-384.WEBP new file mode 100644 index 0000000000..c0e8f6b72d Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202353_53228255937_o.63b58806-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202353_53228255937_o.63b58806-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202353_53228255937_o.63b58806-opt-3840.WEBP new file mode 100644 index 0000000000..0099daab3b Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202353_53228255937_o.63b58806-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202353_53228255937_o.63b58806-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202353_53228255937_o.63b58806-opt-48.WEBP new file mode 100644 index 0000000000..579d558516 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202353_53228255937_o.63b58806-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202353_53228255937_o.63b58806-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202353_53228255937_o.63b58806-opt-64.WEBP new file mode 100644 index 0000000000..f99a50c5e4 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202353_53228255937_o.63b58806-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202353_53228255937_o.63b58806-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202353_53228255937_o.63b58806-opt-640.WEBP new file mode 100644 index 0000000000..115e88b4f8 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202353_53228255937_o.63b58806-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202353_53228255937_o.63b58806-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202353_53228255937_o.63b58806-opt-750.WEBP new file mode 100644 index 0000000000..0ac7d3f07a Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202353_53228255937_o.63b58806-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202353_53228255937_o.63b58806-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202353_53228255937_o.63b58806-opt-828.WEBP new file mode 100644 index 0000000000..ba4c500fd0 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202353_53228255937_o.63b58806-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202353_53228255937_o.63b58806-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202353_53228255937_o.63b58806-opt-96.WEBP new file mode 100644 index 0000000000..612d9c14a3 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202353_53228255937_o.63b58806-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202354_53229430998_o.eb9cfdd1-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202354_53229430998_o.eb9cfdd1-opt-10.WEBP new file mode 100644 index 0000000000..f038258cb1 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202354_53229430998_o.eb9cfdd1-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202354_53229430998_o.eb9cfdd1-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202354_53229430998_o.eb9cfdd1-opt-1080.WEBP new file mode 100644 index 0000000000..b52d67ac95 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202354_53229430998_o.eb9cfdd1-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202354_53229430998_o.eb9cfdd1-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202354_53229430998_o.eb9cfdd1-opt-1200.WEBP new file mode 100644 index 0000000000..5951ca93d3 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202354_53229430998_o.eb9cfdd1-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202354_53229430998_o.eb9cfdd1-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202354_53229430998_o.eb9cfdd1-opt-128.WEBP new file mode 100644 index 0000000000..70aa8d900e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202354_53229430998_o.eb9cfdd1-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202354_53229430998_o.eb9cfdd1-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202354_53229430998_o.eb9cfdd1-opt-16.WEBP new file mode 100644 index 0000000000..1063c914fb Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202354_53229430998_o.eb9cfdd1-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202354_53229430998_o.eb9cfdd1-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202354_53229430998_o.eb9cfdd1-opt-1920.WEBP new file mode 100644 index 0000000000..fd1377e49a Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202354_53229430998_o.eb9cfdd1-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202354_53229430998_o.eb9cfdd1-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202354_53229430998_o.eb9cfdd1-opt-2048.WEBP new file mode 100644 index 0000000000..5ac22ebaf4 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202354_53229430998_o.eb9cfdd1-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202354_53229430998_o.eb9cfdd1-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202354_53229430998_o.eb9cfdd1-opt-256.WEBP new file mode 100644 index 0000000000..10a40d19f9 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202354_53229430998_o.eb9cfdd1-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202354_53229430998_o.eb9cfdd1-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202354_53229430998_o.eb9cfdd1-opt-32.WEBP new file mode 100644 index 0000000000..c50ba9ff03 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202354_53229430998_o.eb9cfdd1-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202354_53229430998_o.eb9cfdd1-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202354_53229430998_o.eb9cfdd1-opt-384.WEBP new file mode 100644 index 0000000000..58e9236c6a Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202354_53229430998_o.eb9cfdd1-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202354_53229430998_o.eb9cfdd1-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202354_53229430998_o.eb9cfdd1-opt-3840.WEBP new file mode 100644 index 0000000000..1d2d92b71e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202354_53229430998_o.eb9cfdd1-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202354_53229430998_o.eb9cfdd1-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202354_53229430998_o.eb9cfdd1-opt-48.WEBP new file mode 100644 index 0000000000..0713ac0a13 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202354_53229430998_o.eb9cfdd1-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202354_53229430998_o.eb9cfdd1-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202354_53229430998_o.eb9cfdd1-opt-64.WEBP new file mode 100644 index 0000000000..30d0457c9f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202354_53229430998_o.eb9cfdd1-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202354_53229430998_o.eb9cfdd1-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202354_53229430998_o.eb9cfdd1-opt-640.WEBP new file mode 100644 index 0000000000..e67f2cec32 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202354_53229430998_o.eb9cfdd1-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202354_53229430998_o.eb9cfdd1-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202354_53229430998_o.eb9cfdd1-opt-750.WEBP new file mode 100644 index 0000000000..d5e6ce6edf Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202354_53229430998_o.eb9cfdd1-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202354_53229430998_o.eb9cfdd1-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202354_53229430998_o.eb9cfdd1-opt-828.WEBP new file mode 100644 index 0000000000..c4452f549d Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202354_53229430998_o.eb9cfdd1-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202354_53229430998_o.eb9cfdd1-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202354_53229430998_o.eb9cfdd1-opt-96.WEBP new file mode 100644 index 0000000000..b9452479f4 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202354_53229430998_o.eb9cfdd1-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202355_53228255882_o.f41621f8-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202355_53228255882_o.f41621f8-opt-10.WEBP new file mode 100644 index 0000000000..01268949b0 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202355_53228255882_o.f41621f8-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202355_53228255882_o.f41621f8-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202355_53228255882_o.f41621f8-opt-1080.WEBP new file mode 100644 index 0000000000..508faa4cdd Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202355_53228255882_o.f41621f8-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202355_53228255882_o.f41621f8-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202355_53228255882_o.f41621f8-opt-1200.WEBP new file mode 100644 index 0000000000..606c036888 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202355_53228255882_o.f41621f8-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202355_53228255882_o.f41621f8-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202355_53228255882_o.f41621f8-opt-128.WEBP new file mode 100644 index 0000000000..4ee3a19236 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202355_53228255882_o.f41621f8-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202355_53228255882_o.f41621f8-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202355_53228255882_o.f41621f8-opt-16.WEBP new file mode 100644 index 0000000000..cd18fb7905 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202355_53228255882_o.f41621f8-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202355_53228255882_o.f41621f8-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202355_53228255882_o.f41621f8-opt-1920.WEBP new file mode 100644 index 0000000000..0219f370f1 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202355_53228255882_o.f41621f8-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202355_53228255882_o.f41621f8-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202355_53228255882_o.f41621f8-opt-2048.WEBP new file mode 100644 index 0000000000..65cb8f45d0 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202355_53228255882_o.f41621f8-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202355_53228255882_o.f41621f8-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202355_53228255882_o.f41621f8-opt-256.WEBP new file mode 100644 index 0000000000..ec67c32a57 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202355_53228255882_o.f41621f8-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202355_53228255882_o.f41621f8-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202355_53228255882_o.f41621f8-opt-32.WEBP new file mode 100644 index 0000000000..aa02c39629 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202355_53228255882_o.f41621f8-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202355_53228255882_o.f41621f8-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202355_53228255882_o.f41621f8-opt-384.WEBP new file mode 100644 index 0000000000..e76cfa0470 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202355_53228255882_o.f41621f8-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202355_53228255882_o.f41621f8-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202355_53228255882_o.f41621f8-opt-3840.WEBP new file mode 100644 index 0000000000..57471d5f35 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202355_53228255882_o.f41621f8-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202355_53228255882_o.f41621f8-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202355_53228255882_o.f41621f8-opt-48.WEBP new file mode 100644 index 0000000000..7069ebebb3 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202355_53228255882_o.f41621f8-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202355_53228255882_o.f41621f8-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202355_53228255882_o.f41621f8-opt-64.WEBP new file mode 100644 index 0000000000..a345c01194 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202355_53228255882_o.f41621f8-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202355_53228255882_o.f41621f8-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202355_53228255882_o.f41621f8-opt-640.WEBP new file mode 100644 index 0000000000..a5d556a035 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202355_53228255882_o.f41621f8-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202355_53228255882_o.f41621f8-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202355_53228255882_o.f41621f8-opt-750.WEBP new file mode 100644 index 0000000000..b2d45e3642 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202355_53228255882_o.f41621f8-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202355_53228255882_o.f41621f8-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202355_53228255882_o.f41621f8-opt-828.WEBP new file mode 100644 index 0000000000..40e3af8034 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202355_53228255882_o.f41621f8-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202355_53228255882_o.f41621f8-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202355_53228255882_o.f41621f8-opt-96.WEBP new file mode 100644 index 0000000000..b8b4da24d2 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202355_53228255882_o.f41621f8-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202356_53229505199_o.a10d0d9c-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202356_53229505199_o.a10d0d9c-opt-10.WEBP new file mode 100644 index 0000000000..9b27b6bce3 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202356_53229505199_o.a10d0d9c-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202356_53229505199_o.a10d0d9c-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202356_53229505199_o.a10d0d9c-opt-1080.WEBP new file mode 100644 index 0000000000..7222549f72 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202356_53229505199_o.a10d0d9c-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202356_53229505199_o.a10d0d9c-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202356_53229505199_o.a10d0d9c-opt-1200.WEBP new file mode 100644 index 0000000000..03b1f78e19 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202356_53229505199_o.a10d0d9c-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202356_53229505199_o.a10d0d9c-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202356_53229505199_o.a10d0d9c-opt-128.WEBP new file mode 100644 index 0000000000..cac590efae Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202356_53229505199_o.a10d0d9c-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202356_53229505199_o.a10d0d9c-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202356_53229505199_o.a10d0d9c-opt-16.WEBP new file mode 100644 index 0000000000..cd6654e6d9 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202356_53229505199_o.a10d0d9c-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202356_53229505199_o.a10d0d9c-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202356_53229505199_o.a10d0d9c-opt-1920.WEBP new file mode 100644 index 0000000000..8a87000e95 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202356_53229505199_o.a10d0d9c-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202356_53229505199_o.a10d0d9c-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202356_53229505199_o.a10d0d9c-opt-2048.WEBP new file mode 100644 index 0000000000..6a2b5a2285 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202356_53229505199_o.a10d0d9c-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202356_53229505199_o.a10d0d9c-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202356_53229505199_o.a10d0d9c-opt-256.WEBP new file mode 100644 index 0000000000..edff64177d Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202356_53229505199_o.a10d0d9c-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202356_53229505199_o.a10d0d9c-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202356_53229505199_o.a10d0d9c-opt-32.WEBP new file mode 100644 index 0000000000..25435a43e4 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202356_53229505199_o.a10d0d9c-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202356_53229505199_o.a10d0d9c-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202356_53229505199_o.a10d0d9c-opt-384.WEBP new file mode 100644 index 0000000000..2063d244c9 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202356_53229505199_o.a10d0d9c-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202356_53229505199_o.a10d0d9c-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202356_53229505199_o.a10d0d9c-opt-3840.WEBP new file mode 100644 index 0000000000..9e025201c9 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202356_53229505199_o.a10d0d9c-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202356_53229505199_o.a10d0d9c-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202356_53229505199_o.a10d0d9c-opt-48.WEBP new file mode 100644 index 0000000000..053b7a812f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202356_53229505199_o.a10d0d9c-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202356_53229505199_o.a10d0d9c-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202356_53229505199_o.a10d0d9c-opt-64.WEBP new file mode 100644 index 0000000000..b90d53b45b Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202356_53229505199_o.a10d0d9c-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202356_53229505199_o.a10d0d9c-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202356_53229505199_o.a10d0d9c-opt-640.WEBP new file mode 100644 index 0000000000..31dd89faf0 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202356_53229505199_o.a10d0d9c-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202356_53229505199_o.a10d0d9c-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202356_53229505199_o.a10d0d9c-opt-750.WEBP new file mode 100644 index 0000000000..cfa3d8926c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202356_53229505199_o.a10d0d9c-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202356_53229505199_o.a10d0d9c-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202356_53229505199_o.a10d0d9c-opt-828.WEBP new file mode 100644 index 0000000000..7fea4db404 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202356_53229505199_o.a10d0d9c-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202356_53229505199_o.a10d0d9c-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202356_53229505199_o.a10d0d9c-opt-96.WEBP new file mode 100644 index 0000000000..ae693e6707 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202356_53229505199_o.a10d0d9c-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202357_53228255742_o.eba44732-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202357_53228255742_o.eba44732-opt-10.WEBP new file mode 100644 index 0000000000..097c580edc Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202357_53228255742_o.eba44732-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202357_53228255742_o.eba44732-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202357_53228255742_o.eba44732-opt-1080.WEBP new file mode 100644 index 0000000000..34d805bbc0 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202357_53228255742_o.eba44732-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202357_53228255742_o.eba44732-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202357_53228255742_o.eba44732-opt-1200.WEBP new file mode 100644 index 0000000000..40d8bdbf55 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202357_53228255742_o.eba44732-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202357_53228255742_o.eba44732-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202357_53228255742_o.eba44732-opt-128.WEBP new file mode 100644 index 0000000000..30b5259020 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202357_53228255742_o.eba44732-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202357_53228255742_o.eba44732-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202357_53228255742_o.eba44732-opt-16.WEBP new file mode 100644 index 0000000000..65b68044b0 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202357_53228255742_o.eba44732-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202357_53228255742_o.eba44732-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202357_53228255742_o.eba44732-opt-1920.WEBP new file mode 100644 index 0000000000..0d2debe2f7 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202357_53228255742_o.eba44732-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202357_53228255742_o.eba44732-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202357_53228255742_o.eba44732-opt-2048.WEBP new file mode 100644 index 0000000000..1110984841 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202357_53228255742_o.eba44732-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202357_53228255742_o.eba44732-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202357_53228255742_o.eba44732-opt-256.WEBP new file mode 100644 index 0000000000..91a04e8bd5 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202357_53228255742_o.eba44732-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202357_53228255742_o.eba44732-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202357_53228255742_o.eba44732-opt-32.WEBP new file mode 100644 index 0000000000..e22c91d6c4 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202357_53228255742_o.eba44732-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202357_53228255742_o.eba44732-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202357_53228255742_o.eba44732-opt-384.WEBP new file mode 100644 index 0000000000..10cff62c13 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202357_53228255742_o.eba44732-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202357_53228255742_o.eba44732-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202357_53228255742_o.eba44732-opt-3840.WEBP new file mode 100644 index 0000000000..f5c1f88cf7 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202357_53228255742_o.eba44732-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202357_53228255742_o.eba44732-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202357_53228255742_o.eba44732-opt-48.WEBP new file mode 100644 index 0000000000..9851d9d719 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202357_53228255742_o.eba44732-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202357_53228255742_o.eba44732-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202357_53228255742_o.eba44732-opt-64.WEBP new file mode 100644 index 0000000000..3548b31a35 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202357_53228255742_o.eba44732-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202357_53228255742_o.eba44732-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202357_53228255742_o.eba44732-opt-640.WEBP new file mode 100644 index 0000000000..241795ef69 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202357_53228255742_o.eba44732-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202357_53228255742_o.eba44732-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202357_53228255742_o.eba44732-opt-750.WEBP new file mode 100644 index 0000000000..34ce0f909c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202357_53228255742_o.eba44732-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202357_53228255742_o.eba44732-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202357_53228255742_o.eba44732-opt-828.WEBP new file mode 100644 index 0000000000..cc4b07b14f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202357_53228255742_o.eba44732-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202357_53228255742_o.eba44732-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202357_53228255742_o.eba44732-opt-96.WEBP new file mode 100644 index 0000000000..7c85c93fab Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202357_53228255742_o.eba44732-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202358_53229628875_o.d90a314d-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202358_53229628875_o.d90a314d-opt-10.WEBP new file mode 100644 index 0000000000..7933e73297 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202358_53229628875_o.d90a314d-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202358_53229628875_o.d90a314d-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202358_53229628875_o.d90a314d-opt-1080.WEBP new file mode 100644 index 0000000000..d75c0bd3ce Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202358_53229628875_o.d90a314d-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202358_53229628875_o.d90a314d-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202358_53229628875_o.d90a314d-opt-1200.WEBP new file mode 100644 index 0000000000..75dde8e9a9 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202358_53229628875_o.d90a314d-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202358_53229628875_o.d90a314d-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202358_53229628875_o.d90a314d-opt-128.WEBP new file mode 100644 index 0000000000..1e62b2047f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202358_53229628875_o.d90a314d-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202358_53229628875_o.d90a314d-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202358_53229628875_o.d90a314d-opt-16.WEBP new file mode 100644 index 0000000000..165ec77fec Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202358_53229628875_o.d90a314d-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202358_53229628875_o.d90a314d-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202358_53229628875_o.d90a314d-opt-1920.WEBP new file mode 100644 index 0000000000..777523dca4 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202358_53229628875_o.d90a314d-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202358_53229628875_o.d90a314d-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202358_53229628875_o.d90a314d-opt-2048.WEBP new file mode 100644 index 0000000000..af544da1ec Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202358_53229628875_o.d90a314d-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202358_53229628875_o.d90a314d-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202358_53229628875_o.d90a314d-opt-256.WEBP new file mode 100644 index 0000000000..594e26935f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202358_53229628875_o.d90a314d-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202358_53229628875_o.d90a314d-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202358_53229628875_o.d90a314d-opt-32.WEBP new file mode 100644 index 0000000000..10591d6871 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202358_53229628875_o.d90a314d-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202358_53229628875_o.d90a314d-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202358_53229628875_o.d90a314d-opt-384.WEBP new file mode 100644 index 0000000000..8131330b78 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202358_53229628875_o.d90a314d-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202358_53229628875_o.d90a314d-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202358_53229628875_o.d90a314d-opt-3840.WEBP new file mode 100644 index 0000000000..cb22f36bea Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202358_53229628875_o.d90a314d-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202358_53229628875_o.d90a314d-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202358_53229628875_o.d90a314d-opt-48.WEBP new file mode 100644 index 0000000000..2f1ca1c2ee Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202358_53229628875_o.d90a314d-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202358_53229628875_o.d90a314d-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202358_53229628875_o.d90a314d-opt-64.WEBP new file mode 100644 index 0000000000..f0570914eb Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202358_53229628875_o.d90a314d-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202358_53229628875_o.d90a314d-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202358_53229628875_o.d90a314d-opt-640.WEBP new file mode 100644 index 0000000000..d1196cdd83 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202358_53229628875_o.d90a314d-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202358_53229628875_o.d90a314d-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202358_53229628875_o.d90a314d-opt-750.WEBP new file mode 100644 index 0000000000..541d261231 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202358_53229628875_o.d90a314d-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202358_53229628875_o.d90a314d-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202358_53229628875_o.d90a314d-opt-828.WEBP new file mode 100644 index 0000000000..a650ea9d2d Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202358_53229628875_o.d90a314d-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202358_53229628875_o.d90a314d-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202358_53229628875_o.d90a314d-opt-96.WEBP new file mode 100644 index 0000000000..2471623bc8 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202358_53229628875_o.d90a314d-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202359_53229129286_o.a7d60456-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202359_53229129286_o.a7d60456-opt-10.WEBP new file mode 100644 index 0000000000..6dfff5f668 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202359_53229129286_o.a7d60456-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202359_53229129286_o.a7d60456-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202359_53229129286_o.a7d60456-opt-1080.WEBP new file mode 100644 index 0000000000..9bff2ce01d Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202359_53229129286_o.a7d60456-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202359_53229129286_o.a7d60456-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202359_53229129286_o.a7d60456-opt-1200.WEBP new file mode 100644 index 0000000000..819311fcdc Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202359_53229129286_o.a7d60456-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202359_53229129286_o.a7d60456-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202359_53229129286_o.a7d60456-opt-128.WEBP new file mode 100644 index 0000000000..651225d542 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202359_53229129286_o.a7d60456-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202359_53229129286_o.a7d60456-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202359_53229129286_o.a7d60456-opt-16.WEBP new file mode 100644 index 0000000000..8dacb5f826 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202359_53229129286_o.a7d60456-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202359_53229129286_o.a7d60456-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202359_53229129286_o.a7d60456-opt-1920.WEBP new file mode 100644 index 0000000000..aa8f83aaa6 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202359_53229129286_o.a7d60456-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202359_53229129286_o.a7d60456-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202359_53229129286_o.a7d60456-opt-2048.WEBP new file mode 100644 index 0000000000..1001eab0cd Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202359_53229129286_o.a7d60456-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202359_53229129286_o.a7d60456-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202359_53229129286_o.a7d60456-opt-256.WEBP new file mode 100644 index 0000000000..6a66a31607 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202359_53229129286_o.a7d60456-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202359_53229129286_o.a7d60456-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202359_53229129286_o.a7d60456-opt-32.WEBP new file mode 100644 index 0000000000..93b61770fd Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202359_53229129286_o.a7d60456-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202359_53229129286_o.a7d60456-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202359_53229129286_o.a7d60456-opt-384.WEBP new file mode 100644 index 0000000000..30e2f6fd5c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202359_53229129286_o.a7d60456-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202359_53229129286_o.a7d60456-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202359_53229129286_o.a7d60456-opt-3840.WEBP new file mode 100644 index 0000000000..99f97903ae Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202359_53229129286_o.a7d60456-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202359_53229129286_o.a7d60456-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202359_53229129286_o.a7d60456-opt-48.WEBP new file mode 100644 index 0000000000..886b4684bb Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202359_53229129286_o.a7d60456-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202359_53229129286_o.a7d60456-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202359_53229129286_o.a7d60456-opt-64.WEBP new file mode 100644 index 0000000000..091c50c1be Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202359_53229129286_o.a7d60456-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202359_53229129286_o.a7d60456-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202359_53229129286_o.a7d60456-opt-640.WEBP new file mode 100644 index 0000000000..28c740159c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202359_53229129286_o.a7d60456-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202359_53229129286_o.a7d60456-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202359_53229129286_o.a7d60456-opt-750.WEBP new file mode 100644 index 0000000000..c8b75123a6 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202359_53229129286_o.a7d60456-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202359_53229129286_o.a7d60456-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202359_53229129286_o.a7d60456-opt-828.WEBP new file mode 100644 index 0000000000..58b42f4347 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202359_53229129286_o.a7d60456-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202359_53229129286_o.a7d60456-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202359_53229129286_o.a7d60456-opt-96.WEBP new file mode 100644 index 0000000000..e8b58cbc08 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202359_53229129286_o.a7d60456-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20235_53229505904_o.70448c14-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-20235_53229505904_o.70448c14-opt-10.WEBP new file mode 100644 index 0000000000..8bbd9bbf2b Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20235_53229505904_o.70448c14-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20235_53229505904_o.70448c14-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-20235_53229505904_o.70448c14-opt-1080.WEBP new file mode 100644 index 0000000000..bef746fadb Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20235_53229505904_o.70448c14-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20235_53229505904_o.70448c14-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-20235_53229505904_o.70448c14-opt-1200.WEBP new file mode 100644 index 0000000000..34379fa373 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20235_53229505904_o.70448c14-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20235_53229505904_o.70448c14-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-20235_53229505904_o.70448c14-opt-128.WEBP new file mode 100644 index 0000000000..8f1282b2ba Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20235_53229505904_o.70448c14-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20235_53229505904_o.70448c14-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-20235_53229505904_o.70448c14-opt-16.WEBP new file mode 100644 index 0000000000..14d5c90d7c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20235_53229505904_o.70448c14-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20235_53229505904_o.70448c14-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-20235_53229505904_o.70448c14-opt-1920.WEBP new file mode 100644 index 0000000000..004193bed2 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20235_53229505904_o.70448c14-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20235_53229505904_o.70448c14-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-20235_53229505904_o.70448c14-opt-2048.WEBP new file mode 100644 index 0000000000..e4a77a2754 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20235_53229505904_o.70448c14-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20235_53229505904_o.70448c14-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-20235_53229505904_o.70448c14-opt-256.WEBP new file mode 100644 index 0000000000..2f07536609 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20235_53229505904_o.70448c14-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20235_53229505904_o.70448c14-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-20235_53229505904_o.70448c14-opt-32.WEBP new file mode 100644 index 0000000000..f1ac664647 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20235_53229505904_o.70448c14-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20235_53229505904_o.70448c14-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-20235_53229505904_o.70448c14-opt-384.WEBP new file mode 100644 index 0000000000..bec175eaad Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20235_53229505904_o.70448c14-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20235_53229505904_o.70448c14-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-20235_53229505904_o.70448c14-opt-3840.WEBP new file mode 100644 index 0000000000..930d521d69 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20235_53229505904_o.70448c14-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20235_53229505904_o.70448c14-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-20235_53229505904_o.70448c14-opt-48.WEBP new file mode 100644 index 0000000000..028b1a2a8a Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20235_53229505904_o.70448c14-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20235_53229505904_o.70448c14-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-20235_53229505904_o.70448c14-opt-64.WEBP new file mode 100644 index 0000000000..a4edb23935 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20235_53229505904_o.70448c14-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20235_53229505904_o.70448c14-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-20235_53229505904_o.70448c14-opt-640.WEBP new file mode 100644 index 0000000000..fa2ab02a7c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20235_53229505904_o.70448c14-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20235_53229505904_o.70448c14-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-20235_53229505904_o.70448c14-opt-750.WEBP new file mode 100644 index 0000000000..c28ee2c9ba Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20235_53229505904_o.70448c14-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20235_53229505904_o.70448c14-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-20235_53229505904_o.70448c14-opt-828.WEBP new file mode 100644 index 0000000000..6f679f1759 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20235_53229505904_o.70448c14-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20235_53229505904_o.70448c14-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-20235_53229505904_o.70448c14-opt-96.WEBP new file mode 100644 index 0000000000..60cf48136b Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20235_53229505904_o.70448c14-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202360_53229430883_o.c956c861-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202360_53229430883_o.c956c861-opt-10.WEBP new file mode 100644 index 0000000000..63da88cf12 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202360_53229430883_o.c956c861-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202360_53229430883_o.c956c861-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202360_53229430883_o.c956c861-opt-1080.WEBP new file mode 100644 index 0000000000..953faf67c1 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202360_53229430883_o.c956c861-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202360_53229430883_o.c956c861-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202360_53229430883_o.c956c861-opt-1200.WEBP new file mode 100644 index 0000000000..0cd94c46be Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202360_53229430883_o.c956c861-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202360_53229430883_o.c956c861-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202360_53229430883_o.c956c861-opt-128.WEBP new file mode 100644 index 0000000000..f0ab971cfa Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202360_53229430883_o.c956c861-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202360_53229430883_o.c956c861-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202360_53229430883_o.c956c861-opt-16.WEBP new file mode 100644 index 0000000000..5520551714 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202360_53229430883_o.c956c861-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202360_53229430883_o.c956c861-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202360_53229430883_o.c956c861-opt-1920.WEBP new file mode 100644 index 0000000000..ebdcf53bdd Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202360_53229430883_o.c956c861-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202360_53229430883_o.c956c861-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202360_53229430883_o.c956c861-opt-2048.WEBP new file mode 100644 index 0000000000..580d45a50c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202360_53229430883_o.c956c861-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202360_53229430883_o.c956c861-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202360_53229430883_o.c956c861-opt-256.WEBP new file mode 100644 index 0000000000..7884dc1a67 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202360_53229430883_o.c956c861-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202360_53229430883_o.c956c861-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202360_53229430883_o.c956c861-opt-32.WEBP new file mode 100644 index 0000000000..4dfd668f27 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202360_53229430883_o.c956c861-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202360_53229430883_o.c956c861-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202360_53229430883_o.c956c861-opt-384.WEBP new file mode 100644 index 0000000000..854d0ffe42 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202360_53229430883_o.c956c861-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202360_53229430883_o.c956c861-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202360_53229430883_o.c956c861-opt-3840.WEBP new file mode 100644 index 0000000000..6b6eeb7643 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202360_53229430883_o.c956c861-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202360_53229430883_o.c956c861-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202360_53229430883_o.c956c861-opt-48.WEBP new file mode 100644 index 0000000000..33c71a8aa7 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202360_53229430883_o.c956c861-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202360_53229430883_o.c956c861-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202360_53229430883_o.c956c861-opt-64.WEBP new file mode 100644 index 0000000000..a457efcec0 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202360_53229430883_o.c956c861-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202360_53229430883_o.c956c861-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202360_53229430883_o.c956c861-opt-640.WEBP new file mode 100644 index 0000000000..b24257779c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202360_53229430883_o.c956c861-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202360_53229430883_o.c956c861-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202360_53229430883_o.c956c861-opt-750.WEBP new file mode 100644 index 0000000000..887481891c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202360_53229430883_o.c956c861-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202360_53229430883_o.c956c861-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202360_53229430883_o.c956c861-opt-828.WEBP new file mode 100644 index 0000000000..df10040cb2 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202360_53229430883_o.c956c861-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202360_53229430883_o.c956c861-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202360_53229430883_o.c956c861-opt-96.WEBP new file mode 100644 index 0000000000..f07433330c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202360_53229430883_o.c956c861-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202361_53229628295_o.7d239d57-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202361_53229628295_o.7d239d57-opt-10.WEBP new file mode 100644 index 0000000000..bc11680ee5 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202361_53229628295_o.7d239d57-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202361_53229628295_o.7d239d57-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202361_53229628295_o.7d239d57-opt-1080.WEBP new file mode 100644 index 0000000000..425394cedc Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202361_53229628295_o.7d239d57-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202361_53229628295_o.7d239d57-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202361_53229628295_o.7d239d57-opt-1200.WEBP new file mode 100644 index 0000000000..5d346bc9f6 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202361_53229628295_o.7d239d57-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202361_53229628295_o.7d239d57-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202361_53229628295_o.7d239d57-opt-128.WEBP new file mode 100644 index 0000000000..8fbeb3deeb Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202361_53229628295_o.7d239d57-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202361_53229628295_o.7d239d57-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202361_53229628295_o.7d239d57-opt-16.WEBP new file mode 100644 index 0000000000..24c70cf3e8 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202361_53229628295_o.7d239d57-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202361_53229628295_o.7d239d57-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202361_53229628295_o.7d239d57-opt-1920.WEBP new file mode 100644 index 0000000000..76f15ec7ef Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202361_53229628295_o.7d239d57-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202361_53229628295_o.7d239d57-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202361_53229628295_o.7d239d57-opt-2048.WEBP new file mode 100644 index 0000000000..1b5750dd2e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202361_53229628295_o.7d239d57-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202361_53229628295_o.7d239d57-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202361_53229628295_o.7d239d57-opt-256.WEBP new file mode 100644 index 0000000000..6bc669becd Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202361_53229628295_o.7d239d57-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202361_53229628295_o.7d239d57-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202361_53229628295_o.7d239d57-opt-32.WEBP new file mode 100644 index 0000000000..bcb9fe6894 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202361_53229628295_o.7d239d57-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202361_53229628295_o.7d239d57-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202361_53229628295_o.7d239d57-opt-384.WEBP new file mode 100644 index 0000000000..d9a209e591 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202361_53229628295_o.7d239d57-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202361_53229628295_o.7d239d57-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202361_53229628295_o.7d239d57-opt-3840.WEBP new file mode 100644 index 0000000000..999baacb28 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202361_53229628295_o.7d239d57-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202361_53229628295_o.7d239d57-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202361_53229628295_o.7d239d57-opt-48.WEBP new file mode 100644 index 0000000000..97146003c0 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202361_53229628295_o.7d239d57-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202361_53229628295_o.7d239d57-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202361_53229628295_o.7d239d57-opt-64.WEBP new file mode 100644 index 0000000000..33127db903 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202361_53229628295_o.7d239d57-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202361_53229628295_o.7d239d57-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202361_53229628295_o.7d239d57-opt-640.WEBP new file mode 100644 index 0000000000..e682490288 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202361_53229628295_o.7d239d57-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202361_53229628295_o.7d239d57-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202361_53229628295_o.7d239d57-opt-750.WEBP new file mode 100644 index 0000000000..1f28bef3a1 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202361_53229628295_o.7d239d57-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202361_53229628295_o.7d239d57-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202361_53229628295_o.7d239d57-opt-828.WEBP new file mode 100644 index 0000000000..9fe48b50e4 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202361_53229628295_o.7d239d57-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202361_53229628295_o.7d239d57-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202361_53229628295_o.7d239d57-opt-96.WEBP new file mode 100644 index 0000000000..d6c751f296 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202361_53229628295_o.7d239d57-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202362_53229430868_o.d6685132-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202362_53229430868_o.d6685132-opt-10.WEBP new file mode 100644 index 0000000000..2f41fb7953 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202362_53229430868_o.d6685132-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202362_53229430868_o.d6685132-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202362_53229430868_o.d6685132-opt-1080.WEBP new file mode 100644 index 0000000000..84e9e2d6cc Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202362_53229430868_o.d6685132-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202362_53229430868_o.d6685132-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202362_53229430868_o.d6685132-opt-1200.WEBP new file mode 100644 index 0000000000..33cc988d6f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202362_53229430868_o.d6685132-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202362_53229430868_o.d6685132-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202362_53229430868_o.d6685132-opt-128.WEBP new file mode 100644 index 0000000000..2fd58dc266 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202362_53229430868_o.d6685132-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202362_53229430868_o.d6685132-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202362_53229430868_o.d6685132-opt-16.WEBP new file mode 100644 index 0000000000..524986d922 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202362_53229430868_o.d6685132-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202362_53229430868_o.d6685132-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202362_53229430868_o.d6685132-opt-1920.WEBP new file mode 100644 index 0000000000..6c760731ed Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202362_53229430868_o.d6685132-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202362_53229430868_o.d6685132-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202362_53229430868_o.d6685132-opt-2048.WEBP new file mode 100644 index 0000000000..feb2ea7e38 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202362_53229430868_o.d6685132-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202362_53229430868_o.d6685132-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202362_53229430868_o.d6685132-opt-256.WEBP new file mode 100644 index 0000000000..3157aebc47 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202362_53229430868_o.d6685132-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202362_53229430868_o.d6685132-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202362_53229430868_o.d6685132-opt-32.WEBP new file mode 100644 index 0000000000..28b4462cf7 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202362_53229430868_o.d6685132-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202362_53229430868_o.d6685132-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202362_53229430868_o.d6685132-opt-384.WEBP new file mode 100644 index 0000000000..0ef3372908 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202362_53229430868_o.d6685132-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202362_53229430868_o.d6685132-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202362_53229430868_o.d6685132-opt-3840.WEBP new file mode 100644 index 0000000000..475f70bb8b Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202362_53229430868_o.d6685132-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202362_53229430868_o.d6685132-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202362_53229430868_o.d6685132-opt-48.WEBP new file mode 100644 index 0000000000..6a11114232 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202362_53229430868_o.d6685132-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202362_53229430868_o.d6685132-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202362_53229430868_o.d6685132-opt-64.WEBP new file mode 100644 index 0000000000..a073af8bdb Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202362_53229430868_o.d6685132-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202362_53229430868_o.d6685132-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202362_53229430868_o.d6685132-opt-640.WEBP new file mode 100644 index 0000000000..3500017ba9 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202362_53229430868_o.d6685132-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202362_53229430868_o.d6685132-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202362_53229430868_o.d6685132-opt-750.WEBP new file mode 100644 index 0000000000..e1bf0454b8 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202362_53229430868_o.d6685132-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202362_53229430868_o.d6685132-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202362_53229430868_o.d6685132-opt-828.WEBP new file mode 100644 index 0000000000..d605eb357f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202362_53229430868_o.d6685132-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202362_53229430868_o.d6685132-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202362_53229430868_o.d6685132-opt-96.WEBP new file mode 100644 index 0000000000..d5eebcb41b Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202362_53229430868_o.d6685132-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202363_53229505084_o.d0dfd52b-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202363_53229505084_o.d0dfd52b-opt-10.WEBP new file mode 100644 index 0000000000..0c1842bd47 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202363_53229505084_o.d0dfd52b-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202363_53229505084_o.d0dfd52b-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202363_53229505084_o.d0dfd52b-opt-1080.WEBP new file mode 100644 index 0000000000..89ea280257 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202363_53229505084_o.d0dfd52b-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202363_53229505084_o.d0dfd52b-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202363_53229505084_o.d0dfd52b-opt-1200.WEBP new file mode 100644 index 0000000000..050052b622 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202363_53229505084_o.d0dfd52b-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202363_53229505084_o.d0dfd52b-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202363_53229505084_o.d0dfd52b-opt-128.WEBP new file mode 100644 index 0000000000..02af41e300 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202363_53229505084_o.d0dfd52b-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202363_53229505084_o.d0dfd52b-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202363_53229505084_o.d0dfd52b-opt-16.WEBP new file mode 100644 index 0000000000..9ce4e03390 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202363_53229505084_o.d0dfd52b-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202363_53229505084_o.d0dfd52b-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202363_53229505084_o.d0dfd52b-opt-1920.WEBP new file mode 100644 index 0000000000..91cb71d266 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202363_53229505084_o.d0dfd52b-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202363_53229505084_o.d0dfd52b-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202363_53229505084_o.d0dfd52b-opt-2048.WEBP new file mode 100644 index 0000000000..6c5a584b6f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202363_53229505084_o.d0dfd52b-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202363_53229505084_o.d0dfd52b-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202363_53229505084_o.d0dfd52b-opt-256.WEBP new file mode 100644 index 0000000000..338d00f141 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202363_53229505084_o.d0dfd52b-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202363_53229505084_o.d0dfd52b-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202363_53229505084_o.d0dfd52b-opt-32.WEBP new file mode 100644 index 0000000000..d090091b84 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202363_53229505084_o.d0dfd52b-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202363_53229505084_o.d0dfd52b-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202363_53229505084_o.d0dfd52b-opt-384.WEBP new file mode 100644 index 0000000000..2c9298840c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202363_53229505084_o.d0dfd52b-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202363_53229505084_o.d0dfd52b-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202363_53229505084_o.d0dfd52b-opt-3840.WEBP new file mode 100644 index 0000000000..b41647d5fa Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202363_53229505084_o.d0dfd52b-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202363_53229505084_o.d0dfd52b-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202363_53229505084_o.d0dfd52b-opt-48.WEBP new file mode 100644 index 0000000000..ee8c42a50e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202363_53229505084_o.d0dfd52b-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202363_53229505084_o.d0dfd52b-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202363_53229505084_o.d0dfd52b-opt-64.WEBP new file mode 100644 index 0000000000..43be67406b Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202363_53229505084_o.d0dfd52b-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202363_53229505084_o.d0dfd52b-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202363_53229505084_o.d0dfd52b-opt-640.WEBP new file mode 100644 index 0000000000..b0a2092bc0 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202363_53229505084_o.d0dfd52b-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202363_53229505084_o.d0dfd52b-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202363_53229505084_o.d0dfd52b-opt-750.WEBP new file mode 100644 index 0000000000..13c70d8153 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202363_53229505084_o.d0dfd52b-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202363_53229505084_o.d0dfd52b-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202363_53229505084_o.d0dfd52b-opt-828.WEBP new file mode 100644 index 0000000000..abed8f531f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202363_53229505084_o.d0dfd52b-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202363_53229505084_o.d0dfd52b-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202363_53229505084_o.d0dfd52b-opt-96.WEBP new file mode 100644 index 0000000000..3cf32687d1 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202363_53229505084_o.d0dfd52b-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202364_53229430858_o.0f85bae9-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202364_53229430858_o.0f85bae9-opt-10.WEBP new file mode 100644 index 0000000000..9c1fdac4fd Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202364_53229430858_o.0f85bae9-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202364_53229430858_o.0f85bae9-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202364_53229430858_o.0f85bae9-opt-1080.WEBP new file mode 100644 index 0000000000..b5c0cab7d9 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202364_53229430858_o.0f85bae9-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202364_53229430858_o.0f85bae9-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202364_53229430858_o.0f85bae9-opt-1200.WEBP new file mode 100644 index 0000000000..d5cc28b4e2 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202364_53229430858_o.0f85bae9-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202364_53229430858_o.0f85bae9-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202364_53229430858_o.0f85bae9-opt-128.WEBP new file mode 100644 index 0000000000..1bf0148a4e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202364_53229430858_o.0f85bae9-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202364_53229430858_o.0f85bae9-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202364_53229430858_o.0f85bae9-opt-16.WEBP new file mode 100644 index 0000000000..802c33f760 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202364_53229430858_o.0f85bae9-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202364_53229430858_o.0f85bae9-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202364_53229430858_o.0f85bae9-opt-1920.WEBP new file mode 100644 index 0000000000..2f309e8963 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202364_53229430858_o.0f85bae9-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202364_53229430858_o.0f85bae9-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202364_53229430858_o.0f85bae9-opt-2048.WEBP new file mode 100644 index 0000000000..85569cfcea Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202364_53229430858_o.0f85bae9-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202364_53229430858_o.0f85bae9-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202364_53229430858_o.0f85bae9-opt-256.WEBP new file mode 100644 index 0000000000..f6c6b4a483 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202364_53229430858_o.0f85bae9-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202364_53229430858_o.0f85bae9-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202364_53229430858_o.0f85bae9-opt-32.WEBP new file mode 100644 index 0000000000..a2013bc09e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202364_53229430858_o.0f85bae9-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202364_53229430858_o.0f85bae9-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202364_53229430858_o.0f85bae9-opt-384.WEBP new file mode 100644 index 0000000000..3c4ad2c1ce Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202364_53229430858_o.0f85bae9-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202364_53229430858_o.0f85bae9-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202364_53229430858_o.0f85bae9-opt-3840.WEBP new file mode 100644 index 0000000000..b6e784f662 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202364_53229430858_o.0f85bae9-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202364_53229430858_o.0f85bae9-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202364_53229430858_o.0f85bae9-opt-48.WEBP new file mode 100644 index 0000000000..29f90e043a Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202364_53229430858_o.0f85bae9-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202364_53229430858_o.0f85bae9-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202364_53229430858_o.0f85bae9-opt-64.WEBP new file mode 100644 index 0000000000..2f2c9231ac Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202364_53229430858_o.0f85bae9-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202364_53229430858_o.0f85bae9-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202364_53229430858_o.0f85bae9-opt-640.WEBP new file mode 100644 index 0000000000..6815521e3c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202364_53229430858_o.0f85bae9-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202364_53229430858_o.0f85bae9-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202364_53229430858_o.0f85bae9-opt-750.WEBP new file mode 100644 index 0000000000..0ecd6910fd Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202364_53229430858_o.0f85bae9-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202364_53229430858_o.0f85bae9-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202364_53229430858_o.0f85bae9-opt-828.WEBP new file mode 100644 index 0000000000..d6ca7d89d2 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202364_53229430858_o.0f85bae9-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202364_53229430858_o.0f85bae9-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202364_53229430858_o.0f85bae9-opt-96.WEBP new file mode 100644 index 0000000000..3d0d815cca Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202364_53229430858_o.0f85bae9-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202365_53229430258_o.79cb0cd6-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202365_53229430258_o.79cb0cd6-opt-10.WEBP new file mode 100644 index 0000000000..674fa67a17 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202365_53229430258_o.79cb0cd6-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202365_53229430258_o.79cb0cd6-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202365_53229430258_o.79cb0cd6-opt-1080.WEBP new file mode 100644 index 0000000000..7f6ec7d2cb Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202365_53229430258_o.79cb0cd6-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202365_53229430258_o.79cb0cd6-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202365_53229430258_o.79cb0cd6-opt-1200.WEBP new file mode 100644 index 0000000000..1c13e5bc81 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202365_53229430258_o.79cb0cd6-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202365_53229430258_o.79cb0cd6-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202365_53229430258_o.79cb0cd6-opt-128.WEBP new file mode 100644 index 0000000000..5f0121a3ee Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202365_53229430258_o.79cb0cd6-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202365_53229430258_o.79cb0cd6-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202365_53229430258_o.79cb0cd6-opt-16.WEBP new file mode 100644 index 0000000000..f6cb9da4ed Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202365_53229430258_o.79cb0cd6-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202365_53229430258_o.79cb0cd6-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202365_53229430258_o.79cb0cd6-opt-1920.WEBP new file mode 100644 index 0000000000..d914d21ac4 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202365_53229430258_o.79cb0cd6-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202365_53229430258_o.79cb0cd6-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202365_53229430258_o.79cb0cd6-opt-2048.WEBP new file mode 100644 index 0000000000..6a948c30b8 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202365_53229430258_o.79cb0cd6-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202365_53229430258_o.79cb0cd6-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202365_53229430258_o.79cb0cd6-opt-256.WEBP new file mode 100644 index 0000000000..740fc51d29 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202365_53229430258_o.79cb0cd6-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202365_53229430258_o.79cb0cd6-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202365_53229430258_o.79cb0cd6-opt-32.WEBP new file mode 100644 index 0000000000..2790831de4 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202365_53229430258_o.79cb0cd6-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202365_53229430258_o.79cb0cd6-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202365_53229430258_o.79cb0cd6-opt-384.WEBP new file mode 100644 index 0000000000..5b9a7bab49 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202365_53229430258_o.79cb0cd6-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202365_53229430258_o.79cb0cd6-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202365_53229430258_o.79cb0cd6-opt-3840.WEBP new file mode 100644 index 0000000000..7f0eb00265 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202365_53229430258_o.79cb0cd6-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202365_53229430258_o.79cb0cd6-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202365_53229430258_o.79cb0cd6-opt-48.WEBP new file mode 100644 index 0000000000..4efa8f2aa6 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202365_53229430258_o.79cb0cd6-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202365_53229430258_o.79cb0cd6-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202365_53229430258_o.79cb0cd6-opt-64.WEBP new file mode 100644 index 0000000000..2869e16144 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202365_53229430258_o.79cb0cd6-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202365_53229430258_o.79cb0cd6-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202365_53229430258_o.79cb0cd6-opt-640.WEBP new file mode 100644 index 0000000000..f9ab3722f4 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202365_53229430258_o.79cb0cd6-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202365_53229430258_o.79cb0cd6-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202365_53229430258_o.79cb0cd6-opt-750.WEBP new file mode 100644 index 0000000000..7bee5967f8 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202365_53229430258_o.79cb0cd6-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202365_53229430258_o.79cb0cd6-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202365_53229430258_o.79cb0cd6-opt-828.WEBP new file mode 100644 index 0000000000..812a0d9f10 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202365_53229430258_o.79cb0cd6-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202365_53229430258_o.79cb0cd6-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202365_53229430258_o.79cb0cd6-opt-96.WEBP new file mode 100644 index 0000000000..a6db274187 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202365_53229430258_o.79cb0cd6-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202366_53229628825_o.2ed01ad0-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202366_53229628825_o.2ed01ad0-opt-10.WEBP new file mode 100644 index 0000000000..7d1f13269d Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202366_53229628825_o.2ed01ad0-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202366_53229628825_o.2ed01ad0-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202366_53229628825_o.2ed01ad0-opt-1080.WEBP new file mode 100644 index 0000000000..0420f886d8 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202366_53229628825_o.2ed01ad0-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202366_53229628825_o.2ed01ad0-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202366_53229628825_o.2ed01ad0-opt-1200.WEBP new file mode 100644 index 0000000000..351a218f44 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202366_53229628825_o.2ed01ad0-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202366_53229628825_o.2ed01ad0-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202366_53229628825_o.2ed01ad0-opt-128.WEBP new file mode 100644 index 0000000000..ef7b675d64 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202366_53229628825_o.2ed01ad0-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202366_53229628825_o.2ed01ad0-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202366_53229628825_o.2ed01ad0-opt-16.WEBP new file mode 100644 index 0000000000..f828f79f04 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202366_53229628825_o.2ed01ad0-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202366_53229628825_o.2ed01ad0-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202366_53229628825_o.2ed01ad0-opt-1920.WEBP new file mode 100644 index 0000000000..f4439c897e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202366_53229628825_o.2ed01ad0-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202366_53229628825_o.2ed01ad0-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202366_53229628825_o.2ed01ad0-opt-2048.WEBP new file mode 100644 index 0000000000..19b2d8ac5c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202366_53229628825_o.2ed01ad0-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202366_53229628825_o.2ed01ad0-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202366_53229628825_o.2ed01ad0-opt-256.WEBP new file mode 100644 index 0000000000..f65fbf4773 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202366_53229628825_o.2ed01ad0-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202366_53229628825_o.2ed01ad0-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202366_53229628825_o.2ed01ad0-opt-32.WEBP new file mode 100644 index 0000000000..c2fc60710f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202366_53229628825_o.2ed01ad0-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202366_53229628825_o.2ed01ad0-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202366_53229628825_o.2ed01ad0-opt-384.WEBP new file mode 100644 index 0000000000..b212ff243c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202366_53229628825_o.2ed01ad0-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202366_53229628825_o.2ed01ad0-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202366_53229628825_o.2ed01ad0-opt-3840.WEBP new file mode 100644 index 0000000000..64df947ac8 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202366_53229628825_o.2ed01ad0-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202366_53229628825_o.2ed01ad0-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202366_53229628825_o.2ed01ad0-opt-48.WEBP new file mode 100644 index 0000000000..c97fed9293 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202366_53229628825_o.2ed01ad0-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202366_53229628825_o.2ed01ad0-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202366_53229628825_o.2ed01ad0-opt-64.WEBP new file mode 100644 index 0000000000..f76ef83c3a Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202366_53229628825_o.2ed01ad0-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202366_53229628825_o.2ed01ad0-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202366_53229628825_o.2ed01ad0-opt-640.WEBP new file mode 100644 index 0000000000..38d4839dcb Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202366_53229628825_o.2ed01ad0-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202366_53229628825_o.2ed01ad0-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202366_53229628825_o.2ed01ad0-opt-750.WEBP new file mode 100644 index 0000000000..15f159b924 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202366_53229628825_o.2ed01ad0-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202366_53229628825_o.2ed01ad0-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202366_53229628825_o.2ed01ad0-opt-828.WEBP new file mode 100644 index 0000000000..539102a44e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202366_53229628825_o.2ed01ad0-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202366_53229628825_o.2ed01ad0-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202366_53229628825_o.2ed01ad0-opt-96.WEBP new file mode 100644 index 0000000000..cc0f7fadd0 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202366_53229628825_o.2ed01ad0-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202367_53229430268_o.99d027a1-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202367_53229430268_o.99d027a1-opt-10.WEBP new file mode 100644 index 0000000000..65828024bf Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202367_53229430268_o.99d027a1-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202367_53229430268_o.99d027a1-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202367_53229430268_o.99d027a1-opt-1080.WEBP new file mode 100644 index 0000000000..2dae34ccdb Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202367_53229430268_o.99d027a1-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202367_53229430268_o.99d027a1-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202367_53229430268_o.99d027a1-opt-1200.WEBP new file mode 100644 index 0000000000..2eb5308d17 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202367_53229430268_o.99d027a1-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202367_53229430268_o.99d027a1-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202367_53229430268_o.99d027a1-opt-128.WEBP new file mode 100644 index 0000000000..3fc05237a1 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202367_53229430268_o.99d027a1-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202367_53229430268_o.99d027a1-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202367_53229430268_o.99d027a1-opt-16.WEBP new file mode 100644 index 0000000000..fa59fb60d9 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202367_53229430268_o.99d027a1-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202367_53229430268_o.99d027a1-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202367_53229430268_o.99d027a1-opt-1920.WEBP new file mode 100644 index 0000000000..c9cb660f98 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202367_53229430268_o.99d027a1-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202367_53229430268_o.99d027a1-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202367_53229430268_o.99d027a1-opt-2048.WEBP new file mode 100644 index 0000000000..964d3f1dc9 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202367_53229430268_o.99d027a1-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202367_53229430268_o.99d027a1-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202367_53229430268_o.99d027a1-opt-256.WEBP new file mode 100644 index 0000000000..ad833ba497 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202367_53229430268_o.99d027a1-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202367_53229430268_o.99d027a1-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202367_53229430268_o.99d027a1-opt-32.WEBP new file mode 100644 index 0000000000..32457e23bb Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202367_53229430268_o.99d027a1-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202367_53229430268_o.99d027a1-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202367_53229430268_o.99d027a1-opt-384.WEBP new file mode 100644 index 0000000000..1e84439c20 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202367_53229430268_o.99d027a1-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202367_53229430268_o.99d027a1-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202367_53229430268_o.99d027a1-opt-3840.WEBP new file mode 100644 index 0000000000..e369a64d5d Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202367_53229430268_o.99d027a1-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202367_53229430268_o.99d027a1-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202367_53229430268_o.99d027a1-opt-48.WEBP new file mode 100644 index 0000000000..ad821856dc Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202367_53229430268_o.99d027a1-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202367_53229430268_o.99d027a1-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202367_53229430268_o.99d027a1-opt-64.WEBP new file mode 100644 index 0000000000..5702043b71 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202367_53229430268_o.99d027a1-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202367_53229430268_o.99d027a1-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202367_53229430268_o.99d027a1-opt-640.WEBP new file mode 100644 index 0000000000..9f19bb98fe Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202367_53229430268_o.99d027a1-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202367_53229430268_o.99d027a1-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202367_53229430268_o.99d027a1-opt-750.WEBP new file mode 100644 index 0000000000..7fa586142d Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202367_53229430268_o.99d027a1-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202367_53229430268_o.99d027a1-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202367_53229430268_o.99d027a1-opt-828.WEBP new file mode 100644 index 0000000000..0c729ac4a6 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202367_53229430268_o.99d027a1-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202367_53229430268_o.99d027a1-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202367_53229430268_o.99d027a1-opt-96.WEBP new file mode 100644 index 0000000000..02083a8a7f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202367_53229430268_o.99d027a1-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202368_53229430823_o.b9d923f4-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202368_53229430823_o.b9d923f4-opt-10.WEBP new file mode 100644 index 0000000000..14c77d77be Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202368_53229430823_o.b9d923f4-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202368_53229430823_o.b9d923f4-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202368_53229430823_o.b9d923f4-opt-1080.WEBP new file mode 100644 index 0000000000..dfaa9d2320 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202368_53229430823_o.b9d923f4-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202368_53229430823_o.b9d923f4-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202368_53229430823_o.b9d923f4-opt-1200.WEBP new file mode 100644 index 0000000000..c825ee5838 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202368_53229430823_o.b9d923f4-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202368_53229430823_o.b9d923f4-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202368_53229430823_o.b9d923f4-opt-128.WEBP new file mode 100644 index 0000000000..cc423fb405 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202368_53229430823_o.b9d923f4-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202368_53229430823_o.b9d923f4-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202368_53229430823_o.b9d923f4-opt-16.WEBP new file mode 100644 index 0000000000..98c823cfb6 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202368_53229430823_o.b9d923f4-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202368_53229430823_o.b9d923f4-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202368_53229430823_o.b9d923f4-opt-1920.WEBP new file mode 100644 index 0000000000..4ef0b5ecdb Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202368_53229430823_o.b9d923f4-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202368_53229430823_o.b9d923f4-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202368_53229430823_o.b9d923f4-opt-2048.WEBP new file mode 100644 index 0000000000..5cb6506e35 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202368_53229430823_o.b9d923f4-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202368_53229430823_o.b9d923f4-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202368_53229430823_o.b9d923f4-opt-256.WEBP new file mode 100644 index 0000000000..cf592d4be1 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202368_53229430823_o.b9d923f4-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202368_53229430823_o.b9d923f4-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202368_53229430823_o.b9d923f4-opt-32.WEBP new file mode 100644 index 0000000000..454d1fe7b2 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202368_53229430823_o.b9d923f4-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202368_53229430823_o.b9d923f4-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202368_53229430823_o.b9d923f4-opt-384.WEBP new file mode 100644 index 0000000000..025ed89fd4 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202368_53229430823_o.b9d923f4-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202368_53229430823_o.b9d923f4-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202368_53229430823_o.b9d923f4-opt-3840.WEBP new file mode 100644 index 0000000000..57ad427761 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202368_53229430823_o.b9d923f4-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202368_53229430823_o.b9d923f4-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202368_53229430823_o.b9d923f4-opt-48.WEBP new file mode 100644 index 0000000000..af55ae1e6c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202368_53229430823_o.b9d923f4-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202368_53229430823_o.b9d923f4-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202368_53229430823_o.b9d923f4-opt-64.WEBP new file mode 100644 index 0000000000..91a3f827b6 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202368_53229430823_o.b9d923f4-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202368_53229430823_o.b9d923f4-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202368_53229430823_o.b9d923f4-opt-640.WEBP new file mode 100644 index 0000000000..8378d32fc0 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202368_53229430823_o.b9d923f4-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202368_53229430823_o.b9d923f4-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202368_53229430823_o.b9d923f4-opt-750.WEBP new file mode 100644 index 0000000000..b73d8595bd Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202368_53229430823_o.b9d923f4-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202368_53229430823_o.b9d923f4-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202368_53229430823_o.b9d923f4-opt-828.WEBP new file mode 100644 index 0000000000..7d5a1b0898 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202368_53229430823_o.b9d923f4-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202368_53229430823_o.b9d923f4-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202368_53229430823_o.b9d923f4-opt-96.WEBP new file mode 100644 index 0000000000..a39bbf5deb Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202368_53229430823_o.b9d923f4-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202369_53229628795_o.f37fecb1-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202369_53229628795_o.f37fecb1-opt-10.WEBP new file mode 100644 index 0000000000..dc5081d8c6 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202369_53229628795_o.f37fecb1-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202369_53229628795_o.f37fecb1-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202369_53229628795_o.f37fecb1-opt-1080.WEBP new file mode 100644 index 0000000000..7687aeabf6 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202369_53229628795_o.f37fecb1-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202369_53229628795_o.f37fecb1-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202369_53229628795_o.f37fecb1-opt-1200.WEBP new file mode 100644 index 0000000000..c990623a52 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202369_53229628795_o.f37fecb1-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202369_53229628795_o.f37fecb1-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202369_53229628795_o.f37fecb1-opt-128.WEBP new file mode 100644 index 0000000000..75f28c434b Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202369_53229628795_o.f37fecb1-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202369_53229628795_o.f37fecb1-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202369_53229628795_o.f37fecb1-opt-16.WEBP new file mode 100644 index 0000000000..5dd7b323b9 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202369_53229628795_o.f37fecb1-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202369_53229628795_o.f37fecb1-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202369_53229628795_o.f37fecb1-opt-1920.WEBP new file mode 100644 index 0000000000..166a2c765f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202369_53229628795_o.f37fecb1-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202369_53229628795_o.f37fecb1-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202369_53229628795_o.f37fecb1-opt-2048.WEBP new file mode 100644 index 0000000000..ddc430df44 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202369_53229628795_o.f37fecb1-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202369_53229628795_o.f37fecb1-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202369_53229628795_o.f37fecb1-opt-256.WEBP new file mode 100644 index 0000000000..b9b941cb48 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202369_53229628795_o.f37fecb1-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202369_53229628795_o.f37fecb1-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202369_53229628795_o.f37fecb1-opt-32.WEBP new file mode 100644 index 0000000000..63f7c1b086 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202369_53229628795_o.f37fecb1-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202369_53229628795_o.f37fecb1-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202369_53229628795_o.f37fecb1-opt-384.WEBP new file mode 100644 index 0000000000..5fddff26b6 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202369_53229628795_o.f37fecb1-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202369_53229628795_o.f37fecb1-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202369_53229628795_o.f37fecb1-opt-3840.WEBP new file mode 100644 index 0000000000..eb893a0d70 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202369_53229628795_o.f37fecb1-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202369_53229628795_o.f37fecb1-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202369_53229628795_o.f37fecb1-opt-48.WEBP new file mode 100644 index 0000000000..6b4e9af079 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202369_53229628795_o.f37fecb1-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202369_53229628795_o.f37fecb1-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202369_53229628795_o.f37fecb1-opt-64.WEBP new file mode 100644 index 0000000000..ff03d09748 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202369_53229628795_o.f37fecb1-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202369_53229628795_o.f37fecb1-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202369_53229628795_o.f37fecb1-opt-640.WEBP new file mode 100644 index 0000000000..a136c84e45 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202369_53229628795_o.f37fecb1-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202369_53229628795_o.f37fecb1-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202369_53229628795_o.f37fecb1-opt-750.WEBP new file mode 100644 index 0000000000..fd5d15d079 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202369_53229628795_o.f37fecb1-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202369_53229628795_o.f37fecb1-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202369_53229628795_o.f37fecb1-opt-828.WEBP new file mode 100644 index 0000000000..34ea69e087 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202369_53229628795_o.f37fecb1-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202369_53229628795_o.f37fecb1-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202369_53229628795_o.f37fecb1-opt-96.WEBP new file mode 100644 index 0000000000..f3b8d73251 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202369_53229628795_o.f37fecb1-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20236_53229431543_o.7613bf28-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-20236_53229431543_o.7613bf28-opt-10.WEBP new file mode 100644 index 0000000000..d95aea112f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20236_53229431543_o.7613bf28-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20236_53229431543_o.7613bf28-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-20236_53229431543_o.7613bf28-opt-1080.WEBP new file mode 100644 index 0000000000..abfad494d8 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20236_53229431543_o.7613bf28-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20236_53229431543_o.7613bf28-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-20236_53229431543_o.7613bf28-opt-1200.WEBP new file mode 100644 index 0000000000..ac98a402f3 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20236_53229431543_o.7613bf28-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20236_53229431543_o.7613bf28-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-20236_53229431543_o.7613bf28-opt-128.WEBP new file mode 100644 index 0000000000..355037a232 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20236_53229431543_o.7613bf28-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20236_53229431543_o.7613bf28-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-20236_53229431543_o.7613bf28-opt-16.WEBP new file mode 100644 index 0000000000..cc8203efab Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20236_53229431543_o.7613bf28-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20236_53229431543_o.7613bf28-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-20236_53229431543_o.7613bf28-opt-1920.WEBP new file mode 100644 index 0000000000..1e8024e9cb Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20236_53229431543_o.7613bf28-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20236_53229431543_o.7613bf28-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-20236_53229431543_o.7613bf28-opt-2048.WEBP new file mode 100644 index 0000000000..c3dfe689fe Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20236_53229431543_o.7613bf28-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20236_53229431543_o.7613bf28-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-20236_53229431543_o.7613bf28-opt-256.WEBP new file mode 100644 index 0000000000..8afbd8fff2 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20236_53229431543_o.7613bf28-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20236_53229431543_o.7613bf28-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-20236_53229431543_o.7613bf28-opt-32.WEBP new file mode 100644 index 0000000000..7a028b4dc5 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20236_53229431543_o.7613bf28-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20236_53229431543_o.7613bf28-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-20236_53229431543_o.7613bf28-opt-384.WEBP new file mode 100644 index 0000000000..78dd89d78b Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20236_53229431543_o.7613bf28-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20236_53229431543_o.7613bf28-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-20236_53229431543_o.7613bf28-opt-3840.WEBP new file mode 100644 index 0000000000..a35a6f2c6b Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20236_53229431543_o.7613bf28-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20236_53229431543_o.7613bf28-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-20236_53229431543_o.7613bf28-opt-48.WEBP new file mode 100644 index 0000000000..eaff9212ea Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20236_53229431543_o.7613bf28-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20236_53229431543_o.7613bf28-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-20236_53229431543_o.7613bf28-opt-64.WEBP new file mode 100644 index 0000000000..fe8bf36254 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20236_53229431543_o.7613bf28-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20236_53229431543_o.7613bf28-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-20236_53229431543_o.7613bf28-opt-640.WEBP new file mode 100644 index 0000000000..71d03ac5b0 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20236_53229431543_o.7613bf28-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20236_53229431543_o.7613bf28-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-20236_53229431543_o.7613bf28-opt-750.WEBP new file mode 100644 index 0000000000..9c49ccc916 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20236_53229431543_o.7613bf28-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20236_53229431543_o.7613bf28-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-20236_53229431543_o.7613bf28-opt-828.WEBP new file mode 100644 index 0000000000..8bf65b5ee2 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20236_53229431543_o.7613bf28-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20236_53229431543_o.7613bf28-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-20236_53229431543_o.7613bf28-opt-96.WEBP new file mode 100644 index 0000000000..ab2bb9ff86 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20236_53229431543_o.7613bf28-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202370_53228255572_o.d32f275d-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202370_53228255572_o.d32f275d-opt-10.WEBP new file mode 100644 index 0000000000..af5422b3af Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202370_53228255572_o.d32f275d-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202370_53228255572_o.d32f275d-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202370_53228255572_o.d32f275d-opt-1080.WEBP new file mode 100644 index 0000000000..ce600c396f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202370_53228255572_o.d32f275d-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202370_53228255572_o.d32f275d-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202370_53228255572_o.d32f275d-opt-1200.WEBP new file mode 100644 index 0000000000..1f189af653 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202370_53228255572_o.d32f275d-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202370_53228255572_o.d32f275d-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202370_53228255572_o.d32f275d-opt-128.WEBP new file mode 100644 index 0000000000..b3086f1325 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202370_53228255572_o.d32f275d-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202370_53228255572_o.d32f275d-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202370_53228255572_o.d32f275d-opt-16.WEBP new file mode 100644 index 0000000000..3b67c66b77 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202370_53228255572_o.d32f275d-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202370_53228255572_o.d32f275d-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202370_53228255572_o.d32f275d-opt-1920.WEBP new file mode 100644 index 0000000000..99493d3f22 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202370_53228255572_o.d32f275d-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202370_53228255572_o.d32f275d-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202370_53228255572_o.d32f275d-opt-2048.WEBP new file mode 100644 index 0000000000..04832e3321 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202370_53228255572_o.d32f275d-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202370_53228255572_o.d32f275d-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202370_53228255572_o.d32f275d-opt-256.WEBP new file mode 100644 index 0000000000..1ebba111ee Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202370_53228255572_o.d32f275d-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202370_53228255572_o.d32f275d-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202370_53228255572_o.d32f275d-opt-32.WEBP new file mode 100644 index 0000000000..65ab963c6f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202370_53228255572_o.d32f275d-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202370_53228255572_o.d32f275d-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202370_53228255572_o.d32f275d-opt-384.WEBP new file mode 100644 index 0000000000..459dd89dad Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202370_53228255572_o.d32f275d-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202370_53228255572_o.d32f275d-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202370_53228255572_o.d32f275d-opt-3840.WEBP new file mode 100644 index 0000000000..6a89b77ea6 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202370_53228255572_o.d32f275d-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202370_53228255572_o.d32f275d-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202370_53228255572_o.d32f275d-opt-48.WEBP new file mode 100644 index 0000000000..e2938b61cd Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202370_53228255572_o.d32f275d-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202370_53228255572_o.d32f275d-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202370_53228255572_o.d32f275d-opt-64.WEBP new file mode 100644 index 0000000000..682a9f7589 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202370_53228255572_o.d32f275d-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202370_53228255572_o.d32f275d-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202370_53228255572_o.d32f275d-opt-640.WEBP new file mode 100644 index 0000000000..a78bca32d5 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202370_53228255572_o.d32f275d-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202370_53228255572_o.d32f275d-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202370_53228255572_o.d32f275d-opt-750.WEBP new file mode 100644 index 0000000000..ed9b6a33ca Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202370_53228255572_o.d32f275d-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202370_53228255572_o.d32f275d-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202370_53228255572_o.d32f275d-opt-828.WEBP new file mode 100644 index 0000000000..2148d9339c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202370_53228255572_o.d32f275d-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202370_53228255572_o.d32f275d-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202370_53228255572_o.d32f275d-opt-96.WEBP new file mode 100644 index 0000000000..4ae3ec0181 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202370_53228255572_o.d32f275d-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202371_53229628710_o.b50decfa-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202371_53229628710_o.b50decfa-opt-10.WEBP new file mode 100644 index 0000000000..b53680443b Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202371_53229628710_o.b50decfa-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202371_53229628710_o.b50decfa-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202371_53229628710_o.b50decfa-opt-1080.WEBP new file mode 100644 index 0000000000..22757582ce Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202371_53229628710_o.b50decfa-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202371_53229628710_o.b50decfa-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202371_53229628710_o.b50decfa-opt-1200.WEBP new file mode 100644 index 0000000000..c78e2781a7 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202371_53229628710_o.b50decfa-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202371_53229628710_o.b50decfa-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202371_53229628710_o.b50decfa-opt-128.WEBP new file mode 100644 index 0000000000..b8f5af9e14 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202371_53229628710_o.b50decfa-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202371_53229628710_o.b50decfa-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202371_53229628710_o.b50decfa-opt-16.WEBP new file mode 100644 index 0000000000..c1f268b3af Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202371_53229628710_o.b50decfa-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202371_53229628710_o.b50decfa-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202371_53229628710_o.b50decfa-opt-1920.WEBP new file mode 100644 index 0000000000..c597dac028 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202371_53229628710_o.b50decfa-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202371_53229628710_o.b50decfa-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202371_53229628710_o.b50decfa-opt-2048.WEBP new file mode 100644 index 0000000000..a90880c11d Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202371_53229628710_o.b50decfa-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202371_53229628710_o.b50decfa-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202371_53229628710_o.b50decfa-opt-256.WEBP new file mode 100644 index 0000000000..c199b99187 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202371_53229628710_o.b50decfa-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202371_53229628710_o.b50decfa-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202371_53229628710_o.b50decfa-opt-32.WEBP new file mode 100644 index 0000000000..46948945da Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202371_53229628710_o.b50decfa-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202371_53229628710_o.b50decfa-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202371_53229628710_o.b50decfa-opt-384.WEBP new file mode 100644 index 0000000000..77624d6897 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202371_53229628710_o.b50decfa-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202371_53229628710_o.b50decfa-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202371_53229628710_o.b50decfa-opt-3840.WEBP new file mode 100644 index 0000000000..15f70d7832 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202371_53229628710_o.b50decfa-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202371_53229628710_o.b50decfa-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202371_53229628710_o.b50decfa-opt-48.WEBP new file mode 100644 index 0000000000..7ab5b40962 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202371_53229628710_o.b50decfa-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202371_53229628710_o.b50decfa-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202371_53229628710_o.b50decfa-opt-64.WEBP new file mode 100644 index 0000000000..12423c3065 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202371_53229628710_o.b50decfa-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202371_53229628710_o.b50decfa-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202371_53229628710_o.b50decfa-opt-640.WEBP new file mode 100644 index 0000000000..d4e2a13b27 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202371_53229628710_o.b50decfa-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202371_53229628710_o.b50decfa-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202371_53229628710_o.b50decfa-opt-750.WEBP new file mode 100644 index 0000000000..b471161b6b Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202371_53229628710_o.b50decfa-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202371_53229628710_o.b50decfa-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202371_53229628710_o.b50decfa-opt-828.WEBP new file mode 100644 index 0000000000..e5b02c3f1e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202371_53229628710_o.b50decfa-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202371_53229628710_o.b50decfa-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202371_53229628710_o.b50decfa-opt-96.WEBP new file mode 100644 index 0000000000..8830ebb993 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202371_53229628710_o.b50decfa-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202372_53229628695_o.1f2523ca-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202372_53229628695_o.1f2523ca-opt-10.WEBP new file mode 100644 index 0000000000..efc16e5e2c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202372_53229628695_o.1f2523ca-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202372_53229628695_o.1f2523ca-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202372_53229628695_o.1f2523ca-opt-1080.WEBP new file mode 100644 index 0000000000..ebd6c62f7f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202372_53229628695_o.1f2523ca-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202372_53229628695_o.1f2523ca-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202372_53229628695_o.1f2523ca-opt-1200.WEBP new file mode 100644 index 0000000000..78fed98c9b Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202372_53229628695_o.1f2523ca-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202372_53229628695_o.1f2523ca-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202372_53229628695_o.1f2523ca-opt-128.WEBP new file mode 100644 index 0000000000..51f870467d Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202372_53229628695_o.1f2523ca-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202372_53229628695_o.1f2523ca-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202372_53229628695_o.1f2523ca-opt-16.WEBP new file mode 100644 index 0000000000..03a4dce312 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202372_53229628695_o.1f2523ca-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202372_53229628695_o.1f2523ca-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202372_53229628695_o.1f2523ca-opt-1920.WEBP new file mode 100644 index 0000000000..8db01871fc Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202372_53229628695_o.1f2523ca-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202372_53229628695_o.1f2523ca-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202372_53229628695_o.1f2523ca-opt-2048.WEBP new file mode 100644 index 0000000000..3fe8765787 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202372_53229628695_o.1f2523ca-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202372_53229628695_o.1f2523ca-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202372_53229628695_o.1f2523ca-opt-256.WEBP new file mode 100644 index 0000000000..e72d5c2570 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202372_53229628695_o.1f2523ca-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202372_53229628695_o.1f2523ca-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202372_53229628695_o.1f2523ca-opt-32.WEBP new file mode 100644 index 0000000000..492d23397c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202372_53229628695_o.1f2523ca-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202372_53229628695_o.1f2523ca-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202372_53229628695_o.1f2523ca-opt-384.WEBP new file mode 100644 index 0000000000..b95287f267 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202372_53229628695_o.1f2523ca-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202372_53229628695_o.1f2523ca-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202372_53229628695_o.1f2523ca-opt-3840.WEBP new file mode 100644 index 0000000000..697ca1c649 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202372_53229628695_o.1f2523ca-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202372_53229628695_o.1f2523ca-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202372_53229628695_o.1f2523ca-opt-48.WEBP new file mode 100644 index 0000000000..cbc6965daa Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202372_53229628695_o.1f2523ca-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202372_53229628695_o.1f2523ca-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202372_53229628695_o.1f2523ca-opt-64.WEBP new file mode 100644 index 0000000000..21d52fd51c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202372_53229628695_o.1f2523ca-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202372_53229628695_o.1f2523ca-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202372_53229628695_o.1f2523ca-opt-640.WEBP new file mode 100644 index 0000000000..f3a9231073 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202372_53229628695_o.1f2523ca-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202372_53229628695_o.1f2523ca-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202372_53229628695_o.1f2523ca-opt-750.WEBP new file mode 100644 index 0000000000..5faa5c490b Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202372_53229628695_o.1f2523ca-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202372_53229628695_o.1f2523ca-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202372_53229628695_o.1f2523ca-opt-828.WEBP new file mode 100644 index 0000000000..e3ad1fc4c6 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202372_53229628695_o.1f2523ca-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202372_53229628695_o.1f2523ca-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202372_53229628695_o.1f2523ca-opt-96.WEBP new file mode 100644 index 0000000000..ad40f3d7bd Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202372_53229628695_o.1f2523ca-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202373_53229430683_o.afbfd335-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202373_53229430683_o.afbfd335-opt-10.WEBP new file mode 100644 index 0000000000..36fcd4b0be Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202373_53229430683_o.afbfd335-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202373_53229430683_o.afbfd335-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202373_53229430683_o.afbfd335-opt-1080.WEBP new file mode 100644 index 0000000000..889054f804 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202373_53229430683_o.afbfd335-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202373_53229430683_o.afbfd335-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202373_53229430683_o.afbfd335-opt-1200.WEBP new file mode 100644 index 0000000000..67c9117966 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202373_53229430683_o.afbfd335-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202373_53229430683_o.afbfd335-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202373_53229430683_o.afbfd335-opt-128.WEBP new file mode 100644 index 0000000000..e6f19cf90c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202373_53229430683_o.afbfd335-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202373_53229430683_o.afbfd335-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202373_53229430683_o.afbfd335-opt-16.WEBP new file mode 100644 index 0000000000..eef645cb89 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202373_53229430683_o.afbfd335-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202373_53229430683_o.afbfd335-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202373_53229430683_o.afbfd335-opt-1920.WEBP new file mode 100644 index 0000000000..b113ceae1f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202373_53229430683_o.afbfd335-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202373_53229430683_o.afbfd335-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202373_53229430683_o.afbfd335-opt-2048.WEBP new file mode 100644 index 0000000000..c5c3506b85 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202373_53229430683_o.afbfd335-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202373_53229430683_o.afbfd335-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202373_53229430683_o.afbfd335-opt-256.WEBP new file mode 100644 index 0000000000..e047f1dfa6 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202373_53229430683_o.afbfd335-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202373_53229430683_o.afbfd335-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202373_53229430683_o.afbfd335-opt-32.WEBP new file mode 100644 index 0000000000..3d5cc14b2c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202373_53229430683_o.afbfd335-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202373_53229430683_o.afbfd335-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202373_53229430683_o.afbfd335-opt-384.WEBP new file mode 100644 index 0000000000..ab79973af0 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202373_53229430683_o.afbfd335-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202373_53229430683_o.afbfd335-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202373_53229430683_o.afbfd335-opt-3840.WEBP new file mode 100644 index 0000000000..606aa29893 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202373_53229430683_o.afbfd335-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202373_53229430683_o.afbfd335-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202373_53229430683_o.afbfd335-opt-48.WEBP new file mode 100644 index 0000000000..7f0691f12f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202373_53229430683_o.afbfd335-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202373_53229430683_o.afbfd335-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202373_53229430683_o.afbfd335-opt-64.WEBP new file mode 100644 index 0000000000..2c16134a77 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202373_53229430683_o.afbfd335-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202373_53229430683_o.afbfd335-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202373_53229430683_o.afbfd335-opt-640.WEBP new file mode 100644 index 0000000000..d7fea24a11 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202373_53229430683_o.afbfd335-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202373_53229430683_o.afbfd335-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202373_53229430683_o.afbfd335-opt-750.WEBP new file mode 100644 index 0000000000..bbb15ecae7 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202373_53229430683_o.afbfd335-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202373_53229430683_o.afbfd335-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202373_53229430683_o.afbfd335-opt-828.WEBP new file mode 100644 index 0000000000..81a20700c7 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202373_53229430683_o.afbfd335-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202373_53229430683_o.afbfd335-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202373_53229430683_o.afbfd335-opt-96.WEBP new file mode 100644 index 0000000000..8536fc1c87 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202373_53229430683_o.afbfd335-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202374_53228255537_o.e77067db-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202374_53228255537_o.e77067db-opt-10.WEBP new file mode 100644 index 0000000000..b95d1a250b Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202374_53228255537_o.e77067db-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202374_53228255537_o.e77067db-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202374_53228255537_o.e77067db-opt-1080.WEBP new file mode 100644 index 0000000000..9896d22b10 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202374_53228255537_o.e77067db-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202374_53228255537_o.e77067db-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202374_53228255537_o.e77067db-opt-1200.WEBP new file mode 100644 index 0000000000..7c30b2c564 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202374_53228255537_o.e77067db-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202374_53228255537_o.e77067db-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202374_53228255537_o.e77067db-opt-128.WEBP new file mode 100644 index 0000000000..3e5d48d754 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202374_53228255537_o.e77067db-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202374_53228255537_o.e77067db-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202374_53228255537_o.e77067db-opt-16.WEBP new file mode 100644 index 0000000000..1fe2eac62b Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202374_53228255537_o.e77067db-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202374_53228255537_o.e77067db-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202374_53228255537_o.e77067db-opt-1920.WEBP new file mode 100644 index 0000000000..9ddd1d419c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202374_53228255537_o.e77067db-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202374_53228255537_o.e77067db-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202374_53228255537_o.e77067db-opt-2048.WEBP new file mode 100644 index 0000000000..b1299086b7 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202374_53228255537_o.e77067db-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202374_53228255537_o.e77067db-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202374_53228255537_o.e77067db-opt-256.WEBP new file mode 100644 index 0000000000..8786581808 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202374_53228255537_o.e77067db-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202374_53228255537_o.e77067db-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202374_53228255537_o.e77067db-opt-32.WEBP new file mode 100644 index 0000000000..7450684f1b Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202374_53228255537_o.e77067db-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202374_53228255537_o.e77067db-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202374_53228255537_o.e77067db-opt-384.WEBP new file mode 100644 index 0000000000..78f3a51bc6 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202374_53228255537_o.e77067db-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202374_53228255537_o.e77067db-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202374_53228255537_o.e77067db-opt-3840.WEBP new file mode 100644 index 0000000000..29b71b1251 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202374_53228255537_o.e77067db-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202374_53228255537_o.e77067db-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202374_53228255537_o.e77067db-opt-48.WEBP new file mode 100644 index 0000000000..d09c60fcaa Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202374_53228255537_o.e77067db-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202374_53228255537_o.e77067db-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202374_53228255537_o.e77067db-opt-64.WEBP new file mode 100644 index 0000000000..bc1912efad Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202374_53228255537_o.e77067db-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202374_53228255537_o.e77067db-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202374_53228255537_o.e77067db-opt-640.WEBP new file mode 100644 index 0000000000..e0491648a8 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202374_53228255537_o.e77067db-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202374_53228255537_o.e77067db-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202374_53228255537_o.e77067db-opt-750.WEBP new file mode 100644 index 0000000000..9198d7e681 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202374_53228255537_o.e77067db-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202374_53228255537_o.e77067db-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202374_53228255537_o.e77067db-opt-828.WEBP new file mode 100644 index 0000000000..e730c2a2ca Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202374_53228255537_o.e77067db-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202374_53228255537_o.e77067db-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202374_53228255537_o.e77067db-opt-96.WEBP new file mode 100644 index 0000000000..bf4b722925 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202374_53228255537_o.e77067db-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202375_53228255527_o.f2d9cb5e-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202375_53228255527_o.f2d9cb5e-opt-10.WEBP new file mode 100644 index 0000000000..701f09f64c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202375_53228255527_o.f2d9cb5e-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202375_53228255527_o.f2d9cb5e-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202375_53228255527_o.f2d9cb5e-opt-1080.WEBP new file mode 100644 index 0000000000..bc51bb98f7 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202375_53228255527_o.f2d9cb5e-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202375_53228255527_o.f2d9cb5e-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202375_53228255527_o.f2d9cb5e-opt-1200.WEBP new file mode 100644 index 0000000000..440d3a557d Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202375_53228255527_o.f2d9cb5e-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202375_53228255527_o.f2d9cb5e-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202375_53228255527_o.f2d9cb5e-opt-128.WEBP new file mode 100644 index 0000000000..371bbb1210 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202375_53228255527_o.f2d9cb5e-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202375_53228255527_o.f2d9cb5e-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202375_53228255527_o.f2d9cb5e-opt-16.WEBP new file mode 100644 index 0000000000..5a06e52437 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202375_53228255527_o.f2d9cb5e-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202375_53228255527_o.f2d9cb5e-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202375_53228255527_o.f2d9cb5e-opt-1920.WEBP new file mode 100644 index 0000000000..c3fd1e29de Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202375_53228255527_o.f2d9cb5e-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202375_53228255527_o.f2d9cb5e-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202375_53228255527_o.f2d9cb5e-opt-2048.WEBP new file mode 100644 index 0000000000..970ae74a48 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202375_53228255527_o.f2d9cb5e-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202375_53228255527_o.f2d9cb5e-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202375_53228255527_o.f2d9cb5e-opt-256.WEBP new file mode 100644 index 0000000000..215c91a84e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202375_53228255527_o.f2d9cb5e-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202375_53228255527_o.f2d9cb5e-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202375_53228255527_o.f2d9cb5e-opt-32.WEBP new file mode 100644 index 0000000000..50993581b5 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202375_53228255527_o.f2d9cb5e-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202375_53228255527_o.f2d9cb5e-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202375_53228255527_o.f2d9cb5e-opt-384.WEBP new file mode 100644 index 0000000000..bdb56ae96a Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202375_53228255527_o.f2d9cb5e-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202375_53228255527_o.f2d9cb5e-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202375_53228255527_o.f2d9cb5e-opt-3840.WEBP new file mode 100644 index 0000000000..df6ca10582 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202375_53228255527_o.f2d9cb5e-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202375_53228255527_o.f2d9cb5e-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202375_53228255527_o.f2d9cb5e-opt-48.WEBP new file mode 100644 index 0000000000..5cc66412e1 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202375_53228255527_o.f2d9cb5e-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202375_53228255527_o.f2d9cb5e-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202375_53228255527_o.f2d9cb5e-opt-64.WEBP new file mode 100644 index 0000000000..43d67b856d Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202375_53228255527_o.f2d9cb5e-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202375_53228255527_o.f2d9cb5e-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202375_53228255527_o.f2d9cb5e-opt-640.WEBP new file mode 100644 index 0000000000..a21f726ec7 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202375_53228255527_o.f2d9cb5e-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202375_53228255527_o.f2d9cb5e-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202375_53228255527_o.f2d9cb5e-opt-750.WEBP new file mode 100644 index 0000000000..8205174194 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202375_53228255527_o.f2d9cb5e-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202375_53228255527_o.f2d9cb5e-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202375_53228255527_o.f2d9cb5e-opt-828.WEBP new file mode 100644 index 0000000000..585f8190a9 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202375_53228255527_o.f2d9cb5e-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202375_53228255527_o.f2d9cb5e-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202375_53228255527_o.f2d9cb5e-opt-96.WEBP new file mode 100644 index 0000000000..1ebd33d421 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202375_53228255527_o.f2d9cb5e-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202376_53229628665_o.7588ad1e-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202376_53229628665_o.7588ad1e-opt-10.WEBP new file mode 100644 index 0000000000..285386dd13 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202376_53229628665_o.7588ad1e-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202376_53229628665_o.7588ad1e-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202376_53229628665_o.7588ad1e-opt-1080.WEBP new file mode 100644 index 0000000000..a352c2e283 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202376_53229628665_o.7588ad1e-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202376_53229628665_o.7588ad1e-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202376_53229628665_o.7588ad1e-opt-1200.WEBP new file mode 100644 index 0000000000..d171f09c32 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202376_53229628665_o.7588ad1e-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202376_53229628665_o.7588ad1e-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202376_53229628665_o.7588ad1e-opt-128.WEBP new file mode 100644 index 0000000000..badd4d7117 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202376_53229628665_o.7588ad1e-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202376_53229628665_o.7588ad1e-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202376_53229628665_o.7588ad1e-opt-16.WEBP new file mode 100644 index 0000000000..ccef25562a Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202376_53229628665_o.7588ad1e-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202376_53229628665_o.7588ad1e-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202376_53229628665_o.7588ad1e-opt-1920.WEBP new file mode 100644 index 0000000000..aeb51897cd Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202376_53229628665_o.7588ad1e-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202376_53229628665_o.7588ad1e-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202376_53229628665_o.7588ad1e-opt-2048.WEBP new file mode 100644 index 0000000000..9bb50ab142 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202376_53229628665_o.7588ad1e-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202376_53229628665_o.7588ad1e-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202376_53229628665_o.7588ad1e-opt-256.WEBP new file mode 100644 index 0000000000..63e09a3b1a Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202376_53229628665_o.7588ad1e-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202376_53229628665_o.7588ad1e-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202376_53229628665_o.7588ad1e-opt-32.WEBP new file mode 100644 index 0000000000..9fba7df699 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202376_53229628665_o.7588ad1e-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202376_53229628665_o.7588ad1e-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202376_53229628665_o.7588ad1e-opt-384.WEBP new file mode 100644 index 0000000000..da1a5e2843 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202376_53229628665_o.7588ad1e-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202376_53229628665_o.7588ad1e-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202376_53229628665_o.7588ad1e-opt-3840.WEBP new file mode 100644 index 0000000000..437b139bb8 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202376_53229628665_o.7588ad1e-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202376_53229628665_o.7588ad1e-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202376_53229628665_o.7588ad1e-opt-48.WEBP new file mode 100644 index 0000000000..2986298892 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202376_53229628665_o.7588ad1e-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202376_53229628665_o.7588ad1e-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202376_53229628665_o.7588ad1e-opt-64.WEBP new file mode 100644 index 0000000000..1bb5d12c80 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202376_53229628665_o.7588ad1e-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202376_53229628665_o.7588ad1e-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202376_53229628665_o.7588ad1e-opt-640.WEBP new file mode 100644 index 0000000000..627f60f019 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202376_53229628665_o.7588ad1e-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202376_53229628665_o.7588ad1e-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202376_53229628665_o.7588ad1e-opt-750.WEBP new file mode 100644 index 0000000000..4739cdb282 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202376_53229628665_o.7588ad1e-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202376_53229628665_o.7588ad1e-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202376_53229628665_o.7588ad1e-opt-828.WEBP new file mode 100644 index 0000000000..aa0e4a18ac Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202376_53229628665_o.7588ad1e-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202376_53229628665_o.7588ad1e-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202376_53229628665_o.7588ad1e-opt-96.WEBP new file mode 100644 index 0000000000..d4422072c1 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202376_53229628665_o.7588ad1e-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202377_53229430648_o.e972a067-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202377_53229430648_o.e972a067-opt-10.WEBP new file mode 100644 index 0000000000..05d583c858 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202377_53229430648_o.e972a067-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202377_53229430648_o.e972a067-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202377_53229430648_o.e972a067-opt-1080.WEBP new file mode 100644 index 0000000000..5f2da0bfb4 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202377_53229430648_o.e972a067-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202377_53229430648_o.e972a067-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202377_53229430648_o.e972a067-opt-1200.WEBP new file mode 100644 index 0000000000..260d6ce81f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202377_53229430648_o.e972a067-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202377_53229430648_o.e972a067-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202377_53229430648_o.e972a067-opt-128.WEBP new file mode 100644 index 0000000000..7eb43aca60 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202377_53229430648_o.e972a067-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202377_53229430648_o.e972a067-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202377_53229430648_o.e972a067-opt-16.WEBP new file mode 100644 index 0000000000..786a51a897 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202377_53229430648_o.e972a067-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202377_53229430648_o.e972a067-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202377_53229430648_o.e972a067-opt-1920.WEBP new file mode 100644 index 0000000000..e36a939eb2 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202377_53229430648_o.e972a067-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202377_53229430648_o.e972a067-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202377_53229430648_o.e972a067-opt-2048.WEBP new file mode 100644 index 0000000000..7f3bde8985 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202377_53229430648_o.e972a067-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202377_53229430648_o.e972a067-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202377_53229430648_o.e972a067-opt-256.WEBP new file mode 100644 index 0000000000..5582005cc4 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202377_53229430648_o.e972a067-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202377_53229430648_o.e972a067-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202377_53229430648_o.e972a067-opt-32.WEBP new file mode 100644 index 0000000000..1fb38c0004 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202377_53229430648_o.e972a067-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202377_53229430648_o.e972a067-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202377_53229430648_o.e972a067-opt-384.WEBP new file mode 100644 index 0000000000..4f4a6db5b0 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202377_53229430648_o.e972a067-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202377_53229430648_o.e972a067-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202377_53229430648_o.e972a067-opt-3840.WEBP new file mode 100644 index 0000000000..1b6036012f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202377_53229430648_o.e972a067-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202377_53229430648_o.e972a067-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202377_53229430648_o.e972a067-opt-48.WEBP new file mode 100644 index 0000000000..27d78d9796 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202377_53229430648_o.e972a067-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202377_53229430648_o.e972a067-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202377_53229430648_o.e972a067-opt-64.WEBP new file mode 100644 index 0000000000..39b6c2b087 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202377_53229430648_o.e972a067-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202377_53229430648_o.e972a067-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202377_53229430648_o.e972a067-opt-640.WEBP new file mode 100644 index 0000000000..2c51b070cd Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202377_53229430648_o.e972a067-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202377_53229430648_o.e972a067-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202377_53229430648_o.e972a067-opt-750.WEBP new file mode 100644 index 0000000000..d34ba5e47c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202377_53229430648_o.e972a067-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202377_53229430648_o.e972a067-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202377_53229430648_o.e972a067-opt-828.WEBP new file mode 100644 index 0000000000..7e41627c5c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202377_53229430648_o.e972a067-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202377_53229430648_o.e972a067-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202377_53229430648_o.e972a067-opt-96.WEBP new file mode 100644 index 0000000000..e6498182ec Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202377_53229430648_o.e972a067-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202378_53228255107_o.440701ab-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202378_53228255107_o.440701ab-opt-10.WEBP new file mode 100644 index 0000000000..d0867df9ff Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202378_53228255107_o.440701ab-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202378_53228255107_o.440701ab-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202378_53228255107_o.440701ab-opt-1080.WEBP new file mode 100644 index 0000000000..994aff0950 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202378_53228255107_o.440701ab-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202378_53228255107_o.440701ab-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202378_53228255107_o.440701ab-opt-1200.WEBP new file mode 100644 index 0000000000..8d3166f5a1 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202378_53228255107_o.440701ab-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202378_53228255107_o.440701ab-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202378_53228255107_o.440701ab-opt-128.WEBP new file mode 100644 index 0000000000..d4102e774b Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202378_53228255107_o.440701ab-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202378_53228255107_o.440701ab-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202378_53228255107_o.440701ab-opt-16.WEBP new file mode 100644 index 0000000000..583dccf662 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202378_53228255107_o.440701ab-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202378_53228255107_o.440701ab-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202378_53228255107_o.440701ab-opt-1920.WEBP new file mode 100644 index 0000000000..bdd66d96a4 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202378_53228255107_o.440701ab-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202378_53228255107_o.440701ab-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202378_53228255107_o.440701ab-opt-2048.WEBP new file mode 100644 index 0000000000..28a4c563f5 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202378_53228255107_o.440701ab-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202378_53228255107_o.440701ab-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202378_53228255107_o.440701ab-opt-256.WEBP new file mode 100644 index 0000000000..66710aac3b Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202378_53228255107_o.440701ab-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202378_53228255107_o.440701ab-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202378_53228255107_o.440701ab-opt-32.WEBP new file mode 100644 index 0000000000..57cb1e646c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202378_53228255107_o.440701ab-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202378_53228255107_o.440701ab-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202378_53228255107_o.440701ab-opt-384.WEBP new file mode 100644 index 0000000000..389a19f935 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202378_53228255107_o.440701ab-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202378_53228255107_o.440701ab-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202378_53228255107_o.440701ab-opt-3840.WEBP new file mode 100644 index 0000000000..ec58186b8b Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202378_53228255107_o.440701ab-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202378_53228255107_o.440701ab-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202378_53228255107_o.440701ab-opt-48.WEBP new file mode 100644 index 0000000000..b58cad8f91 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202378_53228255107_o.440701ab-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202378_53228255107_o.440701ab-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202378_53228255107_o.440701ab-opt-64.WEBP new file mode 100644 index 0000000000..ddbfab2d04 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202378_53228255107_o.440701ab-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202378_53228255107_o.440701ab-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202378_53228255107_o.440701ab-opt-640.WEBP new file mode 100644 index 0000000000..f4f72a189a Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202378_53228255107_o.440701ab-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202378_53228255107_o.440701ab-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202378_53228255107_o.440701ab-opt-750.WEBP new file mode 100644 index 0000000000..7d37f25cba Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202378_53228255107_o.440701ab-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202378_53228255107_o.440701ab-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202378_53228255107_o.440701ab-opt-828.WEBP new file mode 100644 index 0000000000..363a42eb08 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202378_53228255107_o.440701ab-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202378_53228255107_o.440701ab-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202378_53228255107_o.440701ab-opt-96.WEBP new file mode 100644 index 0000000000..e2b2c58a68 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202378_53228255107_o.440701ab-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202379_53228255097_o.049e6aca-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202379_53228255097_o.049e6aca-opt-10.WEBP new file mode 100644 index 0000000000..a1c070c2ed Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202379_53228255097_o.049e6aca-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202379_53228255097_o.049e6aca-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202379_53228255097_o.049e6aca-opt-1080.WEBP new file mode 100644 index 0000000000..6769a0a7cb Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202379_53228255097_o.049e6aca-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202379_53228255097_o.049e6aca-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202379_53228255097_o.049e6aca-opt-1200.WEBP new file mode 100644 index 0000000000..fbb066186c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202379_53228255097_o.049e6aca-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202379_53228255097_o.049e6aca-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202379_53228255097_o.049e6aca-opt-128.WEBP new file mode 100644 index 0000000000..bf13d8b82e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202379_53228255097_o.049e6aca-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202379_53228255097_o.049e6aca-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202379_53228255097_o.049e6aca-opt-16.WEBP new file mode 100644 index 0000000000..9ea24feb23 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202379_53228255097_o.049e6aca-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202379_53228255097_o.049e6aca-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202379_53228255097_o.049e6aca-opt-1920.WEBP new file mode 100644 index 0000000000..aa7de85b19 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202379_53228255097_o.049e6aca-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202379_53228255097_o.049e6aca-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202379_53228255097_o.049e6aca-opt-2048.WEBP new file mode 100644 index 0000000000..68917c0072 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202379_53228255097_o.049e6aca-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202379_53228255097_o.049e6aca-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202379_53228255097_o.049e6aca-opt-256.WEBP new file mode 100644 index 0000000000..59ab71c65a Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202379_53228255097_o.049e6aca-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202379_53228255097_o.049e6aca-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202379_53228255097_o.049e6aca-opt-32.WEBP new file mode 100644 index 0000000000..8607e4cf79 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202379_53228255097_o.049e6aca-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202379_53228255097_o.049e6aca-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202379_53228255097_o.049e6aca-opt-384.WEBP new file mode 100644 index 0000000000..63e2ebe5a8 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202379_53228255097_o.049e6aca-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202379_53228255097_o.049e6aca-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202379_53228255097_o.049e6aca-opt-3840.WEBP new file mode 100644 index 0000000000..2aceb2db0f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202379_53228255097_o.049e6aca-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202379_53228255097_o.049e6aca-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202379_53228255097_o.049e6aca-opt-48.WEBP new file mode 100644 index 0000000000..04815f2af2 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202379_53228255097_o.049e6aca-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202379_53228255097_o.049e6aca-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202379_53228255097_o.049e6aca-opt-64.WEBP new file mode 100644 index 0000000000..247e8bb46e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202379_53228255097_o.049e6aca-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202379_53228255097_o.049e6aca-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202379_53228255097_o.049e6aca-opt-640.WEBP new file mode 100644 index 0000000000..fdfda1a6ae Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202379_53228255097_o.049e6aca-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202379_53228255097_o.049e6aca-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202379_53228255097_o.049e6aca-opt-750.WEBP new file mode 100644 index 0000000000..c9629e44a3 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202379_53228255097_o.049e6aca-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202379_53228255097_o.049e6aca-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202379_53228255097_o.049e6aca-opt-828.WEBP new file mode 100644 index 0000000000..6a730e9b85 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202379_53228255097_o.049e6aca-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202379_53228255097_o.049e6aca-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202379_53228255097_o.049e6aca-opt-96.WEBP new file mode 100644 index 0000000000..74731e637e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202379_53228255097_o.049e6aca-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20237_53229629480_o.965ea827-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-20237_53229629480_o.965ea827-opt-10.WEBP new file mode 100644 index 0000000000..dd9bd8c5bc Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20237_53229629480_o.965ea827-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20237_53229629480_o.965ea827-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-20237_53229629480_o.965ea827-opt-1080.WEBP new file mode 100644 index 0000000000..b6372c1e4e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20237_53229629480_o.965ea827-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20237_53229629480_o.965ea827-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-20237_53229629480_o.965ea827-opt-1200.WEBP new file mode 100644 index 0000000000..f9ecdcbf98 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20237_53229629480_o.965ea827-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20237_53229629480_o.965ea827-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-20237_53229629480_o.965ea827-opt-128.WEBP new file mode 100644 index 0000000000..800660d6bb Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20237_53229629480_o.965ea827-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20237_53229629480_o.965ea827-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-20237_53229629480_o.965ea827-opt-16.WEBP new file mode 100644 index 0000000000..bd9572852a Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20237_53229629480_o.965ea827-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20237_53229629480_o.965ea827-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-20237_53229629480_o.965ea827-opt-1920.WEBP new file mode 100644 index 0000000000..96cd994794 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20237_53229629480_o.965ea827-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20237_53229629480_o.965ea827-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-20237_53229629480_o.965ea827-opt-2048.WEBP new file mode 100644 index 0000000000..fde701b497 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20237_53229629480_o.965ea827-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20237_53229629480_o.965ea827-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-20237_53229629480_o.965ea827-opt-256.WEBP new file mode 100644 index 0000000000..f579f49867 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20237_53229629480_o.965ea827-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20237_53229629480_o.965ea827-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-20237_53229629480_o.965ea827-opt-32.WEBP new file mode 100644 index 0000000000..05c1f10cdf Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20237_53229629480_o.965ea827-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20237_53229629480_o.965ea827-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-20237_53229629480_o.965ea827-opt-384.WEBP new file mode 100644 index 0000000000..7d9e9f6737 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20237_53229629480_o.965ea827-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20237_53229629480_o.965ea827-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-20237_53229629480_o.965ea827-opt-3840.WEBP new file mode 100644 index 0000000000..5550db4ad8 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20237_53229629480_o.965ea827-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20237_53229629480_o.965ea827-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-20237_53229629480_o.965ea827-opt-48.WEBP new file mode 100644 index 0000000000..83250713c7 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20237_53229629480_o.965ea827-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20237_53229629480_o.965ea827-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-20237_53229629480_o.965ea827-opt-64.WEBP new file mode 100644 index 0000000000..4e8a217374 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20237_53229629480_o.965ea827-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20237_53229629480_o.965ea827-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-20237_53229629480_o.965ea827-opt-640.WEBP new file mode 100644 index 0000000000..4ec8e88ecf Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20237_53229629480_o.965ea827-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20237_53229629480_o.965ea827-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-20237_53229629480_o.965ea827-opt-750.WEBP new file mode 100644 index 0000000000..336d227eae Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20237_53229629480_o.965ea827-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20237_53229629480_o.965ea827-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-20237_53229629480_o.965ea827-opt-828.WEBP new file mode 100644 index 0000000000..e2e77434fe Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20237_53229629480_o.965ea827-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20237_53229629480_o.965ea827-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-20237_53229629480_o.965ea827-opt-96.WEBP new file mode 100644 index 0000000000..99740efc59 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20237_53229629480_o.965ea827-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202380_53229430623_o.6b50a026-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202380_53229430623_o.6b50a026-opt-10.WEBP new file mode 100644 index 0000000000..c8b083b5d6 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202380_53229430623_o.6b50a026-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202380_53229430623_o.6b50a026-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202380_53229430623_o.6b50a026-opt-1080.WEBP new file mode 100644 index 0000000000..abcbc47975 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202380_53229430623_o.6b50a026-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202380_53229430623_o.6b50a026-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202380_53229430623_o.6b50a026-opt-1200.WEBP new file mode 100644 index 0000000000..c0a41a16f3 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202380_53229430623_o.6b50a026-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202380_53229430623_o.6b50a026-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202380_53229430623_o.6b50a026-opt-128.WEBP new file mode 100644 index 0000000000..9a8f3f984d Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202380_53229430623_o.6b50a026-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202380_53229430623_o.6b50a026-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202380_53229430623_o.6b50a026-opt-16.WEBP new file mode 100644 index 0000000000..95273fbffd Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202380_53229430623_o.6b50a026-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202380_53229430623_o.6b50a026-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202380_53229430623_o.6b50a026-opt-1920.WEBP new file mode 100644 index 0000000000..ceded1ad14 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202380_53229430623_o.6b50a026-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202380_53229430623_o.6b50a026-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202380_53229430623_o.6b50a026-opt-2048.WEBP new file mode 100644 index 0000000000..e32c127d0f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202380_53229430623_o.6b50a026-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202380_53229430623_o.6b50a026-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202380_53229430623_o.6b50a026-opt-256.WEBP new file mode 100644 index 0000000000..7b5885d5d9 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202380_53229430623_o.6b50a026-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202380_53229430623_o.6b50a026-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202380_53229430623_o.6b50a026-opt-32.WEBP new file mode 100644 index 0000000000..f18c9f807f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202380_53229430623_o.6b50a026-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202380_53229430623_o.6b50a026-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202380_53229430623_o.6b50a026-opt-384.WEBP new file mode 100644 index 0000000000..59cdbcf1fa Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202380_53229430623_o.6b50a026-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202380_53229430623_o.6b50a026-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202380_53229430623_o.6b50a026-opt-3840.WEBP new file mode 100644 index 0000000000..017b3d0b81 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202380_53229430623_o.6b50a026-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202380_53229430623_o.6b50a026-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202380_53229430623_o.6b50a026-opt-48.WEBP new file mode 100644 index 0000000000..ae687e2d70 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202380_53229430623_o.6b50a026-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202380_53229430623_o.6b50a026-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202380_53229430623_o.6b50a026-opt-64.WEBP new file mode 100644 index 0000000000..31cf2df59c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202380_53229430623_o.6b50a026-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202380_53229430623_o.6b50a026-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202380_53229430623_o.6b50a026-opt-640.WEBP new file mode 100644 index 0000000000..908c5396b2 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202380_53229430623_o.6b50a026-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202380_53229430623_o.6b50a026-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202380_53229430623_o.6b50a026-opt-750.WEBP new file mode 100644 index 0000000000..8e1a918718 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202380_53229430623_o.6b50a026-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202380_53229430623_o.6b50a026-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202380_53229430623_o.6b50a026-opt-828.WEBP new file mode 100644 index 0000000000..a2653f1eb5 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202380_53229430623_o.6b50a026-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202380_53229430623_o.6b50a026-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202380_53229430623_o.6b50a026-opt-96.WEBP new file mode 100644 index 0000000000..9cf1c333ee Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202380_53229430623_o.6b50a026-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202381_53228255092_o.6362027c-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202381_53228255092_o.6362027c-opt-10.WEBP new file mode 100644 index 0000000000..665e18b29e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202381_53228255092_o.6362027c-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202381_53228255092_o.6362027c-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202381_53228255092_o.6362027c-opt-1080.WEBP new file mode 100644 index 0000000000..74f64c2838 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202381_53228255092_o.6362027c-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202381_53228255092_o.6362027c-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202381_53228255092_o.6362027c-opt-1200.WEBP new file mode 100644 index 0000000000..8db36143d6 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202381_53228255092_o.6362027c-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202381_53228255092_o.6362027c-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202381_53228255092_o.6362027c-opt-128.WEBP new file mode 100644 index 0000000000..44b0374c7e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202381_53228255092_o.6362027c-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202381_53228255092_o.6362027c-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202381_53228255092_o.6362027c-opt-16.WEBP new file mode 100644 index 0000000000..6a678adb5d Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202381_53228255092_o.6362027c-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202381_53228255092_o.6362027c-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202381_53228255092_o.6362027c-opt-1920.WEBP new file mode 100644 index 0000000000..31d556e5e7 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202381_53228255092_o.6362027c-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202381_53228255092_o.6362027c-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202381_53228255092_o.6362027c-opt-2048.WEBP new file mode 100644 index 0000000000..d5360208ba Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202381_53228255092_o.6362027c-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202381_53228255092_o.6362027c-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202381_53228255092_o.6362027c-opt-256.WEBP new file mode 100644 index 0000000000..1728eb8e0a Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202381_53228255092_o.6362027c-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202381_53228255092_o.6362027c-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202381_53228255092_o.6362027c-opt-32.WEBP new file mode 100644 index 0000000000..ea3e8c611d Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202381_53228255092_o.6362027c-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202381_53228255092_o.6362027c-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202381_53228255092_o.6362027c-opt-384.WEBP new file mode 100644 index 0000000000..4d5d81b49e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202381_53228255092_o.6362027c-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202381_53228255092_o.6362027c-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202381_53228255092_o.6362027c-opt-3840.WEBP new file mode 100644 index 0000000000..ca23ef65c3 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202381_53228255092_o.6362027c-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202381_53228255092_o.6362027c-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202381_53228255092_o.6362027c-opt-48.WEBP new file mode 100644 index 0000000000..de868f06f4 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202381_53228255092_o.6362027c-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202381_53228255092_o.6362027c-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202381_53228255092_o.6362027c-opt-64.WEBP new file mode 100644 index 0000000000..6603aa5f7f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202381_53228255092_o.6362027c-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202381_53228255092_o.6362027c-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202381_53228255092_o.6362027c-opt-640.WEBP new file mode 100644 index 0000000000..5987778e23 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202381_53228255092_o.6362027c-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202381_53228255092_o.6362027c-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202381_53228255092_o.6362027c-opt-750.WEBP new file mode 100644 index 0000000000..c04c24368e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202381_53228255092_o.6362027c-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202381_53228255092_o.6362027c-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202381_53228255092_o.6362027c-opt-828.WEBP new file mode 100644 index 0000000000..ab0d1d0d83 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202381_53228255092_o.6362027c-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202381_53228255092_o.6362027c-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202381_53228255092_o.6362027c-opt-96.WEBP new file mode 100644 index 0000000000..8ab3067082 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202381_53228255092_o.6362027c-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202383_53228255462_o.230755c9-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202383_53228255462_o.230755c9-opt-10.WEBP new file mode 100644 index 0000000000..3199ced859 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202383_53228255462_o.230755c9-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202383_53228255462_o.230755c9-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202383_53228255462_o.230755c9-opt-1080.WEBP new file mode 100644 index 0000000000..41678ef31c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202383_53228255462_o.230755c9-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202383_53228255462_o.230755c9-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202383_53228255462_o.230755c9-opt-1200.WEBP new file mode 100644 index 0000000000..115bcbd7f4 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202383_53228255462_o.230755c9-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202383_53228255462_o.230755c9-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202383_53228255462_o.230755c9-opt-128.WEBP new file mode 100644 index 0000000000..89ffbdd820 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202383_53228255462_o.230755c9-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202383_53228255462_o.230755c9-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202383_53228255462_o.230755c9-opt-16.WEBP new file mode 100644 index 0000000000..df7cdaa876 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202383_53228255462_o.230755c9-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202383_53228255462_o.230755c9-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202383_53228255462_o.230755c9-opt-1920.WEBP new file mode 100644 index 0000000000..c4448af004 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202383_53228255462_o.230755c9-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202383_53228255462_o.230755c9-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202383_53228255462_o.230755c9-opt-2048.WEBP new file mode 100644 index 0000000000..abc6527420 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202383_53228255462_o.230755c9-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202383_53228255462_o.230755c9-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202383_53228255462_o.230755c9-opt-256.WEBP new file mode 100644 index 0000000000..00d18805a4 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202383_53228255462_o.230755c9-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202383_53228255462_o.230755c9-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202383_53228255462_o.230755c9-opt-32.WEBP new file mode 100644 index 0000000000..924e4f1bdd Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202383_53228255462_o.230755c9-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202383_53228255462_o.230755c9-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202383_53228255462_o.230755c9-opt-384.WEBP new file mode 100644 index 0000000000..51b645ddf0 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202383_53228255462_o.230755c9-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202383_53228255462_o.230755c9-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202383_53228255462_o.230755c9-opt-3840.WEBP new file mode 100644 index 0000000000..5031e8bd20 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202383_53228255462_o.230755c9-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202383_53228255462_o.230755c9-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202383_53228255462_o.230755c9-opt-48.WEBP new file mode 100644 index 0000000000..c307f37759 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202383_53228255462_o.230755c9-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202383_53228255462_o.230755c9-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202383_53228255462_o.230755c9-opt-64.WEBP new file mode 100644 index 0000000000..b8014036bd Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202383_53228255462_o.230755c9-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202383_53228255462_o.230755c9-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202383_53228255462_o.230755c9-opt-640.WEBP new file mode 100644 index 0000000000..d37c60a43d Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202383_53228255462_o.230755c9-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202383_53228255462_o.230755c9-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202383_53228255462_o.230755c9-opt-750.WEBP new file mode 100644 index 0000000000..d8ed59f448 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202383_53228255462_o.230755c9-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202383_53228255462_o.230755c9-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202383_53228255462_o.230755c9-opt-828.WEBP new file mode 100644 index 0000000000..673f31aed6 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202383_53228255462_o.230755c9-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202383_53228255462_o.230755c9-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202383_53228255462_o.230755c9-opt-96.WEBP new file mode 100644 index 0000000000..b29bf0a9e3 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202383_53228255462_o.230755c9-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202384_53229129586_o.c94f152f-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202384_53229129586_o.c94f152f-opt-10.WEBP new file mode 100644 index 0000000000..3cde3ecdb6 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202384_53229129586_o.c94f152f-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202384_53229129586_o.c94f152f-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202384_53229129586_o.c94f152f-opt-1080.WEBP new file mode 100644 index 0000000000..fa4154143a Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202384_53229129586_o.c94f152f-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202384_53229129586_o.c94f152f-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202384_53229129586_o.c94f152f-opt-1200.WEBP new file mode 100644 index 0000000000..a68c53efdc Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202384_53229129586_o.c94f152f-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202384_53229129586_o.c94f152f-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202384_53229129586_o.c94f152f-opt-128.WEBP new file mode 100644 index 0000000000..cc5743f62d Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202384_53229129586_o.c94f152f-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202384_53229129586_o.c94f152f-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202384_53229129586_o.c94f152f-opt-16.WEBP new file mode 100644 index 0000000000..45f681b9d7 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202384_53229129586_o.c94f152f-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202384_53229129586_o.c94f152f-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202384_53229129586_o.c94f152f-opt-1920.WEBP new file mode 100644 index 0000000000..0a30af4f3b Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202384_53229129586_o.c94f152f-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202384_53229129586_o.c94f152f-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202384_53229129586_o.c94f152f-opt-2048.WEBP new file mode 100644 index 0000000000..be84a56908 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202384_53229129586_o.c94f152f-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202384_53229129586_o.c94f152f-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202384_53229129586_o.c94f152f-opt-256.WEBP new file mode 100644 index 0000000000..727f9ec077 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202384_53229129586_o.c94f152f-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202384_53229129586_o.c94f152f-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202384_53229129586_o.c94f152f-opt-32.WEBP new file mode 100644 index 0000000000..5977c86a7d Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202384_53229129586_o.c94f152f-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202384_53229129586_o.c94f152f-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202384_53229129586_o.c94f152f-opt-384.WEBP new file mode 100644 index 0000000000..ce42190565 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202384_53229129586_o.c94f152f-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202384_53229129586_o.c94f152f-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202384_53229129586_o.c94f152f-opt-3840.WEBP new file mode 100644 index 0000000000..0ea893475a Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202384_53229129586_o.c94f152f-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202384_53229129586_o.c94f152f-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202384_53229129586_o.c94f152f-opt-48.WEBP new file mode 100644 index 0000000000..545350d159 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202384_53229129586_o.c94f152f-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202384_53229129586_o.c94f152f-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202384_53229129586_o.c94f152f-opt-64.WEBP new file mode 100644 index 0000000000..bbea2b615a Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202384_53229129586_o.c94f152f-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202384_53229129586_o.c94f152f-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202384_53229129586_o.c94f152f-opt-640.WEBP new file mode 100644 index 0000000000..79244969f3 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202384_53229129586_o.c94f152f-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202384_53229129586_o.c94f152f-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202384_53229129586_o.c94f152f-opt-750.WEBP new file mode 100644 index 0000000000..04f49f3fa3 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202384_53229129586_o.c94f152f-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202384_53229129586_o.c94f152f-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202384_53229129586_o.c94f152f-opt-828.WEBP new file mode 100644 index 0000000000..3ca1a466dc Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202384_53229129586_o.c94f152f-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202384_53229129586_o.c94f152f-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202384_53229129586_o.c94f152f-opt-96.WEBP new file mode 100644 index 0000000000..701e8807e3 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202384_53229129586_o.c94f152f-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202385_53229504819_o.87e52ba9-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202385_53229504819_o.87e52ba9-opt-10.WEBP new file mode 100644 index 0000000000..dae09f40a1 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202385_53229504819_o.87e52ba9-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202385_53229504819_o.87e52ba9-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202385_53229504819_o.87e52ba9-opt-1080.WEBP new file mode 100644 index 0000000000..ba4c48c1c1 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202385_53229504819_o.87e52ba9-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202385_53229504819_o.87e52ba9-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202385_53229504819_o.87e52ba9-opt-1200.WEBP new file mode 100644 index 0000000000..faaf20ced7 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202385_53229504819_o.87e52ba9-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202385_53229504819_o.87e52ba9-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202385_53229504819_o.87e52ba9-opt-128.WEBP new file mode 100644 index 0000000000..3fc330c99c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202385_53229504819_o.87e52ba9-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202385_53229504819_o.87e52ba9-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202385_53229504819_o.87e52ba9-opt-16.WEBP new file mode 100644 index 0000000000..f92b8552b2 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202385_53229504819_o.87e52ba9-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202385_53229504819_o.87e52ba9-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202385_53229504819_o.87e52ba9-opt-1920.WEBP new file mode 100644 index 0000000000..c2c6847f4c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202385_53229504819_o.87e52ba9-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202385_53229504819_o.87e52ba9-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202385_53229504819_o.87e52ba9-opt-2048.WEBP new file mode 100644 index 0000000000..80a1a4cb66 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202385_53229504819_o.87e52ba9-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202385_53229504819_o.87e52ba9-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202385_53229504819_o.87e52ba9-opt-256.WEBP new file mode 100644 index 0000000000..88ce6e8757 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202385_53229504819_o.87e52ba9-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202385_53229504819_o.87e52ba9-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202385_53229504819_o.87e52ba9-opt-32.WEBP new file mode 100644 index 0000000000..2d4ca08b78 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202385_53229504819_o.87e52ba9-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202385_53229504819_o.87e52ba9-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202385_53229504819_o.87e52ba9-opt-384.WEBP new file mode 100644 index 0000000000..c05f29fdac Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202385_53229504819_o.87e52ba9-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202385_53229504819_o.87e52ba9-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202385_53229504819_o.87e52ba9-opt-3840.WEBP new file mode 100644 index 0000000000..eac8dd4631 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202385_53229504819_o.87e52ba9-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202385_53229504819_o.87e52ba9-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202385_53229504819_o.87e52ba9-opt-48.WEBP new file mode 100644 index 0000000000..1231710d63 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202385_53229504819_o.87e52ba9-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202385_53229504819_o.87e52ba9-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202385_53229504819_o.87e52ba9-opt-64.WEBP new file mode 100644 index 0000000000..0007830452 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202385_53229504819_o.87e52ba9-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202385_53229504819_o.87e52ba9-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202385_53229504819_o.87e52ba9-opt-640.WEBP new file mode 100644 index 0000000000..d431d5e9a0 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202385_53229504819_o.87e52ba9-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202385_53229504819_o.87e52ba9-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202385_53229504819_o.87e52ba9-opt-750.WEBP new file mode 100644 index 0000000000..60bf1862d9 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202385_53229504819_o.87e52ba9-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202385_53229504819_o.87e52ba9-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202385_53229504819_o.87e52ba9-opt-828.WEBP new file mode 100644 index 0000000000..e6ef62e7ae Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202385_53229504819_o.87e52ba9-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202385_53229504819_o.87e52ba9-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202385_53229504819_o.87e52ba9-opt-96.WEBP new file mode 100644 index 0000000000..1531228dcc Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202385_53229504819_o.87e52ba9-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202386_53229129601_o.2bcfa035-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202386_53229129601_o.2bcfa035-opt-10.WEBP new file mode 100644 index 0000000000..77f2083861 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202386_53229129601_o.2bcfa035-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202386_53229129601_o.2bcfa035-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202386_53229129601_o.2bcfa035-opt-1080.WEBP new file mode 100644 index 0000000000..a483b159ce Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202386_53229129601_o.2bcfa035-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202386_53229129601_o.2bcfa035-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202386_53229129601_o.2bcfa035-opt-1200.WEBP new file mode 100644 index 0000000000..bc807dd691 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202386_53229129601_o.2bcfa035-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202386_53229129601_o.2bcfa035-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202386_53229129601_o.2bcfa035-opt-128.WEBP new file mode 100644 index 0000000000..f6228145e8 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202386_53229129601_o.2bcfa035-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202386_53229129601_o.2bcfa035-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202386_53229129601_o.2bcfa035-opt-16.WEBP new file mode 100644 index 0000000000..23dfb3b15a Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202386_53229129601_o.2bcfa035-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202386_53229129601_o.2bcfa035-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202386_53229129601_o.2bcfa035-opt-1920.WEBP new file mode 100644 index 0000000000..96c6d3960e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202386_53229129601_o.2bcfa035-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202386_53229129601_o.2bcfa035-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202386_53229129601_o.2bcfa035-opt-2048.WEBP new file mode 100644 index 0000000000..c5739246ad Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202386_53229129601_o.2bcfa035-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202386_53229129601_o.2bcfa035-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202386_53229129601_o.2bcfa035-opt-256.WEBP new file mode 100644 index 0000000000..ceb99ce2c0 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202386_53229129601_o.2bcfa035-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202386_53229129601_o.2bcfa035-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202386_53229129601_o.2bcfa035-opt-32.WEBP new file mode 100644 index 0000000000..98708ce4ed Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202386_53229129601_o.2bcfa035-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202386_53229129601_o.2bcfa035-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202386_53229129601_o.2bcfa035-opt-384.WEBP new file mode 100644 index 0000000000..1c2dc241b0 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202386_53229129601_o.2bcfa035-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202386_53229129601_o.2bcfa035-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202386_53229129601_o.2bcfa035-opt-3840.WEBP new file mode 100644 index 0000000000..6f040a2c4a Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202386_53229129601_o.2bcfa035-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202386_53229129601_o.2bcfa035-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202386_53229129601_o.2bcfa035-opt-48.WEBP new file mode 100644 index 0000000000..b6697a8f3e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202386_53229129601_o.2bcfa035-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202386_53229129601_o.2bcfa035-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202386_53229129601_o.2bcfa035-opt-64.WEBP new file mode 100644 index 0000000000..64497dc6ec Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202386_53229129601_o.2bcfa035-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202386_53229129601_o.2bcfa035-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202386_53229129601_o.2bcfa035-opt-640.WEBP new file mode 100644 index 0000000000..3d45b35aa8 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202386_53229129601_o.2bcfa035-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202386_53229129601_o.2bcfa035-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202386_53229129601_o.2bcfa035-opt-750.WEBP new file mode 100644 index 0000000000..291c2facfd Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202386_53229129601_o.2bcfa035-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202386_53229129601_o.2bcfa035-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202386_53229129601_o.2bcfa035-opt-828.WEBP new file mode 100644 index 0000000000..863692d468 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202386_53229129601_o.2bcfa035-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202386_53229129601_o.2bcfa035-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202386_53229129601_o.2bcfa035-opt-96.WEBP new file mode 100644 index 0000000000..7511534ade Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202386_53229129601_o.2bcfa035-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202387_53229628600_o.50b80a2c-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202387_53229628600_o.50b80a2c-opt-10.WEBP new file mode 100644 index 0000000000..5bbfa62e23 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202387_53229628600_o.50b80a2c-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202387_53229628600_o.50b80a2c-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202387_53229628600_o.50b80a2c-opt-1080.WEBP new file mode 100644 index 0000000000..382e347afd Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202387_53229628600_o.50b80a2c-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202387_53229628600_o.50b80a2c-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202387_53229628600_o.50b80a2c-opt-1200.WEBP new file mode 100644 index 0000000000..4b3b20dc7a Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202387_53229628600_o.50b80a2c-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202387_53229628600_o.50b80a2c-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202387_53229628600_o.50b80a2c-opt-128.WEBP new file mode 100644 index 0000000000..b103521ae2 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202387_53229628600_o.50b80a2c-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202387_53229628600_o.50b80a2c-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202387_53229628600_o.50b80a2c-opt-16.WEBP new file mode 100644 index 0000000000..1014331b65 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202387_53229628600_o.50b80a2c-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202387_53229628600_o.50b80a2c-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202387_53229628600_o.50b80a2c-opt-1920.WEBP new file mode 100644 index 0000000000..c744ba7f10 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202387_53229628600_o.50b80a2c-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202387_53229628600_o.50b80a2c-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202387_53229628600_o.50b80a2c-opt-2048.WEBP new file mode 100644 index 0000000000..7d13f23fed Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202387_53229628600_o.50b80a2c-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202387_53229628600_o.50b80a2c-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202387_53229628600_o.50b80a2c-opt-256.WEBP new file mode 100644 index 0000000000..77b366e2eb Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202387_53229628600_o.50b80a2c-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202387_53229628600_o.50b80a2c-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202387_53229628600_o.50b80a2c-opt-32.WEBP new file mode 100644 index 0000000000..27a2738d61 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202387_53229628600_o.50b80a2c-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202387_53229628600_o.50b80a2c-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202387_53229628600_o.50b80a2c-opt-384.WEBP new file mode 100644 index 0000000000..db2aa58dd7 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202387_53229628600_o.50b80a2c-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202387_53229628600_o.50b80a2c-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202387_53229628600_o.50b80a2c-opt-3840.WEBP new file mode 100644 index 0000000000..9dd6605185 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202387_53229628600_o.50b80a2c-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202387_53229628600_o.50b80a2c-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202387_53229628600_o.50b80a2c-opt-48.WEBP new file mode 100644 index 0000000000..f36f425f16 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202387_53229628600_o.50b80a2c-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202387_53229628600_o.50b80a2c-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202387_53229628600_o.50b80a2c-opt-64.WEBP new file mode 100644 index 0000000000..d6572cc00e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202387_53229628600_o.50b80a2c-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202387_53229628600_o.50b80a2c-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202387_53229628600_o.50b80a2c-opt-640.WEBP new file mode 100644 index 0000000000..5fcc9df570 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202387_53229628600_o.50b80a2c-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202387_53229628600_o.50b80a2c-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202387_53229628600_o.50b80a2c-opt-750.WEBP new file mode 100644 index 0000000000..0356f1d7b6 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202387_53229628600_o.50b80a2c-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202387_53229628600_o.50b80a2c-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202387_53229628600_o.50b80a2c-opt-828.WEBP new file mode 100644 index 0000000000..e838779d35 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202387_53229628600_o.50b80a2c-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202387_53229628600_o.50b80a2c-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202387_53229628600_o.50b80a2c-opt-96.WEBP new file mode 100644 index 0000000000..e8364353e0 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202387_53229628600_o.50b80a2c-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202388_53229430518_o.322da773-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202388_53229430518_o.322da773-opt-10.WEBP new file mode 100644 index 0000000000..6eceb17b1d Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202388_53229430518_o.322da773-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202388_53229430518_o.322da773-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202388_53229430518_o.322da773-opt-1080.WEBP new file mode 100644 index 0000000000..c76e3d6fc2 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202388_53229430518_o.322da773-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202388_53229430518_o.322da773-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202388_53229430518_o.322da773-opt-1200.WEBP new file mode 100644 index 0000000000..10c7b5c337 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202388_53229430518_o.322da773-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202388_53229430518_o.322da773-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202388_53229430518_o.322da773-opt-128.WEBP new file mode 100644 index 0000000000..aac111b0ee Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202388_53229430518_o.322da773-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202388_53229430518_o.322da773-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202388_53229430518_o.322da773-opt-16.WEBP new file mode 100644 index 0000000000..a551f5a5ce Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202388_53229430518_o.322da773-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202388_53229430518_o.322da773-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202388_53229430518_o.322da773-opt-1920.WEBP new file mode 100644 index 0000000000..fab88db619 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202388_53229430518_o.322da773-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202388_53229430518_o.322da773-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202388_53229430518_o.322da773-opt-2048.WEBP new file mode 100644 index 0000000000..5892743899 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202388_53229430518_o.322da773-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202388_53229430518_o.322da773-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202388_53229430518_o.322da773-opt-256.WEBP new file mode 100644 index 0000000000..0a915f4476 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202388_53229430518_o.322da773-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202388_53229430518_o.322da773-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202388_53229430518_o.322da773-opt-32.WEBP new file mode 100644 index 0000000000..2395aed10e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202388_53229430518_o.322da773-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202388_53229430518_o.322da773-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202388_53229430518_o.322da773-opt-384.WEBP new file mode 100644 index 0000000000..7c20da2984 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202388_53229430518_o.322da773-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202388_53229430518_o.322da773-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202388_53229430518_o.322da773-opt-3840.WEBP new file mode 100644 index 0000000000..c679fde67c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202388_53229430518_o.322da773-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202388_53229430518_o.322da773-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202388_53229430518_o.322da773-opt-48.WEBP new file mode 100644 index 0000000000..f50a5167c2 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202388_53229430518_o.322da773-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202388_53229430518_o.322da773-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202388_53229430518_o.322da773-opt-64.WEBP new file mode 100644 index 0000000000..c934e66a94 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202388_53229430518_o.322da773-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202388_53229430518_o.322da773-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202388_53229430518_o.322da773-opt-640.WEBP new file mode 100644 index 0000000000..270e32cc3f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202388_53229430518_o.322da773-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202388_53229430518_o.322da773-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202388_53229430518_o.322da773-opt-750.WEBP new file mode 100644 index 0000000000..43c1eb310e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202388_53229430518_o.322da773-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202388_53229430518_o.322da773-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202388_53229430518_o.322da773-opt-828.WEBP new file mode 100644 index 0000000000..e5aef85d50 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202388_53229430518_o.322da773-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202388_53229430518_o.322da773-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202388_53229430518_o.322da773-opt-96.WEBP new file mode 100644 index 0000000000..902b56c74f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202388_53229430518_o.322da773-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202389_53229129526_o.8e8c981e-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202389_53229129526_o.8e8c981e-opt-10.WEBP new file mode 100644 index 0000000000..492ddc4fc1 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202389_53229129526_o.8e8c981e-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202389_53229129526_o.8e8c981e-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202389_53229129526_o.8e8c981e-opt-1080.WEBP new file mode 100644 index 0000000000..bc175ffd73 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202389_53229129526_o.8e8c981e-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202389_53229129526_o.8e8c981e-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202389_53229129526_o.8e8c981e-opt-1200.WEBP new file mode 100644 index 0000000000..47ad80c2bf Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202389_53229129526_o.8e8c981e-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202389_53229129526_o.8e8c981e-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202389_53229129526_o.8e8c981e-opt-128.WEBP new file mode 100644 index 0000000000..8f943d90f0 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202389_53229129526_o.8e8c981e-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202389_53229129526_o.8e8c981e-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202389_53229129526_o.8e8c981e-opt-16.WEBP new file mode 100644 index 0000000000..2028feda69 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202389_53229129526_o.8e8c981e-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202389_53229129526_o.8e8c981e-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202389_53229129526_o.8e8c981e-opt-1920.WEBP new file mode 100644 index 0000000000..b79d27bb37 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202389_53229129526_o.8e8c981e-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202389_53229129526_o.8e8c981e-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202389_53229129526_o.8e8c981e-opt-2048.WEBP new file mode 100644 index 0000000000..e73de64015 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202389_53229129526_o.8e8c981e-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202389_53229129526_o.8e8c981e-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202389_53229129526_o.8e8c981e-opt-256.WEBP new file mode 100644 index 0000000000..e066145397 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202389_53229129526_o.8e8c981e-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202389_53229129526_o.8e8c981e-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202389_53229129526_o.8e8c981e-opt-32.WEBP new file mode 100644 index 0000000000..f58f236a0d Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202389_53229129526_o.8e8c981e-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202389_53229129526_o.8e8c981e-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202389_53229129526_o.8e8c981e-opt-384.WEBP new file mode 100644 index 0000000000..91b3559060 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202389_53229129526_o.8e8c981e-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202389_53229129526_o.8e8c981e-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202389_53229129526_o.8e8c981e-opt-3840.WEBP new file mode 100644 index 0000000000..e0d1de5020 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202389_53229129526_o.8e8c981e-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202389_53229129526_o.8e8c981e-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202389_53229129526_o.8e8c981e-opt-48.WEBP new file mode 100644 index 0000000000..14a8aae2a4 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202389_53229129526_o.8e8c981e-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202389_53229129526_o.8e8c981e-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202389_53229129526_o.8e8c981e-opt-64.WEBP new file mode 100644 index 0000000000..d5d0c3249d Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202389_53229129526_o.8e8c981e-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202389_53229129526_o.8e8c981e-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202389_53229129526_o.8e8c981e-opt-640.WEBP new file mode 100644 index 0000000000..1021d8324a Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202389_53229129526_o.8e8c981e-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202389_53229129526_o.8e8c981e-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202389_53229129526_o.8e8c981e-opt-750.WEBP new file mode 100644 index 0000000000..47c5597025 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202389_53229129526_o.8e8c981e-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202389_53229129526_o.8e8c981e-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202389_53229129526_o.8e8c981e-opt-828.WEBP new file mode 100644 index 0000000000..631ebda79b Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202389_53229129526_o.8e8c981e-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202389_53229129526_o.8e8c981e-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202389_53229129526_o.8e8c981e-opt-96.WEBP new file mode 100644 index 0000000000..438cee9455 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202389_53229129526_o.8e8c981e-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20238_53228256482_o.c7580736-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-20238_53228256482_o.c7580736-opt-10.WEBP new file mode 100644 index 0000000000..c8c8b0f6f3 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20238_53228256482_o.c7580736-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20238_53228256482_o.c7580736-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-20238_53228256482_o.c7580736-opt-1080.WEBP new file mode 100644 index 0000000000..d622a1d489 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20238_53228256482_o.c7580736-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20238_53228256482_o.c7580736-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-20238_53228256482_o.c7580736-opt-1200.WEBP new file mode 100644 index 0000000000..30553a9ea4 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20238_53228256482_o.c7580736-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20238_53228256482_o.c7580736-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-20238_53228256482_o.c7580736-opt-128.WEBP new file mode 100644 index 0000000000..b95874d516 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20238_53228256482_o.c7580736-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20238_53228256482_o.c7580736-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-20238_53228256482_o.c7580736-opt-16.WEBP new file mode 100644 index 0000000000..0a40a45eb9 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20238_53228256482_o.c7580736-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20238_53228256482_o.c7580736-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-20238_53228256482_o.c7580736-opt-1920.WEBP new file mode 100644 index 0000000000..fbb3ccaf2a Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20238_53228256482_o.c7580736-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20238_53228256482_o.c7580736-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-20238_53228256482_o.c7580736-opt-2048.WEBP new file mode 100644 index 0000000000..001b00316b Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20238_53228256482_o.c7580736-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20238_53228256482_o.c7580736-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-20238_53228256482_o.c7580736-opt-256.WEBP new file mode 100644 index 0000000000..e608df30b7 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20238_53228256482_o.c7580736-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20238_53228256482_o.c7580736-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-20238_53228256482_o.c7580736-opt-32.WEBP new file mode 100644 index 0000000000..4f42f37d87 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20238_53228256482_o.c7580736-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20238_53228256482_o.c7580736-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-20238_53228256482_o.c7580736-opt-384.WEBP new file mode 100644 index 0000000000..76a64a1549 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20238_53228256482_o.c7580736-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20238_53228256482_o.c7580736-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-20238_53228256482_o.c7580736-opt-3840.WEBP new file mode 100644 index 0000000000..0bea8cff98 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20238_53228256482_o.c7580736-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20238_53228256482_o.c7580736-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-20238_53228256482_o.c7580736-opt-48.WEBP new file mode 100644 index 0000000000..f03065aa60 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20238_53228256482_o.c7580736-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20238_53228256482_o.c7580736-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-20238_53228256482_o.c7580736-opt-64.WEBP new file mode 100644 index 0000000000..3a5312e852 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20238_53228256482_o.c7580736-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20238_53228256482_o.c7580736-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-20238_53228256482_o.c7580736-opt-640.WEBP new file mode 100644 index 0000000000..63e867fcf7 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20238_53228256482_o.c7580736-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20238_53228256482_o.c7580736-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-20238_53228256482_o.c7580736-opt-750.WEBP new file mode 100644 index 0000000000..fc8eea7a05 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20238_53228256482_o.c7580736-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20238_53228256482_o.c7580736-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-20238_53228256482_o.c7580736-opt-828.WEBP new file mode 100644 index 0000000000..c4e66d9bad Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20238_53228256482_o.c7580736-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-20238_53228256482_o.c7580736-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-20238_53228256482_o.c7580736-opt-96.WEBP new file mode 100644 index 0000000000..9957a5397e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-20238_53228256482_o.c7580736-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202390_53229628530_o.347e0dfd-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202390_53229628530_o.347e0dfd-opt-10.WEBP new file mode 100644 index 0000000000..a4a797e4a4 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202390_53229628530_o.347e0dfd-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202390_53229628530_o.347e0dfd-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202390_53229628530_o.347e0dfd-opt-1080.WEBP new file mode 100644 index 0000000000..008e2fecae Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202390_53229628530_o.347e0dfd-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202390_53229628530_o.347e0dfd-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202390_53229628530_o.347e0dfd-opt-1200.WEBP new file mode 100644 index 0000000000..9849d6b325 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202390_53229628530_o.347e0dfd-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202390_53229628530_o.347e0dfd-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202390_53229628530_o.347e0dfd-opt-128.WEBP new file mode 100644 index 0000000000..b087beaf23 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202390_53229628530_o.347e0dfd-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202390_53229628530_o.347e0dfd-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202390_53229628530_o.347e0dfd-opt-16.WEBP new file mode 100644 index 0000000000..b6008ec58c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202390_53229628530_o.347e0dfd-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202390_53229628530_o.347e0dfd-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202390_53229628530_o.347e0dfd-opt-1920.WEBP new file mode 100644 index 0000000000..b94cac984d Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202390_53229628530_o.347e0dfd-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202390_53229628530_o.347e0dfd-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202390_53229628530_o.347e0dfd-opt-2048.WEBP new file mode 100644 index 0000000000..02ad65737e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202390_53229628530_o.347e0dfd-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202390_53229628530_o.347e0dfd-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202390_53229628530_o.347e0dfd-opt-256.WEBP new file mode 100644 index 0000000000..bc4e02ce02 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202390_53229628530_o.347e0dfd-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202390_53229628530_o.347e0dfd-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202390_53229628530_o.347e0dfd-opt-32.WEBP new file mode 100644 index 0000000000..fcd7b9f893 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202390_53229628530_o.347e0dfd-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202390_53229628530_o.347e0dfd-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202390_53229628530_o.347e0dfd-opt-384.WEBP new file mode 100644 index 0000000000..d0a61c2925 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202390_53229628530_o.347e0dfd-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202390_53229628530_o.347e0dfd-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202390_53229628530_o.347e0dfd-opt-3840.WEBP new file mode 100644 index 0000000000..47d8dccc3f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202390_53229628530_o.347e0dfd-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202390_53229628530_o.347e0dfd-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202390_53229628530_o.347e0dfd-opt-48.WEBP new file mode 100644 index 0000000000..030f50aa72 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202390_53229628530_o.347e0dfd-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202390_53229628530_o.347e0dfd-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202390_53229628530_o.347e0dfd-opt-64.WEBP new file mode 100644 index 0000000000..53df790f46 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202390_53229628530_o.347e0dfd-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202390_53229628530_o.347e0dfd-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202390_53229628530_o.347e0dfd-opt-640.WEBP new file mode 100644 index 0000000000..1af9424e10 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202390_53229628530_o.347e0dfd-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202390_53229628530_o.347e0dfd-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202390_53229628530_o.347e0dfd-opt-750.WEBP new file mode 100644 index 0000000000..456b0f2316 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202390_53229628530_o.347e0dfd-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202390_53229628530_o.347e0dfd-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202390_53229628530_o.347e0dfd-opt-828.WEBP new file mode 100644 index 0000000000..91429d4eea Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202390_53229628530_o.347e0dfd-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202390_53229628530_o.347e0dfd-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202390_53229628530_o.347e0dfd-opt-96.WEBP new file mode 100644 index 0000000000..1edac3ac0f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202390_53229628530_o.347e0dfd-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202391_53229504714_o.eceeece4-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202391_53229504714_o.eceeece4-opt-10.WEBP new file mode 100644 index 0000000000..96b328285f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202391_53229504714_o.eceeece4-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202391_53229504714_o.eceeece4-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202391_53229504714_o.eceeece4-opt-1080.WEBP new file mode 100644 index 0000000000..f593d62fcd Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202391_53229504714_o.eceeece4-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202391_53229504714_o.eceeece4-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202391_53229504714_o.eceeece4-opt-1200.WEBP new file mode 100644 index 0000000000..be35ab54e8 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202391_53229504714_o.eceeece4-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202391_53229504714_o.eceeece4-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202391_53229504714_o.eceeece4-opt-128.WEBP new file mode 100644 index 0000000000..bfe7db02ae Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202391_53229504714_o.eceeece4-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202391_53229504714_o.eceeece4-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202391_53229504714_o.eceeece4-opt-16.WEBP new file mode 100644 index 0000000000..17c9198652 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202391_53229504714_o.eceeece4-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202391_53229504714_o.eceeece4-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202391_53229504714_o.eceeece4-opt-1920.WEBP new file mode 100644 index 0000000000..cdb4c55c7c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202391_53229504714_o.eceeece4-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202391_53229504714_o.eceeece4-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202391_53229504714_o.eceeece4-opt-2048.WEBP new file mode 100644 index 0000000000..ae5ecb1662 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202391_53229504714_o.eceeece4-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202391_53229504714_o.eceeece4-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202391_53229504714_o.eceeece4-opt-256.WEBP new file mode 100644 index 0000000000..ecd7c4edf5 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202391_53229504714_o.eceeece4-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202391_53229504714_o.eceeece4-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202391_53229504714_o.eceeece4-opt-32.WEBP new file mode 100644 index 0000000000..23a91ac4d9 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202391_53229504714_o.eceeece4-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202391_53229504714_o.eceeece4-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202391_53229504714_o.eceeece4-opt-384.WEBP new file mode 100644 index 0000000000..0c3c861056 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202391_53229504714_o.eceeece4-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202391_53229504714_o.eceeece4-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202391_53229504714_o.eceeece4-opt-3840.WEBP new file mode 100644 index 0000000000..4274eadabe Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202391_53229504714_o.eceeece4-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202391_53229504714_o.eceeece4-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202391_53229504714_o.eceeece4-opt-48.WEBP new file mode 100644 index 0000000000..16df40db3f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202391_53229504714_o.eceeece4-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202391_53229504714_o.eceeece4-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202391_53229504714_o.eceeece4-opt-64.WEBP new file mode 100644 index 0000000000..4cda4245d1 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202391_53229504714_o.eceeece4-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202391_53229504714_o.eceeece4-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202391_53229504714_o.eceeece4-opt-640.WEBP new file mode 100644 index 0000000000..32aef50699 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202391_53229504714_o.eceeece4-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202391_53229504714_o.eceeece4-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202391_53229504714_o.eceeece4-opt-750.WEBP new file mode 100644 index 0000000000..df9b2956d4 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202391_53229504714_o.eceeece4-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202391_53229504714_o.eceeece4-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202391_53229504714_o.eceeece4-opt-828.WEBP new file mode 100644 index 0000000000..ebef2347c5 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202391_53229504714_o.eceeece4-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202391_53229504714_o.eceeece4-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202391_53229504714_o.eceeece4-opt-96.WEBP new file mode 100644 index 0000000000..8d0e9a3682 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202391_53229504714_o.eceeece4-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202392_53229430473_o.a2f47b33-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202392_53229430473_o.a2f47b33-opt-10.WEBP new file mode 100644 index 0000000000..9286e3b106 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202392_53229430473_o.a2f47b33-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202392_53229430473_o.a2f47b33-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202392_53229430473_o.a2f47b33-opt-1080.WEBP new file mode 100644 index 0000000000..0ea7835c80 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202392_53229430473_o.a2f47b33-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202392_53229430473_o.a2f47b33-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202392_53229430473_o.a2f47b33-opt-1200.WEBP new file mode 100644 index 0000000000..eab58e21d2 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202392_53229430473_o.a2f47b33-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202392_53229430473_o.a2f47b33-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202392_53229430473_o.a2f47b33-opt-128.WEBP new file mode 100644 index 0000000000..db1717e052 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202392_53229430473_o.a2f47b33-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202392_53229430473_o.a2f47b33-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202392_53229430473_o.a2f47b33-opt-16.WEBP new file mode 100644 index 0000000000..e48ae6d738 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202392_53229430473_o.a2f47b33-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202392_53229430473_o.a2f47b33-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202392_53229430473_o.a2f47b33-opt-1920.WEBP new file mode 100644 index 0000000000..0e49c70d91 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202392_53229430473_o.a2f47b33-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202392_53229430473_o.a2f47b33-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202392_53229430473_o.a2f47b33-opt-2048.WEBP new file mode 100644 index 0000000000..8f89eea08d Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202392_53229430473_o.a2f47b33-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202392_53229430473_o.a2f47b33-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202392_53229430473_o.a2f47b33-opt-256.WEBP new file mode 100644 index 0000000000..6a8854e9a2 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202392_53229430473_o.a2f47b33-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202392_53229430473_o.a2f47b33-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202392_53229430473_o.a2f47b33-opt-32.WEBP new file mode 100644 index 0000000000..117fce1979 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202392_53229430473_o.a2f47b33-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202392_53229430473_o.a2f47b33-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202392_53229430473_o.a2f47b33-opt-384.WEBP new file mode 100644 index 0000000000..e9ab93dc9e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202392_53229430473_o.a2f47b33-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202392_53229430473_o.a2f47b33-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202392_53229430473_o.a2f47b33-opt-3840.WEBP new file mode 100644 index 0000000000..4ba6682256 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202392_53229430473_o.a2f47b33-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202392_53229430473_o.a2f47b33-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202392_53229430473_o.a2f47b33-opt-48.WEBP new file mode 100644 index 0000000000..0473da4572 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202392_53229430473_o.a2f47b33-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202392_53229430473_o.a2f47b33-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202392_53229430473_o.a2f47b33-opt-64.WEBP new file mode 100644 index 0000000000..b018733359 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202392_53229430473_o.a2f47b33-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202392_53229430473_o.a2f47b33-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202392_53229430473_o.a2f47b33-opt-640.WEBP new file mode 100644 index 0000000000..7966b52baa Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202392_53229430473_o.a2f47b33-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202392_53229430473_o.a2f47b33-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202392_53229430473_o.a2f47b33-opt-750.WEBP new file mode 100644 index 0000000000..c0db377f35 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202392_53229430473_o.a2f47b33-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202392_53229430473_o.a2f47b33-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202392_53229430473_o.a2f47b33-opt-828.WEBP new file mode 100644 index 0000000000..7b669ceca4 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202392_53229430473_o.a2f47b33-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202392_53229430473_o.a2f47b33-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202392_53229430473_o.a2f47b33-opt-96.WEBP new file mode 100644 index 0000000000..12af0a5605 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202392_53229430473_o.a2f47b33-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202393_53229129511_o.f8a226ff-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202393_53229129511_o.f8a226ff-opt-10.WEBP new file mode 100644 index 0000000000..6b1f3acce7 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202393_53229129511_o.f8a226ff-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202393_53229129511_o.f8a226ff-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202393_53229129511_o.f8a226ff-opt-1080.WEBP new file mode 100644 index 0000000000..465e23061c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202393_53229129511_o.f8a226ff-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202393_53229129511_o.f8a226ff-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202393_53229129511_o.f8a226ff-opt-1200.WEBP new file mode 100644 index 0000000000..4a42b37882 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202393_53229129511_o.f8a226ff-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202393_53229129511_o.f8a226ff-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202393_53229129511_o.f8a226ff-opt-128.WEBP new file mode 100644 index 0000000000..cdc1d1032b Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202393_53229129511_o.f8a226ff-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202393_53229129511_o.f8a226ff-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202393_53229129511_o.f8a226ff-opt-16.WEBP new file mode 100644 index 0000000000..d17d40606d Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202393_53229129511_o.f8a226ff-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202393_53229129511_o.f8a226ff-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202393_53229129511_o.f8a226ff-opt-1920.WEBP new file mode 100644 index 0000000000..c568f3d26c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202393_53229129511_o.f8a226ff-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202393_53229129511_o.f8a226ff-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202393_53229129511_o.f8a226ff-opt-2048.WEBP new file mode 100644 index 0000000000..72fe389d0a Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202393_53229129511_o.f8a226ff-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202393_53229129511_o.f8a226ff-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202393_53229129511_o.f8a226ff-opt-256.WEBP new file mode 100644 index 0000000000..9106e44dee Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202393_53229129511_o.f8a226ff-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202393_53229129511_o.f8a226ff-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202393_53229129511_o.f8a226ff-opt-32.WEBP new file mode 100644 index 0000000000..919385c1a1 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202393_53229129511_o.f8a226ff-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202393_53229129511_o.f8a226ff-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202393_53229129511_o.f8a226ff-opt-384.WEBP new file mode 100644 index 0000000000..8ee25007db Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202393_53229129511_o.f8a226ff-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202393_53229129511_o.f8a226ff-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202393_53229129511_o.f8a226ff-opt-3840.WEBP new file mode 100644 index 0000000000..df9bf370a2 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202393_53229129511_o.f8a226ff-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202393_53229129511_o.f8a226ff-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202393_53229129511_o.f8a226ff-opt-48.WEBP new file mode 100644 index 0000000000..c7881d9d7a Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202393_53229129511_o.f8a226ff-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202393_53229129511_o.f8a226ff-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202393_53229129511_o.f8a226ff-opt-64.WEBP new file mode 100644 index 0000000000..1e47cf66cc Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202393_53229129511_o.f8a226ff-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202393_53229129511_o.f8a226ff-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202393_53229129511_o.f8a226ff-opt-640.WEBP new file mode 100644 index 0000000000..eb17d9ca1c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202393_53229129511_o.f8a226ff-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202393_53229129511_o.f8a226ff-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202393_53229129511_o.f8a226ff-opt-750.WEBP new file mode 100644 index 0000000000..74b10f8413 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202393_53229129511_o.f8a226ff-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202393_53229129511_o.f8a226ff-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202393_53229129511_o.f8a226ff-opt-828.WEBP new file mode 100644 index 0000000000..1bd225656c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202393_53229129511_o.f8a226ff-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202393_53229129511_o.f8a226ff-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202393_53229129511_o.f8a226ff-opt-96.WEBP new file mode 100644 index 0000000000..44cabe0e54 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202393_53229129511_o.f8a226ff-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202394_53228255057_o.7db0c51f-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202394_53228255057_o.7db0c51f-opt-10.WEBP new file mode 100644 index 0000000000..7bfc528cad Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202394_53228255057_o.7db0c51f-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202394_53228255057_o.7db0c51f-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202394_53228255057_o.7db0c51f-opt-1080.WEBP new file mode 100644 index 0000000000..f5bd41e573 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202394_53228255057_o.7db0c51f-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202394_53228255057_o.7db0c51f-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202394_53228255057_o.7db0c51f-opt-1200.WEBP new file mode 100644 index 0000000000..d31ee52d3f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202394_53228255057_o.7db0c51f-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202394_53228255057_o.7db0c51f-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202394_53228255057_o.7db0c51f-opt-128.WEBP new file mode 100644 index 0000000000..6adac0122d Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202394_53228255057_o.7db0c51f-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202394_53228255057_o.7db0c51f-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202394_53228255057_o.7db0c51f-opt-16.WEBP new file mode 100644 index 0000000000..8e2f7d8e9e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202394_53228255057_o.7db0c51f-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202394_53228255057_o.7db0c51f-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202394_53228255057_o.7db0c51f-opt-1920.WEBP new file mode 100644 index 0000000000..034cfb87a9 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202394_53228255057_o.7db0c51f-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202394_53228255057_o.7db0c51f-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202394_53228255057_o.7db0c51f-opt-256.WEBP new file mode 100644 index 0000000000..9269d197f8 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202394_53228255057_o.7db0c51f-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202394_53228255057_o.7db0c51f-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202394_53228255057_o.7db0c51f-opt-32.WEBP new file mode 100644 index 0000000000..8e9650f81e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202394_53228255057_o.7db0c51f-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202394_53228255057_o.7db0c51f-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202394_53228255057_o.7db0c51f-opt-384.WEBP new file mode 100644 index 0000000000..51998a336c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202394_53228255057_o.7db0c51f-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202394_53228255057_o.7db0c51f-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202394_53228255057_o.7db0c51f-opt-48.WEBP new file mode 100644 index 0000000000..1f2f36cbd7 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202394_53228255057_o.7db0c51f-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202394_53228255057_o.7db0c51f-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202394_53228255057_o.7db0c51f-opt-64.WEBP new file mode 100644 index 0000000000..06d3d331c3 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202394_53228255057_o.7db0c51f-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202394_53228255057_o.7db0c51f-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202394_53228255057_o.7db0c51f-opt-640.WEBP new file mode 100644 index 0000000000..b3e5ecd768 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202394_53228255057_o.7db0c51f-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202394_53228255057_o.7db0c51f-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202394_53228255057_o.7db0c51f-opt-750.WEBP new file mode 100644 index 0000000000..fb5145ede5 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202394_53228255057_o.7db0c51f-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202394_53228255057_o.7db0c51f-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202394_53228255057_o.7db0c51f-opt-828.WEBP new file mode 100644 index 0000000000..373215197c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202394_53228255057_o.7db0c51f-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202394_53228255057_o.7db0c51f-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202394_53228255057_o.7db0c51f-opt-96.WEBP new file mode 100644 index 0000000000..60eb1a3004 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202394_53228255057_o.7db0c51f-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202395_53229430163_o.83d6ce30-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202395_53229430163_o.83d6ce30-opt-10.WEBP new file mode 100644 index 0000000000..a608d89b0e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202395_53229430163_o.83d6ce30-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202395_53229430163_o.83d6ce30-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202395_53229430163_o.83d6ce30-opt-1080.WEBP new file mode 100644 index 0000000000..32e49dc759 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202395_53229430163_o.83d6ce30-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202395_53229430163_o.83d6ce30-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202395_53229430163_o.83d6ce30-opt-1200.WEBP new file mode 100644 index 0000000000..e3a5c39c1c Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202395_53229430163_o.83d6ce30-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202395_53229430163_o.83d6ce30-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202395_53229430163_o.83d6ce30-opt-128.WEBP new file mode 100644 index 0000000000..0717ee2a05 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202395_53229430163_o.83d6ce30-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202395_53229430163_o.83d6ce30-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202395_53229430163_o.83d6ce30-opt-16.WEBP new file mode 100644 index 0000000000..c0211e2ec1 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202395_53229430163_o.83d6ce30-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202395_53229430163_o.83d6ce30-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202395_53229430163_o.83d6ce30-opt-1920.WEBP new file mode 100644 index 0000000000..fef2ee0641 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202395_53229430163_o.83d6ce30-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202395_53229430163_o.83d6ce30-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202395_53229430163_o.83d6ce30-opt-2048.WEBP new file mode 100644 index 0000000000..a18770bce3 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202395_53229430163_o.83d6ce30-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202395_53229430163_o.83d6ce30-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202395_53229430163_o.83d6ce30-opt-256.WEBP new file mode 100644 index 0000000000..1c04cfa497 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202395_53229430163_o.83d6ce30-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202395_53229430163_o.83d6ce30-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202395_53229430163_o.83d6ce30-opt-32.WEBP new file mode 100644 index 0000000000..a55dc94c4e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202395_53229430163_o.83d6ce30-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202395_53229430163_o.83d6ce30-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202395_53229430163_o.83d6ce30-opt-384.WEBP new file mode 100644 index 0000000000..d84193d69e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202395_53229430163_o.83d6ce30-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202395_53229430163_o.83d6ce30-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202395_53229430163_o.83d6ce30-opt-3840.WEBP new file mode 100644 index 0000000000..1f587abb48 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202395_53229430163_o.83d6ce30-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202395_53229430163_o.83d6ce30-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202395_53229430163_o.83d6ce30-opt-48.WEBP new file mode 100644 index 0000000000..fe7a4204d3 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202395_53229430163_o.83d6ce30-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202395_53229430163_o.83d6ce30-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202395_53229430163_o.83d6ce30-opt-64.WEBP new file mode 100644 index 0000000000..c06fe9b650 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202395_53229430163_o.83d6ce30-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202395_53229430163_o.83d6ce30-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202395_53229430163_o.83d6ce30-opt-640.WEBP new file mode 100644 index 0000000000..17e074fe36 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202395_53229430163_o.83d6ce30-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202395_53229430163_o.83d6ce30-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202395_53229430163_o.83d6ce30-opt-750.WEBP new file mode 100644 index 0000000000..1c49a13c3e Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202395_53229430163_o.83d6ce30-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202395_53229430163_o.83d6ce30-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202395_53229430163_o.83d6ce30-opt-828.WEBP new file mode 100644 index 0000000000..3f0035cc57 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202395_53229430163_o.83d6ce30-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202395_53229430163_o.83d6ce30-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202395_53229430163_o.83d6ce30-opt-96.WEBP new file mode 100644 index 0000000000..76744e063f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202395_53229430163_o.83d6ce30-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202396_53229628185_o.e02e8158-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-202396_53229628185_o.e02e8158-opt-10.WEBP new file mode 100644 index 0000000000..fc180366cb Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202396_53229628185_o.e02e8158-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202396_53229628185_o.e02e8158-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-202396_53229628185_o.e02e8158-opt-1080.WEBP new file mode 100644 index 0000000000..224a1d25fb Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202396_53229628185_o.e02e8158-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202396_53229628185_o.e02e8158-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-202396_53229628185_o.e02e8158-opt-1200.WEBP new file mode 100644 index 0000000000..99e760de58 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202396_53229628185_o.e02e8158-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202396_53229628185_o.e02e8158-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-202396_53229628185_o.e02e8158-opt-128.WEBP new file mode 100644 index 0000000000..27ebea88f4 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202396_53229628185_o.e02e8158-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202396_53229628185_o.e02e8158-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-202396_53229628185_o.e02e8158-opt-16.WEBP new file mode 100644 index 0000000000..065dd00f95 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202396_53229628185_o.e02e8158-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202396_53229628185_o.e02e8158-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-202396_53229628185_o.e02e8158-opt-1920.WEBP new file mode 100644 index 0000000000..59afbdc61f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202396_53229628185_o.e02e8158-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202396_53229628185_o.e02e8158-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-202396_53229628185_o.e02e8158-opt-2048.WEBP new file mode 100644 index 0000000000..1c28fc68f2 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202396_53229628185_o.e02e8158-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202396_53229628185_o.e02e8158-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-202396_53229628185_o.e02e8158-opt-256.WEBP new file mode 100644 index 0000000000..d76d9a03de Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202396_53229628185_o.e02e8158-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202396_53229628185_o.e02e8158-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-202396_53229628185_o.e02e8158-opt-32.WEBP new file mode 100644 index 0000000000..ebb4a15dfa Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202396_53229628185_o.e02e8158-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202396_53229628185_o.e02e8158-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-202396_53229628185_o.e02e8158-opt-384.WEBP new file mode 100644 index 0000000000..2e1868e676 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202396_53229628185_o.e02e8158-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202396_53229628185_o.e02e8158-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-202396_53229628185_o.e02e8158-opt-3840.WEBP new file mode 100644 index 0000000000..ae6ebe4288 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202396_53229628185_o.e02e8158-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202396_53229628185_o.e02e8158-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-202396_53229628185_o.e02e8158-opt-48.WEBP new file mode 100644 index 0000000000..1399a3903a Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202396_53229628185_o.e02e8158-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202396_53229628185_o.e02e8158-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-202396_53229628185_o.e02e8158-opt-64.WEBP new file mode 100644 index 0000000000..8a0d55e8fe Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202396_53229628185_o.e02e8158-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202396_53229628185_o.e02e8158-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-202396_53229628185_o.e02e8158-opt-640.WEBP new file mode 100644 index 0000000000..fc9d38bd84 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202396_53229628185_o.e02e8158-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202396_53229628185_o.e02e8158-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-202396_53229628185_o.e02e8158-opt-750.WEBP new file mode 100644 index 0000000000..34d3dd7247 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202396_53229628185_o.e02e8158-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202396_53229628185_o.e02e8158-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-202396_53229628185_o.e02e8158-opt-828.WEBP new file mode 100644 index 0000000000..0c0a941fc7 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202396_53229628185_o.e02e8158-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-202396_53229628185_o.e02e8158-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-202396_53229628185_o.e02e8158-opt-96.WEBP new file mode 100644 index 0000000000..2cf1b5eaed Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-202396_53229628185_o.e02e8158-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-2023graphqlconf-2023_53228255062_o.29b776c3-opt-10.WEBP b/public/nextImageExportOptimizer/graphqlconf-2023graphqlconf-2023_53228255062_o.29b776c3-opt-10.WEBP new file mode 100644 index 0000000000..05b6653685 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-2023graphqlconf-2023_53228255062_o.29b776c3-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-2023graphqlconf-2023_53228255062_o.29b776c3-opt-1080.WEBP b/public/nextImageExportOptimizer/graphqlconf-2023graphqlconf-2023_53228255062_o.29b776c3-opt-1080.WEBP new file mode 100644 index 0000000000..6845605b35 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-2023graphqlconf-2023_53228255062_o.29b776c3-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-2023graphqlconf-2023_53228255062_o.29b776c3-opt-1200.WEBP b/public/nextImageExportOptimizer/graphqlconf-2023graphqlconf-2023_53228255062_o.29b776c3-opt-1200.WEBP new file mode 100644 index 0000000000..f688ec49ec Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-2023graphqlconf-2023_53228255062_o.29b776c3-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-2023graphqlconf-2023_53228255062_o.29b776c3-opt-128.WEBP b/public/nextImageExportOptimizer/graphqlconf-2023graphqlconf-2023_53228255062_o.29b776c3-opt-128.WEBP new file mode 100644 index 0000000000..2cdd03b88a Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-2023graphqlconf-2023_53228255062_o.29b776c3-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-2023graphqlconf-2023_53228255062_o.29b776c3-opt-16.WEBP b/public/nextImageExportOptimizer/graphqlconf-2023graphqlconf-2023_53228255062_o.29b776c3-opt-16.WEBP new file mode 100644 index 0000000000..c377394fc2 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-2023graphqlconf-2023_53228255062_o.29b776c3-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-2023graphqlconf-2023_53228255062_o.29b776c3-opt-1920.WEBP b/public/nextImageExportOptimizer/graphqlconf-2023graphqlconf-2023_53228255062_o.29b776c3-opt-1920.WEBP new file mode 100644 index 0000000000..0999df6b1d Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-2023graphqlconf-2023_53228255062_o.29b776c3-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-2023graphqlconf-2023_53228255062_o.29b776c3-opt-2048.WEBP b/public/nextImageExportOptimizer/graphqlconf-2023graphqlconf-2023_53228255062_o.29b776c3-opt-2048.WEBP new file mode 100644 index 0000000000..14b08f77e7 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-2023graphqlconf-2023_53228255062_o.29b776c3-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-2023graphqlconf-2023_53228255062_o.29b776c3-opt-256.WEBP b/public/nextImageExportOptimizer/graphqlconf-2023graphqlconf-2023_53228255062_o.29b776c3-opt-256.WEBP new file mode 100644 index 0000000000..e3e042a466 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-2023graphqlconf-2023_53228255062_o.29b776c3-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-2023graphqlconf-2023_53228255062_o.29b776c3-opt-32.WEBP b/public/nextImageExportOptimizer/graphqlconf-2023graphqlconf-2023_53228255062_o.29b776c3-opt-32.WEBP new file mode 100644 index 0000000000..86cd1630b0 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-2023graphqlconf-2023_53228255062_o.29b776c3-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-2023graphqlconf-2023_53228255062_o.29b776c3-opt-384.WEBP b/public/nextImageExportOptimizer/graphqlconf-2023graphqlconf-2023_53228255062_o.29b776c3-opt-384.WEBP new file mode 100644 index 0000000000..ccaa240042 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-2023graphqlconf-2023_53228255062_o.29b776c3-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-2023graphqlconf-2023_53228255062_o.29b776c3-opt-3840.WEBP b/public/nextImageExportOptimizer/graphqlconf-2023graphqlconf-2023_53228255062_o.29b776c3-opt-3840.WEBP new file mode 100644 index 0000000000..4d342e5945 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-2023graphqlconf-2023_53228255062_o.29b776c3-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-2023graphqlconf-2023_53228255062_o.29b776c3-opt-48.WEBP b/public/nextImageExportOptimizer/graphqlconf-2023graphqlconf-2023_53228255062_o.29b776c3-opt-48.WEBP new file mode 100644 index 0000000000..0807e9a73f Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-2023graphqlconf-2023_53228255062_o.29b776c3-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-2023graphqlconf-2023_53228255062_o.29b776c3-opt-64.WEBP b/public/nextImageExportOptimizer/graphqlconf-2023graphqlconf-2023_53228255062_o.29b776c3-opt-64.WEBP new file mode 100644 index 0000000000..356e04c397 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-2023graphqlconf-2023_53228255062_o.29b776c3-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-2023graphqlconf-2023_53228255062_o.29b776c3-opt-640.WEBP b/public/nextImageExportOptimizer/graphqlconf-2023graphqlconf-2023_53228255062_o.29b776c3-opt-640.WEBP new file mode 100644 index 0000000000..04e7db63dd Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-2023graphqlconf-2023_53228255062_o.29b776c3-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-2023graphqlconf-2023_53228255062_o.29b776c3-opt-750.WEBP b/public/nextImageExportOptimizer/graphqlconf-2023graphqlconf-2023_53228255062_o.29b776c3-opt-750.WEBP new file mode 100644 index 0000000000..c8121a8edb Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-2023graphqlconf-2023_53228255062_o.29b776c3-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-2023graphqlconf-2023_53228255062_o.29b776c3-opt-828.WEBP b/public/nextImageExportOptimizer/graphqlconf-2023graphqlconf-2023_53228255062_o.29b776c3-opt-828.WEBP new file mode 100644 index 0000000000..c294bceec0 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-2023graphqlconf-2023_53228255062_o.29b776c3-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/graphqlconf-2023graphqlconf-2023_53228255062_o.29b776c3-opt-96.WEBP b/public/nextImageExportOptimizer/graphqlconf-2023graphqlconf-2023_53228255062_o.29b776c3-opt-96.WEBP new file mode 100644 index 0000000000..0508d00c66 Binary files /dev/null and b/public/nextImageExportOptimizer/graphqlconf-2023graphqlconf-2023_53228255062_o.29b776c3-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/hero1.2c973c2e-opt-10.WEBP b/public/nextImageExportOptimizer/hero1.2c973c2e-opt-10.WEBP new file mode 100644 index 0000000000..1d966f91fe Binary files /dev/null and b/public/nextImageExportOptimizer/hero1.2c973c2e-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/hero1.2c973c2e-opt-1080.WEBP b/public/nextImageExportOptimizer/hero1.2c973c2e-opt-1080.WEBP new file mode 100644 index 0000000000..d634eeee86 Binary files /dev/null and b/public/nextImageExportOptimizer/hero1.2c973c2e-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/hero1.2c973c2e-opt-1200.WEBP b/public/nextImageExportOptimizer/hero1.2c973c2e-opt-1200.WEBP new file mode 100644 index 0000000000..159594a772 Binary files /dev/null and b/public/nextImageExportOptimizer/hero1.2c973c2e-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/hero1.2c973c2e-opt-128.WEBP b/public/nextImageExportOptimizer/hero1.2c973c2e-opt-128.WEBP new file mode 100644 index 0000000000..a9cb08f01f Binary files /dev/null and b/public/nextImageExportOptimizer/hero1.2c973c2e-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/hero1.2c973c2e-opt-16.WEBP b/public/nextImageExportOptimizer/hero1.2c973c2e-opt-16.WEBP new file mode 100644 index 0000000000..dc4f66b4d5 Binary files /dev/null and b/public/nextImageExportOptimizer/hero1.2c973c2e-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/hero1.2c973c2e-opt-1920.WEBP b/public/nextImageExportOptimizer/hero1.2c973c2e-opt-1920.WEBP new file mode 100644 index 0000000000..d8f646efb6 Binary files /dev/null and b/public/nextImageExportOptimizer/hero1.2c973c2e-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/hero1.2c973c2e-opt-2048.WEBP b/public/nextImageExportOptimizer/hero1.2c973c2e-opt-2048.WEBP new file mode 100644 index 0000000000..065a3fc7f1 Binary files /dev/null and b/public/nextImageExportOptimizer/hero1.2c973c2e-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/hero1.2c973c2e-opt-256.WEBP b/public/nextImageExportOptimizer/hero1.2c973c2e-opt-256.WEBP new file mode 100644 index 0000000000..6d1c74a2bf Binary files /dev/null and b/public/nextImageExportOptimizer/hero1.2c973c2e-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/hero1.2c973c2e-opt-32.WEBP b/public/nextImageExportOptimizer/hero1.2c973c2e-opt-32.WEBP new file mode 100644 index 0000000000..d8e221c99a Binary files /dev/null and b/public/nextImageExportOptimizer/hero1.2c973c2e-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/hero1.2c973c2e-opt-384.WEBP b/public/nextImageExportOptimizer/hero1.2c973c2e-opt-384.WEBP new file mode 100644 index 0000000000..5024ce7f5f Binary files /dev/null and b/public/nextImageExportOptimizer/hero1.2c973c2e-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/hero1.2c973c2e-opt-3840.WEBP b/public/nextImageExportOptimizer/hero1.2c973c2e-opt-3840.WEBP new file mode 100644 index 0000000000..d27590846a Binary files /dev/null and b/public/nextImageExportOptimizer/hero1.2c973c2e-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/hero1.2c973c2e-opt-48.WEBP b/public/nextImageExportOptimizer/hero1.2c973c2e-opt-48.WEBP new file mode 100644 index 0000000000..2fdb383072 Binary files /dev/null and b/public/nextImageExportOptimizer/hero1.2c973c2e-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/hero1.2c973c2e-opt-64.WEBP b/public/nextImageExportOptimizer/hero1.2c973c2e-opt-64.WEBP new file mode 100644 index 0000000000..6b9248726e Binary files /dev/null and b/public/nextImageExportOptimizer/hero1.2c973c2e-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/hero1.2c973c2e-opt-640.WEBP b/public/nextImageExportOptimizer/hero1.2c973c2e-opt-640.WEBP new file mode 100644 index 0000000000..d995857beb Binary files /dev/null and b/public/nextImageExportOptimizer/hero1.2c973c2e-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/hero1.2c973c2e-opt-750.WEBP b/public/nextImageExportOptimizer/hero1.2c973c2e-opt-750.WEBP new file mode 100644 index 0000000000..df7df107e4 Binary files /dev/null and b/public/nextImageExportOptimizer/hero1.2c973c2e-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/hero1.2c973c2e-opt-828.WEBP b/public/nextImageExportOptimizer/hero1.2c973c2e-opt-828.WEBP new file mode 100644 index 0000000000..83fe502a28 Binary files /dev/null and b/public/nextImageExportOptimizer/hero1.2c973c2e-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/hero1.2c973c2e-opt-96.WEBP b/public/nextImageExportOptimizer/hero1.2c973c2e-opt-96.WEBP new file mode 100644 index 0000000000..2b0bde23a8 Binary files /dev/null and b/public/nextImageExportOptimizer/hero1.2c973c2e-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/hero2.fa425ea9-opt-10.WEBP b/public/nextImageExportOptimizer/hero2.fa425ea9-opt-10.WEBP new file mode 100644 index 0000000000..fc2466255e Binary files /dev/null and b/public/nextImageExportOptimizer/hero2.fa425ea9-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/hero2.fa425ea9-opt-1080.WEBP b/public/nextImageExportOptimizer/hero2.fa425ea9-opt-1080.WEBP new file mode 100644 index 0000000000..20cc807899 Binary files /dev/null and b/public/nextImageExportOptimizer/hero2.fa425ea9-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/hero2.fa425ea9-opt-1200.WEBP b/public/nextImageExportOptimizer/hero2.fa425ea9-opt-1200.WEBP new file mode 100644 index 0000000000..0ee60ba536 Binary files /dev/null and b/public/nextImageExportOptimizer/hero2.fa425ea9-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/hero2.fa425ea9-opt-128.WEBP b/public/nextImageExportOptimizer/hero2.fa425ea9-opt-128.WEBP new file mode 100644 index 0000000000..20f161173b Binary files /dev/null and b/public/nextImageExportOptimizer/hero2.fa425ea9-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/hero2.fa425ea9-opt-16.WEBP b/public/nextImageExportOptimizer/hero2.fa425ea9-opt-16.WEBP new file mode 100644 index 0000000000..017783d5e5 Binary files /dev/null and b/public/nextImageExportOptimizer/hero2.fa425ea9-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/hero2.fa425ea9-opt-1920.WEBP b/public/nextImageExportOptimizer/hero2.fa425ea9-opt-1920.WEBP new file mode 100644 index 0000000000..2a706aed00 Binary files /dev/null and b/public/nextImageExportOptimizer/hero2.fa425ea9-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/hero2.fa425ea9-opt-2048.WEBP b/public/nextImageExportOptimizer/hero2.fa425ea9-opt-2048.WEBP new file mode 100644 index 0000000000..65590fcf18 Binary files /dev/null and b/public/nextImageExportOptimizer/hero2.fa425ea9-opt-2048.WEBP differ diff --git a/public/nextImageExportOptimizer/hero2.fa425ea9-opt-256.WEBP b/public/nextImageExportOptimizer/hero2.fa425ea9-opt-256.WEBP new file mode 100644 index 0000000000..83abb18c39 Binary files /dev/null and b/public/nextImageExportOptimizer/hero2.fa425ea9-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/hero2.fa425ea9-opt-32.WEBP b/public/nextImageExportOptimizer/hero2.fa425ea9-opt-32.WEBP new file mode 100644 index 0000000000..f258e5be5d Binary files /dev/null and b/public/nextImageExportOptimizer/hero2.fa425ea9-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/hero2.fa425ea9-opt-384.WEBP b/public/nextImageExportOptimizer/hero2.fa425ea9-opt-384.WEBP new file mode 100644 index 0000000000..dd260553d3 Binary files /dev/null and b/public/nextImageExportOptimizer/hero2.fa425ea9-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/hero2.fa425ea9-opt-3840.WEBP b/public/nextImageExportOptimizer/hero2.fa425ea9-opt-3840.WEBP new file mode 100644 index 0000000000..999f42c469 Binary files /dev/null and b/public/nextImageExportOptimizer/hero2.fa425ea9-opt-3840.WEBP differ diff --git a/public/nextImageExportOptimizer/hero2.fa425ea9-opt-48.WEBP b/public/nextImageExportOptimizer/hero2.fa425ea9-opt-48.WEBP new file mode 100644 index 0000000000..cac260bdb1 Binary files /dev/null and b/public/nextImageExportOptimizer/hero2.fa425ea9-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/hero2.fa425ea9-opt-64.WEBP b/public/nextImageExportOptimizer/hero2.fa425ea9-opt-64.WEBP new file mode 100644 index 0000000000..509a112d28 Binary files /dev/null and b/public/nextImageExportOptimizer/hero2.fa425ea9-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/hero2.fa425ea9-opt-640.WEBP b/public/nextImageExportOptimizer/hero2.fa425ea9-opt-640.WEBP new file mode 100644 index 0000000000..c3cfb59403 Binary files /dev/null and b/public/nextImageExportOptimizer/hero2.fa425ea9-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/hero2.fa425ea9-opt-750.WEBP b/public/nextImageExportOptimizer/hero2.fa425ea9-opt-750.WEBP new file mode 100644 index 0000000000..7ba79d85a9 Binary files /dev/null and b/public/nextImageExportOptimizer/hero2.fa425ea9-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/hero2.fa425ea9-opt-828.WEBP b/public/nextImageExportOptimizer/hero2.fa425ea9-opt-828.WEBP new file mode 100644 index 0000000000..d4a0f27952 Binary files /dev/null and b/public/nextImageExportOptimizer/hero2.fa425ea9-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/hero2.fa425ea9-opt-96.WEBP b/public/nextImageExportOptimizer/hero2.fa425ea9-opt-96.WEBP new file mode 100644 index 0000000000..39db69e817 Binary files /dev/null and b/public/nextImageExportOptimizer/hero2.fa425ea9-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/idit.feda6f62-opt-10.WEBP b/public/nextImageExportOptimizer/idit.feda6f62-opt-10.WEBP new file mode 100644 index 0000000000..480d0edacd Binary files /dev/null and b/public/nextImageExportOptimizer/idit.feda6f62-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/idit.feda6f62-opt-128.WEBP b/public/nextImageExportOptimizer/idit.feda6f62-opt-128.WEBP new file mode 100644 index 0000000000..2c76875be5 Binary files /dev/null and b/public/nextImageExportOptimizer/idit.feda6f62-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/idit.feda6f62-opt-16.WEBP b/public/nextImageExportOptimizer/idit.feda6f62-opt-16.WEBP new file mode 100644 index 0000000000..84d047c042 Binary files /dev/null and b/public/nextImageExportOptimizer/idit.feda6f62-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/idit.feda6f62-opt-256.WEBP b/public/nextImageExportOptimizer/idit.feda6f62-opt-256.WEBP new file mode 100644 index 0000000000..feaaccf58f Binary files /dev/null and b/public/nextImageExportOptimizer/idit.feda6f62-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/idit.feda6f62-opt-32.WEBP b/public/nextImageExportOptimizer/idit.feda6f62-opt-32.WEBP new file mode 100644 index 0000000000..316aee7d09 Binary files /dev/null and b/public/nextImageExportOptimizer/idit.feda6f62-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/idit.feda6f62-opt-384.WEBP b/public/nextImageExportOptimizer/idit.feda6f62-opt-384.WEBP new file mode 100644 index 0000000000..e58f880d26 Binary files /dev/null and b/public/nextImageExportOptimizer/idit.feda6f62-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/idit.feda6f62-opt-48.WEBP b/public/nextImageExportOptimizer/idit.feda6f62-opt-48.WEBP new file mode 100644 index 0000000000..87902f47ed Binary files /dev/null and b/public/nextImageExportOptimizer/idit.feda6f62-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/idit.feda6f62-opt-64.WEBP b/public/nextImageExportOptimizer/idit.feda6f62-opt-64.WEBP new file mode 100644 index 0000000000..bec9dbadcc Binary files /dev/null and b/public/nextImageExportOptimizer/idit.feda6f62-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/idit.feda6f62-opt-640.WEBP b/public/nextImageExportOptimizer/idit.feda6f62-opt-640.WEBP new file mode 100644 index 0000000000..5c88afade8 Binary files /dev/null and b/public/nextImageExportOptimizer/idit.feda6f62-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/idit.feda6f62-opt-96.WEBP b/public/nextImageExportOptimizer/idit.feda6f62-opt-96.WEBP new file mode 100644 index 0000000000..8474d78971 Binary files /dev/null and b/public/nextImageExportOptimizer/idit.feda6f62-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/intuit.04140a09-opt-10.WEBP b/public/nextImageExportOptimizer/intuit.04140a09-opt-10.WEBP new file mode 100644 index 0000000000..4a22ac5524 Binary files /dev/null and b/public/nextImageExportOptimizer/intuit.04140a09-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/intuit.04140a09-opt-128.WEBP b/public/nextImageExportOptimizer/intuit.04140a09-opt-128.WEBP new file mode 100644 index 0000000000..d9d9a43018 Binary files /dev/null and b/public/nextImageExportOptimizer/intuit.04140a09-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/intuit.04140a09-opt-16.WEBP b/public/nextImageExportOptimizer/intuit.04140a09-opt-16.WEBP new file mode 100644 index 0000000000..54e08c0be5 Binary files /dev/null and b/public/nextImageExportOptimizer/intuit.04140a09-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/intuit.04140a09-opt-256.WEBP b/public/nextImageExportOptimizer/intuit.04140a09-opt-256.WEBP new file mode 100644 index 0000000000..083521fba0 Binary files /dev/null and b/public/nextImageExportOptimizer/intuit.04140a09-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/intuit.04140a09-opt-32.WEBP b/public/nextImageExportOptimizer/intuit.04140a09-opt-32.WEBP new file mode 100644 index 0000000000..138ad16fe1 Binary files /dev/null and b/public/nextImageExportOptimizer/intuit.04140a09-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/intuit.04140a09-opt-384.WEBP b/public/nextImageExportOptimizer/intuit.04140a09-opt-384.WEBP new file mode 100644 index 0000000000..49c5709bd5 Binary files /dev/null and b/public/nextImageExportOptimizer/intuit.04140a09-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/intuit.04140a09-opt-48.WEBP b/public/nextImageExportOptimizer/intuit.04140a09-opt-48.WEBP new file mode 100644 index 0000000000..a52b865f7c Binary files /dev/null and b/public/nextImageExportOptimizer/intuit.04140a09-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/intuit.04140a09-opt-64.WEBP b/public/nextImageExportOptimizer/intuit.04140a09-opt-64.WEBP new file mode 100644 index 0000000000..8d982c651f Binary files /dev/null and b/public/nextImageExportOptimizer/intuit.04140a09-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/intuit.04140a09-opt-640.WEBP b/public/nextImageExportOptimizer/intuit.04140a09-opt-640.WEBP new file mode 100644 index 0000000000..3297515056 Binary files /dev/null and b/public/nextImageExportOptimizer/intuit.04140a09-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/intuit.04140a09-opt-750.WEBP b/public/nextImageExportOptimizer/intuit.04140a09-opt-750.WEBP new file mode 100644 index 0000000000..e3561de6b1 Binary files /dev/null and b/public/nextImageExportOptimizer/intuit.04140a09-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/intuit.04140a09-opt-828.WEBP b/public/nextImageExportOptimizer/intuit.04140a09-opt-828.WEBP new file mode 100644 index 0000000000..602f845504 Binary files /dev/null and b/public/nextImageExportOptimizer/intuit.04140a09-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/intuit.04140a09-opt-96.WEBP b/public/nextImageExportOptimizer/intuit.04140a09-opt-96.WEBP new file mode 100644 index 0000000000..b6bad3d039 Binary files /dev/null and b/public/nextImageExportOptimizer/intuit.04140a09-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/layers-2x.9859cd12-opt-10.WEBP b/public/nextImageExportOptimizer/layers-2x.9859cd12-opt-10.WEBP new file mode 100644 index 0000000000..62ed12114d Binary files /dev/null and b/public/nextImageExportOptimizer/layers-2x.9859cd12-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/layers-2x.9859cd12-opt-16.WEBP b/public/nextImageExportOptimizer/layers-2x.9859cd12-opt-16.WEBP new file mode 100644 index 0000000000..47471c7277 Binary files /dev/null and b/public/nextImageExportOptimizer/layers-2x.9859cd12-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/layers-2x.9859cd12-opt-32.WEBP b/public/nextImageExportOptimizer/layers-2x.9859cd12-opt-32.WEBP new file mode 100644 index 0000000000..c44be71573 Binary files /dev/null and b/public/nextImageExportOptimizer/layers-2x.9859cd12-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/layers-2x.9859cd12-opt-48.WEBP b/public/nextImageExportOptimizer/layers-2x.9859cd12-opt-48.WEBP new file mode 100644 index 0000000000..c89bc644fa Binary files /dev/null and b/public/nextImageExportOptimizer/layers-2x.9859cd12-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/layers-2x.9859cd12-opt-64.WEBP b/public/nextImageExportOptimizer/layers-2x.9859cd12-opt-64.WEBP new file mode 100644 index 0000000000..d6e6d63db8 Binary files /dev/null and b/public/nextImageExportOptimizer/layers-2x.9859cd12-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/layers.ef6db872-opt-10.WEBP b/public/nextImageExportOptimizer/layers.ef6db872-opt-10.WEBP new file mode 100644 index 0000000000..47d0931082 Binary files /dev/null and b/public/nextImageExportOptimizer/layers.ef6db872-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/layers.ef6db872-opt-16.WEBP b/public/nextImageExportOptimizer/layers.ef6db872-opt-16.WEBP new file mode 100644 index 0000000000..379836097b Binary files /dev/null and b/public/nextImageExportOptimizer/layers.ef6db872-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/layers.ef6db872-opt-32.WEBP b/public/nextImageExportOptimizer/layers.ef6db872-opt-32.WEBP new file mode 100644 index 0000000000..6a664b6add Binary files /dev/null and b/public/nextImageExportOptimizer/layers.ef6db872-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/lee.dfa51298-opt-10.WEBP b/public/nextImageExportOptimizer/lee.dfa51298-opt-10.WEBP new file mode 100644 index 0000000000..4bebcb89e8 Binary files /dev/null and b/public/nextImageExportOptimizer/lee.dfa51298-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/lee.dfa51298-opt-1080.WEBP b/public/nextImageExportOptimizer/lee.dfa51298-opt-1080.WEBP new file mode 100644 index 0000000000..7d8bef55ce Binary files /dev/null and b/public/nextImageExportOptimizer/lee.dfa51298-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/lee.dfa51298-opt-1200.WEBP b/public/nextImageExportOptimizer/lee.dfa51298-opt-1200.WEBP new file mode 100644 index 0000000000..752619ef9c Binary files /dev/null and b/public/nextImageExportOptimizer/lee.dfa51298-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/lee.dfa51298-opt-128.WEBP b/public/nextImageExportOptimizer/lee.dfa51298-opt-128.WEBP new file mode 100644 index 0000000000..4446587a84 Binary files /dev/null and b/public/nextImageExportOptimizer/lee.dfa51298-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/lee.dfa51298-opt-16.WEBP b/public/nextImageExportOptimizer/lee.dfa51298-opt-16.WEBP new file mode 100644 index 0000000000..005741af39 Binary files /dev/null and b/public/nextImageExportOptimizer/lee.dfa51298-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/lee.dfa51298-opt-1920.WEBP b/public/nextImageExportOptimizer/lee.dfa51298-opt-1920.WEBP new file mode 100644 index 0000000000..24ea96559a Binary files /dev/null and b/public/nextImageExportOptimizer/lee.dfa51298-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/lee.dfa51298-opt-256.WEBP b/public/nextImageExportOptimizer/lee.dfa51298-opt-256.WEBP new file mode 100644 index 0000000000..9293f04074 Binary files /dev/null and b/public/nextImageExportOptimizer/lee.dfa51298-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/lee.dfa51298-opt-32.WEBP b/public/nextImageExportOptimizer/lee.dfa51298-opt-32.WEBP new file mode 100644 index 0000000000..79c9545eca Binary files /dev/null and b/public/nextImageExportOptimizer/lee.dfa51298-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/lee.dfa51298-opt-384.WEBP b/public/nextImageExportOptimizer/lee.dfa51298-opt-384.WEBP new file mode 100644 index 0000000000..64eaa0ddde Binary files /dev/null and b/public/nextImageExportOptimizer/lee.dfa51298-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/lee.dfa51298-opt-48.WEBP b/public/nextImageExportOptimizer/lee.dfa51298-opt-48.WEBP new file mode 100644 index 0000000000..78d4f7f023 Binary files /dev/null and b/public/nextImageExportOptimizer/lee.dfa51298-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/lee.dfa51298-opt-64.WEBP b/public/nextImageExportOptimizer/lee.dfa51298-opt-64.WEBP new file mode 100644 index 0000000000..78b2772e01 Binary files /dev/null and b/public/nextImageExportOptimizer/lee.dfa51298-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/lee.dfa51298-opt-640.WEBP b/public/nextImageExportOptimizer/lee.dfa51298-opt-640.WEBP new file mode 100644 index 0000000000..f96e595ba2 Binary files /dev/null and b/public/nextImageExportOptimizer/lee.dfa51298-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/lee.dfa51298-opt-750.WEBP b/public/nextImageExportOptimizer/lee.dfa51298-opt-750.WEBP new file mode 100644 index 0000000000..ce7f258c30 Binary files /dev/null and b/public/nextImageExportOptimizer/lee.dfa51298-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/lee.dfa51298-opt-828.WEBP b/public/nextImageExportOptimizer/lee.dfa51298-opt-828.WEBP new file mode 100644 index 0000000000..ff1b5c98ba Binary files /dev/null and b/public/nextImageExportOptimizer/lee.dfa51298-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/lee.dfa51298-opt-96.WEBP b/public/nextImageExportOptimizer/lee.dfa51298-opt-96.WEBP new file mode 100644 index 0000000000..b57ad2f98d Binary files /dev/null and b/public/nextImageExportOptimizer/lee.dfa51298-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/leebyron.4adb0a93-opt-10.WEBP b/public/nextImageExportOptimizer/leebyron.4adb0a93-opt-10.WEBP new file mode 100644 index 0000000000..ea7706a0de Binary files /dev/null and b/public/nextImageExportOptimizer/leebyron.4adb0a93-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/leebyron.4adb0a93-opt-128.WEBP b/public/nextImageExportOptimizer/leebyron.4adb0a93-opt-128.WEBP new file mode 100644 index 0000000000..5c0ea70800 Binary files /dev/null and b/public/nextImageExportOptimizer/leebyron.4adb0a93-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/leebyron.4adb0a93-opt-16.WEBP b/public/nextImageExportOptimizer/leebyron.4adb0a93-opt-16.WEBP new file mode 100644 index 0000000000..3c2a814b28 Binary files /dev/null and b/public/nextImageExportOptimizer/leebyron.4adb0a93-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/leebyron.4adb0a93-opt-256.WEBP b/public/nextImageExportOptimizer/leebyron.4adb0a93-opt-256.WEBP new file mode 100644 index 0000000000..3adb2ff5ac Binary files /dev/null and b/public/nextImageExportOptimizer/leebyron.4adb0a93-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/leebyron.4adb0a93-opt-32.WEBP b/public/nextImageExportOptimizer/leebyron.4adb0a93-opt-32.WEBP new file mode 100644 index 0000000000..93d5eff3e5 Binary files /dev/null and b/public/nextImageExportOptimizer/leebyron.4adb0a93-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/leebyron.4adb0a93-opt-384.WEBP b/public/nextImageExportOptimizer/leebyron.4adb0a93-opt-384.WEBP new file mode 100644 index 0000000000..6621d4c5c9 Binary files /dev/null and b/public/nextImageExportOptimizer/leebyron.4adb0a93-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/leebyron.4adb0a93-opt-48.WEBP b/public/nextImageExportOptimizer/leebyron.4adb0a93-opt-48.WEBP new file mode 100644 index 0000000000..d6c51e57c1 Binary files /dev/null and b/public/nextImageExportOptimizer/leebyron.4adb0a93-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/leebyron.4adb0a93-opt-64.WEBP b/public/nextImageExportOptimizer/leebyron.4adb0a93-opt-64.WEBP new file mode 100644 index 0000000000..2db719ce50 Binary files /dev/null and b/public/nextImageExportOptimizer/leebyron.4adb0a93-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/leebyron.4adb0a93-opt-640.WEBP b/public/nextImageExportOptimizer/leebyron.4adb0a93-opt-640.WEBP new file mode 100644 index 0000000000..b0ecbdc331 Binary files /dev/null and b/public/nextImageExportOptimizer/leebyron.4adb0a93-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/leebyron.4adb0a93-opt-750.WEBP b/public/nextImageExportOptimizer/leebyron.4adb0a93-opt-750.WEBP new file mode 100644 index 0000000000..132fcda70c Binary files /dev/null and b/public/nextImageExportOptimizer/leebyron.4adb0a93-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/leebyron.4adb0a93-opt-828.WEBP b/public/nextImageExportOptimizer/leebyron.4adb0a93-opt-828.WEBP new file mode 100644 index 0000000000..fe2d081682 Binary files /dev/null and b/public/nextImageExportOptimizer/leebyron.4adb0a93-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/leebyron.4adb0a93-opt-96.WEBP b/public/nextImageExportOptimizer/leebyron.4adb0a93-opt-96.WEBP new file mode 100644 index 0000000000..60f1f0cb8a Binary files /dev/null and b/public/nextImageExportOptimizer/leebyron.4adb0a93-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/marcandre.b8692933-opt-10.WEBP b/public/nextImageExportOptimizer/marcandre.b8692933-opt-10.WEBP new file mode 100644 index 0000000000..3f080831bf Binary files /dev/null and b/public/nextImageExportOptimizer/marcandre.b8692933-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/marcandre.b8692933-opt-128.WEBP b/public/nextImageExportOptimizer/marcandre.b8692933-opt-128.WEBP new file mode 100644 index 0000000000..7bbb54a051 Binary files /dev/null and b/public/nextImageExportOptimizer/marcandre.b8692933-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/marcandre.b8692933-opt-16.WEBP b/public/nextImageExportOptimizer/marcandre.b8692933-opt-16.WEBP new file mode 100644 index 0000000000..be170a78e2 Binary files /dev/null and b/public/nextImageExportOptimizer/marcandre.b8692933-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/marcandre.b8692933-opt-256.WEBP b/public/nextImageExportOptimizer/marcandre.b8692933-opt-256.WEBP new file mode 100644 index 0000000000..e5d80da87b Binary files /dev/null and b/public/nextImageExportOptimizer/marcandre.b8692933-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/marcandre.b8692933-opt-32.WEBP b/public/nextImageExportOptimizer/marcandre.b8692933-opt-32.WEBP new file mode 100644 index 0000000000..1ab6179733 Binary files /dev/null and b/public/nextImageExportOptimizer/marcandre.b8692933-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/marcandre.b8692933-opt-384.WEBP b/public/nextImageExportOptimizer/marcandre.b8692933-opt-384.WEBP new file mode 100644 index 0000000000..dc2b30e26e Binary files /dev/null and b/public/nextImageExportOptimizer/marcandre.b8692933-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/marcandre.b8692933-opt-48.WEBP b/public/nextImageExportOptimizer/marcandre.b8692933-opt-48.WEBP new file mode 100644 index 0000000000..3ad73d19f8 Binary files /dev/null and b/public/nextImageExportOptimizer/marcandre.b8692933-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/marcandre.b8692933-opt-64.WEBP b/public/nextImageExportOptimizer/marcandre.b8692933-opt-64.WEBP new file mode 100644 index 0000000000..eb9f83a0cb Binary files /dev/null and b/public/nextImageExportOptimizer/marcandre.b8692933-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/marcandre.b8692933-opt-640.WEBP b/public/nextImageExportOptimizer/marcandre.b8692933-opt-640.WEBP new file mode 100644 index 0000000000..3aaf8c0692 Binary files /dev/null and b/public/nextImageExportOptimizer/marcandre.b8692933-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/marcandre.b8692933-opt-96.WEBP b/public/nextImageExportOptimizer/marcandre.b8692933-opt-96.WEBP new file mode 100644 index 0000000000..aee1c9c251 Binary files /dev/null and b/public/nextImageExportOptimizer/marcandre.b8692933-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/marker-icon.d577052a-opt-10.WEBP b/public/nextImageExportOptimizer/marker-icon.d577052a-opt-10.WEBP new file mode 100644 index 0000000000..6c63c1f8e2 Binary files /dev/null and b/public/nextImageExportOptimizer/marker-icon.d577052a-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/marker-icon.d577052a-opt-16.WEBP b/public/nextImageExportOptimizer/marker-icon.d577052a-opt-16.WEBP new file mode 100644 index 0000000000..79ef36acc3 Binary files /dev/null and b/public/nextImageExportOptimizer/marker-icon.d577052a-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/marker-icon.d577052a-opt-32.WEBP b/public/nextImageExportOptimizer/marker-icon.d577052a-opt-32.WEBP new file mode 100644 index 0000000000..488fbf33c2 Binary files /dev/null and b/public/nextImageExportOptimizer/marker-icon.d577052a-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/pathological-query.2de43465-opt-10.WEBP b/public/nextImageExportOptimizer/pathological-query.2de43465-opt-10.WEBP new file mode 100644 index 0000000000..71d26e8209 Binary files /dev/null and b/public/nextImageExportOptimizer/pathological-query.2de43465-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/pathological-query.2de43465-opt-1080.WEBP b/public/nextImageExportOptimizer/pathological-query.2de43465-opt-1080.WEBP new file mode 100644 index 0000000000..76d4efe12d Binary files /dev/null and b/public/nextImageExportOptimizer/pathological-query.2de43465-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/pathological-query.2de43465-opt-1200.WEBP b/public/nextImageExportOptimizer/pathological-query.2de43465-opt-1200.WEBP new file mode 100644 index 0000000000..7c1f8a8b8e Binary files /dev/null and b/public/nextImageExportOptimizer/pathological-query.2de43465-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/pathological-query.2de43465-opt-128.WEBP b/public/nextImageExportOptimizer/pathological-query.2de43465-opt-128.WEBP new file mode 100644 index 0000000000..f915813791 Binary files /dev/null and b/public/nextImageExportOptimizer/pathological-query.2de43465-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/pathological-query.2de43465-opt-16.WEBP b/public/nextImageExportOptimizer/pathological-query.2de43465-opt-16.WEBP new file mode 100644 index 0000000000..48a8a01e74 Binary files /dev/null and b/public/nextImageExportOptimizer/pathological-query.2de43465-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/pathological-query.2de43465-opt-1920.WEBP b/public/nextImageExportOptimizer/pathological-query.2de43465-opt-1920.WEBP new file mode 100644 index 0000000000..849a515297 Binary files /dev/null and b/public/nextImageExportOptimizer/pathological-query.2de43465-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/pathological-query.2de43465-opt-256.WEBP b/public/nextImageExportOptimizer/pathological-query.2de43465-opt-256.WEBP new file mode 100644 index 0000000000..738f387ba2 Binary files /dev/null and b/public/nextImageExportOptimizer/pathological-query.2de43465-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/pathological-query.2de43465-opt-32.WEBP b/public/nextImageExportOptimizer/pathological-query.2de43465-opt-32.WEBP new file mode 100644 index 0000000000..b7a1cd3c3e Binary files /dev/null and b/public/nextImageExportOptimizer/pathological-query.2de43465-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/pathological-query.2de43465-opt-384.WEBP b/public/nextImageExportOptimizer/pathological-query.2de43465-opt-384.WEBP new file mode 100644 index 0000000000..8bb1d27ebe Binary files /dev/null and b/public/nextImageExportOptimizer/pathological-query.2de43465-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/pathological-query.2de43465-opt-48.WEBP b/public/nextImageExportOptimizer/pathological-query.2de43465-opt-48.WEBP new file mode 100644 index 0000000000..b1a7a50791 Binary files /dev/null and b/public/nextImageExportOptimizer/pathological-query.2de43465-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/pathological-query.2de43465-opt-64.WEBP b/public/nextImageExportOptimizer/pathological-query.2de43465-opt-64.WEBP new file mode 100644 index 0000000000..77976eb148 Binary files /dev/null and b/public/nextImageExportOptimizer/pathological-query.2de43465-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/pathological-query.2de43465-opt-640.WEBP b/public/nextImageExportOptimizer/pathological-query.2de43465-opt-640.WEBP new file mode 100644 index 0000000000..456fe1b432 Binary files /dev/null and b/public/nextImageExportOptimizer/pathological-query.2de43465-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/pathological-query.2de43465-opt-750.WEBP b/public/nextImageExportOptimizer/pathological-query.2de43465-opt-750.WEBP new file mode 100644 index 0000000000..11701d0488 Binary files /dev/null and b/public/nextImageExportOptimizer/pathological-query.2de43465-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/pathological-query.2de43465-opt-828.WEBP b/public/nextImageExportOptimizer/pathological-query.2de43465-opt-828.WEBP new file mode 100644 index 0000000000..cdddefbcf6 Binary files /dev/null and b/public/nextImageExportOptimizer/pathological-query.2de43465-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/pathological-query.2de43465-opt-96.WEBP b/public/nextImageExportOptimizer/pathological-query.2de43465-opt-96.WEBP new file mode 100644 index 0000000000..02138bad55 Binary files /dev/null and b/public/nextImageExportOptimizer/pathological-query.2de43465-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/pinterest.36b58187-opt-10.WEBP b/public/nextImageExportOptimizer/pinterest.36b58187-opt-10.WEBP new file mode 100644 index 0000000000..38783fbc8f Binary files /dev/null and b/public/nextImageExportOptimizer/pinterest.36b58187-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/pinterest.36b58187-opt-128.WEBP b/public/nextImageExportOptimizer/pinterest.36b58187-opt-128.WEBP new file mode 100644 index 0000000000..713de12c87 Binary files /dev/null and b/public/nextImageExportOptimizer/pinterest.36b58187-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/pinterest.36b58187-opt-16.WEBP b/public/nextImageExportOptimizer/pinterest.36b58187-opt-16.WEBP new file mode 100644 index 0000000000..bdebf7c088 Binary files /dev/null and b/public/nextImageExportOptimizer/pinterest.36b58187-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/pinterest.36b58187-opt-256.WEBP b/public/nextImageExportOptimizer/pinterest.36b58187-opt-256.WEBP new file mode 100644 index 0000000000..6f6374ee9f Binary files /dev/null and b/public/nextImageExportOptimizer/pinterest.36b58187-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/pinterest.36b58187-opt-32.WEBP b/public/nextImageExportOptimizer/pinterest.36b58187-opt-32.WEBP new file mode 100644 index 0000000000..580a6b8577 Binary files /dev/null and b/public/nextImageExportOptimizer/pinterest.36b58187-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/pinterest.36b58187-opt-384.WEBP b/public/nextImageExportOptimizer/pinterest.36b58187-opt-384.WEBP new file mode 100644 index 0000000000..8464f4467a Binary files /dev/null and b/public/nextImageExportOptimizer/pinterest.36b58187-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/pinterest.36b58187-opt-48.WEBP b/public/nextImageExportOptimizer/pinterest.36b58187-opt-48.WEBP new file mode 100644 index 0000000000..d2635b61c0 Binary files /dev/null and b/public/nextImageExportOptimizer/pinterest.36b58187-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/pinterest.36b58187-opt-64.WEBP b/public/nextImageExportOptimizer/pinterest.36b58187-opt-64.WEBP new file mode 100644 index 0000000000..637bd4d6bb Binary files /dev/null and b/public/nextImageExportOptimizer/pinterest.36b58187-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/pinterest.36b58187-opt-640.WEBP b/public/nextImageExportOptimizer/pinterest.36b58187-opt-640.WEBP new file mode 100644 index 0000000000..d56f09ff53 Binary files /dev/null and b/public/nextImageExportOptimizer/pinterest.36b58187-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/pinterest.36b58187-opt-96.WEBP b/public/nextImageExportOptimizer/pinterest.36b58187-opt-96.WEBP new file mode 100644 index 0000000000..3b91a4245f Binary files /dev/null and b/public/nextImageExportOptimizer/pinterest.36b58187-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/playground-transition-banner.2458871d-opt-10.WEBP b/public/nextImageExportOptimizer/playground-transition-banner.2458871d-opt-10.WEBP new file mode 100644 index 0000000000..126ac64cda Binary files /dev/null and b/public/nextImageExportOptimizer/playground-transition-banner.2458871d-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/playground-transition-banner.2458871d-opt-1080.WEBP b/public/nextImageExportOptimizer/playground-transition-banner.2458871d-opt-1080.WEBP new file mode 100644 index 0000000000..270ff4ea53 Binary files /dev/null and b/public/nextImageExportOptimizer/playground-transition-banner.2458871d-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/playground-transition-banner.2458871d-opt-1200.WEBP b/public/nextImageExportOptimizer/playground-transition-banner.2458871d-opt-1200.WEBP new file mode 100644 index 0000000000..c7fb57ffa6 Binary files /dev/null and b/public/nextImageExportOptimizer/playground-transition-banner.2458871d-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/playground-transition-banner.2458871d-opt-128.WEBP b/public/nextImageExportOptimizer/playground-transition-banner.2458871d-opt-128.WEBP new file mode 100644 index 0000000000..0ac07f473c Binary files /dev/null and b/public/nextImageExportOptimizer/playground-transition-banner.2458871d-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/playground-transition-banner.2458871d-opt-16.WEBP b/public/nextImageExportOptimizer/playground-transition-banner.2458871d-opt-16.WEBP new file mode 100644 index 0000000000..3696c4c458 Binary files /dev/null and b/public/nextImageExportOptimizer/playground-transition-banner.2458871d-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/playground-transition-banner.2458871d-opt-1920.WEBP b/public/nextImageExportOptimizer/playground-transition-banner.2458871d-opt-1920.WEBP new file mode 100644 index 0000000000..059d0c3d33 Binary files /dev/null and b/public/nextImageExportOptimizer/playground-transition-banner.2458871d-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/playground-transition-banner.2458871d-opt-256.WEBP b/public/nextImageExportOptimizer/playground-transition-banner.2458871d-opt-256.WEBP new file mode 100644 index 0000000000..9bb86c9b9e Binary files /dev/null and b/public/nextImageExportOptimizer/playground-transition-banner.2458871d-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/playground-transition-banner.2458871d-opt-32.WEBP b/public/nextImageExportOptimizer/playground-transition-banner.2458871d-opt-32.WEBP new file mode 100644 index 0000000000..444d1cf63e Binary files /dev/null and b/public/nextImageExportOptimizer/playground-transition-banner.2458871d-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/playground-transition-banner.2458871d-opt-384.WEBP b/public/nextImageExportOptimizer/playground-transition-banner.2458871d-opt-384.WEBP new file mode 100644 index 0000000000..cefafc7b84 Binary files /dev/null and b/public/nextImageExportOptimizer/playground-transition-banner.2458871d-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/playground-transition-banner.2458871d-opt-48.WEBP b/public/nextImageExportOptimizer/playground-transition-banner.2458871d-opt-48.WEBP new file mode 100644 index 0000000000..8477813a21 Binary files /dev/null and b/public/nextImageExportOptimizer/playground-transition-banner.2458871d-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/playground-transition-banner.2458871d-opt-64.WEBP b/public/nextImageExportOptimizer/playground-transition-banner.2458871d-opt-64.WEBP new file mode 100644 index 0000000000..a6aa4a7b1b Binary files /dev/null and b/public/nextImageExportOptimizer/playground-transition-banner.2458871d-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/playground-transition-banner.2458871d-opt-640.WEBP b/public/nextImageExportOptimizer/playground-transition-banner.2458871d-opt-640.WEBP new file mode 100644 index 0000000000..d582b25674 Binary files /dev/null and b/public/nextImageExportOptimizer/playground-transition-banner.2458871d-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/playground-transition-banner.2458871d-opt-750.WEBP b/public/nextImageExportOptimizer/playground-transition-banner.2458871d-opt-750.WEBP new file mode 100644 index 0000000000..a0f64e8db5 Binary files /dev/null and b/public/nextImageExportOptimizer/playground-transition-banner.2458871d-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/playground-transition-banner.2458871d-opt-828.WEBP b/public/nextImageExportOptimizer/playground-transition-banner.2458871d-opt-828.WEBP new file mode 100644 index 0000000000..80304244ce Binary files /dev/null and b/public/nextImageExportOptimizer/playground-transition-banner.2458871d-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/playground-transition-banner.2458871d-opt-96.WEBP b/public/nextImageExportOptimizer/playground-transition-banner.2458871d-opt-96.WEBP new file mode 100644 index 0000000000..87e4dfd84b Binary files /dev/null and b/public/nextImageExportOptimizer/playground-transition-banner.2458871d-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/rest-api-people.c2b56e20-opt-10.WEBP b/public/nextImageExportOptimizer/rest-api-people.c2b56e20-opt-10.WEBP new file mode 100644 index 0000000000..cb6496955c Binary files /dev/null and b/public/nextImageExportOptimizer/rest-api-people.c2b56e20-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/rest-api-people.c2b56e20-opt-1080.WEBP b/public/nextImageExportOptimizer/rest-api-people.c2b56e20-opt-1080.WEBP new file mode 100644 index 0000000000..f72a6bcf40 Binary files /dev/null and b/public/nextImageExportOptimizer/rest-api-people.c2b56e20-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/rest-api-people.c2b56e20-opt-1200.WEBP b/public/nextImageExportOptimizer/rest-api-people.c2b56e20-opt-1200.WEBP new file mode 100644 index 0000000000..8d1ab84d00 Binary files /dev/null and b/public/nextImageExportOptimizer/rest-api-people.c2b56e20-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/rest-api-people.c2b56e20-opt-128.WEBP b/public/nextImageExportOptimizer/rest-api-people.c2b56e20-opt-128.WEBP new file mode 100644 index 0000000000..4c7b80e8bf Binary files /dev/null and b/public/nextImageExportOptimizer/rest-api-people.c2b56e20-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/rest-api-people.c2b56e20-opt-16.WEBP b/public/nextImageExportOptimizer/rest-api-people.c2b56e20-opt-16.WEBP new file mode 100644 index 0000000000..8e1a8b8234 Binary files /dev/null and b/public/nextImageExportOptimizer/rest-api-people.c2b56e20-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/rest-api-people.c2b56e20-opt-1920.WEBP b/public/nextImageExportOptimizer/rest-api-people.c2b56e20-opt-1920.WEBP new file mode 100644 index 0000000000..03304dfe32 Binary files /dev/null and b/public/nextImageExportOptimizer/rest-api-people.c2b56e20-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/rest-api-people.c2b56e20-opt-256.WEBP b/public/nextImageExportOptimizer/rest-api-people.c2b56e20-opt-256.WEBP new file mode 100644 index 0000000000..2748d6bde0 Binary files /dev/null and b/public/nextImageExportOptimizer/rest-api-people.c2b56e20-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/rest-api-people.c2b56e20-opt-32.WEBP b/public/nextImageExportOptimizer/rest-api-people.c2b56e20-opt-32.WEBP new file mode 100644 index 0000000000..a7690dcba8 Binary files /dev/null and b/public/nextImageExportOptimizer/rest-api-people.c2b56e20-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/rest-api-people.c2b56e20-opt-384.WEBP b/public/nextImageExportOptimizer/rest-api-people.c2b56e20-opt-384.WEBP new file mode 100644 index 0000000000..56d0205910 Binary files /dev/null and b/public/nextImageExportOptimizer/rest-api-people.c2b56e20-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/rest-api-people.c2b56e20-opt-48.WEBP b/public/nextImageExportOptimizer/rest-api-people.c2b56e20-opt-48.WEBP new file mode 100644 index 0000000000..1ef417f2ff Binary files /dev/null and b/public/nextImageExportOptimizer/rest-api-people.c2b56e20-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/rest-api-people.c2b56e20-opt-64.WEBP b/public/nextImageExportOptimizer/rest-api-people.c2b56e20-opt-64.WEBP new file mode 100644 index 0000000000..4783d05792 Binary files /dev/null and b/public/nextImageExportOptimizer/rest-api-people.c2b56e20-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/rest-api-people.c2b56e20-opt-640.WEBP b/public/nextImageExportOptimizer/rest-api-people.c2b56e20-opt-640.WEBP new file mode 100644 index 0000000000..05e255d0a4 Binary files /dev/null and b/public/nextImageExportOptimizer/rest-api-people.c2b56e20-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/rest-api-people.c2b56e20-opt-750.WEBP b/public/nextImageExportOptimizer/rest-api-people.c2b56e20-opt-750.WEBP new file mode 100644 index 0000000000..99aeac9872 Binary files /dev/null and b/public/nextImageExportOptimizer/rest-api-people.c2b56e20-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/rest-api-people.c2b56e20-opt-828.WEBP b/public/nextImageExportOptimizer/rest-api-people.c2b56e20-opt-828.WEBP new file mode 100644 index 0000000000..2f29d01f88 Binary files /dev/null and b/public/nextImageExportOptimizer/rest-api-people.c2b56e20-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/rest-api-people.c2b56e20-opt-96.WEBP b/public/nextImageExportOptimizer/rest-api-people.c2b56e20-opt-96.WEBP new file mode 100644 index 0000000000..f74a2f16a0 Binary files /dev/null and b/public/nextImageExportOptimizer/rest-api-people.c2b56e20-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/shopify.2cb330ea-opt-10.WEBP b/public/nextImageExportOptimizer/shopify.2cb330ea-opt-10.WEBP new file mode 100644 index 0000000000..a88502ee25 Binary files /dev/null and b/public/nextImageExportOptimizer/shopify.2cb330ea-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/shopify.2cb330ea-opt-128.WEBP b/public/nextImageExportOptimizer/shopify.2cb330ea-opt-128.WEBP new file mode 100644 index 0000000000..25e12792ae Binary files /dev/null and b/public/nextImageExportOptimizer/shopify.2cb330ea-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/shopify.2cb330ea-opt-16.WEBP b/public/nextImageExportOptimizer/shopify.2cb330ea-opt-16.WEBP new file mode 100644 index 0000000000..b67d5de5b5 Binary files /dev/null and b/public/nextImageExportOptimizer/shopify.2cb330ea-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/shopify.2cb330ea-opt-256.WEBP b/public/nextImageExportOptimizer/shopify.2cb330ea-opt-256.WEBP new file mode 100644 index 0000000000..afa8ec3905 Binary files /dev/null and b/public/nextImageExportOptimizer/shopify.2cb330ea-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/shopify.2cb330ea-opt-32.WEBP b/public/nextImageExportOptimizer/shopify.2cb330ea-opt-32.WEBP new file mode 100644 index 0000000000..d516cd12c1 Binary files /dev/null and b/public/nextImageExportOptimizer/shopify.2cb330ea-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/shopify.2cb330ea-opt-384.WEBP b/public/nextImageExportOptimizer/shopify.2cb330ea-opt-384.WEBP new file mode 100644 index 0000000000..eeae64cd68 Binary files /dev/null and b/public/nextImageExportOptimizer/shopify.2cb330ea-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/shopify.2cb330ea-opt-48.WEBP b/public/nextImageExportOptimizer/shopify.2cb330ea-opt-48.WEBP new file mode 100644 index 0000000000..9c22d23445 Binary files /dev/null and b/public/nextImageExportOptimizer/shopify.2cb330ea-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/shopify.2cb330ea-opt-64.WEBP b/public/nextImageExportOptimizer/shopify.2cb330ea-opt-64.WEBP new file mode 100644 index 0000000000..2867219675 Binary files /dev/null and b/public/nextImageExportOptimizer/shopify.2cb330ea-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/shopify.2cb330ea-opt-640.WEBP b/public/nextImageExportOptimizer/shopify.2cb330ea-opt-640.WEBP new file mode 100644 index 0000000000..e438bd82fa Binary files /dev/null and b/public/nextImageExportOptimizer/shopify.2cb330ea-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/shopify.2cb330ea-opt-96.WEBP b/public/nextImageExportOptimizer/shopify.2cb330ea-opt-96.WEBP new file mode 100644 index 0000000000..fcd35d32ab Binary files /dev/null and b/public/nextImageExportOptimizer/shopify.2cb330ea-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/speaker.674c5b86-opt-10.WEBP b/public/nextImageExportOptimizer/speaker.674c5b86-opt-10.WEBP new file mode 100644 index 0000000000..a681afbab8 Binary files /dev/null and b/public/nextImageExportOptimizer/speaker.674c5b86-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/speaker.674c5b86-opt-128.WEBP b/public/nextImageExportOptimizer/speaker.674c5b86-opt-128.WEBP new file mode 100644 index 0000000000..a35b3f1bd6 Binary files /dev/null and b/public/nextImageExportOptimizer/speaker.674c5b86-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/speaker.674c5b86-opt-16.WEBP b/public/nextImageExportOptimizer/speaker.674c5b86-opt-16.WEBP new file mode 100644 index 0000000000..15ecc64449 Binary files /dev/null and b/public/nextImageExportOptimizer/speaker.674c5b86-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/speaker.674c5b86-opt-256.WEBP b/public/nextImageExportOptimizer/speaker.674c5b86-opt-256.WEBP new file mode 100644 index 0000000000..b18e9795a4 Binary files /dev/null and b/public/nextImageExportOptimizer/speaker.674c5b86-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/speaker.674c5b86-opt-32.WEBP b/public/nextImageExportOptimizer/speaker.674c5b86-opt-32.WEBP new file mode 100644 index 0000000000..c7c2e8d646 Binary files /dev/null and b/public/nextImageExportOptimizer/speaker.674c5b86-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/speaker.674c5b86-opt-384.WEBP b/public/nextImageExportOptimizer/speaker.674c5b86-opt-384.WEBP new file mode 100644 index 0000000000..55328a6d56 Binary files /dev/null and b/public/nextImageExportOptimizer/speaker.674c5b86-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/speaker.674c5b86-opt-48.WEBP b/public/nextImageExportOptimizer/speaker.674c5b86-opt-48.WEBP new file mode 100644 index 0000000000..3a6a968572 Binary files /dev/null and b/public/nextImageExportOptimizer/speaker.674c5b86-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/speaker.674c5b86-opt-64.WEBP b/public/nextImageExportOptimizer/speaker.674c5b86-opt-64.WEBP new file mode 100644 index 0000000000..4f13c3d354 Binary files /dev/null and b/public/nextImageExportOptimizer/speaker.674c5b86-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/speaker.674c5b86-opt-640.WEBP b/public/nextImageExportOptimizer/speaker.674c5b86-opt-640.WEBP new file mode 100644 index 0000000000..0ccce25653 Binary files /dev/null and b/public/nextImageExportOptimizer/speaker.674c5b86-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/speaker.674c5b86-opt-750.WEBP b/public/nextImageExportOptimizer/speaker.674c5b86-opt-750.WEBP new file mode 100644 index 0000000000..0dd9c58daf Binary files /dev/null and b/public/nextImageExportOptimizer/speaker.674c5b86-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/speaker.674c5b86-opt-828.WEBP b/public/nextImageExportOptimizer/speaker.674c5b86-opt-828.WEBP new file mode 100644 index 0000000000..2688687ab7 Binary files /dev/null and b/public/nextImageExportOptimizer/speaker.674c5b86-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/speaker.674c5b86-opt-96.WEBP b/public/nextImageExportOptimizer/speaker.674c5b86-opt-96.WEBP new file mode 100644 index 0000000000..4efb74d4bc Binary files /dev/null and b/public/nextImageExportOptimizer/speaker.674c5b86-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/unconf.651492c3-opt-10.WEBP b/public/nextImageExportOptimizer/unconf.651492c3-opt-10.WEBP new file mode 100644 index 0000000000..dfd624a341 Binary files /dev/null and b/public/nextImageExportOptimizer/unconf.651492c3-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/unconf.651492c3-opt-128.WEBP b/public/nextImageExportOptimizer/unconf.651492c3-opt-128.WEBP new file mode 100644 index 0000000000..7f0df581f7 Binary files /dev/null and b/public/nextImageExportOptimizer/unconf.651492c3-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/unconf.651492c3-opt-16.WEBP b/public/nextImageExportOptimizer/unconf.651492c3-opt-16.WEBP new file mode 100644 index 0000000000..fa24aa9bbd Binary files /dev/null and b/public/nextImageExportOptimizer/unconf.651492c3-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/unconf.651492c3-opt-256.WEBP b/public/nextImageExportOptimizer/unconf.651492c3-opt-256.WEBP new file mode 100644 index 0000000000..d11517fe6e Binary files /dev/null and b/public/nextImageExportOptimizer/unconf.651492c3-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/unconf.651492c3-opt-32.WEBP b/public/nextImageExportOptimizer/unconf.651492c3-opt-32.WEBP new file mode 100644 index 0000000000..c3115845d8 Binary files /dev/null and b/public/nextImageExportOptimizer/unconf.651492c3-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/unconf.651492c3-opt-384.WEBP b/public/nextImageExportOptimizer/unconf.651492c3-opt-384.WEBP new file mode 100644 index 0000000000..26483d486c Binary files /dev/null and b/public/nextImageExportOptimizer/unconf.651492c3-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/unconf.651492c3-opt-48.WEBP b/public/nextImageExportOptimizer/unconf.651492c3-opt-48.WEBP new file mode 100644 index 0000000000..dcf74f7b69 Binary files /dev/null and b/public/nextImageExportOptimizer/unconf.651492c3-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/unconf.651492c3-opt-64.WEBP b/public/nextImageExportOptimizer/unconf.651492c3-opt-64.WEBP new file mode 100644 index 0000000000..063dec17b4 Binary files /dev/null and b/public/nextImageExportOptimizer/unconf.651492c3-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/unconf.651492c3-opt-640.WEBP b/public/nextImageExportOptimizer/unconf.651492c3-opt-640.WEBP new file mode 100644 index 0000000000..07d247a16d Binary files /dev/null and b/public/nextImageExportOptimizer/unconf.651492c3-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/unconf.651492c3-opt-750.WEBP b/public/nextImageExportOptimizer/unconf.651492c3-opt-750.WEBP new file mode 100644 index 0000000000..39d0446cb3 Binary files /dev/null and b/public/nextImageExportOptimizer/unconf.651492c3-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/unconf.651492c3-opt-828.WEBP b/public/nextImageExportOptimizer/unconf.651492c3-opt-828.WEBP new file mode 100644 index 0000000000..803bbdebe9 Binary files /dev/null and b/public/nextImageExportOptimizer/unconf.651492c3-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/unconf.651492c3-opt-96.WEBP b/public/nextImageExportOptimizer/unconf.651492c3-opt-96.WEBP new file mode 100644 index 0000000000..15ea49d2f5 Binary files /dev/null and b/public/nextImageExportOptimizer/unconf.651492c3-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/uri.387cb001-opt-10.WEBP b/public/nextImageExportOptimizer/uri.387cb001-opt-10.WEBP new file mode 100644 index 0000000000..01e4983311 Binary files /dev/null and b/public/nextImageExportOptimizer/uri.387cb001-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/uri.387cb001-opt-128.WEBP b/public/nextImageExportOptimizer/uri.387cb001-opt-128.WEBP new file mode 100644 index 0000000000..c5680444fd Binary files /dev/null and b/public/nextImageExportOptimizer/uri.387cb001-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/uri.387cb001-opt-16.WEBP b/public/nextImageExportOptimizer/uri.387cb001-opt-16.WEBP new file mode 100644 index 0000000000..fe38287a4a Binary files /dev/null and b/public/nextImageExportOptimizer/uri.387cb001-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/uri.387cb001-opt-256.WEBP b/public/nextImageExportOptimizer/uri.387cb001-opt-256.WEBP new file mode 100644 index 0000000000..edf00fd731 Binary files /dev/null and b/public/nextImageExportOptimizer/uri.387cb001-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/uri.387cb001-opt-32.WEBP b/public/nextImageExportOptimizer/uri.387cb001-opt-32.WEBP new file mode 100644 index 0000000000..6d2bf4d82e Binary files /dev/null and b/public/nextImageExportOptimizer/uri.387cb001-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/uri.387cb001-opt-384.WEBP b/public/nextImageExportOptimizer/uri.387cb001-opt-384.WEBP new file mode 100644 index 0000000000..85cdb8e3ee Binary files /dev/null and b/public/nextImageExportOptimizer/uri.387cb001-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/uri.387cb001-opt-48.WEBP b/public/nextImageExportOptimizer/uri.387cb001-opt-48.WEBP new file mode 100644 index 0000000000..092812185a Binary files /dev/null and b/public/nextImageExportOptimizer/uri.387cb001-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/uri.387cb001-opt-64.WEBP b/public/nextImageExportOptimizer/uri.387cb001-opt-64.WEBP new file mode 100644 index 0000000000..6f5f1bc477 Binary files /dev/null and b/public/nextImageExportOptimizer/uri.387cb001-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/uri.387cb001-opt-640.WEBP b/public/nextImageExportOptimizer/uri.387cb001-opt-640.WEBP new file mode 100644 index 0000000000..865590191a Binary files /dev/null and b/public/nextImageExportOptimizer/uri.387cb001-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/uri.387cb001-opt-96.WEBP b/public/nextImageExportOptimizer/uri.387cb001-opt-96.WEBP new file mode 100644 index 0000000000..72a294deb9 Binary files /dev/null and b/public/nextImageExportOptimizer/uri.387cb001-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/whiteboard.60eac8e3-opt-10.WEBP b/public/nextImageExportOptimizer/whiteboard.60eac8e3-opt-10.WEBP new file mode 100644 index 0000000000..af785e2e4e Binary files /dev/null and b/public/nextImageExportOptimizer/whiteboard.60eac8e3-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/whiteboard.60eac8e3-opt-1080.WEBP b/public/nextImageExportOptimizer/whiteboard.60eac8e3-opt-1080.WEBP new file mode 100644 index 0000000000..820445c4b0 Binary files /dev/null and b/public/nextImageExportOptimizer/whiteboard.60eac8e3-opt-1080.WEBP differ diff --git a/public/nextImageExportOptimizer/whiteboard.60eac8e3-opt-1200.WEBP b/public/nextImageExportOptimizer/whiteboard.60eac8e3-opt-1200.WEBP new file mode 100644 index 0000000000..0d42579f86 Binary files /dev/null and b/public/nextImageExportOptimizer/whiteboard.60eac8e3-opt-1200.WEBP differ diff --git a/public/nextImageExportOptimizer/whiteboard.60eac8e3-opt-128.WEBP b/public/nextImageExportOptimizer/whiteboard.60eac8e3-opt-128.WEBP new file mode 100644 index 0000000000..892a57632a Binary files /dev/null and b/public/nextImageExportOptimizer/whiteboard.60eac8e3-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/whiteboard.60eac8e3-opt-16.WEBP b/public/nextImageExportOptimizer/whiteboard.60eac8e3-opt-16.WEBP new file mode 100644 index 0000000000..a413de78b2 Binary files /dev/null and b/public/nextImageExportOptimizer/whiteboard.60eac8e3-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/whiteboard.60eac8e3-opt-1920.WEBP b/public/nextImageExportOptimizer/whiteboard.60eac8e3-opt-1920.WEBP new file mode 100644 index 0000000000..04e6b653fd Binary files /dev/null and b/public/nextImageExportOptimizer/whiteboard.60eac8e3-opt-1920.WEBP differ diff --git a/public/nextImageExportOptimizer/whiteboard.60eac8e3-opt-256.WEBP b/public/nextImageExportOptimizer/whiteboard.60eac8e3-opt-256.WEBP new file mode 100644 index 0000000000..779666a17b Binary files /dev/null and b/public/nextImageExportOptimizer/whiteboard.60eac8e3-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/whiteboard.60eac8e3-opt-32.WEBP b/public/nextImageExportOptimizer/whiteboard.60eac8e3-opt-32.WEBP new file mode 100644 index 0000000000..02a4d19b29 Binary files /dev/null and b/public/nextImageExportOptimizer/whiteboard.60eac8e3-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/whiteboard.60eac8e3-opt-384.WEBP b/public/nextImageExportOptimizer/whiteboard.60eac8e3-opt-384.WEBP new file mode 100644 index 0000000000..90bd1506ca Binary files /dev/null and b/public/nextImageExportOptimizer/whiteboard.60eac8e3-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/whiteboard.60eac8e3-opt-48.WEBP b/public/nextImageExportOptimizer/whiteboard.60eac8e3-opt-48.WEBP new file mode 100644 index 0000000000..8297481f23 Binary files /dev/null and b/public/nextImageExportOptimizer/whiteboard.60eac8e3-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/whiteboard.60eac8e3-opt-64.WEBP b/public/nextImageExportOptimizer/whiteboard.60eac8e3-opt-64.WEBP new file mode 100644 index 0000000000..7d7fc73aa1 Binary files /dev/null and b/public/nextImageExportOptimizer/whiteboard.60eac8e3-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/whiteboard.60eac8e3-opt-640.WEBP b/public/nextImageExportOptimizer/whiteboard.60eac8e3-opt-640.WEBP new file mode 100644 index 0000000000..865087910c Binary files /dev/null and b/public/nextImageExportOptimizer/whiteboard.60eac8e3-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/whiteboard.60eac8e3-opt-750.WEBP b/public/nextImageExportOptimizer/whiteboard.60eac8e3-opt-750.WEBP new file mode 100644 index 0000000000..1d942b73c1 Binary files /dev/null and b/public/nextImageExportOptimizer/whiteboard.60eac8e3-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/whiteboard.60eac8e3-opt-828.WEBP b/public/nextImageExportOptimizer/whiteboard.60eac8e3-opt-828.WEBP new file mode 100644 index 0000000000..be81f7cad1 Binary files /dev/null and b/public/nextImageExportOptimizer/whiteboard.60eac8e3-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/whiteboard.60eac8e3-opt-96.WEBP b/public/nextImageExportOptimizer/whiteboard.60eac8e3-opt-96.WEBP new file mode 100644 index 0000000000..f8dbc93cb7 Binary files /dev/null and b/public/nextImageExportOptimizer/whiteboard.60eac8e3-opt-96.WEBP differ diff --git a/public/nextImageExportOptimizer/workshop.e02e3501-opt-10.WEBP b/public/nextImageExportOptimizer/workshop.e02e3501-opt-10.WEBP new file mode 100644 index 0000000000..dd81b2644f Binary files /dev/null and b/public/nextImageExportOptimizer/workshop.e02e3501-opt-10.WEBP differ diff --git a/public/nextImageExportOptimizer/workshop.e02e3501-opt-128.WEBP b/public/nextImageExportOptimizer/workshop.e02e3501-opt-128.WEBP new file mode 100644 index 0000000000..cfa1e55870 Binary files /dev/null and b/public/nextImageExportOptimizer/workshop.e02e3501-opt-128.WEBP differ diff --git a/public/nextImageExportOptimizer/workshop.e02e3501-opt-16.WEBP b/public/nextImageExportOptimizer/workshop.e02e3501-opt-16.WEBP new file mode 100644 index 0000000000..c3f58ea182 Binary files /dev/null and b/public/nextImageExportOptimizer/workshop.e02e3501-opt-16.WEBP differ diff --git a/public/nextImageExportOptimizer/workshop.e02e3501-opt-256.WEBP b/public/nextImageExportOptimizer/workshop.e02e3501-opt-256.WEBP new file mode 100644 index 0000000000..816aff3f06 Binary files /dev/null and b/public/nextImageExportOptimizer/workshop.e02e3501-opt-256.WEBP differ diff --git a/public/nextImageExportOptimizer/workshop.e02e3501-opt-32.WEBP b/public/nextImageExportOptimizer/workshop.e02e3501-opt-32.WEBP new file mode 100644 index 0000000000..8056c4b27c Binary files /dev/null and b/public/nextImageExportOptimizer/workshop.e02e3501-opt-32.WEBP differ diff --git a/public/nextImageExportOptimizer/workshop.e02e3501-opt-384.WEBP b/public/nextImageExportOptimizer/workshop.e02e3501-opt-384.WEBP new file mode 100644 index 0000000000..e749032f87 Binary files /dev/null and b/public/nextImageExportOptimizer/workshop.e02e3501-opt-384.WEBP differ diff --git a/public/nextImageExportOptimizer/workshop.e02e3501-opt-48.WEBP b/public/nextImageExportOptimizer/workshop.e02e3501-opt-48.WEBP new file mode 100644 index 0000000000..13d3a5c172 Binary files /dev/null and b/public/nextImageExportOptimizer/workshop.e02e3501-opt-48.WEBP differ diff --git a/public/nextImageExportOptimizer/workshop.e02e3501-opt-64.WEBP b/public/nextImageExportOptimizer/workshop.e02e3501-opt-64.WEBP new file mode 100644 index 0000000000..7888e012f0 Binary files /dev/null and b/public/nextImageExportOptimizer/workshop.e02e3501-opt-64.WEBP differ diff --git a/public/nextImageExportOptimizer/workshop.e02e3501-opt-640.WEBP b/public/nextImageExportOptimizer/workshop.e02e3501-opt-640.WEBP new file mode 100644 index 0000000000..fa45450037 Binary files /dev/null and b/public/nextImageExportOptimizer/workshop.e02e3501-opt-640.WEBP differ diff --git a/public/nextImageExportOptimizer/workshop.e02e3501-opt-750.WEBP b/public/nextImageExportOptimizer/workshop.e02e3501-opt-750.WEBP new file mode 100644 index 0000000000..5d33cfac90 Binary files /dev/null and b/public/nextImageExportOptimizer/workshop.e02e3501-opt-750.WEBP differ diff --git a/public/nextImageExportOptimizer/workshop.e02e3501-opt-828.WEBP b/public/nextImageExportOptimizer/workshop.e02e3501-opt-828.WEBP new file mode 100644 index 0000000000..d7584a37b0 Binary files /dev/null and b/public/nextImageExportOptimizer/workshop.e02e3501-opt-828.WEBP differ diff --git a/public/nextImageExportOptimizer/workshop.e02e3501-opt-96.WEBP b/public/nextImageExportOptimizer/workshop.e02e3501-opt-96.WEBP new file mode 100644 index 0000000000..c677d502d1 Binary files /dev/null and b/public/nextImageExportOptimizer/workshop.e02e3501-opt-96.WEBP differ diff --git a/public/users/logos/1stdibs.png b/public/users/logos/1stdibs.png new file mode 100644 index 0000000000..fd8b9a8119 Binary files /dev/null and b/public/users/logos/1stdibs.png differ diff --git a/public/users/logos/20minutes.png b/public/users/logos/20minutes.png new file mode 100644 index 0000000000..88d22b9f7d Binary files /dev/null and b/public/users/logos/20minutes.png differ diff --git a/public/users/logos/adayroi.png b/public/users/logos/adayroi.png new file mode 100644 index 0000000000..39ab693ba4 Binary files /dev/null and b/public/users/logos/adayroi.png differ diff --git a/public/users/logos/airbnb.png b/public/users/logos/airbnb.png new file mode 100644 index 0000000000..1ad1f2672a Binary files /dev/null and b/public/users/logos/airbnb.png differ diff --git a/public/users/logos/alembic.png b/public/users/logos/alembic.png new file mode 100644 index 0000000000..4a4de76564 Binary files /dev/null and b/public/users/logos/alembic.png differ diff --git a/public/users/logos/allocine.png b/public/users/logos/allocine.png new file mode 100644 index 0000000000..fb0f927aed Binary files /dev/null and b/public/users/logos/allocine.png differ diff --git a/public/users/logos/alphasights.png b/public/users/logos/alphasights.png new file mode 100644 index 0000000000..17fa070c46 Binary files /dev/null and b/public/users/logos/alphasights.png differ diff --git a/public/users/logos/amplitude.png b/public/users/logos/amplitude.png new file mode 100644 index 0000000000..47ff41bf0b Binary files /dev/null and b/public/users/logos/amplitude.png differ diff --git a/public/users/logos/ants.png b/public/users/logos/ants.png new file mode 100644 index 0000000000..0c3f948671 Binary files /dev/null and b/public/users/logos/ants.png differ diff --git a/public/users/logos/appier.png b/public/users/logos/appier.png new file mode 100644 index 0000000000..7716581171 Binary files /dev/null and b/public/users/logos/appier.png differ diff --git a/public/users/logos/arangodb.png b/public/users/logos/arangodb.png new file mode 100644 index 0000000000..00934e72b5 Binary files /dev/null and b/public/users/logos/arangodb.png differ diff --git a/public/users/logos/artsy.png b/public/users/logos/artsy.png new file mode 100644 index 0000000000..9f8597702f Binary files /dev/null and b/public/users/logos/artsy.png differ diff --git a/public/users/logos/atlassian.png b/public/users/logos/atlassian.png new file mode 100644 index 0000000000..e83a4bff3d Binary files /dev/null and b/public/users/logos/atlassian.png differ diff --git a/public/users/logos/attendify.png b/public/users/logos/attendify.png new file mode 100644 index 0000000000..fe86e546ac Binary files /dev/null and b/public/users/logos/attendify.png differ diff --git a/public/users/logos/bazinga.png b/public/users/logos/bazinga.png new file mode 100644 index 0000000000..870c3a6654 Binary files /dev/null and b/public/users/logos/bazinga.png differ diff --git a/public/users/logos/blenderbottle.png b/public/users/logos/blenderbottle.png new file mode 100644 index 0000000000..485687b87e Binary files /dev/null and b/public/users/logos/blenderbottle.png differ diff --git a/public/users/logos/brewerybuddy.png b/public/users/logos/brewerybuddy.png new file mode 100644 index 0000000000..3b58610a4a Binary files /dev/null and b/public/users/logos/brewerybuddy.png differ diff --git a/public/users/logos/bright.png b/public/users/logos/bright.png new file mode 100644 index 0000000000..c19d918a35 Binary files /dev/null and b/public/users/logos/bright.png differ diff --git a/public/users/logos/buildkite.png b/public/users/logos/buildkite.png new file mode 100644 index 0000000000..d38d6dd2b1 Binary files /dev/null and b/public/users/logos/buildkite.png differ diff --git a/public/users/logos/bynder.png b/public/users/logos/bynder.png new file mode 100644 index 0000000000..90c240ac3f Binary files /dev/null and b/public/users/logos/bynder.png differ diff --git a/public/users/logos/cheddar.png b/public/users/logos/cheddar.png new file mode 100644 index 0000000000..5a8efe2fa2 Binary files /dev/null and b/public/users/logos/cheddar.png differ diff --git a/public/users/logos/circlehd.png b/public/users/logos/circlehd.png new file mode 100644 index 0000000000..9976dbc96a Binary files /dev/null and b/public/users/logos/circlehd.png differ diff --git a/public/users/logos/cloverleaf.png b/public/users/logos/cloverleaf.png new file mode 100644 index 0000000000..82b73ba55c Binary files /dev/null and b/public/users/logos/cloverleaf.png differ diff --git a/site/users/logos/clubmed.png b/public/users/logos/clubmed.png similarity index 100% rename from site/users/logos/clubmed.png rename to public/users/logos/clubmed.png diff --git a/public/users/logos/colectica.png b/public/users/logos/colectica.png new file mode 100644 index 0000000000..ca19452994 Binary files /dev/null and b/public/users/logos/colectica.png differ diff --git a/public/users/logos/commercetools.png b/public/users/logos/commercetools.png new file mode 100644 index 0000000000..d5020ee3e3 Binary files /dev/null and b/public/users/logos/commercetools.png differ diff --git a/public/users/logos/comparaonline.png b/public/users/logos/comparaonline.png new file mode 100644 index 0000000000..e866eb1d4e Binary files /dev/null and b/public/users/logos/comparaonline.png differ diff --git a/public/users/logos/conduit.png b/public/users/logos/conduit.png new file mode 100644 index 0000000000..38d2bf4284 Binary files /dev/null and b/public/users/logos/conduit.png differ diff --git a/public/users/logos/coursera.png b/public/users/logos/coursera.png new file mode 100644 index 0000000000..056f8d9252 Binary files /dev/null and b/public/users/logos/coursera.png differ diff --git a/public/users/logos/creditkarma.png b/public/users/logos/creditkarma.png new file mode 100644 index 0000000000..0c45e8a983 Binary files /dev/null and b/public/users/logos/creditkarma.png differ diff --git a/public/users/logos/curio.png b/public/users/logos/curio.png new file mode 100644 index 0000000000..d68e7a9f6a Binary files /dev/null and b/public/users/logos/curio.png differ diff --git a/public/users/logos/dailymotion.png b/public/users/logos/dailymotion.png new file mode 100644 index 0000000000..97fd2745ec Binary files /dev/null and b/public/users/logos/dailymotion.png differ diff --git a/public/users/logos/digitransit.png b/public/users/logos/digitransit.png new file mode 100644 index 0000000000..bb9d338f77 Binary files /dev/null and b/public/users/logos/digitransit.png differ diff --git a/public/users/logos/directlyrics.png b/public/users/logos/directlyrics.png new file mode 100644 index 0000000000..77f56af00e Binary files /dev/null and b/public/users/logos/directlyrics.png differ diff --git a/public/users/logos/drift.png b/public/users/logos/drift.png new file mode 100644 index 0000000000..4283b6bc40 Binary files /dev/null and b/public/users/logos/drift.png differ diff --git a/public/users/logos/duedil.png b/public/users/logos/duedil.png new file mode 100644 index 0000000000..9154b9a76c Binary files /dev/null and b/public/users/logos/duedil.png differ diff --git a/public/users/logos/eastview.png b/public/users/logos/eastview.png new file mode 100644 index 0000000000..5241bfd920 Binary files /dev/null and b/public/users/logos/eastview.png differ diff --git a/public/users/logos/easycarros.png b/public/users/logos/easycarros.png new file mode 100644 index 0000000000..0d963e5120 Binary files /dev/null and b/public/users/logos/easycarros.png differ diff --git a/public/users/logos/ediket.png b/public/users/logos/ediket.png new file mode 100644 index 0000000000..1abfa48105 Binary files /dev/null and b/public/users/logos/ediket.png differ diff --git a/public/users/logos/etmdb.png b/public/users/logos/etmdb.png new file mode 100644 index 0000000000..f2beadce9d Binary files /dev/null and b/public/users/logos/etmdb.png differ diff --git a/public/users/logos/expert360.png b/public/users/logos/expert360.png new file mode 100644 index 0000000000..bd976f6de5 Binary files /dev/null and b/public/users/logos/expert360.png differ diff --git a/public/users/logos/facebook.png b/public/users/logos/facebook.png new file mode 100644 index 0000000000..fc9906b062 Binary files /dev/null and b/public/users/logos/facebook.png differ diff --git a/public/users/logos/fairfaxmedia.png b/public/users/logos/fairfaxmedia.png new file mode 100644 index 0000000000..4fd8ed02ce Binary files /dev/null and b/public/users/logos/fairfaxmedia.png differ diff --git a/public/users/logos/filejet.png b/public/users/logos/filejet.png new file mode 100644 index 0000000000..b6e9a8e3cb Binary files /dev/null and b/public/users/logos/filejet.png differ diff --git a/public/users/logos/gentux.png b/public/users/logos/gentux.png new file mode 100644 index 0000000000..3ea9ec943b Binary files /dev/null and b/public/users/logos/gentux.png differ diff --git a/public/users/logos/getninjas.png b/public/users/logos/getninjas.png new file mode 100644 index 0000000000..a1a3960a2b Binary files /dev/null and b/public/users/logos/getninjas.png differ diff --git a/public/users/logos/github.png b/public/users/logos/github.png new file mode 100644 index 0000000000..a118935cc1 Binary files /dev/null and b/public/users/logos/github.png differ diff --git a/public/users/logos/goalify.png b/public/users/logos/goalify.png new file mode 100644 index 0000000000..1171922c45 Binary files /dev/null and b/public/users/logos/goalify.png differ diff --git a/public/users/logos/graphcms.png b/public/users/logos/graphcms.png new file mode 100644 index 0000000000..ce378c5253 Binary files /dev/null and b/public/users/logos/graphcms.png differ diff --git a/public/users/logos/graphcool.png b/public/users/logos/graphcool.png new file mode 100644 index 0000000000..fc63f6bc85 Binary files /dev/null and b/public/users/logos/graphcool.png differ diff --git a/public/users/logos/hackages.png b/public/users/logos/hackages.png new file mode 100644 index 0000000000..7827a0d7f8 Binary files /dev/null and b/public/users/logos/hackages.png differ diff --git a/public/users/logos/hasura.png b/public/users/logos/hasura.png new file mode 100644 index 0000000000..ecef5aa62d Binary files /dev/null and b/public/users/logos/hasura.png differ diff --git a/public/users/logos/hijup.png b/public/users/logos/hijup.png new file mode 100644 index 0000000000..6a83973874 Binary files /dev/null and b/public/users/logos/hijup.png differ diff --git a/public/users/logos/housinganywhere.png b/public/users/logos/housinganywhere.png new file mode 100644 index 0000000000..d885e8cb15 Binary files /dev/null and b/public/users/logos/housinganywhere.png differ diff --git a/public/users/logos/hsl.png b/public/users/logos/hsl.png new file mode 100644 index 0000000000..08e970f09a Binary files /dev/null and b/public/users/logos/hsl.png differ diff --git a/public/users/logos/hudl.png b/public/users/logos/hudl.png new file mode 100644 index 0000000000..f3d1b8f4b1 Binary files /dev/null and b/public/users/logos/hudl.png differ diff --git a/public/users/logos/icon-systems.png b/public/users/logos/icon-systems.png new file mode 100644 index 0000000000..f13d5b65bf Binary files /dev/null and b/public/users/logos/icon-systems.png differ diff --git a/public/users/logos/idobata.png b/public/users/logos/idobata.png new file mode 100644 index 0000000000..2b82bf45db Binary files /dev/null and b/public/users/logos/idobata.png differ diff --git a/public/users/logos/indonesiax.png b/public/users/logos/indonesiax.png new file mode 100644 index 0000000000..6bc8e3de14 Binary files /dev/null and b/public/users/logos/indonesiax.png differ diff --git a/public/users/logos/inerva.png b/public/users/logos/inerva.png new file mode 100644 index 0000000000..b67ef4820c Binary files /dev/null and b/public/users/logos/inerva.png differ diff --git a/public/users/logos/intuit.png b/public/users/logos/intuit.png new file mode 100644 index 0000000000..b1cfa115d9 Binary files /dev/null and b/public/users/logos/intuit.png differ diff --git a/public/users/logos/jusbrasil.png b/public/users/logos/jusbrasil.png new file mode 100644 index 0000000000..de410a9e20 Binary files /dev/null and b/public/users/logos/jusbrasil.png differ diff --git a/public/users/logos/klm.png b/public/users/logos/klm.png new file mode 100644 index 0000000000..cf10edcad5 Binary files /dev/null and b/public/users/logos/klm.png differ diff --git a/public/users/logos/leanix.png b/public/users/logos/leanix.png new file mode 100644 index 0000000000..132289835e Binary files /dev/null and b/public/users/logos/leanix.png differ diff --git a/public/users/logos/legendsoflearning.png b/public/users/logos/legendsoflearning.png new file mode 100644 index 0000000000..eb9fa1ad57 Binary files /dev/null and b/public/users/logos/legendsoflearning.png differ diff --git a/public/users/logos/lelivrescolaire.png b/public/users/logos/lelivrescolaire.png new file mode 100644 index 0000000000..d7ee53ac2b Binary files /dev/null and b/public/users/logos/lelivrescolaire.png differ diff --git a/public/users/logos/letsevents.png b/public/users/logos/letsevents.png new file mode 100644 index 0000000000..197980ed90 Binary files /dev/null and b/public/users/logos/letsevents.png differ diff --git a/public/users/logos/loggi.png b/public/users/logos/loggi.png new file mode 100644 index 0000000000..f782f604d0 Binary files /dev/null and b/public/users/logos/loggi.png differ diff --git a/public/users/logos/m1finance.png b/public/users/logos/m1finance.png new file mode 100644 index 0000000000..667d5de5dd Binary files /dev/null and b/public/users/logos/m1finance.png differ diff --git a/public/users/logos/make-school.png b/public/users/logos/make-school.png new file mode 100644 index 0000000000..5d92bee84e Binary files /dev/null and b/public/users/logos/make-school.png differ diff --git a/public/users/logos/medallia.png b/public/users/logos/medallia.png new file mode 100644 index 0000000000..d476f41b97 Binary files /dev/null and b/public/users/logos/medallia.png differ diff --git a/public/users/logos/meteor.png b/public/users/logos/meteor.png new file mode 100644 index 0000000000..08a5d70843 Binary files /dev/null and b/public/users/logos/meteor.png differ diff --git a/public/users/logos/metric-ai.png b/public/users/logos/metric-ai.png new file mode 100644 index 0000000000..6fabe07e3e Binary files /dev/null and b/public/users/logos/metric-ai.png differ diff --git a/public/users/logos/mixcloud.png b/public/users/logos/mixcloud.png new file mode 100644 index 0000000000..afe0cb9b9f Binary files /dev/null and b/public/users/logos/mixcloud.png differ diff --git a/public/users/logos/mojilala.png b/public/users/logos/mojilala.png new file mode 100644 index 0000000000..0a5c6e746a Binary files /dev/null and b/public/users/logos/mojilala.png differ diff --git a/public/users/logos/myheritage.png b/public/users/logos/myheritage.png new file mode 100644 index 0000000000..b68d1546f8 Binary files /dev/null and b/public/users/logos/myheritage.png differ diff --git a/public/users/logos/myntra.png b/public/users/logos/myntra.png new file mode 100644 index 0000000000..756bac1254 Binary files /dev/null and b/public/users/logos/myntra.png differ diff --git a/public/users/logos/nbc-news-digital.png b/public/users/logos/nbc-news-digital.png new file mode 100644 index 0000000000..6b42b5d4d1 Binary files /dev/null and b/public/users/logos/nbc-news-digital.png differ diff --git a/public/users/logos/neo4j_logo.png b/public/users/logos/neo4j_logo.png new file mode 100644 index 0000000000..6389fe0964 Binary files /dev/null and b/public/users/logos/neo4j_logo.png differ diff --git a/public/users/logos/newspring.png b/public/users/logos/newspring.png new file mode 100644 index 0000000000..d872e21d98 Binary files /dev/null and b/public/users/logos/newspring.png differ diff --git a/public/users/logos/ningensoft.png b/public/users/logos/ningensoft.png new file mode 100644 index 0000000000..9a98274254 Binary files /dev/null and b/public/users/logos/ningensoft.png differ diff --git a/public/users/logos/nova-ideo.png b/public/users/logos/nova-ideo.png new file mode 100644 index 0000000000..c8506e92d9 Binary files /dev/null and b/public/users/logos/nova-ideo.png differ diff --git a/public/users/logos/nyt.png b/public/users/logos/nyt.png new file mode 100644 index 0000000000..fa109d199f Binary files /dev/null and b/public/users/logos/nyt.png differ diff --git a/public/users/logos/okgrow.png b/public/users/logos/okgrow.png new file mode 100644 index 0000000000..33c8862533 Binary files /dev/null and b/public/users/logos/okgrow.png differ diff --git a/public/users/logos/ovos.png b/public/users/logos/ovos.png new file mode 100644 index 0000000000..da946937b3 Binary files /dev/null and b/public/users/logos/ovos.png differ diff --git a/public/users/logos/paypal.png b/public/users/logos/paypal.png new file mode 100644 index 0000000000..69ef56acc8 Binary files /dev/null and b/public/users/logos/paypal.png differ diff --git a/public/users/logos/persado.png b/public/users/logos/persado.png new file mode 100644 index 0000000000..90a7e67d80 Binary files /dev/null and b/public/users/logos/persado.png differ diff --git a/public/users/logos/pinterest.png b/public/users/logos/pinterest.png new file mode 100644 index 0000000000..275c8eb206 Binary files /dev/null and b/public/users/logos/pinterest.png differ diff --git a/public/users/logos/product-hunt.png b/public/users/logos/product-hunt.png new file mode 100644 index 0000000000..93dd571042 Binary files /dev/null and b/public/users/logos/product-hunt.png differ diff --git a/public/users/logos/project-september.png b/public/users/logos/project-september.png new file mode 100644 index 0000000000..d64b9cd8c8 Binary files /dev/null and b/public/users/logos/project-september.png differ diff --git a/public/users/logos/protel.png b/public/users/logos/protel.png new file mode 100644 index 0000000000..f1f850c57d Binary files /dev/null and b/public/users/logos/protel.png differ diff --git a/public/users/logos/prowl.png b/public/users/logos/prowl.png new file mode 100644 index 0000000000..84ebdde065 Binary files /dev/null and b/public/users/logos/prowl.png differ diff --git a/public/users/logos/quri.png b/public/users/logos/quri.png new file mode 100644 index 0000000000..f55d1045af Binary files /dev/null and b/public/users/logos/quri.png differ diff --git a/public/users/logos/redbubble.png b/public/users/logos/redbubble.png new file mode 100644 index 0000000000..53e806759f Binary files /dev/null and b/public/users/logos/redbubble.png differ diff --git a/public/users/logos/reindex.png b/public/users/logos/reindex.png new file mode 100644 index 0000000000..4874260400 Binary files /dev/null and b/public/users/logos/reindex.png differ diff --git a/public/users/logos/restorando.png b/public/users/logos/restorando.png new file mode 100644 index 0000000000..822725ca8b Binary files /dev/null and b/public/users/logos/restorando.png differ diff --git a/public/users/logos/salestock.png b/public/users/logos/salestock.png new file mode 100644 index 0000000000..7aa55d2b58 Binary files /dev/null and b/public/users/logos/salestock.png differ diff --git a/public/users/logos/scaphold.png b/public/users/logos/scaphold.png new file mode 100644 index 0000000000..c2a45b771c Binary files /dev/null and b/public/users/logos/scaphold.png differ diff --git a/public/users/logos/serverless.png b/public/users/logos/serverless.png new file mode 100644 index 0000000000..183a923689 Binary files /dev/null and b/public/users/logos/serverless.png differ diff --git a/public/users/logos/shopify.png b/public/users/logos/shopify.png new file mode 100644 index 0000000000..24311dd489 Binary files /dev/null and b/public/users/logos/shopify.png differ diff --git a/public/users/logos/sky.png b/public/users/logos/sky.png new file mode 100644 index 0000000000..ab70c0bd80 Binary files /dev/null and b/public/users/logos/sky.png differ diff --git a/public/users/logos/skyarchnetworks.png b/public/users/logos/skyarchnetworks.png new file mode 100644 index 0000000000..36e31c2aa7 Binary files /dev/null and b/public/users/logos/skyarchnetworks.png differ diff --git a/public/users/logos/smarkets.png b/public/users/logos/smarkets.png new file mode 100644 index 0000000000..e13b077856 Binary files /dev/null and b/public/users/logos/smarkets.png differ diff --git a/public/users/logos/stackshare.png b/public/users/logos/stackshare.png new file mode 100644 index 0000000000..ab53088d05 Binary files /dev/null and b/public/users/logos/stackshare.png differ diff --git a/public/users/logos/startupsco.png b/public/users/logos/startupsco.png new file mode 100644 index 0000000000..95119563d9 Binary files /dev/null and b/public/users/logos/startupsco.png differ diff --git a/public/users/logos/stem.png b/public/users/logos/stem.png new file mode 100644 index 0000000000..1e870dd99a Binary files /dev/null and b/public/users/logos/stem.png differ diff --git a/public/users/logos/swapcard.png b/public/users/logos/swapcard.png new file mode 100644 index 0000000000..cda2f4f452 Binary files /dev/null and b/public/users/logos/swapcard.png differ diff --git a/public/users/logos/syzygy.png b/public/users/logos/syzygy.png new file mode 100644 index 0000000000..8d0e010867 Binary files /dev/null and b/public/users/logos/syzygy.png differ diff --git a/public/users/logos/taller.png b/public/users/logos/taller.png new file mode 100644 index 0000000000..2633c5e4ab Binary files /dev/null and b/public/users/logos/taller.png differ diff --git a/public/users/logos/teacherspayteachers.png b/public/users/logos/teacherspayteachers.png new file mode 100644 index 0000000000..c4119aa30b Binary files /dev/null and b/public/users/logos/teacherspayteachers.png differ diff --git a/public/users/logos/teselagen_logo.png b/public/users/logos/teselagen_logo.png new file mode 100644 index 0000000000..307e21eef4 Binary files /dev/null and b/public/users/logos/teselagen_logo.png differ diff --git a/public/users/logos/thehunt.png b/public/users/logos/thehunt.png new file mode 100644 index 0000000000..380ae4182d Binary files /dev/null and b/public/users/logos/thehunt.png differ diff --git a/public/users/logos/trove.png b/public/users/logos/trove.png new file mode 100644 index 0000000000..773bbb4016 Binary files /dev/null and b/public/users/logos/trove.png differ diff --git a/public/users/logos/twitter.png b/public/users/logos/twitter.png new file mode 100644 index 0000000000..7fac8c5141 Binary files /dev/null and b/public/users/logos/twitter.png differ diff --git a/public/users/logos/uctrends.png b/public/users/logos/uctrends.png new file mode 100644 index 0000000000..357df76d3b Binary files /dev/null and b/public/users/logos/uctrends.png differ diff --git a/public/users/logos/unigraph.png b/public/users/logos/unigraph.png new file mode 100644 index 0000000000..28eb1faf95 Binary files /dev/null and b/public/users/logos/unigraph.png differ diff --git a/public/users/logos/universe.png b/public/users/logos/universe.png new file mode 100644 index 0000000000..69470596a2 Binary files /dev/null and b/public/users/logos/universe.png differ diff --git a/public/users/logos/ustglobal.png b/public/users/logos/ustglobal.png new file mode 100644 index 0000000000..5c435e71b2 Binary files /dev/null and b/public/users/logos/ustglobal.png differ diff --git a/public/users/logos/vanilaio.png b/public/users/logos/vanilaio.png new file mode 100644 index 0000000000..7ff0070850 Binary files /dev/null and b/public/users/logos/vanilaio.png differ diff --git a/public/users/logos/waitlessq.png b/public/users/logos/waitlessq.png new file mode 100644 index 0000000000..16a2432a58 Binary files /dev/null and b/public/users/logos/waitlessq.png differ diff --git a/public/users/logos/waldo-photos.png b/public/users/logos/waldo-photos.png new file mode 100644 index 0000000000..aefe652058 Binary files /dev/null and b/public/users/logos/waldo-photos.png differ diff --git a/public/users/logos/wayfair.png b/public/users/logos/wayfair.png new file mode 100644 index 0000000000..58173ab72a Binary files /dev/null and b/public/users/logos/wayfair.png differ diff --git a/public/users/logos/whitescape.png b/public/users/logos/whitescape.png new file mode 100644 index 0000000000..231169d22c Binary files /dev/null and b/public/users/logos/whitescape.png differ diff --git a/public/users/logos/wirtualnapolska.png b/public/users/logos/wirtualnapolska.png new file mode 100644 index 0000000000..6327946d68 Binary files /dev/null and b/public/users/logos/wirtualnapolska.png differ diff --git a/public/users/logos/wishlife.png b/public/users/logos/wishlife.png new file mode 100644 index 0000000000..5139d194eb Binary files /dev/null and b/public/users/logos/wishlife.png differ diff --git a/public/users/logos/workflowgen.png b/public/users/logos/workflowgen.png new file mode 100644 index 0000000000..5f3d0bf850 Binary files /dev/null and b/public/users/logos/workflowgen.png differ diff --git a/public/users/logos/wowair.png b/public/users/logos/wowair.png new file mode 100644 index 0000000000..be0c04c101 Binary files /dev/null and b/public/users/logos/wowair.png differ diff --git a/public/users/logos/yelp.png b/public/users/logos/yelp.png new file mode 100644 index 0000000000..911172698c Binary files /dev/null and b/public/users/logos/yelp.png differ diff --git a/public/users/logos/zlyde.png b/public/users/logos/zlyde.png new file mode 100644 index 0000000000..4c2979d2a9 Binary files /dev/null and b/public/users/logos/zlyde.png differ diff --git a/public/users/logos/zzish.png b/public/users/logos/zzish.png new file mode 100644 index 0000000000..e23d0b5a39 Binary files /dev/null and b/public/users/logos/zzish.png differ diff --git a/renovate.json b/renovate.json new file mode 100644 index 0000000000..dae68d25dd --- /dev/null +++ b/renovate.json @@ -0,0 +1,4 @@ +{ + "extends": ["config:base"], + "schedule": ["every weekend"] +} diff --git a/resources/Site.js b/resources/Site.js deleted file mode 100644 index 82a5447caa..0000000000 --- a/resources/Site.js +++ /dev/null @@ -1,171 +0,0 @@ -/** - * Copyright (c) 2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the license found in the - * LICENSE file in the root directory of this source tree. - */ - -var fileWalker = require('./fileWalker'); -var fs = require('fs'); -var path = require('path'); -var writer = require('./writer'); -var yaml = require('js-yaml'); -import { endsWith } from './util'; - -exports.readSite = readSite; -exports.buildSite = buildSite; - -async function readSite(siteRoot) { - var site = { - root: path.resolve(siteRoot), - files: [] - }; - - await fileWalker(site.root, (absPath, stat) => { - var relPath = path.relative(site.root, absPath); - - return readFileData(absPath, relPath, stat).then(data => { - data = normalizeData(data); - var dirName = path.dirname(relPath); - var dirs = dirName === '.' ? [] : dirName.split(path.sep); - // TODO: throw if a dirname is only a number or is called "length" - // TODO: there must be a better data structure that doesn't hack Array - var files = site.files; - files.push(data); - for (var i = 0; i < dirs.length; i++) { - files = files[dirs[i]] || (files[dirs[i]] = []); - files.push(data); - } - }); - }); - - // Cross-link all prev/next pages - var pageByUrl = Object.create(null); - for (var i = 0; i < site.files.length; i++) { - pageByUrl[path.resolve(site.files[i].url)] = site.files[i]; - } - - for (var i = 0; i < site.files.length; i++) { - var page = site.files[i]; - if (page.next) { - page.nextPage = pageByUrl[path.resolve(page.url, page.next)]; - } - } - - return site; -} - -function buildSite(buildRoot, site, filter) { - return Promise.all(site.files - .filter(file => - !filter || - (filter.test ? filter.test(file.absPath) : filter === file.absPath)) - .map(file => writer(buildRoot, file, site)) - ); -} - - - -var PAGEISH = [ '.html.js', '.xml.js', '.md', '.markdown' ]; - -function isPageish(filePath) { - for (var i = 0; i < PAGEISH.length; i++) { - if (endsWith(filePath, PAGEISH[i])) { - return true; - } - } - return false; -} - -var FRONT_MATTER_RX = - /^(---\s*\n(?:(?:[^\n]*\n)(?!---|\.\.\.))*[^\n]*\n)(?:---|\.\.\.)?(?:\s*\n)*/; - -// Given some file information produce a data structure that can be used. -// If a file is page-like, front-matter will be looked for. -function readFileData(absPath, relPath, stat) { - if (stat.size > 100000 || !isPageish(relPath)) { - return Promise.resolve({ absPath, relPath, stat }); - } - return readFile(absPath).then(content => { - var frontMatter = FRONT_MATTER_RX.exec(content); - - if (!frontMatter) { - return { absPath, relPath, stat, content }; - } - return { - ...yaml.load(frontMatter[1]), - absPath, - relPath, - stat, - content: content.slice(frontMatter[0].length) - }; - }); -} - -// Normalize the file data -function normalizeData(file) { - file.isPage = file.content && isPageish(file.relPath); - file.url = urlToFile(file); - var dirname = path.dirname(file.relPath); - file.dir = dirname === '.' ? 'docs' : dirname.split('/')[0]; - file.date = file.date ? - Date.parse(file.date) : - (file.stat.birthtime || file.stat.ctime); - return file; -} - -// The URL with a leading slash to a file. -function urlToFile(file) { - // Determine full url from permalink or the file path. - var url; - if (file.permalink) { - url = file.permalink[0] === '/' ? - file.permalink : - '/' + path.join(path.dirname(file.relPath), file.permalink); - // Ext-less permalinks should have trailing slashes - if (!endsWith(url, '/') && path.extname(url) === '') { - url += '/'; - } - } else { - url = '/' + file.relPath; - - if (endsWith(file.relPath, '.xml.js')) { - url = url.slice(0, -'.js'.length); - } else { - for (var i = 0; i < PAGEISH.length; i++) { - if (endsWith(url, PAGEISH[i])) { - url = url.slice(0, -PAGEISH[i].length) + '.html'; - } - } - } - } - - // Convert .less to .css - if (path.extname(url) === '.less') { - url = url.slice(0, -5) + '.css'; - } - - // Assume index.html stands for the parent directory - if (path.basename(url) === 'index.html') { - url = path.dirname(url); - if (!endsWith(url, '/')) { - url += '/'; - } - } - - return url; -} - -// Simple Promise wrapper around fs.readFile -function readFile(filePath) { - return new Promise((resolve, reject) => { - fs.readFile(filePath, 'utf8', (err, content) => { - if (err) { - reject(err); - } else { - resolve(content); - } - }); - }); -} diff --git a/resources/build.js b/resources/build.js deleted file mode 100644 index bc33eda70c..0000000000 --- a/resources/build.js +++ /dev/null @@ -1,36 +0,0 @@ -/** - * Copyright (c) 2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the license found in the - * LICENSE file in the root directory of this source tree. - */ - -var path = require('path'); -var Site = require('./Site'); - -module.exports = build; - -process.on('unhandledRejection', (error, promise) => { - console.error('Unhandled Promise Rejection:'); - console.error(error && error.stack || error); - console.error(promise); -}); - -var pwd = process.env.PWD; -var sourceDir = process.env.npm_package_site_source || './'; -var buildDir = process.env.npm_package_site_build || './_build'; - -var SITE_ROOT = path.resolve(pwd, sourceDir); -var BUILD_ROOT = path.resolve(pwd, buildDir); - -async function build(filter) { - console.log('building...'); - var site = await Site.readSite(SITE_ROOT); - await Site.buildSite(BUILD_ROOT, site, filter); - console.log('built'); -} - -if (require.main === module) { - build().catch(error => console.error(error.stack || error)); -} diff --git a/resources/fileWalker.js b/resources/fileWalker.js deleted file mode 100644 index 5b18b4223b..0000000000 --- a/resources/fileWalker.js +++ /dev/null @@ -1,70 +0,0 @@ -/** - * Copyright (c) 2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the license found in the - * LICENSE file in the root directory of this source tree. - */ - -var fs = require('fs'); -var path = require('path'); - -module.exports = fileWalker; - -var IGNORE_RX = - /^(?:_|\.|(?:node_modules|package\.json|README\.(?:md|markdown))$)/; - -var INCLUDE_RX = /^(?:\.nojekyll|\.htaccess)/; - -function fileWalker(dirPath, onVisitFile) { - return new Promise((resolve, reject) => { - fs.readdir(dirPath, (error, files) => { - if (error) { - return reject(error); - } - - var absFiles = files - .filter(fileName => !IGNORE_RX.test(fileName) || INCLUDE_RX.test(fileName)) - .map(fileName => path.join(dirPath, fileName)); - - lstatAll(absFiles, (error, stats) => { - if (error) { - return reject(error); - } - var awaitWalkers = absFiles.reduce((promise, absFileName, index) => { - return promise.then(() => { - if (stats[index].isDirectory()) { - return fileWalker(absFileName, onVisitFile); - } else { - return onVisitFile(absFileName, stats[index]); - } - }); - }, Promise.resolve()); - - awaitWalkers.then(() => resolve(), reject); - }); - }); - }); -} - -function lstatAll(files, cb) { - var count = files.length; - var stats = []; - var success = true; - files.forEach((fileName, index) => { - if (success) { - fs.lstat(fileName, (error, stat) => { - if (success) { - if (error) { - success = false; - return cb(error); - } - stats[index] = stat; - if (--count === 0) { - cb(null, stats); - } - } - }); - } - }); -} diff --git a/resources/publish.sh b/resources/publish.sh deleted file mode 100755 index 6abc355582..0000000000 --- a/resources/publish.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/bash -e - -# Publishing to NPM is currently supported by Travis CI, which ensures that all -# tests pass first and the deployed module contains the correct file struture. -# In order to prevent inadvertently circumventing this, we ensure that a CI -# environment exists before continuing. -if [ "$CI" != true ]; then - echo "\n\n\n \033[101;30m Only Travis CI can publish to NPM. \033[0m\n\n\n" 1>&2; - exit 1; -fi; - - -# Ensure the website was built -if [ ! -f ./build/index.html ]; then - echo "\n\n\n \033[101;30m Something went wrong, the site does not exist. \033[0m\n\n\n" 1>&2; - exit 1; -fi - -# Commit the website and push it -cd build -git init -git config user.name "Travis CI" -git config user.email "travis@travis-ci.org" -git add . -git commit -a -m "Auto-deploy by Travis CI" -git push --force --quiet "https://$%7BGH_TOKEN%7D@github.com/graphql/graphql.github.io.git" master:master diff --git a/resources/renderReactPage.js b/resources/renderReactPage.js deleted file mode 100644 index dfafb375ae..0000000000 --- a/resources/renderReactPage.js +++ /dev/null @@ -1,48 +0,0 @@ -/** - * Copyright (c) 2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the license found in the - * LICENSE file in the root directory of this source tree. - */ - -var ReactDOM = require('react-dom/server') -var React = require('react'); - -module.exports = renderReactPage; - -/** - * Options: - * - * - component: A Component constructor class - * - props: The props to provide to the Component - * - */ -function renderReactPage(options) { - var component = options.component; - var props = options.props; - - var html = ReactDOM.renderToStaticMarkup( - React.createElement(component, props) - ); - - if (html.indexOf('', ''); - - return '' + html; - } - - // Assert correct return - if (html.indexOf('' - ); - } - - // Append DOCTYPE - html = '' + html; - - // Return rendered source - return html; -} diff --git a/resources/server.js b/resources/server.js deleted file mode 100644 index 62c3e957bc..0000000000 --- a/resources/server.js +++ /dev/null @@ -1,23 +0,0 @@ -/** - * Copyright (c) 2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the license found in the - * LICENSE file in the root directory of this source tree. - */ - -var path = require('path'); -var express = require('express'); -var watch = require('./watch'); - -var pwd = process.env.PWD; -var buildDir = process.env.npm_package_site_build || './_build'; - -var FILE_SERVE_ROOT = path.resolve(pwd, buildDir); - -var app = express().use(express.static(FILE_SERVE_ROOT)) -app.listen(8444, () => { - watch().then(() => { - console.log('Open http://localhost:8444/'); - }).catch(error => console.error(error.stack || error)); -}); diff --git a/resources/util.js b/resources/util.js deleted file mode 100644 index f0f6183c10..0000000000 --- a/resources/util.js +++ /dev/null @@ -1,14 +0,0 @@ -/** - * Copyright (c) 2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the license found in the - * LICENSE file in the root directory of this source tree. - */ - -export function endsWith(string, partial) { - return ( - partial.length <= string.length && - string.substr(string.length - partial.length) === partial - ); -} diff --git a/resources/watch.js b/resources/watch.js deleted file mode 100644 index a80d5ae96b..0000000000 --- a/resources/watch.js +++ /dev/null @@ -1,110 +0,0 @@ -/** - * Copyright (c) 2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the license found in the - * LICENSE file in the root directory of this source tree. - */ - -var fs = require('fs'); -var path = require('path'); -var sane = require('sane'); -var build = require('./build'); - -var pwd = process.env.PWD; -var sourceDir = process.env.npm_package_site_source || './'; -var buildDir = process.env.npm_package_site_build || path.join(sourceDir, '_build'); - -var SITE_ROOT = path.resolve(pwd, sourceDir); -var BUILD_ROOT = path.resolve(pwd, buildDir); - -var buildWithinSite = path.relative(SITE_ROOT, BUILD_ROOT); -if (buildWithinSite[0] === '.') { - buildWithinSite = null; -} else if (buildWithinSite.indexOf('/') !== -1) { - // Note: minimatch would not be able to safely ignore watching this directory - // if nested deeply within source. - throw new Error('Cannot watch safely. Build deeply within Source'); -} - -module.exports = watch; - -function watch() { - return build().then(() => { - var globIgnore = - 'node_modules' + (buildWithinSite ? '|' + buildWithinSite : ''); - var watcher = sane(SITE_ROOT, { - // Note: minimatch erroneously negates the entire pattern if the first - // character is a !. This prefix should cause it to not match. - // glob: ['?(%)!(' + globIgnore + ')/**/*', '?(%)!(' + globIgnore + ')'], - // handle node v0.10 bug - watchman: /^v0.10/.test(process.version) - }) - .on('ready', startWatch) - .on('add', changeFile) - .on('delete', deleteFile) - .on('change', changeFile); - }); -} - -function startWatch() { - console.log('watching...'); -} - -function changeFile(fileName) { - enqueue(fileName); -} - -function deleteFile(fileName) { - enqueue(fileName); -} - -const queue = []; - -function enqueue(fileName) { - queue.push(fileName); - if (queue.length === 1) { - rebuild(); - } else { - console.log('queue', fileName); - } -} - -function rebuild() { - const fileName = queue[0]; - const filter = - /_core\//.test(fileName) ? /\.(js|md)$/ : - /\.less$/.test(fileName) ? /\.less$/ : - fileName ? SITE_ROOT + '/' + fileName : - null; - clearCache(fileName); - return build(filter).then( - () => { - queue.shift(); - if (queue.length) { - return rebuild(); - } - }, - error => { - console.error(error.stack || error); - queue.shift(); - if (queue.length) { - return rebuild(); - } - } - ); -} - -function clearCache(causeFileName) { - if (path.extname(causeFileName) === '.js') { - for (var fileName in require.cache) { - if (fileName.indexOf('/node_modules/') === -1) { - delete require.cache[fileName]; - } - } - } -} - -if (require.main === module) { - watch().catch(error => console.error(error.stack || error)); -} diff --git a/resources/writer.js b/resources/writer.js deleted file mode 100644 index 19ac44454c..0000000000 --- a/resources/writer.js +++ /dev/null @@ -1,230 +0,0 @@ -/** - * Copyright (c) 2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the license found in the - * LICENSE file in the root directory of this source tree. - */ - -var vm = require('vm'); -var webpack = require('webpack'); -var React = require('react'); -var ReactDOM = require('react-dom/server') -var fs = require('fs'); -var yaml = require('js-yaml'); -var path = require('path'); -var less = require('less'); -var renderReactPage = require('./renderReactPage'); -import { endsWith } from './util'; - - -module.exports = writer; - -async function writer(buildDir, file, site) { - var writePath = getWritePath(buildDir, file); - console.log(' writing', file.relPath); - - // Render Less file - if (endsWith(file.absPath, '.less')) { - const input = await readFile(file.absPath); - const output = await less.render(input, { filename: file.absPath }); - return await writeFile(writePath, output.css); - } - - // Non-modified content - if (!file.content) { - await promiseDirExists(path.dirname(writePath)); - await promisePipeEnds( - fs.createReadStream(file.absPath).pipe(fs.createWriteStream(writePath)) - ); - return; - } - - var data; - - // Render JS file - if (endsWith(file.relPath, '.html.js') || endsWith(file.relPath, '.xml.js')) { - data = renderReactPage({ - component: require(path.resolve(file.absPath)), - props: { site, page: file } - }); - } else if (endsWith(file.relPath, '.md') || - endsWith(file.relPath, '.markdown')) { - var absLayoutPath = path.join(path.dirname(file.absPath), file.layout); - data = renderReactPage({ - component: require(path.resolve(absLayoutPath)), - props: { site, page: file } - }); - } else { - data = file.content; - } - - data = await writeScript(writePath, file, data); - - await writeFile(writePath, data); -} - -var SCRIPT_RX = /` + - `` + - `` - ) - ); - }); - }); - - }); - - }); -} - -function getWritePath(buildDir, file) { - var writePath = file.url; - if (endsWith(writePath, '/')) { - writePath = path.join(writePath, 'index.html'); - } - return path.join(buildDir, writePath.slice(1)); -} - -// Simple Promise wrapper around fs.writeFile -function readFile(filePath, fmt) { - return new Promise((resolve, reject) => - fs.readFile(filePath, fmt || 'utf8', (err, results) => - err ? reject(err) : resolve(results)) - ); -} - -// Ensures directory exists, then writes file -async function writeFile(filePath, data) { - await promiseDirExists(path.dirname(filePath)); - await _writeFile(filePath, data); -} - -// Simple Promise wrapper around fs.writeFile -function _writeFile(filePath, data) { - return new Promise((resolve, reject) => - fs.writeFile(filePath, data, err => err ? reject(err) : resolve()) - ); -} - -function promisePipeEnds(pipe) { - return new Promise((resolve, reject) => { - pipe.on('close', resolve).on('error', reject); - }); -} - -function promiseDirExists(dir) { - return new Promise((resolve, reject) => { - mkdirp(dir, err => err ? reject(err) : resolve()); - }); -} - -function mkdirp(p, cb) { - p = path.resolve(p); - fs.mkdir(p, 511 ^ process.umask(), error => { - if (error && error.code === 'EEXIST') { - return cb(); - } else if (error && error.code === 'ENOENT') { - mkdirp(path.dirname(p), error2 => { - return error2 ? cb(error2) : mkdirp(p, cb); - }); - } else { - cb(error); - } - }); -} diff --git a/scripts/sort-libraries/get-gem-stats.ts b/scripts/sort-libraries/get-gem-stats.ts new file mode 100644 index 0000000000..b3e2373382 --- /dev/null +++ b/scripts/sort-libraries/get-gem-stats.ts @@ -0,0 +1,54 @@ +type GemStatsFetchRespone = { + name: string + downloads: number + version: string + version_created_at: string + version_downloads: number + platform: string + authors: string + info: string + licenses: Array + metadata: { + homepage_uri: string + changelog_uri: string + bug_tracker_uri: string + source_code_uri: string + mailing_list_uri: string + } + yanked: boolean + sha: string + gem_uri: string + homepage_uri: string + wiki_uri: string + documentation_uri: string + mailing_list_uri: string + source_code_uri: string + bug_tracker_uri: string + changelog_uri: string + funding_uri: string + dependencies: { + development: Array + runtime: Array + } +} + +export async function getGemStats(packageName: string): Promise { + try { + const response = await fetch( + `https://rubygems.org/api/v1/gems/${encodeURIComponent(packageName)}.json`, + ) + + if (!response.ok) { + console.warn( + `Error fetching GEM stats for ${packageName}. Status: ${response.status}`, + ) + return 0 + } + + const responseJson: GemStatsFetchRespone = await response.json() + return responseJson.downloads ?? 0 + } catch (error) { + console.error(`Exception fetching GEM stats for ${packageName}:`, error) + return 0 + } +} diff --git a/scripts/sort-libraries/get-github-stats.ts b/scripts/sort-libraries/get-github-stats.ts new file mode 100644 index 0000000000..ddd96c5e18 --- /dev/null +++ b/scripts/sort-libraries/get-github-stats.ts @@ -0,0 +1,258 @@ +import numbro from "numbro" +import { format as timeago } from "timeago.js" + +type GitHubStatsFetchResponse = + | { + errors: [ + { + extensions: { + value: string + problems: [ + { + path: string + explanation: string + }, + ] + } + locations: [ + { + line: number + column: number + }, + ] + message: string + }, + ] + } + | { + data: { + repositoryOwner: { + repository: { + defaultBranchRef: { + target: { + history: { + edges: [ + { + node: { + author: { + name: string + } + pushedDate: string + } + }, + ] + } + } + } + stargazers: { + totalCount: number + } + updatedAt: string + forkCount: number + pullRequests: { + totalCount: number + } + description: string + licenseInfo: { + name: string + } + releases: { + nodes: [ + { + publishedAt: string + }, + ] + } + tags: { + nodes: [ + { + name: string + target: { + target: { + pushedDate: string + } + } + }, + ] + } + } + } + } + } + +type GitHubInfo = { + hasCommitsInLast3Months: boolean + stars: number + formattedStars: string + license: string + lastRelease: string + formattedLastRelease: string +} + +type Release = { date: string; formattedDate: string } + +export async function getGitHubStats( + githubRepo: string, +): Promise { + const [owner, repoName] = githubRepo.split("/") + const accessToken = process.env.GITHUB_ACCESS_TOKEN + if (!accessToken) { + console.warn( + `No GITHUB_ACCESS_TOKEN environment variable found. Skipping GitHub stats for ${githubRepo}`, + ) + return + } + const query = /* GraphQL */ ` + fragment defaultBranchRefFragment on Ref { + target { + ... on Commit { + history(since: $since) { + edges { + node { + author { + name + } + pushedDate + } + } + } + } + } + } + query GitHubInfo( + $owner: String! + $repoName: String! + $since: GitTimestamp! + ) { + repositoryOwner(login: $owner) { + repository(name: $repoName) { + defaultBranchRef { + ...defaultBranchRefFragment + } + stargazers { + totalCount + } + updatedAt + forkCount + pullRequests { + totalCount + } + description + licenseInfo { + name + } + releases(first: 1) { + nodes { + publishedAt + } + } + tags: refs( + refPrefix: "refs/tags/" + first: 1 + orderBy: { field: TAG_COMMIT_DATE, direction: DESC } + ) { + nodes { + name + target { + ... on Tag { + target { + ... on Commit { + pushedDate + } + } + } + } + } + } + } + } + } + ` + const lastThreeMonths = new Date() + lastThreeMonths.setMonth(lastThreeMonths.getMonth() - 3) + + try { + const response = await fetch("http://github.com/service/https://api.github.com/graphql", { + method: "POST", + body: JSON.stringify({ + query, + variables: { owner, repoName, since: lastThreeMonths.toISOString() }, + }), + headers: { + Authorization: `Bearer ${accessToken}`, + "Content-Type": "application/json", + }, + }) + + if (!response.ok) { + console.warn( + `Error fetching GitHub stats for ${owner}/${repoName}. Status: ${response.status}`, + ) + return undefined + } + + const responseJson: GitHubStatsFetchResponse = await response.json() + + if ("errors" in responseJson) { + console.warn( + `GitHub GraphQL errors for ${owner}/${repoName}:`, + responseJson.errors, + ) + return undefined + } + + const repo = responseJson.data.repositoryOwner?.repository + if (!repo) { + console.warn(`No GitHub repository found for ${owner}/${repoName}`) + return undefined + } + + const hasCommitsInLast3Months = + repo.defaultBranchRef.target.history.edges.some( + edge => new Date(edge.node.pushedDate) > lastThreeMonths, + ) + const formattedStars = numbro(repo.stargazers.totalCount).format({ + average: true, + }) + + const lastRelease = getLastRelease(repo) + + return { + hasCommitsInLast3Months, + stars: repo.stargazers.totalCount, + formattedStars, + license: repo.licenseInfo?.name ?? "Unknown", + lastRelease: lastRelease?.date ?? "", + formattedLastRelease: lastRelease?.formattedDate ?? "", + } + } catch (error) { + console.error(`Exception fetching GitHub stats for ${githubRepo}:`, error) + return undefined + } +} + +function getLastRelease(repo: any): Release | undefined { + const releases: Release[] = [] + + repo.tags.nodes.forEach((node: any) => { + if (node.target.target?.pushedDate) { + releases.push({ + date: node.target.target.pushedDate, + formattedDate: timeago(node.target.target.pushedDate), + }) + } + }) + + repo.releases.nodes.forEach((node: any) => { + if (node.publishedAt) { + releases.push({ + date: node.publishedAt, + formattedDate: timeago(node.publishedAt), + }) + } + }) + + return releases.sort( + (a, b) => new Date(b.date).getTime() - new Date(a.date).getTime(), + )[0] +} diff --git a/scripts/sort-libraries/get-http-score.ts b/scripts/sort-libraries/get-http-score.ts new file mode 100644 index 0000000000..3c3edd8967 --- /dev/null +++ b/scripts/sort-libraries/get-http-score.ts @@ -0,0 +1,34 @@ +type HttpScoreFetchResponse = { + total: number + pass: number + errors: number + warnings: number +} + +export async function getHttpScore(packageName: string): Promise { + try { + const url = `https://raw.githubusercontent.com/graphql/graphql-http/main/implementations/${encodeURIComponent( + packageName, + )}/report.json` + const response = await fetch(url) + + if (!response.ok) { + if (response.status === 404) { + console.warn( + `Resource not found for package ${packageName} at URL: ${url}`, + ) + } else { + console.warn( + `invalid response from HTTP score for ${packageName}. Status: ${response.status}`, + ) + } + return 0 + } + + const responseJson: HttpScoreFetchResponse = await response.json() + return responseJson.total ?? 0 + } catch (error) { + console.error(`Error fetching HTTP score for ${packageName}:`, error) + return 0 + } +} diff --git a/scripts/sort-libraries/get-npm-stats.ts b/scripts/sort-libraries/get-npm-stats.ts new file mode 100644 index 0000000000..f55889a7fe --- /dev/null +++ b/scripts/sort-libraries/get-npm-stats.ts @@ -0,0 +1,36 @@ +type NpmStatsFetchResponse = + | { + downloads?: number + start: string + end: string + package: string + } + | { error: string } + +export async function getNpmStats(packageName: string): Promise { + try { + const response = await fetch( + `https://api.npmjs.org/downloads/point/last-week/${encodeURIComponent( + packageName, + )}`, + ) + + if (!response.ok) { + console.warn( + `Error fetching NPM stats for ${packageName}. Status: ${response.status}`, + ) + return 0 + } + + const responseJson: NpmStatsFetchResponse = await response.json() + if ("error" in responseJson) { + console.warn(`NPM Stats error for ${packageName}: ${responseJson.error}`) + return 0 + } + + return responseJson.downloads ?? 0 + } catch (error) { + console.error(`Exception fetching NPM stats for ${packageName}:`, error) + return 0 + } +} diff --git a/scripts/sort-libraries/sort-libraries.ts b/scripts/sort-libraries/sort-libraries.ts new file mode 100644 index 0000000000..c6abfba8b6 --- /dev/null +++ b/scripts/sort-libraries/sort-libraries.ts @@ -0,0 +1,77 @@ +import { getGemStats } from "./get-gem-stats" +import { getGitHubStats } from "./get-github-stats" +import { getHttpScore } from "./get-http-score" +import { getNpmStats } from "./get-npm-stats" + +export interface Library { + name: string + description: string + howto: string + url: string + github: string | undefined + npm: string | undefined + gem: string | undefined + sourcePath: string +} + +export async function sortLibs( + libraries: Library[], +): Promise<{ sortedLibs: Library[]; totalStars: number }> { + let totalStars = 0 + const libsWithScores = await Promise.all( + libraries.map(async lib => { + const [npmStats, gemStars, githubStats, httpScore] = await Promise.all([ + lib.npm ? getNpmStats(lib.npm) : undefined, + lib.gem ? getGemStats(lib.gem) : undefined, + lib.github ? getGitHubStats(lib.github) : undefined, + lib.name ? getHttpScore(lib.name) : undefined, + ]) + + const result = { + ...lib, + downloadCount: npmStats ?? gemStars ?? 0, + stars: githubStats?.stars ?? 0, + httpScore: httpScore ?? 0, + ...githubStats, + } + totalStars += result.stars + return result + }), + ) + const sortedLibs = libsWithScores.sort((a, b) => { + let aScore = 0, + bScore = 0 + if (a.downloadCount > b.downloadCount) { + aScore += 36 + } else if (b.downloadCount > a.downloadCount) { + bScore += 36 + } + + if (a.httpScore > b.httpScore) { + aScore += 10 + } else if (b.httpScore > a.httpScore) { + bScore += 10 + } + + if ("hasCommitsInLast3Months" in a && a.hasCommitsInLast3Months) { + aScore += 28 + } + if ("hasCommitsInLast3Months" in b && b.hasCommitsInLast3Months) { + bScore += 28 + } + if (a.stars > b.stars) { + aScore += 36 + } else if (a.stars < b.stars) { + bScore += 36 + } + if (bScore > aScore) { + return 1 + } + if (bScore < aScore) { + return -1 + } + return 0 + }) + + return { sortedLibs, totalStars } +} diff --git a/scripts/sync-sched/count-speakers-without-details.ts b/scripts/sync-sched/count-speakers-without-details.ts new file mode 100644 index 0000000000..42b2c077a8 --- /dev/null +++ b/scripts/sync-sched/count-speakers-without-details.ts @@ -0,0 +1,40 @@ +#!/usr/bin/env tsx + +import { join } from "node:path" +import { readFile } from "node:fs/promises" + +import type { SchedSpeaker } from "@/app/conf/_api/sched-types" + +/** + * We count the number of speakers we didn't sync details for + * to make sure we have social URLs for everybody. + */ +;(async function main() { + try { + const speakersFilePath = join(import.meta.dirname, "speakers.json") + + console.log("Reading speakers.json...") + + const speakersData = await readFile(speakersFilePath, "utf-8") + const speakers: SchedSpeaker[] = JSON.parse(speakersData) + + const speakersWithoutDetails = speakers.filter( + speaker => !speaker["~syncedDetailsAt"], + ) + + console.log(`Total speakers: ${speakers.length}`) + console.log( + `Speakers without ~syncedDetailsAt: ${speakersWithoutDetails.length}`, + ) + + if (speakersWithoutDetails.length > 0) { + console.log("\nSpeakers missing details:") + for (const speaker of speakersWithoutDetails) { + console.log(`- ${speaker.username} (${speaker.name || "No name"})`) + } + } + } catch (error) { + console.error("Error:", error) + process.exit(1) + } +})() diff --git a/scripts/sync-sched/schedule-2023.json b/scripts/sync-sched/schedule-2023.json new file mode 100644 index 0000000000..eac0e6927c --- /dev/null +++ b/scripts/sync-sched/schedule-2023.json @@ -0,0 +1,4323 @@ +[ + { + "event_key": "511231", + "active": "Y", + "pinned": "N", + "name": "Registration & Badge Pick-Up", + "event_start": "2023-09-19 10:00", + "event_end": "2023-09-19 16:30", + "event_type": "Registration + Badge Pick-Up", + "goers": "66", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula Foyer", + "id": "247898ad29d5e594611af3cecf82f5e3", + "venue_id": "1749431", + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "19", + "event_start_weekday": "Tuesday", + "event_start_weekday_short": "Tue", + "event_start_time": "10:00am", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "19", + "event_end_weekday": "Tuesday", + "event_end_weekday_short": "Tue", + "event_end_time": "4:30pm", + "start_date": "2023-09-19", + "start_time": "10:00:00", + "start_time_ts": 1695142800, + "end_date": "2023-09-19", + "end_time": "16:30:00", + "description": "" + }, + { + "event_key": "511227", + "active": "Y", + "pinned": "N", + "name": "Unconference Planning Session", + "event_start": "2023-09-19 10:30", + "event_end": "2023-09-19 12:00", + "event_type": "Unconference", + "description": "An unconference is a participant-driven, informal event where attendees collaboratively create the agenda and lead discussions. Unlike the predetermined schedules and speakers of a traditional conference, an unconference allows for spontaneous and dynamic interactions, fostering an open and inclusive learning environment.\n\nHow to Prepare to Attend an Unconference", + "goers": "16", + "seats": "0", + "invite_only": "N", + "venue": "Sandpebble A&B", + "id": "d53044f7df10bcb5a53e6908670c41c1", + "venue_id": "1749449", + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "19", + "event_start_weekday": "Tuesday", + "event_start_weekday_short": "Tue", + "event_start_time": "10:30am", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "19", + "event_end_weekday": "Tuesday", + "event_end_weekday_short": "Tue", + "event_end_time": "12:00pm", + "start_date": "2023-09-19", + "start_time": "10:30:00", + "start_time_ts": 1695144600, + "end_date": "2023-09-19", + "end_time": "12:00:00" + }, + { + "event_key": "491989", + "active": "Y", + "pinned": "N", + "name": "Carmen San Diego GraphQL API Federation Challenge: Hunt for the Elusive Master Thief! - LeRenzo Malcom, Miro [Pre-Registration Required]", + "event_start": "2023-09-19 10:30", + "event_end": "2023-09-19 12:00", + "event_type": "Workshops", + "event_subtype": "Spec Fusion", + "description": "Embark on an exciting adventure in the world of GraphQL API federation with a thrilling twist inspired by Carmen San Diego! In this immersive workshop, students will be divided into teams and compete to find Carmen San Diego before anyone else using their GraphQL skills. The workshop starts off with an introduction to GraphQL API federation, where students will learn about the power and flexibility of GraphQL and its federation capabilities. Then the teams will be formed, and the competition scenario will be revealed—finding Carmen San Diego! Each team will create their own HQ and extend the federated graph, adding new services, connections, and data sources to gather clues and track down Carmen. They can also try to thwart other teams by giving them false clues. Real-time collaboration and problem-solving will be crucial to stay ahead. Join us for an unforgettable workshop that brings together technology and adventure, all while honing your GraphQL expertise. Can your team solve the mystery and emerge as the ultimate Carmen San Diego catchers? The race is on!", + "goers": "16", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula G", + "audience": "Beginner", + "geo_area": "Yes", + "id": "88bbc65fe92d08a0404215429f06c113", + "venue_id": "1762202", + "speakers": [ + { + "username": "lerenzo", + "id": "5604312", + "name": "LeRenzo Malcom", + "company": "Miro", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "19", + "event_start_weekday": "Tuesday", + "event_start_weekday_short": "Tue", + "event_start_time": "10:30am", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "19", + "event_end_weekday": "Tuesday", + "event_end_weekday_short": "Tue", + "event_end_time": "12:00pm", + "start_date": "2023-09-19", + "start_time": "10:30:00", + "start_time_ts": 1695144600, + "end_date": "2023-09-19", + "end_time": "12:00:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf23/cb/Workshop_%20Carmen%20SanDiego.pdf", + "name": "Workshop_ Carmen SanDiego.pdf" + } + ] + }, + { + "event_key": "501260", + "active": "Y", + "pinned": "N", + "name": "Rust-Powered Fullstack GraphQL: From Actix-Web & Juniper Server to WASM Yew Client - Yassin Eldeeb, The Guild [Pre-Registration Required]", + "event_start": "2023-09-19 10:30", + "event_end": "2023-09-19 12:00", + "event_type": "Workshops", + "event_subtype": "Beyond Javascript", + "description": "Rust's ecosystem is known for its speed, efficiency, and type-safety. In this hands-on workshop we'll start by setting up a high-performance GraphQL server, all the way to a WASM-powered frontend client. We'll see how the various components interact seamlessly, and understand how Rust provides an edge with its efficiency. Are you ready to explore the robustness of Rust in full-stack GraphQL applications? Join me in this exciting journey!", + "goers": "15", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula F", + "audience": "Intermediate", + "id": "0b5f6bcbfc77f97f4cdc6cdf4a171f82", + "venue_id": "1762200", + "speakers": [ + { + "username": "yassineldeeb94", + "id": "18743822", + "name": "Yassin Eldeeb", + "company": "The Guild", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "19", + "event_start_weekday": "Tuesday", + "event_start_weekday_short": "Tue", + "event_start_time": "10:30am", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "19", + "event_end_weekday": "Tuesday", + "event_end_weekday_short": "Tue", + "event_end_time": "12:00pm", + "start_date": "2023-09-19", + "start_time": "10:30:00", + "start_time_ts": 1695144600, + "end_date": "2023-09-19", + "end_time": "12:00:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf23/ac/SF%20GraphQL%20Conf%202023.pdf", + "name": "SF GraphQL Conf 2023.pdf" + } + ] + }, + { + "event_key": "1", + "active": "Y", + "pinned": "N", + "name": "Safely Evolve Your (Federated) GraphQL Schema with GraphQL Hive - Laurin Quast & Kamil Kisiela, The Guild [Pre-Registration Required]", + "event_start": "2023-09-19 10:30", + "event_end": "2023-09-19 12:00", + "event_type": "Workshops", + "description": "Do you struggle with unexpected breaking changes of your GraphQL clients? Do you want to know how your GraphQL schema is used and when it is safe to remove deprecated fields? Learn all about the open-source platform GraphQL Hive and its recommended workflow for scaling GraphQL across teams and organisations, including a full example of integrating Hive within your CI/CD pipeline on GitHub Actions. Laurin will teach you all about breaking changes, breaking change detection, and conditional breaking changes.", + "goers": "47", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula E", + "geo_area": "Yes", + "id": "55dd5ef56bd778955509d08ea81903ea", + "venue_id": "1762196", + "speakers": [ + { + "username": "laurinquast", + "id": "18743819", + "name": "Laurin Quast", + "company": "The Guild", + "custom_order": 0 + }, + { + "username": "kamilkisiela", + "id": "19082388", + "name": "Kamil Kisiela", + "company": "The Guild", + "custom_order": 1 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "19", + "event_start_weekday": "Tuesday", + "event_start_weekday_short": "Tue", + "event_start_time": "10:30am", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "19", + "event_end_weekday": "Tuesday", + "event_end_weekday_short": "Tue", + "event_end_time": "12:00pm", + "start_date": "2023-09-19", + "start_time": "10:30:00", + "start_time_ts": 1695144600, + "end_date": "2023-09-19", + "end_time": "12:00:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf23/c9/GraphQL%20Hive%20Workshop.pdf", + "name": "GraphQL Hive Workshop.pdf" + } + ] + }, + { + "event_key": "8", + "active": "Y", + "pinned": "N", + "name": "Lunch", + "event_start": "2023-09-19 12:00", + "event_end": "2023-09-19 13:00", + "event_type": "Breaks", + "goers": "62", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula Foyer", + "id": "38cb4033d5cfed2d5b508f08374ebe9b", + "venue_id": "1749431", + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "19", + "event_start_weekday": "Tuesday", + "event_start_weekday_short": "Tue", + "event_start_time": "12:00pm", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "19", + "event_end_weekday": "Tuesday", + "event_end_weekday_short": "Tue", + "event_end_time": "1:00pm", + "start_date": "2023-09-19", + "start_time": "12:00:00", + "start_time_ts": 1695150000, + "end_date": "2023-09-19", + "end_time": "13:00:00", + "description": "" + }, + { + "event_key": "511229", + "active": "Y", + "pinned": "N", + "name": "Unconference Discussion Session #1", + "event_start": "2023-09-19 13:00", + "event_end": "2023-09-19 14:30", + "event_type": "Unconference", + "description": "An unconference is a participant-driven, informal event where attendees collaboratively create the agenda and lead discussions. Unlike the predetermined schedules and speakers of a traditional conference, an unconference allows for spontaneous and dynamic interactions, fostering an open and inclusive learning environment.\n\nHow to Prepare to Attend an Unconference", + "goers": "24", + "seats": "0", + "invite_only": "N", + "venue": "Sandpebble A&B", + "id": "6543e60efc3f0c20d24a40cffef29558", + "venue_id": "1749449", + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "19", + "event_start_weekday": "Tuesday", + "event_start_weekday_short": "Tue", + "event_start_time": "1:00pm", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "19", + "event_end_weekday": "Tuesday", + "event_end_weekday_short": "Tue", + "event_end_time": "2:30pm", + "start_date": "2023-09-19", + "start_time": "13:00:00", + "start_time_ts": 1695153600, + "end_date": "2023-09-19", + "end_time": "14:30:00" + }, + { + "event_key": "2", + "active": "Y", + "pinned": "N", + "name": "GraphQL Mesh - A Federated Gateway for Any API Protocol - GraphQL, OpenAPI, gRPC and More - Arda Tanrikulu & Gil Gardosh, The Guild [Pre-Registration Required]", + "event_start": "2023-09-19 13:00", + "event_end": "2023-09-19 14:30", + "event_type": "Workshops", + "description": "The GraphQL Mesh platform changes a lot of the traditional ideas about GraphQL and its relationship with other API protocols.\n\nIt can automatically generate a GraphQL API from OpenAPI/Swagger, gRPC, SOAP, oData and many other sources/protocols without changing the source.\n\nThe Guild has used GraphQL Mesh and its individual capabilities to help developers integrate and adopt GraphQL in places they never thought were possible and in extreme quickness, thanks to the fact that\nYou don't need to migrate your existing none GraphQL services in order to benefit from GraphQL You can federate any service, even if its not GraphQL Transform and manipulate services data (Naming Conventions, filter, middlewares) Add powerful gateway plugins (caching, tracing, security) Create a powerful gateway and run it anywhere (Cloudflare Workers, Deno, etc...) And even run it all on the client side\nIn this workshop, we will go through the many novel ideas behind GraphQL Mesh, see them in action and learn how to use this complete API platform today on your existing codebase.\n\nWe will leave time for an open Q&A session where we can talk in-depth about your current setups and how you could leverage The Guild's ecosystem of tools.", + "goers": "48", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula F&G", + "id": "de9b490bff0d1e234ec4e19bc03392b5", + "venue_id": "1762208", + "speakers": [ + { + "username": "ardatanrikulu", + "id": "18982310", + "name": "Arda Tanrıkulu", + "company": "The Guild", + "custom_order": 0 + }, + { + "username": "gilgardosh", + "id": "19070448", + "name": "Gil Gardosh", + "company": "The Guild", + "custom_order": 1 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "19", + "event_start_weekday": "Tuesday", + "event_start_weekday_short": "Tue", + "event_start_time": "1:00pm", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "19", + "event_end_weekday": "Tuesday", + "event_end_weekday_short": "Tue", + "event_end_time": "2:30pm", + "start_date": "2023-09-19", + "start_time": "13:00:00", + "start_time_ts": 1695153600, + "end_date": "2023-09-19", + "end_time": "14:30:00" + }, + { + "event_key": "488403", + "active": "Y", + "pinned": "N", + "name": "Mr. Toad’s Wild Ride: A Rollicking, Declarative GraphQL Workshop with Envoy and Kubernetes - Jim Barton & Adam Sayah, Solo.io [Pre-Registration Required]", + "event_start": "2023-09-19 13:00", + "event_end": "2023-09-19 14:30", + "event_type": "Workshops", + "event_subtype": "Platform and Backend", + "description": "Many GraphQL adopters today use both API gateways and separate GraphQL servers to secure and route traffic to their service endpoints. GraphQL provides a consistent API for clients, but it's expensive to build and operate distinct GraphQL servers. Developers are often required to write custom code to provide platform features like security, caching, and resilience. What if there were another way? What if you could meld GraphQL server capabilities into an Envoy gateway without separate server deployments? And without disturbing upstream application services? In this fast-paced, hands-on workshop, every attendee can use their own sandboxed environment to explore these topics together: • Discovery: Inspect existing service contracts and derive GraphQL schema. • Declarative: Create IaC resolvers that consume OpenAPI services. • Stitching: Execute GraphQL queries across multiple services with a unified supergraph. • Gateway Integration: Use declarative policies to mix in gateway features like authNZ and data loss prevention. Buckle your seat belts! This Wild Ride will help you accelerate GraphQL adoption using infrastructure-as-code principles in a cloud-native environment.", + "goers": "18", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula E", + "audience": "Beginner", + "geo_area": "Yes", + "id": "f11fd521e00f5b8eedf463781f893c5e", + "venue_id": "1762196", + "speakers": [ + { + "username": "jim.barton", + "id": "12615290", + "name": "Jim Barton", + "company": "Solo.io", + "custom_order": 0 + }, + { + "username": "adam.sayah", + "id": "12615405", + "name": "Adam Sayah", + "company": "Solo.io", + "custom_order": 1 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "19", + "event_start_weekday": "Tuesday", + "event_start_weekday_short": "Tue", + "event_start_time": "1:00pm", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "19", + "event_end_weekday": "Tuesday", + "event_end_weekday_short": "Tue", + "event_end_time": "2:30pm", + "start_date": "2023-09-19", + "start_time": "13:00:00", + "start_time_ts": 1695153600, + "end_date": "2023-09-19", + "end_time": "14:30:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf23/35/GraphQLConf%202023%20Mr%20Toad%20Workshop.pdf", + "name": "GraphQLConf 2023 Mr Toad Workshop.pdf" + } + ] + }, + { + "event_key": "10", + "active": "Y", + "pinned": "N", + "name": "Break", + "event_start": "2023-09-19 14:30", + "event_end": "2023-09-19 15:00", + "event_type": "Breaks", + "goers": "53", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula Foyer", + "id": "61b9efc6ff8e0f295be6c65c08871c23", + "venue_id": "1749431", + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "19", + "event_start_weekday": "Tuesday", + "event_start_weekday_short": "Tue", + "event_start_time": "2:30pm", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "19", + "event_end_weekday": "Tuesday", + "event_end_weekday_short": "Tue", + "event_end_time": "3:00pm", + "start_date": "2023-09-19", + "start_time": "14:30:00", + "start_time_ts": 1695159000, + "end_date": "2023-09-19", + "end_time": "15:00:00", + "description": "" + }, + { + "event_key": "511228", + "active": "Y", + "pinned": "N", + "name": "Unconference Discussion Session #2", + "event_start": "2023-09-19 15:00", + "event_end": "2023-09-19 16:30", + "event_type": "Unconference", + "description": "An unconference is a participant-driven, informal event where attendees collaboratively create the agenda and lead discussions. Unlike the predetermined schedules and speakers of a traditional conference, an unconference allows for spontaneous and dynamic interactions, fostering an open and inclusive learning environment.\n\nHow to Prepare to Attend an Unconference", + "goers": "15", + "seats": "0", + "invite_only": "N", + "venue": "Sandpebble A&B", + "id": "edcb92ba1f2478b935124038ec1b20f0", + "venue_id": "1749449", + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "19", + "event_start_weekday": "Tuesday", + "event_start_weekday_short": "Tue", + "event_start_time": "3:00pm", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "19", + "event_end_weekday": "Tuesday", + "event_end_weekday_short": "Tue", + "event_end_time": "4:30pm", + "start_date": "2023-09-19", + "start_time": "15:00:00", + "start_time_ts": 1695160800, + "end_date": "2023-09-19", + "end_time": "16:30:00" + }, + { + "event_key": "4", + "active": "Y", + "pinned": "N", + "name": "Build and Deploy Instant GraphQL APIs to the Edge - Jamie Barton, Grafbase [Pre-Registration Required]", + "event_start": "2023-09-19 15:00", + "event_end": "2023-09-19 16:30", + "event_type": "Workshops", + "description": "Learn how to generate instant GraphQL APIs using a data source connector (GraphQL and non-GraphQL sources), extend and join them both with custom resolvers and deploy to the edge without leaving the code editor.", + "goers": "39", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula F&G", + "id": "295679e18701aa2be84f329db1118637", + "venue_id": "1762208", + "speakers": [ + { + "username": "jamie855", + "id": "18743804", + "name": "Jamie Barton", + "company": "Grafbase", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "19", + "event_start_weekday": "Tuesday", + "event_start_weekday_short": "Tue", + "event_start_time": "3:00pm", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "19", + "event_end_weekday": "Tuesday", + "event_end_weekday_short": "Tue", + "event_end_time": "4:30pm", + "start_date": "2023-09-19", + "start_time": "15:00:00", + "start_time_ts": 1695160800, + "end_date": "2023-09-19", + "end_time": "16:30:00" + }, + { + "event_key": "511225", + "active": "Y", + "pinned": "N", + "name": "RSC + GraphQL + RedwoodJS: A New Era in Full-Stack Development - Amy Dutton, RedwoodJS [Pre-Registration Required]", + "event_start": "2023-09-19 15:00", + "event_end": "2023-09-19 16:30", + "event_type": "Workshops", + "event_subtype": "GraphQL and Data", + "description": "How can you ensure that your development workflow and process can accommodate growth? With the potential for more choices and complexity introduced by React Server Components, is it possible to avoid “analysis paralysis” due to more options? In this 1-2 hour workshop, we will explore a new workflow for dynamic full-stack applications using React Server Components (RSC) and GraphQL. Our focus will be on how RSC and GraphQL can co-exist and complement each other, allowing data to flow through your application and enabling it to scale and evolve as more features are added. We will cover server-side fetching with React Server components, how to use Redwood cells, and migrating to fragments. Additionally, we’ll review GraphQL fundamentals inside Redwood, including security concerns and best practices, directives, and authentication. You’ll leave this workshop with a workflow and process for designing and building full-stack applications in Redwood with scalability and simplicity.", + "goers": "29", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula E", + "audience": "Intermediate", + "id": "b38ed79c29a2d0602160d9407bfa3422", + "venue_id": "1762196", + "speakers": [ + { + "username": "amy1908", + "id": "16832327", + "name": "Amy Dutton", + "company": "RedwoodJS", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "19", + "event_start_weekday": "Tuesday", + "event_start_weekday_short": "Tue", + "event_start_time": "3:00pm", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "19", + "event_end_weekday": "Tuesday", + "event_end_weekday_short": "Tue", + "event_end_time": "4:30pm", + "start_date": "2023-09-19", + "start_time": "15:00:00", + "start_time_ts": 1695160800, + "end_date": "2023-09-19", + "end_time": "16:30:00" + }, + { + "event_key": "511240", + "active": "Y", + "pinned": "N", + "name": "Light Continental Breakfast", + "event_start": "2023-09-20 07:30", + "event_end": "2023-09-20 09:00", + "event_type": "Breaks", + "goers": "55", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula Foyer", + "id": "66e332f155e04efea896d5bd5dcd2ba5", + "venue_id": "1749431", + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "20", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "7:30am", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "20", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "9:00am", + "start_date": "2023-09-20", + "start_time": "07:30:00", + "start_time_ts": 1695220200, + "end_date": "2023-09-20", + "end_time": "09:00:00", + "description": "" + }, + { + "event_key": "511230", + "active": "Y", + "pinned": "N", + "name": "Registration & Badge Pick-Up", + "event_start": "2023-09-20 07:30", + "event_end": "2023-09-20 18:30", + "event_type": "Registration + Badge Pick-Up", + "goers": "28", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula Foyer", + "id": "9836184d78d14978c0c49f1e2b900bb9", + "venue_id": "1749431", + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "20", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "7:30am", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "20", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "6:30pm", + "start_date": "2023-09-20", + "start_time": "07:30:00", + "start_time_ts": 1695220200, + "end_date": "2023-09-20", + "end_time": "18:30:00", + "description": "" + }, + { + "event_key": "20", + "active": "Y", + "pinned": "N", + "name": "Welcome Remarks - Lee Byron, GraphQL Foundation", + "event_start": "2023-09-20 09:00", + "event_end": "2023-09-20 09:15", + "event_type": "Keynote Sessions", + "goers": "80", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula A,B,C", + "id": "94d334f99906d3fc2669fc804e5fae41", + "venue_id": "1749452", + "speakers": [ + { + "username": "lee_byron.25krdom6", + "id": "18769956", + "name": "Lee Byron", + "company": "GraphQL Foundation", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "20", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "9:00am", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "20", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "9:15am", + "start_date": "2023-09-20", + "start_time": "09:00:00", + "start_time_ts": 1695225600, + "end_date": "2023-09-20", + "end_time": "09:15:00", + "description": "" + }, + { + "event_key": "21", + "active": "Y", + "pinned": "N", + "name": "8 Years of GraphQL: Unraveling the Trade-Offs - Marc-Andre Giroux, Author of Production Ready GraphQL, GraphQL TSC", + "event_start": "2023-09-20 09:15", + "event_end": "2023-09-20 09:35", + "event_type": "Keynote Sessions", + "description": "In the world of GraphQL, there's been a whirlwind of choices over the past 8 years: Federation or GraphQL Monolith? Code-first or SDL-first? What's the best way to load data? In this session, we'll dive into these hot topics, peel back the layers, and chat about what works at scale and some hard-earned lessons.", + "goers": "70", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula A,B,C", + "id": "017d9954f1be1c7e2ab2696c2abe6b9b", + "venue_id": "1749452", + "speakers": [ + { + "username": "mgiroux7", + "id": "19075775", + "name": "Marc-Andre Giroux", + "company": "Netflix", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "20", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "9:15am", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "20", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "9:35am", + "start_date": "2023-09-20", + "start_time": "09:15:00", + "start_time_ts": 1695226500, + "end_date": "2023-09-20", + "end_time": "09:35:00" + }, + { + "event_key": "22", + "active": "Y", + "pinned": "N", + "name": "Evolution of Application Networking Patterns with GraphQL - Keith Babo, Solo.io.", + "event_start": "2023-09-20 09:35", + "event_end": "2023-09-20 09:40", + "event_type": "Keynote Sessions", + "description": "As the adoption of GraphQL has grown, so too have the prevailing patterns for how GraphQL APIs are developed and deployed. Gone are the days where every GraphQL API was a development task to code, deploy, and manage GraphQL middleware connected to your data sources. Increasingly, GraphQL is supported as a native API for data sources, integrated directly in gateway routers and application sidecars, and provided directly in edge compute platforms and CDN providers. While this level of optimization is common as application protocols and languages reach widespread adoption, it’s critically important to understand the best practices and patterns for how GraphQL should be used at each layer of your application networking architecture. This talk will provide a survey of existing and emerging trends for application networking architectures with GraphQL, providing concrete examples and advice on how to build scalable and performant architectures for your GraphQL APIs.", + "goers": "64", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula A,B,C", + "id": "b84ea942d55fb7406e53e3af0c78017e", + "venue_id": "1749452", + "speakers": [ + { + "username": "keith.babo", + "id": "19071264", + "name": "Keith Babo", + "company": "Solo.io", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "20", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "9:35am", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "20", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "9:40am", + "start_date": "2023-09-20", + "start_time": "09:35:00", + "start_time_ts": 1695227700, + "end_date": "2023-09-20", + "end_time": "09:40:00" + }, + { + "event_key": "23", + "active": "Y", + "pinned": "N", + "name": "The “Right Size” For GraphQL - Theo Browne, Ping Labs", + "event_start": "2023-09-20 09:40", + "event_end": "2023-09-20 10:00", + "event_type": "Keynote Sessions", + "description": "GraphQL ushered in a new era of DX. It challenged developers to think more about the relationships between their servers and clients.\n\nThis innovation sparked a lot of innovation outside of GraphQL, from better OpenAPI tools to tRPC to React Server Components. There are more options than ever before. Is GraphQL still the right choice?\n\nYes. Sometimes. Let’s talk about the “right size” and fit for GraphQL.", + "goers": "68", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula A,B,C", + "id": "b57a1a6027fdab59c05c42c9d0515e71", + "venue_id": "1749452", + "speakers": [ + { + "username": "theo93", + "id": "19108367", + "name": "Theo Browne", + "company": "Ping Labs", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "20", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "9:40am", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "20", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "10:00am", + "start_date": "2023-09-20", + "start_time": "09:40:00", + "start_time_ts": 1695228000, + "end_date": "2023-09-20", + "end_time": "10:00:00" + }, + { + "event_key": "24", + "active": "Y", + "pinned": "N", + "name": "Spoiled for Choice: Picking the Right Federation Technique for Your Project - Bryan Robinson, Hygraph", + "event_start": "2023-09-20 10:00", + "event_end": "2023-09-20 10:05", + "event_type": "Keynote Sessions", + "description": "Federation is a hot topic right now. Whether it’s Apollo, GraphQL Mesh, Platform-level services, Content Federation, or one of many other philosophies, we’re seeing everyone talking about API federation. There’s no singular right answer for your project. Instead, it’s a developer’s best friend response: It Depends. In this talk, we’ll go over the various techniques to federate your API and which one is right for your project and team.", + "goers": "69", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula A,B,C", + "geo_area": "Yes", + "id": "2b7518a6d8f2b72122c17beb92af8c89", + "venue_id": "1749452", + "speakers": [ + { + "username": "bryan.robinson2", + "id": "19076363", + "name": "Bryan Robinson", + "company": "Hygraph", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "20", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "10:00am", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "20", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "10:05am", + "start_date": "2023-09-20", + "start_time": "10:00:00", + "start_time_ts": 1695229200, + "end_date": "2023-09-20", + "end_time": "10:05:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf23/a9/Spoiled%20for%20choice%20(sent).pptx.pdf", + "name": "Spoiled for choice (sent).pptx.pdf" + } + ] + }, + { + "event_key": "25", + "active": "Y", + "pinned": "N", + "name": "Open Federation - Open Remote Schema Specifications with Other Specs (OpenAPI, etc.) - Uri Goldshtein, The Guild", + "event_start": "2023-09-20 10:05", + "event_end": "2023-09-20 10:15", + "event_type": "Keynote Sessions", + "description": "In order to have a thriving ecosystem, and for you to choose your solutions and stack for the future, with the worry of a vendor lock, we must have open standards and specs across all of our architecture and solutions.\n\nLet's talk about the parts that weren't open till today and see how we are tackling these parts with collaborations from many different GraphQL Vendors across the whole ecosystem.", + "goers": "71", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula A,B,C", + "id": "e29bf518adeb99b2319fa8cb70d8f445", + "venue_id": "1749452", + "speakers": [ + { + "username": "uri_goldshtein.23xujj9a", + "id": "14900013", + "name": "Uri Goldshtein", + "company": "The Guild", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "20", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "10:05am", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "20", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "10:15am", + "start_date": "2023-09-20", + "start_time": "10:05:00", + "start_time_ts": 1695229500, + "end_date": "2023-09-20", + "end_time": "10:15:00" + }, + { + "event_key": "26", + "active": "Y", + "pinned": "N", + "name": "Closing Remarks - Lee Byron, GraphQL Foundation", + "event_start": "2023-09-20 10:15", + "event_end": "2023-09-20 10:30", + "event_type": "Keynote Sessions", + "goers": "66", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula A,B,C", + "id": "80869c56bb59f51de6ac8468c18eecdc", + "venue_id": "1749452", + "speakers": [ + { + "username": "lee_byron.25krdom6", + "id": "18769956", + "name": "Lee Byron", + "company": "GraphQL Foundation", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "20", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "10:15am", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "20", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "10:30am", + "start_date": "2023-09-20", + "start_time": "10:15:00", + "start_time_ts": 1695230100, + "end_date": "2023-09-20", + "end_time": "10:30:00", + "description": "" + }, + { + "event_key": "16", + "active": "Y", + "pinned": "N", + "name": "Break", + "event_start": "2023-09-20 10:30", + "event_end": "2023-09-20 10:50", + "event_type": "Breaks", + "goers": "42", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula D", + "id": "c6cba5c5a91fb3f916acec7de9692bd7", + "venue_id": "1749440", + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "20", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "10:30am", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "20", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "10:50am", + "start_date": "2023-09-20", + "start_time": "10:30:00", + "start_time_ts": 1695231000, + "end_date": "2023-09-20", + "end_time": "10:50:00", + "description": "" + }, + { + "event_key": "511234", + "active": "Y", + "pinned": "N", + "name": "Sponsor Showcase", + "event_start": "2023-09-20 10:30", + "event_end": "2023-09-20 19:00", + "event_type": "Sponsor Showcase", + "goers": "24", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula D", + "id": "77623920b158a75435d48896a8d56b35", + "venue_id": "1749440", + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "20", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "10:30am", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "20", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "7:00pm", + "start_date": "2023-09-20", + "start_time": "10:30:00", + "start_time_ts": 1695231000, + "end_date": "2023-09-20", + "end_time": "19:00:00", + "description": "" + }, + { + "event_key": "5", + "active": "Y", + "pinned": "N", + "name": "Can GraphQL be FAIR? - Pascal Heus, AI/Data Lead, Postman", + "event_start": "2023-09-20 10:50", + "event_end": "2023-09-20 11:20", + "event_type": "Session Presentations", + "description": "Join us for an exciting  presentation that explores the intersection of Findable-Accessible-Interoperable-Reusable (FAIR) data and GraphQL.\n\n(FAIR)[https://www.go-fair.org/fair-principles/] is a set of principles that have been endorsed by the data producers, custodians, researchers, and scientific communities worldwide, emphasizing the importance of machine-actionability, metadata, unique identifiers, standardization, and related best practices. GraphQL, as a groundbreaking data query language and API, is ideally positioned to support such principles.\n\nIn this talk, we will provide an overview of FAIR and open the discussion around potential integration and synergies with GraphQL to help turn the FAIR vision into reality. Such integration would also expose GraphQL to new audiences and drive its adoption.\n\nAs a bonus topic, we will also explore the potential relationship and synergies between GraphQL and SPARQL, the RDF Query Language, such as exposing SPARQL endpoints as GraphQL APIs and integrating semantic RDF data into the GraphQL data graph.", + "goers": "20", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula F&G", + "geo_area": "Yes", + "id": "c915230f50de5c93eb5c2bbbee3610e6", + "venue_id": "1762208", + "speakers": [ + { + "username": "plgah", + "id": "15289322", + "name": "Pascal Heus", + "company": "Postman", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "20", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "10:50am", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "20", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "11:20am", + "start_date": "2023-09-20", + "start_time": "10:50:00", + "start_time_ts": 1695232200, + "end_date": "2023-09-20", + "end_time": "11:20:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf23/8e/202309_GraphQL_PH_FAIR.pdf", + "name": "202309_GraphQL_PH_FAIR.pdf" + } + ] + }, + { + "event_key": "474923", + "active": "Y", + "pinned": "N", + "name": "GraphQL Security Vulnerabilities in the Wild - Antoine Carossio & Tristan Kalos, Escape", + "event_start": "2023-09-20 10:50", + "event_end": "2023-09-20 11:20", + "event_type": "Session Presentations", + "event_subtype": "GraphQL Security", + "description": "Join Escape's co-founders Tristan Kalos and Antoine Carossio, leaders in GraphQL Security Testing, for an incisive look at GraphQL vulnerabilities. This groundbreaking research, involving a scan of over 1500 GraphQL endpoints, revealed a staggering 46,000+ security issues and sensitive data leaks, all accessible without authentication and with 10% classified as critical. In this session, Tristan and Antoine will share their unique testing methodology and delve into the most common GraphQL vulnerabilities unearthed during their research. They'll expose GraphQL-specific vulnerabilities, including complexity issues and schema leaks, alongside persistent standard API security threats like injections and server errors. They'll also highlight the often-underestimated problem of data leaks, including sensitive personal information and tokens. But, they won't leave you in the trenches; they'll showcase practical remediation strategies, introducing tools like GraphQL Armor and a handy security checklist for developers. Don't miss this crucial session at the GraphQL Conf 2023.", + "goers": "35", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula A,B,C", + "audience": "Beginner", + "id": "5bf24cd6483a63e62a2276fe38effb82", + "venue_id": "1749452", + "speakers": [ + { + "username": "antoine.carossio", + "id": "18743834", + "name": "Antoine Carossio", + "company": "Escape.tech", + "custom_order": 0 + }, + { + "username": "tristan119", + "id": "19011005", + "name": "Tristan Kalos", + "company": "Escape", + "custom_order": 1 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "20", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "10:50am", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "20", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "11:20am", + "start_date": "2023-09-20", + "start_time": "10:50:00", + "start_time_ts": 1695232200, + "end_date": "2023-09-20", + "end_time": "11:20:00" + }, + { + "event_key": "496594", + "active": "Y", + "pinned": "N", + "name": "The Future of Efficiency Is Here: Add Planning to Your Schema! - Benjie Gillam, Graphile", + "event_start": "2023-09-20 10:50", + "event_end": "2023-09-20 11:20", + "event_type": "Session Presentations", + "event_subtype": "Platform and Backend", + "description": "Discover an entirely new approach to GraphQL execution that enables engineers to build next-level efficiency into new or existing GraphQL APIs – improving application performance, reducing operational costs, and delivering delightful user experiences. Learn how, by using a declarative analog to resolvers, your schema can gain a full understanding of the incoming GraphQL request and optimize communications with your business logic, enabling fewer and more efficient operations against your backend services and data sources. A passion project of one of the top contributors to the GraphQL specification, this MIT-licensed open source technology will support JavaScript at launch and, with the help of the community, is hopefully coming to other programming languages soon!", + "goers": "56", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula E", + "audience": "Intermediate", + "geo_area": "Yes", + "id": "275443caa2eda5df06699b724efa533c", + "venue_id": "1762196", + "speakers": [ + { + "username": "benjie3", + "id": "18743846", + "name": "Benjie Gillam", + "company": "Graphile", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "20", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "10:50am", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "20", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "11:20am", + "start_date": "2023-09-20", + "start_time": "10:50:00", + "start_time_ts": 1695232200, + "end_date": "2023-09-20", + "end_time": "11:20:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf23/41/Future_of_Efficiency.pdf", + "name": "Future_of_Efficiency.pdf" + } + ] + }, + { + "event_key": "496479", + "active": "Y", + "pinned": "N", + "name": "GraphQL Fusion: Rethinking Distributed GraphQL - Michael Staib, ChilliCream Inc", + "event_start": "2023-09-20 11:30", + "event_end": "2023-09-20 12:00", + "event_type": "Session Presentations", + "event_subtype": "GraphQL in Production", + "description": "In this talk, we're unpacking GraphQL Fusion, a new approach that makes building distributed GraphQL APIs easier. We'll explore how this approach lets your teams work independently by owning different parts of the company's graph and cover how you can reshape subgraphs to follow your company's rules. Come learn about this powerful tool that brings efficiency and customization to your GraphQL operations.", + "goers": "59", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula F&G", + "audience": "Intermediate", + "id": "4a4e842d1cd0c06083f484d31225abd1", + "venue_id": "1762208", + "speakers": [ + { + "username": "michael_staib.23xujj9p", + "id": "14900031", + "name": "Michael Staib", + "company": "ChilliCream", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "20", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "11:30am", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "20", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "12:00pm", + "start_date": "2023-09-20", + "start_time": "11:30:00", + "start_time_ts": 1695234600, + "end_date": "2023-09-20", + "end_time": "12:00:00" + }, + { + "event_key": "501216", + "active": "Y", + "pinned": "N", + "name": "The New GraphiQL and the Future of Open GraphQL IDEs - Dimitri Postolov, The Guild; Thomas Heyenbrock, Stellate", + "event_start": "2023-09-20 11:30", + "event_end": "2023-09-20 12:00", + "event_type": "Session Presentations", + "event_subtype": "GraphQL Clients", + "description": "Since we’ve joined the GraphiQL maintainers team, we’ve been shipping many new features and improvements to GraphiQL itself, its components and the language server. In this talk, we will talk about the wonderful collaborative work of the GraphiQL team, sharing work between many different GraphQL companies working together, show all the recent new features that we added and show cool new upcoming features from the GraphiQL roadmap you can already try out and give feedback today!", + "goers": "34", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula E", + "audience": "Beginner", + "id": "e0985f6bdb4bbf07a5ca5ba72fbcc39c", + "venue_id": "1762196", + "speakers": [ + { + "username": "thomas.heyenbrock", + "id": "14989332", + "name": "Thomas Heyenbrock", + "company": "Stellate", + "custom_order": 0 + }, + { + "username": "en3m", + "id": "18743843", + "name": "Dimitri Postolov", + "company": "The Guild", + "custom_order": 1 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "20", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "11:30am", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "20", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "12:00pm", + "start_date": "2023-09-20", + "start_time": "11:30:00", + "start_time_ts": 1695234600, + "end_date": "2023-09-20", + "end_time": "12:00:00" + }, + { + "event_key": "511243", + "active": "Y", + "pinned": "N", + "name": "Unlocking Insights: Navigating the World of GraphQL Observability - Eitan Joffe, Inigo", + "event_start": "2023-09-20 11:30", + "event_end": "2023-09-20 12:00", + "event_type": "Session Presentations", + "description": "In this talk we'll take a deep dive into the world of GraphQL analytics and observability.\nDiscover what sets it apart from conventional APIs and uncover the valuable answers it provides.\nDelve into how GraphQL analytics unveils inefficiencies in query resolvers, uncovers error patterns, and reveals usage insights. Gain the ability to pinpoint bottlenecks, fine-tune queries, and enhance user experiences through well-informed decisions.\n\nLearn the essential strategies for successfully managing a GraphQL production deployment, ensuring your API operates at its best.", + "goers": "30", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula A,B,C", + "id": "f8a4d2b939980ffadf787715033e2b4f", + "venue_id": "1749452", + "speakers": [ + { + "username": "eitan15", + "id": "17700131", + "name": "Eitan Joffe", + "company": "Inigo", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "20", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "11:30am", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "20", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "12:00pm", + "start_date": "2023-09-20", + "start_time": "11:30:00", + "start_time_ts": 1695234600, + "end_date": "2023-09-20", + "end_time": "12:00:00" + }, + { + "event_key": "9", + "active": "Y", + "pinned": "N", + "name": "Lunch", + "event_start": "2023-09-20 12:00", + "event_end": "2023-09-20 13:30", + "event_type": "Breaks", + "goers": "61", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula D", + "id": "0f57893e761e683f58c4ace9e766c3bf", + "venue_id": "1749440", + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "20", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "12:00pm", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "20", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "1:30pm", + "start_date": "2023-09-20", + "start_time": "12:00:00", + "start_time_ts": 1695236400, + "end_date": "2023-09-20", + "end_time": "13:30:00", + "description": "" + }, + { + "event_key": "490988", + "active": "Y", + "pinned": "N", + "name": "GraphQL IRL: Pitfalls, Surprises and Successes - Kewei Qu, Meta Platforms", + "event_start": "2023-09-20 13:30", + "event_end": "2023-09-20 13:40", + "event_type": "Lightning Talks", + "event_subtype": "GraphQL in Production", + "description": "This talk goes through some interesting development around Meta’s performance and reliability improvement around GraphQL. Through several interesting case studies: surprising backward incompatible schema changes, error handling framework and ever evolving recommendations on how to use @defer and @stream, I hope to share these knowledge with the GraphQL community and build awesome and robust Apps users enjoy.", + "goers": "56", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula E", + "audience": "Intermediate", + "geo_area": "Yes", + "id": "cc423d9ba6bacb53c1b24490cb208c17", + "venue_id": "1762196", + "speakers": [ + { + "username": "qkw1221", + "id": "18743864", + "name": "Kewei Qu", + "company": "Meta", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "20", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "1:30pm", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "20", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "1:40pm", + "start_date": "2023-09-20", + "start_time": "13:30:00", + "start_time_ts": 1695241800, + "end_date": "2023-09-20", + "end_time": "13:40:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf23/a6/GraphQL%20IRL.pdf", + "name": "GraphQL IRL.pdf" + } + ] + }, + { + "event_key": "502295", + "active": "Y", + "pinned": "N", + "name": "Argo: Designing a Compact and Compressible Binary Serialization Format for GraphQL - Mike Solomon", + "event_start": "2023-09-20 13:30", + "event_end": "2023-09-20 14:00", + "event_type": "Session Presentations", + "event_subtype": "Platform and Backend", + "description": "GraphQL uses JSON by default, but other serialization formats may be used instead.In this session, we start from scratch and construct a purpose-built binary serialization format for GraphQL. Come and learn about the tradeoffs involved when designing serialization formats, and see if the resulting compact format (Argo) is a good fit for your GraphQL API! Choose compelling design goals for a serialization format Build up a format with distinct advantages over JSON Compare and analyze the practical tradeoffs between JSON and a purpose-built format By the end of the session, we will have built up to Argo: a compact and compressible binary serialization format for GraphQL. After the session, more details can be found in Argo’s open source specification, design notes, and reference implementation.\nThis talk assumes significant familiarity with GraphQL (particularly the Schema Definition Language) and JSON.\nSee Argo on GitHub, Argo homepage (including link to Argo spec), or Mike's website.", + "goers": "14", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula F&G", + "audience": "Advanced", + "geo_area": "Yes", + "id": "504049f2217d6c59b9f67eba97089bfe", + "venue_id": "1762208", + "speakers": [ + { + "username": "arkenflame", + "id": "18743867", + "name": "Mike Solomon", + "company": "-", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "20", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "1:30pm", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "20", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "2:00pm", + "start_date": "2023-09-20", + "start_time": "13:30:00", + "start_time_ts": 1695241800, + "end_date": "2023-09-20", + "end_time": "14:00:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf23/a4/Argo.pdf", + "name": "Argo.pdf" + } + ] + }, + { + "event_key": "501215", + "active": "Y", + "pinned": "N", + "name": "GraphQL Over Internet - Denis Badurina, The Guild", + "event_start": "2023-09-20 13:30", + "event_end": "2023-09-20 14:00", + "event_type": "Session Presentations", + "event_subtype": "GraphQL Core", + "description": "GraphQL is transport agnostic. That means it is very powerful and could be used for many different use cases. But that also means that there are extra steps we need to think about for each transport we use. In this talk I will cover the different transports GraphQL can be use in, including real-time and HTTP, the different libraries out there that could help you implement your solution and the undergoing standardisation efforts that are happening around each of these transports.", + "goers": "33", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula A,B,C", + "audience": "Beginner", + "geo_area": "Yes", + "id": "6c2eefe955e288e974a9182dac06f8fa", + "venue_id": "1749452", + "speakers": [ + { + "username": "badurinadenis", + "id": "18743810", + "name": "Denis Badurina", + "company": "The Guild", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "20", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "1:30pm", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "20", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "2:00pm", + "start_date": "2023-09-20", + "start_time": "13:30:00", + "start_time_ts": 1695241800, + "end_date": "2023-09-20", + "end_time": "14:00:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf23/f9/GraphQL%20over%20Internet.pdf", + "name": "GraphQL over Internet.pdf" + } + ] + }, + { + "event_key": "496208", + "active": "Y", + "pinned": "N", + "name": "How @Defer and @Stream Will Improve GraphQL Caching - Andreas Heiberg, Stellate", + "event_start": "2023-09-20 13:45", + "event_end": "2023-09-20 13:55", + "event_type": "Lightning Talks", + "event_subtype": "Scaling", + "description": "These directives were created to improve time to first paint without splitting fast resolving query fragments into a separate network request. However, their implications on the DX and cache hit rate of GraphQL query caching is immense. Let’s explore the future ahead!", + "goers": "67", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula E", + "audience": "Intermediate", + "geo_area": "Yes", + "id": "a6f436251a88bb94d5e79099742c9d75", + "venue_id": "1762196", + "speakers": [ + { + "username": "andreas.heiberg", + "id": "18743801", + "name": "Andreas Heiberg", + "company": "Stellate", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "20", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "1:45pm", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "20", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "1:55pm", + "start_date": "2023-09-20", + "start_time": "13:45:00", + "start_time_ts": 1695242700, + "end_date": "2023-09-20", + "end_time": "13:55:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf23/37/GraphQLConf_Defer_Caching_v2.pdf", + "name": "GraphQLConf_Defer_Caching_v2.pdf" + } + ] + }, + { + "event_key": "36", + "active": "Y", + "pinned": "N", + "name": "Consuming GraphQL using C# - Brandon Minnick, AWS", + "event_start": "2023-09-20 14:10", + "event_end": "2023-09-20 14:40", + "event_type": "Session Presentations", + "event_subtype": "GraphQL Clients", + "description": "GraphQL has become a staple technology in the JavaScript community, but it is still relatively new and unknown in the C# world.\n\nJoin me as we explore the GraphQL tools available for .NET developers, like HotChocolate + Strawberry Shake, and how these tools make it easy to consume GraphQL APIs in C#!", + "goers": "8", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula E", + "audience": "Beginner", + "geo_area": "Yes", + "id": "5f920cd134d4dea87fce5e59bc4418dc", + "venue_id": "1762196", + "speakers": [ + { + "username": "brandon.r.minnick", + "id": "9493345", + "name": "Brandon Minnick", + "company": "AWS", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "20", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "2:10pm", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "20", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "2:40pm", + "start_date": "2023-09-20", + "start_time": "14:10:00", + "start_time_ts": 1695244200, + "end_date": "2023-09-20", + "end_time": "14:40:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf23/e3/Consuming%20GraphQL%20APIs%20in%20C#.pptx%20(1).pdf", + "name": "Consuming GraphQL APIs in C#.pptx (1).pdf" + } + ] + }, + { + "event_key": "484427", + "active": "Y", + "pinned": "N", + "name": "Mutating Meetup with GraphQL - Annyce Davis, Meetup", + "event_start": "2023-09-20 14:10", + "event_end": "2023-09-20 14:40", + "event_type": "Session Presentations", + "event_subtype": "GraphQL in Production", + "description": "Over the past three years, Meetup has undergone a transformation from relying on REST APIs to fully embracing GraphQL. Despite the many benefits, it hasn't been without its challenges.\n\nIn this talk, I'll cover the benefits of using GraphQL in production, such as how it can streamline API development and improve data retrieval. I'll also discuss common challenges that arise when implementing GraphQL in production and share best practices for addressing them. Specifically, I'll touch on:\n\n* Schema design considerations\n* Caching strategies\n* Monitoring and performance optimization\n* Tools and frameworks for implementing GraphQL in production\n\nLook forward to gaining valuable insights and practical advice for implementing GraphQL in production!", + "goers": "35", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula F&G", + "audience": "Beginner", + "geo_area": "Yes", + "id": "3a88eedac57e223aa69979407cfcc8f0", + "venue_id": "1762208", + "speakers": [ + { + "username": "annyce.davis", + "id": "2147992", + "name": "Annyce Davis", + "company": "Meetup", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "20", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "2:10pm", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "20", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "2:40pm", + "start_date": "2023-09-20", + "start_time": "14:10:00", + "start_time_ts": 1695244200, + "end_date": "2023-09-20", + "end_time": "14:40:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf23/e2/mutating_meetup_with_graphql.pdf", + "name": "mutating_meetup_with_graphql.pdf" + } + ] + }, + { + "event_key": "498279", + "active": "Y", + "pinned": "N", + "name": "Semi-Concurrent Deduplicated Incremental Delivery - Yaacov Rydzinski", + "event_start": "2023-09-20 14:10", + "event_end": "2023-09-20 14:40", + "event_type": "Session Presentations", + "event_subtype": "GraphQL Core", + "description": "Curious about what's new in Incremental Delivery in 2023? Want to learn more about the proposed new response format and the recently released implementation in `graphql-js`?\n\nIn this talk, we will: Explore the goals and challenges of incremental delivery with a focus on providing eager maximally-concurrent execution of deduplicated, deferred fields. Elaborate on the distinction between Incremental Data vs. Incremental / Subsequent Results. Overview the new CollectFields algorithm that performs deduplication => at build vs execution time! Discuss potential pitfalls with early execution and tools to mitigate them (resolver helpers, Paraloader, resource frameworks). Call for feedback from the community! Special thanks to Rob Richard, the champion for incremental delivery, and Benjie Gillam, who together with Rob authored the new response format!", + "goers": "29", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula A,B,C", + "audience": "Intermediate", + "geo_area": "Yes", + "id": "fc1e6c878fc02b6c2b7534ddebfac6ff", + "venue_id": "1749452", + "speakers": [ + { + "username": "yaacovcr", + "id": "18743840", + "name": "Yaacov Rydzinski", + "company": "Open Source", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "20", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "2:10pm", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "20", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "2:40pm", + "start_date": "2023-09-20", + "start_time": "14:10:00", + "start_time_ts": 1695244200, + "end_date": "2023-09-20", + "end_time": "14:40:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf23/cd/Deduplicated%20Incremental%20Delivery.pdf", + "name": "Deduplicated Incremental Delivery.pdf" + } + ] + }, + { + "event_key": "511236", + "active": "Y", + "pinned": "N", + "name": "4 Steps to a Successful GraphQL API Program - Suresh Muthu & Jared Cheney, Intuit", + "event_start": "2023-09-20 14:50", + "event_end": "2023-09-20 15:20", + "event_type": "Session Presentations", + "event_subtype": "Scaling", + "description": "This session provides a concise and practical guide for businesses looking to create a successful GraphQL API program. Attendees will learn about the key components required to develop a well-defined and well-governed API program, including API specifications, governance and consistency, dev community & help, and closed-loop feedback. While there are a lot of guidelines and best practices for REST APIs in the industry, there are not yet as many guidelines for GraphQL. Intuit made over 56 million transactions with GraphQL over the 2023 tax peak season, and that number will only get larger from here. GraphQL adoption at this scale required us to build a robust API program with a centralized set of guidelines on how the schema should be composed, along with a community-driven review process and a firm but flexible governance framework. In this session, we will share insights and lessons learned using real-life examples from our GraphQL API Program, enabling attendees to apply these learnings to their own businesses. This session offers a valuable opportunity for businesses to develop their API programs and stay competitive.", + "goers": "32", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula E", + "audience": "Beginner", + "geo_area": "Yes", + "id": "de614df0c21b5227fff20767aa065de8", + "venue_id": "1762196", + "speakers": [ + { + "username": "jared_cheney.7rad60v", + "id": "18775617", + "name": "Jared Cheney", + "company": "Intuit", + "custom_order": 0 + }, + { + "username": "suresh_muthu", + "id": "18743849", + "name": "Suresh Muthu", + "company": "Intuit", + "custom_order": 1 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "20", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "2:50pm", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "20", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "3:20pm", + "start_date": "2023-09-20", + "start_time": "14:50:00", + "start_time_ts": 1695246600, + "end_date": "2023-09-20", + "end_time": "15:20:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf23/aa/4%20Steps%20to%20a%20Successful%20GraphQL%20API%20Program.pdf", + "name": "4 Steps to a Successful GraphQL API Program.pdf" + } + ] + }, + { + "event_key": "502901", + "active": "Y", + "pinned": "N", + "name": "Go Beyond the Spec With Custom Directives - Roy Derks, StepZen, an IBM Company", + "event_start": "2023-09-20 14:50", + "event_end": "2023-09-20 15:20", + "event_type": "Session Presentations", + "event_subtype": "GraphQL Core", + "description": "The GraphQL Specification is a great document for everyone building and using GraphQL APIs, and always in development. For a reason! One thing where GraphQL services and client tooling are good at, is introducing new and better ways to use GraphQL. Often, they make use of custom directives to extend GraphQL with custom or experimental behavior. In this talk I'll share best practices on using directives in GraphQL, and how builders can use custom directives to add new configurable execution capabilities to GraphQL.", + "goers": "18", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula A,B,C", + "audience": "Advanced", + "id": "eb08683c706380e0236adb2097358f4c", + "venue_id": "1749452", + "speakers": [ + { + "username": "hello2358", + "id": "16832291", + "name": "Roy Derks", + "company": "IBM", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "20", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "2:50pm", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "20", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "3:20pm", + "start_date": "2023-09-20", + "start_time": "14:50:00", + "start_time_ts": 1695246600, + "end_date": "2023-09-20", + "end_time": "15:20:00" + }, + { + "event_key": "501204", + "active": "Y", + "pinned": "N", + "name": "The Graph of Everything - Federated Architecture for Any API Service - Uri Goldshtein, The Guild", + "event_start": "2023-09-20 14:50", + "event_end": "2023-09-20 15:20", + "event_type": "Session Presentations", + "event_subtype": "Spec Fusion", + "description": "We debate and talk a lot about the differences between GraphQL and other API technologies. What if we could interop between all of these? What would that mean for the strength and weaknesses? What would that mean for the adoption story? In this talk I will demonstrate a few technologies that help us automatically interact from GraphQL to others API technologies and the other way around. I will show how these technologies effected how The Guild thinks about the architecture of GraphQL, where and when to use it and all the new use cases that this unfolds for our users. and one more thing - I will also demonstrate how it opens the doors for GraphQL tool developers to offer solutions for other API ecosystems.", + "goers": "59", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula F&G", + "audience": "Intermediate", + "id": "7a87fe1cfc351a993ed40e01d384e3c6", + "venue_id": "1762208", + "speakers": [ + { + "username": "uri_goldshtein.23xujj9a", + "id": "14900013", + "name": "Uri Goldshtein", + "company": "The Guild", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "20", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "2:50pm", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "20", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "3:20pm", + "start_date": "2023-09-20", + "start_time": "14:50:00", + "start_time_ts": 1695246600, + "end_date": "2023-09-20", + "end_time": "15:20:00" + }, + { + "event_key": "19", + "active": "Y", + "pinned": "N", + "name": "Break", + "event_start": "2023-09-20 15:20", + "event_end": "2023-09-20 15:40", + "event_type": "Breaks", + "goers": "44", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula D", + "id": "3e70d76748962770972c5c80e45ee9d7", + "venue_id": "1749440", + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "20", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "3:20pm", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "20", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "3:40pm", + "start_date": "2023-09-20", + "start_time": "15:20:00", + "start_time_ts": 1695248400, + "end_date": "2023-09-20", + "end_time": "15:40:00", + "description": "" + }, + { + "event_key": "493683", + "active": "Y", + "pinned": "N", + "name": "@Defer All the Slow Things - Alessia Bellisario, Apollo GraphQL", + "event_start": "2023-09-20 15:40", + "event_end": "2023-09-20 15:50", + "event_type": "Lightning Talks", + "event_subtype": "GraphQL Clients", + "description": "With GraphQL, clients can describe the data they require and receive nothing more, nothing less. This also means a single GraphQL query is as slow as its slowest field(s)… that is until @defer 🎉 Learn about a proposed directive that solves this problem and its underlying incremental transport mechanism.", + "goers": "41", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula E", + "audience": "Beginner", + "geo_area": "Yes", + "id": "cc22599d768dc636a67a0e93cd74bab2", + "venue_id": "1762196", + "speakers": [ + { + "username": "twitter7", + "id": "18743837", + "name": "Alessia Bellisario", + "company": "Apollo", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "20", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "3:40pm", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "20", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "3:50pm", + "start_date": "2023-09-20", + "start_time": "15:40:00", + "start_time_ts": 1695249600, + "end_date": "2023-09-20", + "end_time": "15:50:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf23/ef/@defer%20all%20the%20slow%20things.pdf", + "name": "@defer all the slow things.pdf" + } + ] + }, + { + "event_key": "483848", + "active": "Y", + "pinned": "N", + "name": "Launching a Public GraphQL API and Client for Open Source Lightning Web Components - Ben Sklar, Salesforce", + "event_start": "2023-09-20 15:40", + "event_end": "2023-09-20 16:10", + "event_type": "Session Presentations", + "event_subtype": "GraphQL in Production", + "description": "Learn how and why Salesforce decided to launch a public GraphQL API. You will learn about best practices, real world use cases, hear success stories, failures, challenges, and overall lessons learned from a real production deployment of a GraphQL API. This API is unique in that every user of the API may have different views of the schema due to a strict field-level and object-level security model. You'll also get to hear about upcoming new features to the API, and how you can leverage this API with our open source Lightning Web Components framework, allowing you to insert GraphQL queries directly with Lightning Web Components.", + "goers": "27", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula F&G", + "audience": "Beginner", + "geo_area": "Yes", + "id": "72ac8d3f7585f86cb9acc77b9eb22241", + "venue_id": "1762208", + "speakers": [ + { + "username": "bsklar", + "id": "18743813", + "name": "Ben Sklar", + "company": "Salesforce", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "20", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "3:40pm", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "20", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "4:10pm", + "start_date": "2023-09-20", + "start_time": "15:40:00", + "start_time_ts": 1695249600, + "end_date": "2023-09-20", + "end_time": "16:10:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf23/8a/GraphQL%20Conf%20Presentation%202023%20-%20LWC%20&%20UI%20API.pdf", + "name": "GraphQL Conf Presentation 2023 - LWC & UI API.pdf" + } + ] + }, + { + "event_key": "483029", + "active": "Y", + "pinned": "N", + "name": "Streamlining Access to NASA Earth Science Data with GraphQL - Ryan Abbott, Element 84", + "event_start": "2023-09-20 15:40", + "event_end": "2023-09-20 16:10", + "event_type": "Session Presentations", + "event_subtype": "GraphQL and Data", + "description": "The Common Metadata Repository (CMR), NASA's datastore for Earth science metadata offers multiple API's that allow users to access the underlying data in many ways. With the launch of recent missions, CMR's usage has increased exponentially; this usage and the features added to support new capabilities have made it increasingly difficult to keep it's response formats and capabilities consistent and performant. Unfortunately agency requirements and existing CMR client implementations limit our ability to change our APIs. In our research for a solution that would allow us to work within these limitations, the use of GraphQL as an abstraction layer would mean that our existing APIs could remain unchanged. Additionally, this would allow us to offer new functionality via a self-documenting, specification based approach. Our introduction of GraphQL has allowed us to normalize the ways that users communicate with our APIs and enabled us to make changes to our core APIs with no impact to clients. In this talk, I'll discuss the challenges, wins, losses, and lessons learned in wrapping CMR's API with GraphQL and how it's being utilized today.", + "goers": "30", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula A,B,C", + "audience": "Beginner", + "geo_area": "Yes", + "id": "2816d4a81204283289584830acda7826", + "venue_id": "1749452", + "speakers": [ + { + "username": "abbottry", + "id": "18680304", + "name": "Ryan Abbott", + "company": "NASA EED-3 / Element 84", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "20", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "3:40pm", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "20", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "4:10pm", + "start_date": "2023-09-20", + "start_time": "15:40:00", + "start_time_ts": 1695249600, + "end_date": "2023-09-20", + "end_time": "16:10:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf23/02/GraphQL%20Conf.pdf", + "name": "GraphQL Conf.pdf" + } + ] + }, + { + "event_key": "488856", + "active": "Y", + "pinned": "N", + "name": "How to Make Your First Open Source Contribution - Donna Zhou, Atlassian", + "event_start": "2023-09-20 15:55", + "event_end": "2023-09-20 16:05", + "event_type": "Lightning Talks", + "description": "Have you always wanted to make an open source contribution, but not sure where to start? Getting started with open source is much easier than it seems. A year ago, I started regularly contributing to GraphQL Java and the GraphQL Scalars project. I caught the open source bug and made it a habit, and now I’m a maintainer of GraphQL Java. It has been an incredible learning experience, and it has been very rewarding to meet the engineers using the library all over the world. But it wasn’t always an open source fairytale! Many years ago I tried to contribute to another project, and it was a total failure. I didn’t have a great experience and it put me off open source for a long time. In this talk, I want to explain what I did differently to succeed this time around.", + "goers": "32", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula E", + "audience": "Beginner", + "geo_area": "Yes", + "id": "81daf0dd0b26efdc784ba0a530e54a68", + "venue_id": "1762196", + "speakers": [ + { + "username": "donnasiqizhou", + "id": "18743879", + "name": "Donna Zhou", + "company": "Atlassian", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "20", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "3:55pm", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "20", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "4:05pm", + "start_date": "2023-09-20", + "start_time": "15:55:00", + "start_time_ts": 1695250500, + "end_date": "2023-09-20", + "end_time": "16:05:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf23/39/Open%20source.pdf", + "name": "Open source.pdf" + } + ] + }, + { + "event_key": "7", + "active": "Y", + "pinned": "N", + "name": "Easily Access Blockchain Data with Subgraphs - Kevin Jones, The Graph", + "event_start": "2023-09-20 16:20", + "event_end": "2023-09-20 16:50", + "event_type": "Session Presentations", + "description": "Have you ever wanted to dip your toes into web3 development and blockchain data but don't know how? Join us to learn how blockchain data can be easily queried with GraphQL!\n\nSubgraphs APIs and the tooling built around them are all open source, making it easy for developers to build decentralized applications (dapps). Within the world of web3 there are many different ways to use smart contracts, so Subgraphs are modular APIs enabling developers to build for any use case. These subgraphs can be queried via The Graph, a decentralized network for accessing blockchain data.\n\nIn this presentation we will explore: Practical aspects of accessing blockchain data using Subgraphs, including the basics of building a GraphQL schema Discuss efficient Data optimization Utility of GraphQL for blockchain data Elements of decentralization and data\nLearn how Subgraphs simplify the data extraction from blockchains, optimize data handling, and enhance query flexibility. Join us to understand how these elements work together to make blockchain data more accessible and manageable.", + "goers": "12", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula A,B,C", + "geo_area": "Yes", + "id": "ebee6213b39b87437eb7cc9c41ea972b", + "venue_id": "1749452", + "speakers": [ + { + "username": "kevin1700", + "id": "19150962", + "name": "Kevin Jones", + "company": "The Graph", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "20", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "4:20pm", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "20", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "4:50pm", + "start_date": "2023-09-20", + "start_time": "16:20:00", + "start_time_ts": 1695252000, + "end_date": "2023-09-20", + "end_time": "16:50:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf23/17/Querying%20Blockchain%20Data%20with%20GraphQL%20-%20shared.pdf", + "name": "Querying Blockchain Data with GraphQL - shared.pdf" + } + ] + }, + { + "event_key": "496520", + "active": "Y", + "pinned": "N", + "name": "Isograph — Rethink GraphQL-Powered React Apps - Robert Balicki, Pinterest", + "event_start": "2023-09-20 16:20", + "event_end": "2023-09-20 16:50", + "event_type": "Session Presentations", + "event_subtype": "GraphQL Clients", + "description": "Isograph is a framework for building GraphQL-backed React apps with a radically redesigned developer experience. Find out how you can build entire applications through the graph, and the vision for how Isograph will enable extremely performant and powerful apps.", + "goers": "42", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula E", + "audience": "Beginner", + "geo_area": "Yes", + "id": "2517f7a1d13ad3c0652e1b3cc5b65714", + "venue_id": "1762196", + "speakers": [ + { + "username": "robert.balicki", + "id": "18743858", + "name": "Robert Balicki", + "company": "Pinterest", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "20", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "4:20pm", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "20", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "4:50pm", + "start_date": "2023-09-20", + "start_time": "16:20:00", + "start_time_ts": 1695252000, + "end_date": "2023-09-20", + "end_time": "16:50:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf23/6c/GraphQL%20Conf%202023.pdf", + "name": "GraphQL Conf 2023.pdf" + } + ] + }, + { + "event_key": "496782", + "active": "Y", + "pinned": "N", + "name": "Supercharging GraphQL with Envoy: Unveiling the Efficiency of Declarative GraphQL - Sai Ekbote, solo.io", + "event_start": "2023-09-20 16:20", + "event_end": "2023-09-20 16:50", + "event_type": "Session Presentations", + "event_subtype": "GraphQL in Production", + "description": "Over the past decade of GraphQL, many implementations have emerged from the community, primarily that of imperative approaches to GraphQL. However, recently we have seen an uptick in implementations that allow for declarative configuration of GraphQL schemas and resolvers. These declarative approaches offer new possibilities in terms of managing and scaling GraphQL APIs. In this talk, we will dive into the challenges of implementing a declarative API for GraphQL and explore the solutions that exist in the ecosystem. Firstly, we will introduce several prominent solutions that enable declarative configuration of GraphQL APIs, such as Gloo GraphQL, GraphQL Mesh, and StepZen. We will compare and contrast these solutions, highlighting their unique features, capabilities, and integration possibilities with existing infrastructure. We will then delve into the more technical aspects and challenges of implementing a highly performant GraphQL server that we built-in as a component of the industry standard Envoy proxy. By the end of this talk, attendees will be left with a comprehensive understanding of declarative GraphQL and the solutions available in the ecosystem.", + "goers": "35", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula F&G", + "audience": "Intermediate", + "geo_area": "Yes", + "id": "5d6afee232e35ba1880e7b25d810ef49", + "venue_id": "1762208", + "speakers": [ + { + "username": "keerthan.ekbote", + "id": "14553875", + "name": "Sai Ekbote", + "company": "solo.io", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "20", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "4:20pm", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "20", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "4:50pm", + "start_date": "2023-09-20", + "start_time": "16:20:00", + "start_time_ts": 1695252000, + "end_date": "2023-09-20", + "end_time": "16:50:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf23/54/graphqlconf.pdf", + "name": "graphqlconf.pdf" + } + ] + }, + { + "event_key": "491650", + "active": "N", + "pinned": "N", + "name": "CANCELED: Building Mission Control: A More Reliable, Better Performing, Drop-in Replacement for Apollo Uplink. - Michael Edelman, EdelOrg", + "event_start": "2023-09-20 17:00", + "event_end": "2023-09-20 17:30", + "event_type": "Session Presentations", + "event_subtype": "GraphQL in Production", + "description": "Mission Control is a drop-in, enterprise-grade solution, written in rust, that, once and for all, solves the reliability, availability, and performance issues that have, up until now, beguiled Apollo's Uplink service and, thus, limited the appeal of \"managed federation\" in mission-critical applications generally. Here, we will discuss the challenges and issues that led us here, our motivation for replacing Apollo Uplink as the single source of truth for our supergraph schemas, the alternative solutions we considered, and, finally, why we decided to take the path that we did--essentially reinventing the wheel--and where we plan to take it going forward. Attendees will leave with a deep understanding of the tradeoffs with respect to managed federation in mission critical environments, specifically as they relate to use of Apollo's Uplink service as a single source of truth. Moreover, attendees will walk away with a general plan for how to mitigate the challenges and limitations above, using Mission Control as the seminal example.", + "goers": "16", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula F&G", + "audience": "Advanced", + "id": "bc5623fa38b3e2a58b357b35d3209023", + "venue_id": "1762208", + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "20", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "5:00pm", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "20", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "5:30pm", + "start_date": "2023-09-20", + "start_time": "17:00:00", + "start_time_ts": 1695254400, + "end_date": "2023-09-20", + "end_time": "17:30:00" + }, + { + "event_key": "490843", + "active": "Y", + "pinned": "N", + "name": "GraphQL and CQRS, a Perfect Fit? - Gerard Klijs, AxonIQ", + "event_start": "2023-09-20 17:00", + "event_end": "2023-09-20 17:30", + "event_type": "Session Presentations", + "event_subtype": "GraphQL and Data", + "description": "With an CQRS architecture, the write and read model are separated. The read model is also eventually consistent. This makes it hard to implement GraphQL mutations as they are implemented usually. We can't directly return the updated entity, as that's not available in the write model? But do we need to return this, or can we get away with just returning if the mutation was successful? Are there ways we can still return the updated entity? We will dive deeper into this, and also at the consequences for queries, and subscriptions.", + "goers": "27", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula A,B,C", + "audience": "Intermediate", + "geo_area": "Yes", + "id": "217cf30afd15a724ebb42c4d82169a26", + "venue_id": "1749452", + "speakers": [ + { + "username": "gerard.klijs", + "id": "18743792", + "name": "Gerard Klijs", + "company": "AxonIQ", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "20", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "5:00pm", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "20", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "5:30pm", + "start_date": "2023-09-20", + "start_time": "17:00:00", + "start_time_ts": 1695254400, + "end_date": "2023-09-20", + "end_time": "17:30:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf23/63/GraphQL+CQRS.pdf", + "name": "GraphQL+CQRS.pdf" + } + ] + }, + { + "event_key": "511237", + "active": "Y", + "pinned": "N", + "name": "Why Relay is a Must for your GraphQL APIs - Marion Schleifer, Hasura", + "event_start": "2023-09-20 17:00", + "event_end": "2023-09-20 17:30", + "event_type": "Session Presentations", + "description": "GraphQL has helped the industry realize the benefit of having typed APIs. But does that mean that if we switch over to a typed API like gRPC or OpenAPI then GraphQL is overkill? In this session, I want to discuss how GraphQL with Relay is critical to UI development and GraphQL without Relay leads us to reinventing the wheel on state management and API libraries again and again. And also as a corollary, how using GraphQL without Relay might not really be worth it!", + "goers": "44", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula E", + "geo_area": "Yes", + "id": "34bdd9b21a3cf2db6600a5ef840b3fb3", + "venue_id": "1762196", + "speakers": [ + { + "username": "marion84", + "id": "19150944", + "name": "Marion Schleifer", + "company": "Hasura", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "20", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "5:00pm", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "20", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "5:30pm", + "start_date": "2023-09-20", + "start_time": "17:00:00", + "start_time_ts": 1695254400, + "end_date": "2023-09-20", + "end_time": "17:30:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf23/2d/why_relay_is_a_must_for_your_graphql_api.pdf", + "name": "why_relay_is_a_must_for_your_graphql_api.pdf" + } + ] + }, + { + "event_key": "511233", + "active": "Y", + "pinned": "N", + "name": "Booth Crawl", + "event_start": "2023-09-20 17:30", + "event_end": "2023-09-20 19:00", + "event_type": "Events & Experiences", + "description": "TBA", + "goers": "49", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula D", + "id": "a6d43808900bc56bb2ebd675544ee5a3", + "venue_id": "1749440", + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "20", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "5:30pm", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "20", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "7:00pm", + "start_date": "2023-09-20", + "start_time": "17:30:00", + "start_time_ts": 1695256200, + "end_date": "2023-09-20", + "end_time": "19:00:00" + }, + { + "event_key": "511239", + "active": "Y", + "pinned": "N", + "name": "Light Continental Breakfast", + "event_start": "2023-09-21 07:30", + "event_end": "2023-09-21 09:00", + "event_type": "Breaks", + "goers": "38", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula Foyer", + "id": "7bb96b3d5660f2d285220d7cdd59eb7f", + "venue_id": "1749431", + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "21", + "event_start_weekday": "Thursday", + "event_start_weekday_short": "Thu", + "event_start_time": "7:30am", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "21", + "event_end_weekday": "Thursday", + "event_end_weekday_short": "Thu", + "event_end_time": "9:00am", + "start_date": "2023-09-21", + "start_time": "07:30:00", + "start_time_ts": 1695306600, + "end_date": "2023-09-21", + "end_time": "09:00:00", + "description": "" + }, + { + "event_key": "511232", + "active": "Y", + "pinned": "N", + "name": "Registration & Badge Pick-Up", + "event_start": "2023-09-21 07:30", + "event_end": "2023-09-21 16:00", + "event_type": "Registration + Badge Pick-Up", + "goers": "13", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula Foyer", + "id": "9a543325b8802fd94cc9ed81908dc888", + "venue_id": "1749431", + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "21", + "event_start_weekday": "Thursday", + "event_start_weekday_short": "Thu", + "event_start_time": "7:30am", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "21", + "event_end_weekday": "Thursday", + "event_end_weekday_short": "Thu", + "event_end_time": "4:00pm", + "start_date": "2023-09-21", + "start_time": "07:30:00", + "start_time_ts": 1695306600, + "end_date": "2023-09-21", + "end_time": "16:00:00", + "description": "" + }, + { + "event_key": "27", + "active": "Y", + "pinned": "N", + "name": "Welcome Remarks - Keith Babo, Solo.io", + "event_start": "2023-09-21 09:00", + "event_end": "2023-09-21 09:05", + "event_type": "Keynote Sessions", + "goers": "56", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula A,B,C", + "id": "5a0c1b8ab4957bfd83f55480c1508fe5", + "venue_id": "1749452", + "speakers": [ + { + "username": "keith.babo", + "id": "19071264", + "name": "Keith Babo", + "company": "Solo.io", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "21", + "event_start_weekday": "Thursday", + "event_start_weekday_short": "Thu", + "event_start_time": "9:00am", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "21", + "event_end_weekday": "Thursday", + "event_end_weekday_short": "Thu", + "event_end_time": "9:05am", + "start_date": "2023-09-21", + "start_time": "09:00:00", + "start_time_ts": 1695312000, + "end_date": "2023-09-21", + "end_time": "09:05:00", + "description": "" + }, + { + "event_key": "29", + "active": "Y", + "pinned": "N", + "name": "Is a GraphQL BFF Necessary in a Server Side React World (RSC, SAs)? - Tanmai Gopal, Hasura", + "event_start": "2023-09-21 09:05", + "event_end": "2023-09-21 09:15", + "event_type": "Keynote Sessions", + "description": "With the introduction and rise in adoption of React Server Components and Server Actions (and as other UI frameworks embrace these ideas), is a GraphQL API layer that provides a \"Backend For Frontend\" type of abstraction going to be relevant? Where does GraphQL fit in and how might it evolve over the months to come?\n\nIn this talk, I'll focus on specific technical and developer-experience benefits of a GraphQL and \"server side React\" overlap, along with some code examples. Next, I'll talk about areas where the value provided by GraphQL is orthogonal to the benefits of React Server Components and Server Actions. Finally, through this exploration and these examples, I'll end on an opinionated note that GraphQL's future is with Relay and its usage as a BFD 🤯 (?!), instead of a BFF.", + "goers": "54", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula A,B,C", + "id": "e3320ba552ee773065a1a132304a36e0", + "venue_id": "1749452", + "speakers": [ + { + "username": "tanmaig", + "id": "4968006", + "name": "Tanmai Gopal", + "company": "Hasura", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "21", + "event_start_weekday": "Thursday", + "event_start_weekday_short": "Thu", + "event_start_time": "9:05am", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "21", + "event_end_weekday": "Thursday", + "event_end_weekday_short": "Thu", + "event_end_time": "9:15am", + "start_date": "2023-09-21", + "start_time": "09:05:00", + "start_time_ts": 1695312300, + "end_date": "2023-09-21", + "end_time": "09:15:00" + }, + { + "event_key": "30", + "active": "Y", + "pinned": "N", + "name": "Training and Using Generative AI Models with GraphQL - Idit Levine, Solo.io", + "event_start": "2023-09-21 09:15", + "event_end": "2023-09-21 09:25", + "event_type": "Keynote Sessions", + "goers": "52", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula A,B,C", + "id": "47c1bf50ce5556edcae9a84795485a8f", + "venue_id": "1749452", + "speakers": [ + { + "username": "idit_levine.25krdj4u", + "id": "18769950", + "name": "Idit Levine", + "company": "Solo.io", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "21", + "event_start_weekday": "Thursday", + "event_start_weekday_short": "Thu", + "event_start_time": "9:15am", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "21", + "event_end_weekday": "Thursday", + "event_end_weekday_short": "Thu", + "event_end_time": "9:25am", + "start_date": "2023-09-21", + "start_time": "09:15:00", + "start_time_ts": 1695312900, + "end_date": "2023-09-21", + "end_time": "09:25:00", + "description": "" + }, + { + "event_key": "31", + "active": "Y", + "pinned": "N", + "name": "GraphQL Everywhere - How GraphQL is Being Used in Places You Never Thought Were Possible - Uri Goldshtein, The Guild", + "event_start": "2023-09-21 09:25", + "event_end": "2023-09-21 09:35", + "event_type": "Keynote Sessions", + "description": "GraphQL can be helpful in more places than just client-server communication. I will talk about a number of ways The Guild is using GraphQL in places that help us make a difference with teams that are not the classic GraphQL teams and sometimes don't know what GraphQL is!", + "goers": "60", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula A,B,C", + "id": "b9e35d673e7b541421d45ce2043dc05e", + "venue_id": "1749452", + "speakers": [ + { + "username": "uri_goldshtein.23xujj9a", + "id": "14900013", + "name": "Uri Goldshtein", + "company": "The Guild", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "21", + "event_start_weekday": "Thursday", + "event_start_weekday_short": "Thu", + "event_start_time": "9:25am", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "21", + "event_end_weekday": "Thursday", + "event_end_weekday_short": "Thu", + "event_end_time": "9:35am", + "start_date": "2023-09-21", + "start_time": "09:25:00", + "start_time_ts": 1695313500, + "end_date": "2023-09-21", + "end_time": "09:35:00" + }, + { + "event_key": "28", + "active": "Y", + "pinned": "N", + "name": "GraphQL Saving Lives - Leveraging Federation and Domain Experts to Help People Beat Addiction - David Emanuel Sarabia, inRecovery", + "event_start": "2023-09-21 09:35", + "event_end": "2023-09-21 09:55", + "event_type": "Keynote Sessions", + "description": "Health Tech comes with unique challenges, from data privacy laws, mission-critical uptime, to clinical validation. Further complicated by an industry resistant to change, weighed down by complex legacy enterprise systems and data silos.\n\nLearn valuable insights from our journey as an addiction care startup, transitioning from a monolith MVP engineered in isolation, to GraphQL Federation built alongside clinicians.\n\nBy involving domain experts in design thinking exercises, we not only constructed subgraphs with build-in clinical validation, data governance, and security, but also transformed our clinical end-users into champions for change.", + "goers": "48", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula A,B,C", + "id": "5684f90e0472771532ed5ee2b237300f", + "venue_id": "1749452", + "speakers": [ + { + "username": "david3103", + "id": "13551525", + "name": "David Emanuel Sarabia", + "company": "inRecovery", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "21", + "event_start_weekday": "Thursday", + "event_start_weekday_short": "Thu", + "event_start_time": "9:35am", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "21", + "event_end_weekday": "Thursday", + "event_end_weekday_short": "Thu", + "event_end_time": "9:55am", + "start_date": "2023-09-21", + "start_time": "09:35:00", + "start_time_ts": 1695314100, + "end_date": "2023-09-21", + "end_time": "09:55:00" + }, + { + "event_key": "32", + "active": "Y", + "pinned": "N", + "name": "Navigating the Future: GraphQL’s Expansion, AI Adoption, and Modern Languages - Adapting for Success in 2025 - Uri Goldshtein, The Guild; Idit Levine, Solo.io; Benjie Gillam, Graphile; Lee Byron, GraphQL Foundation; Moderated by Keith Babo, Solo.io", + "event_start": "2023-09-21 09:55", + "event_end": "2023-09-21 10:20", + "event_type": "Keynote Sessions", + "description": "According to Gartner, GraphQL was implemented in just over 10% of enterprises in 2021 and they predict that GraphQL implementations will increase to over 50% of all enterprises by 2025.\n\nThe unprecedented surge in GraphQL’s popularity within enterprise ecosystems calls for an urgent introspective analysis and forward-thinking strategies. This panel discussion delves into the foreseeable future, envisioning GraphQL’s evolution by 2025 in response to expanding horizons, AI integration, and the embrace of contemporary programming languages.\n\nAs GraphQL cements its position as an indispensable tool in enterprise architectures, the necessity for the project to evolve rapidly without compromising consistency becomes apparent. Our esteemed panelists will shed light on the innovations and adaptations necessary for the GraphQL project to flourish. This includes a discussion on evolving governance models, project sustainability, and community engagement to ensure the GraphQL Foundation remains a steward of progress.\n\nAnother focal point is the emergence of AI in API ecosystems. How can GraphQL integrate with AI-driven systems? What challenges and opportunities does AI present for GraphQL APIs? Our experts will discuss the promising avenues where GraphQL and AI can complement each other, and how this synergy could redefine data-fetching paradigms.\n\nAdditionally, the panel will tackle the inevitable shift toward modern programming languages. With languages such as Rust, Kotlin, and Swift gaining traction, the GraphQL ecosystem must adapt. We’ll discuss the opportunities these languages present and how GraphQL can harness their strengths to remain a versatile and powerful tool for contemporary development.\n\nThe final segment will engage the audience in a thought-provoking dialogue on the GraphQL Foundation’s role in these evolving landscapes. Panelists will offer perspectives on what's next for the GraphQL Foundation from today through 2025.", + "goers": "55", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula A,B,C", + "id": "f485ec8e2dc60c435e8a3a90185d73bf", + "venue_id": "1749452", + "speakers": [ + { + "username": "uri_goldshtein.23xujj9a", + "id": "14900013", + "name": "Uri Goldshtein", + "company": "The Guild", + "custom_order": 0 + }, + { + "username": "idit_levine.25krdj4u", + "id": "18769950", + "name": "Idit Levine", + "company": "Solo.io", + "custom_order": 1 + }, + { + "username": "benjie3", + "id": "18743846", + "name": "Benjie Gillam", + "company": "Graphile", + "custom_order": 2 + }, + { + "username": "lee_byron.25krdom6", + "id": "18769956", + "name": "Lee Byron", + "company": "GraphQL Foundation", + "custom_order": 3 + }, + { + "username": "keith.babo", + "id": "19071264", + "name": "Keith Babo", + "company": "Solo.io", + "custom_order": 4 + } + ], + "moderators": [ + { + "username": "keith.babo", + "name": "Keith Babo", + "eventid": "f485ec8e2dc60c435e8a3a90185d73bf", + "role": "moderator", + "company": "Solo.io" + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "21", + "event_start_weekday": "Thursday", + "event_start_weekday_short": "Thu", + "event_start_time": "9:55am", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "21", + "event_end_weekday": "Thursday", + "event_end_weekday_short": "Thu", + "event_end_time": "10:20am", + "start_date": "2023-09-21", + "start_time": "09:55:00", + "start_time_ts": 1695315300, + "end_date": "2023-09-21", + "end_time": "10:20:00" + }, + { + "event_key": "33", + "active": "Y", + "pinned": "N", + "name": "Closing Remarks - Keith Babo, Solo.io", + "event_start": "2023-09-21 10:20", + "event_end": "2023-09-21 10:30", + "event_type": "Keynote Sessions", + "goers": "53", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula A,B,C", + "id": "b3a3fa420d7467c46c215fa09cd548e0", + "venue_id": "1749452", + "speakers": [ + { + "username": "keith.babo", + "id": "19071264", + "name": "Keith Babo", + "company": "Solo.io", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "21", + "event_start_weekday": "Thursday", + "event_start_weekday_short": "Thu", + "event_start_time": "10:20am", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "21", + "event_end_weekday": "Thursday", + "event_end_weekday_short": "Thu", + "event_end_time": "10:30am", + "start_date": "2023-09-21", + "start_time": "10:20:00", + "start_time_ts": 1695316800, + "end_date": "2023-09-21", + "end_time": "10:30:00", + "description": "" + }, + { + "event_key": "18", + "active": "Y", + "pinned": "N", + "name": "Break", + "event_start": "2023-09-21 10:30", + "event_end": "2023-09-21 10:50", + "event_type": "Breaks", + "goers": "35", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula D", + "id": "6d07d593f16320c810d6aba8553199ed", + "venue_id": "1749440", + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "21", + "event_start_weekday": "Thursday", + "event_start_weekday_short": "Thu", + "event_start_time": "10:30am", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "21", + "event_end_weekday": "Thursday", + "event_end_weekday_short": "Thu", + "event_end_time": "10:50am", + "start_date": "2023-09-21", + "start_time": "10:30:00", + "start_time_ts": 1695317400, + "end_date": "2023-09-21", + "end_time": "10:50:00", + "description": "" + }, + { + "event_key": "511235", + "active": "Y", + "pinned": "N", + "name": "Sponsor Showcase", + "event_start": "2023-09-21 10:30", + "event_end": "2023-09-21 17:30", + "event_type": "Sponsor Showcase", + "goers": "18", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula D", + "id": "dd289f7ecf487b271e0495ff09bba26e", + "venue_id": "1749440", + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "21", + "event_start_weekday": "Thursday", + "event_start_weekday_short": "Thu", + "event_start_time": "10:30am", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "21", + "event_end_weekday": "Thursday", + "event_end_weekday_short": "Thu", + "event_end_time": "5:30pm", + "start_date": "2023-09-21", + "start_time": "10:30:00", + "start_time_ts": 1695317400, + "end_date": "2023-09-21", + "end_time": "17:30:00", + "description": "" + }, + { + "event_key": "502933", + "active": "Y", + "pinned": "N", + "name": "Building Tooling That Speaks GraphQL - Tim Hall, Postman", + "event_start": "2023-09-21 10:50", + "event_end": "2023-09-21 11:20", + "event_type": "Session Presentations", + "event_subtype": "GraphQL Clients", + "description": "graphql.js underpins most of the clients and servers in the GraphQL ecosystem and it provides great primitives for developing your own tooling for working with GraphQL. In this session we'll take a look at some of the interesting and useful things you can do with parsers, visitors, and ASTs. We'll look at some examples from my experience working on Postman's new GraphQL client, including generating documentation, searching schemas, and building queries.", + "goers": "35", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula E", + "audience": "Intermediate", + "geo_area": "Yes", + "id": "9836d339aaf014a7ced7f87141fcee67", + "venue_id": "1762196", + "speakers": [ + { + "username": "tim.hall.engr", + "id": "18743807", + "name": "Tim Hall", + "company": "Postman", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "21", + "event_start_weekday": "Thursday", + "event_start_weekday_short": "Thu", + "event_start_time": "10:50am", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "21", + "event_end_weekday": "Thursday", + "event_end_weekday_short": "Thu", + "event_end_time": "11:20am", + "start_date": "2023-09-21", + "start_time": "10:50:00", + "start_time_ts": 1695318600, + "end_date": "2023-09-21", + "end_time": "11:20:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf23/b3/Building%20Tooling%20that%20Speaks%20GraphQL.pdf", + "name": "Building Tooling that Speaks GraphQL.pdf" + } + ] + }, + { + "event_key": "499321", + "active": "Y", + "pinned": "N", + "name": "Exposing All of Wix.com APIs via GraphQL Automatically: Centralizing GraphQL Schema Generation - Gonen Jerbi, Wix.com", + "event_start": "2023-09-21 10:50", + "event_end": "2023-09-21 11:20", + "event_type": "Session Presentations", + "event_subtype": "Platform and Backend", + "description": "GraphQL has become a prevalent trend in API development, offering flexible data access. However, manually creating and maintaining GraphQL schemas in large organizations with numerous APIs can be challenging. At Wix, we tackled this issue by automating schema generation using API registry metadata. Join our talk to learn how this approach creates a centralized GraphQL server for all APIs, ensuring consistency, scalability, and ease of maintenance. Discover how this solution empowers Wix to provide platform capabilities without burdening teams with GraphQL expertise.", + "goers": "26", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula F&G", + "audience": "Intermediate", + "id": "f319907e1e15ee620a33d3cbf01f323a", + "venue_id": "1762208", + "speakers": [ + { + "username": "gonenj", + "id": "18743816", + "name": "Gonen Jerbi", + "company": "Wix.com", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "21", + "event_start_weekday": "Thursday", + "event_start_weekday_short": "Thu", + "event_start_time": "10:50am", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "21", + "event_end_weekday": "Thursday", + "event_end_weekday_short": "Thu", + "event_end_time": "11:20am", + "start_date": "2023-09-21", + "start_time": "10:50:00", + "start_time_ts": 1695318600, + "end_date": "2023-09-21", + "end_time": "11:20:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf23/af/GraphQL%20Conf_%20Exposing%20All%20of%20Wix%20APIs%20via%20GraphQL%20Automatically_%20Centralizing%20GraphQL%20Schema%20Generation.pdf", + "name": "GraphQL Conf_ Exposing All of Wix APIs via GraphQL Automatically_ Centralizing GraphQL Schema Generation.pdf" + } + ] + }, + { + "event_key": "490864", + "active": "Y", + "pinned": "N", + "name": "GraphQL Is a Superpower for Your Product Manager and Designer - Jeff Auriemma, Apollo GraphQL", + "event_start": "2023-09-21 10:50", + "event_end": "2023-09-21 11:20", + "event_type": "Session Presentations", + "description": "Good tools help get a job done faster and better. Great tools transform the entire end-to-end workflow from concept to deployment. GraphQL, an open standard and protocol for APIs, is both good and great. It allows your designer to explore the full capabilities of your data so they can conceive of the best user experience possible. GraphQL allows your engineers to say “three weeks” to your product manager where they would have said “two months” before. These enhancements have a practical impact on the relationships that are the foundation of your cross-functional team’s success. In this talk I’ll address some of the challenges product teams face as their understanding of the end user starts to outpace their ability to ship new features (which is healthy). Then, I will give some concrete examples where GraphQL can make a difference. A/B tests and designer productivity will be covered, all drawn from my experiences in both IC and EM roles on product engineering teams. For each of these scenarios I’ll show how GraphQL principles and tooling can give your team a practical advantage.", + "goers": "32", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula A,B,C", + "audience": "Beginner", + "geo_area": "Yes", + "id": "de1472b4294ac91745f3648d9228d8f2", + "venue_id": "1749452", + "speakers": [ + { + "username": "jeff.auriemma", + "id": "18743876", + "name": "Jeff Auriemma", + "company": "Apollo GraphQL", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "21", + "event_start_weekday": "Thursday", + "event_start_weekday_short": "Thu", + "event_start_time": "10:50am", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "21", + "event_end_weekday": "Thursday", + "event_end_weekday_short": "Thu", + "event_end_time": "11:20am", + "start_date": "2023-09-21", + "start_time": "10:50:00", + "start_time_ts": 1695318600, + "end_date": "2023-09-21", + "end_time": "11:20:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf23/48/GraphQL%20is%20a%20superpower%20for%20your%20product%20manager%20and%20designer.pdf", + "name": "GraphQL is a superpower for your product manager and designer.pdf" + } + ] + }, + { + "event_key": "35", + "active": "Y", + "pinned": "N", + "name": "Building Geospatial GraphQL APIs By Leveraging GraphQL Database Integrations - William Lyon, Neo4j", + "event_start": "2023-09-21 11:30", + "event_end": "2023-09-21 12:00", + "event_type": "Session Presentations", + "event_subtype": "GraphQL and Data", + "description": "In this talk we explore how to work with geospatial data in GraphQL with a focus on geospatial database integrations for GraphQL. We will cover how to model spatial data types such as points, lines, and polygons in GraphQL and cover some use cases for working with geospatial data in your API such as spatial search, location-based recommendations, and routing. We will learn how to leverage geospatial database functionality through GraphQL-database integrations such as PostGIS and Neo4j.", + "goers": "13", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula A,B,C", + "audience": "Intermediate", + "id": "a638dad8443a364e12ed29b3bc50d128", + "venue_id": "1749452", + "speakers": [ + { + "username": "lyonwj1", + "id": "3634520", + "name": "William Lyon", + "company": "Neo4j", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "21", + "event_start_weekday": "Thursday", + "event_start_weekday_short": "Thu", + "event_start_time": "11:30am", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "21", + "event_end_weekday": "Thursday", + "event_end_weekday_short": "Thu", + "event_end_time": "12:00pm", + "start_date": "2023-09-21", + "start_time": "11:30:00", + "start_time_ts": 1695321000, + "end_date": "2023-09-21", + "end_time": "12:00:00" + }, + { + "event_key": "493258", + "active": "Y", + "pinned": "N", + "name": "Houdini: A GraphQL-First Application Framework - Alec Aivazis, Arista Networks", + "event_start": "2023-09-21 11:30", + "event_end": "2023-09-21 12:00", + "event_type": "Session Presentations", + "event_subtype": "GraphQL Clients", + "description": "While the wider community is focused on blurring the lines between the server and client, GraphQL applications have been left behind. In this talk, Alec will present his attempt to change that: Houdini, a new application framework that blends GraphQL client, router, and bundler. An odd mix? Maybe. But with it comes the power of a GraphQL compiler, the latest in React's streaming capabilities, and a fresh take on client-side developer experience. Alec will introduce Houdini's basic APIs and demonstrate how it orchestrates your application’s data and asset needs.", + "goers": "29", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula E", + "audience": "Intermediate", + "geo_area": "Yes", + "id": "ce430c038efa9a9c19743d1ccc702de9", + "venue_id": "1762196", + "speakers": [ + { + "username": "alec102", + "id": "18743870", + "name": "Alec Aivazis", + "company": "Arista Networks", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "21", + "event_start_weekday": "Thursday", + "event_start_weekday_short": "Thu", + "event_start_time": "11:30am", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "21", + "event_end_weekday": "Thursday", + "event_end_weekday_short": "Thu", + "event_end_time": "12:00pm", + "start_date": "2023-09-21", + "start_time": "11:30:00", + "start_time_ts": 1695321000, + "end_date": "2023-09-21", + "end_time": "12:00:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf23/d1/Houdini%20A%20GraphQL-First%20Framework.pdf", + "name": "Houdini A GraphQL-First Framework.pdf" + } + ] + }, + { + "event_key": "493431", + "active": "Y", + "pinned": "N", + "name": "Sophisticated Schema Mocking - Stephanie Saunders, Coinbase", + "event_start": "2023-09-21 11:30", + "event_end": "2023-09-21 12:00", + "event_type": "Session Presentations", + "event_subtype": "GraphQL in Production", + "description": "One of the key components to a stellar developer experience is GraphQL schema mocking.\n\nSchema mocking allows developers to:\n- Develop features faster by mocking unit tests with little to no code\n- Simplify e2e testing by mocking the entire schema at the network level\n- Test client data handling by intercepting and modifying server responses at the field level\n- Visualize how your component will look in production by using mocked data directly in Storybook\n\nAt Coinbase, we have iterated over sophisticated schema mocking solutions over the last few years as we have migrated to GraphQL. We’ve had failures and successes, and lots of learning along the way.\n\nIn this talk, we’ll dive deep into the following topics:\n- Out-Of-The-Box Tooling (Nock, MSW, Relay MockPayloadGenerator, graphql-tools/mock)\n- Custom Helpers (Operation Mocking, Data Component Wrappers, Network Middleware)\n- Client Side Data Manipulation (Mocking Single Fields, Client Schema Extensions)\n- Storybook (Loading Live/Mocked Data, Update Field Mocks Dynamically)", + "goers": "53", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula F&G", + "audience": "Intermediate", + "geo_area": "Yes", + "id": "a44cec64a01063d4c6a11e54cc8d24d3", + "venue_id": "1762208", + "speakers": [ + { + "username": "stephanie.saunders2", + "id": "14992671", + "name": "Stephanie Saunders", + "company": "Coinbase", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "21", + "event_start_weekday": "Thursday", + "event_start_weekday_short": "Thu", + "event_start_time": "11:30am", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "21", + "event_end_weekday": "Thursday", + "event_end_weekday_short": "Thu", + "event_end_time": "12:00pm", + "start_date": "2023-09-21", + "start_time": "11:30:00", + "start_time_ts": 1695321000, + "end_date": "2023-09-21", + "end_time": "12:00:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf23/3b/Sophisticated%20Schema%20Mocking.pdf", + "name": "Sophisticated Schema Mocking.pdf" + } + ] + }, + { + "event_key": "17", + "active": "Y", + "pinned": "N", + "name": "Lunch", + "event_start": "2023-09-21 12:00", + "event_end": "2023-09-21 13:30", + "event_type": "Breaks", + "goers": "46", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula D", + "id": "cb1f116f01ae3d2ddf5100a18792abc2", + "venue_id": "1749440", + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "21", + "event_start_weekday": "Thursday", + "event_start_weekday_short": "Thu", + "event_start_time": "12:00pm", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "21", + "event_end_weekday": "Thursday", + "event_end_weekday_short": "Thu", + "event_end_time": "1:30pm", + "start_date": "2023-09-21", + "start_time": "12:00:00", + "start_time_ts": 1695322800, + "end_date": "2023-09-21", + "end_time": "13:30:00", + "description": "" + }, + { + "event_key": "482840", + "active": "Y", + "pinned": "N", + "name": "Unify Data Sources with GraphQL at the Edge - Jamie Barton, Grafbase", + "event_start": "2023-09-21 13:30", + "event_end": "2023-09-21 13:40", + "event_type": "Lightning Talks", + "event_subtype": "GraphQL and Data", + "description": "Combine multiple APIs and databases into a single centralized GraphQL API that you can enhance with auth, permissions and caching, fully managed and deployed to the edge with Wasm.", + "goers": "28", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula E", + "audience": "Beginner", + "id": "520b70cfea27170fd6ed21d79f6b0357", + "venue_id": "1762196", + "speakers": [ + { + "username": "jamie855", + "id": "18743804", + "name": "Jamie Barton", + "company": "Grafbase", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "21", + "event_start_weekday": "Thursday", + "event_start_weekday_short": "Thu", + "event_start_time": "1:30pm", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "21", + "event_end_weekday": "Thursday", + "event_end_weekday_short": "Thu", + "event_end_time": "1:40pm", + "start_date": "2023-09-21", + "start_time": "13:30:00", + "start_time_ts": 1695328200, + "end_date": "2023-09-21", + "end_time": "13:40:00" + }, + { + "event_key": "492667", + "active": "Y", + "pinned": "N", + "name": "Scaling Schema Cardinality: Constructing Types at Runtime - Spencer MacKinnon, Okta", + "event_start": "2023-09-21 13:30", + "event_end": "2023-09-21 14:00", + "event_type": "Session Presentations", + "event_subtype": "Platform and Backend", + "description": "Typically, GraphQL schemas are constructed statically, and services will expose one or a set number of schemas depending on the roles of clients that query the system. When the system is highly configurable, allowing the creation of new types and fields at runtime, with different types and fields exposed depending on the clients privileges, building a set of static schemas becomes infeasible. This talk will discuss a technique used to construct types and fields at runtime, reflecting the users level of access within the system. This technique allowed us to scale to millions of schemas which reflected the permissions of the client querying the GraphQL endpoint. I will discuss the interplay between the static parts of the schema available to all clients and the dynamic parts built depending on the users privileges, as well as how to represent this structure with a \"metaschema\". Then, I'll demonstrate a pattern for constructing types at runtime, with a service responsible for safe instantiation that honors the GraphQL spec, interacting with a set of actors that control which types should be instantiated. I'll close with some discussion of how the spec impacts dynamic construction.", + "goers": "27", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula F&G", + "audience": "Advanced", + "geo_area": "Yes", + "id": "e447a52591ed66a452e04d6ce3e3f09e", + "venue_id": "1762208", + "speakers": [ + { + "username": "spencer211", + "id": "18743795", + "name": "Spencer MacKinnon", + "company": "Okta", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "21", + "event_start_weekday": "Thursday", + "event_start_weekday_short": "Thu", + "event_start_time": "1:30pm", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "21", + "event_end_weekday": "Thursday", + "event_end_weekday_short": "Thu", + "event_end_time": "2:00pm", + "start_date": "2023-09-21", + "start_time": "13:30:00", + "start_time_ts": 1695328200, + "end_date": "2023-09-21", + "end_time": "14:00:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf23/cf/Scaling%20Schema%20Cardinality.pdf", + "name": "Scaling Schema Cardinality.pdf" + } + ] + }, + { + "event_key": "493830", + "active": "Y", + "pinned": "N", + "name": "Why Your GraphQL APIs Are (Increasingly) Under Attack - Shahar Binyamin, Inigo", + "event_start": "2023-09-21 13:30", + "event_end": "2023-09-21 14:00", + "event_type": "Session Presentations", + "event_subtype": "GraphQL Security", + "description": "Make no mistake about it: threat actors are increasingly bent on hunting down, attacking, and exploiting your GraphQL APIs. But understanding exactly how these actors go about recognizing where your GraphQL APIs reside—and how their attacks proceed—can put you on the right road to attack-thwarting countermeasures. GraphQL’s declarative query language enables clients to collect information using specialized queries. Threat actors commonly interrogate APIs in order to uncover critical information that could aid in further attacks. These information-gathering and reconnaissance tactics feed into the logic of their scanning tools to determine the location of GraphQL APIs—and what they contain. Session attendees will come away with thorough knowledge of how to detect and mitigate nefarious GraphQL activities, and how to implement a security layer to protect targeted GraphQL APIs and effectively block attacks. Attendees of this GraphQLConf talk will learn: -- The techniques attackers use to gather information on your GraphQL APIs -- The telltale anomalous behavior associated with that reconnaissance, and -- How to surface threats and block those attack paths before exploits occur.", + "goers": "25", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula A,B,C", + "audience": "Intermediate", + "id": "3d167cf84012c4ff2dcca8fca736b0dd", + "venue_id": "1749452", + "speakers": [ + { + "username": "shahar_binyamin.24vrzgo4", + "id": "17274089", + "name": "Shahar Binyamin", + "company": "Inigo", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "21", + "event_start_weekday": "Thursday", + "event_start_weekday_short": "Thu", + "event_start_time": "1:30pm", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "21", + "event_end_weekday": "Thursday", + "event_end_weekday_short": "Thu", + "event_end_time": "2:00pm", + "start_date": "2023-09-21", + "start_time": "13:30:00", + "start_time_ts": 1695328200, + "end_date": "2023-09-21", + "end_time": "14:00:00" + }, + { + "event_key": "511226", + "active": "Y", + "pinned": "N", + "name": "Not Your Regular Rate Limiting - Meenakshi Dhanani, Postman", + "event_start": "2023-09-21 13:45", + "event_end": "2023-09-21 13:55", + "event_type": "Lightning Talks", + "description": "Rate limiting in GraphQL APIs goes beyond the traditional approaches used in REST APIs. Regular techniques fall short when it comes to handling complex queries and preventing abuse. In this lightning talk, we will explore creative strategies for overcoming these challenges within the unique context of GraphQL's single endpoint architecture. We will also discuss practical techniques and dive into real-world examples that demonstrate how to optimize rate limiting in your GraphQL APIs and ensure the scalability and security of your applications.", + "goers": "45", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula E", + "geo_area": "Yes", + "id": "48f4e69c465b793750b5aa47bb7f2b6e", + "venue_id": "1762196", + "speakers": [ + { + "username": "meenakshi.dhanani1", + "id": "18777983", + "name": "Meenakshi Dhanani", + "company": "Postman", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "21", + "event_start_weekday": "Thursday", + "event_start_weekday_short": "Thu", + "event_start_time": "1:45pm", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "21", + "event_end_weekday": "Thursday", + "event_end_weekday_short": "Thu", + "event_end_time": "1:55pm", + "start_date": "2023-09-21", + "start_time": "13:45:00", + "start_time_ts": 1695329100, + "end_date": "2023-09-21", + "end_time": "13:55:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf23/b6/GraphQL%20Conf%202023%20-%20Rate%20Limiting.pdf", + "name": "GraphQL Conf 2023 - Rate Limiting.pdf" + } + ] + }, + { + "event_key": "501214", + "active": "Y", + "pinned": "N", + "name": "AI, GraphQL, and the Rise of Malleable Applications - Aleksandra Sikora, The Guild", + "event_start": "2023-09-21 14:10", + "event_end": "2023-09-21 14:40", + "event_type": "Session Presentations", + "event_subtype": "Emerging Community Trends", + "description": "This presentation will explore how AI makes code writing and development more accessible and highlight the trend of malleable applications. We’ll see how users are becoming architects of their own apps, reshaping them to suit their needs. We will examine existing tools to understand the possibilities, and we'll see how GraphQL fits there.", + "goers": "31", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula E", + "audience": "Beginner", + "id": "4feef977ceb883c69c91ccd2dd607aec", + "venue_id": "1762196", + "speakers": [ + { + "username": "alexsandra.sikora", + "id": "18743798", + "name": "Aleksandra Sikora", + "company": "The Guild", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "21", + "event_start_weekday": "Thursday", + "event_start_weekday_short": "Thu", + "event_start_time": "2:10pm", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "21", + "event_end_weekday": "Thursday", + "event_end_weekday_short": "Thu", + "event_end_time": "2:40pm", + "start_date": "2023-09-21", + "start_time": "14:10:00", + "start_time_ts": 1695330600, + "end_date": "2023-09-21", + "end_time": "14:40:00" + }, + { + "event_key": "495993", + "active": "Y", + "pinned": "N", + "name": "GraphQL in Production: Empowering Efficient Data Retrieval and Unleashing Developer Productivity - Seddik Benaissa, Northeastern University", + "event_start": "2023-09-21 14:10", + "event_end": "2023-09-21 14:40", + "event_type": "Session Presentations", + "event_subtype": "GraphQL in Production", + "description": "Join me in this talk as we delve into the realm of GraphQL in practical applications. Experience firsthand how GraphQL has revolutionized the way we retrieve data. Discover the hurdles encountered with traditional APIs, such as bloated payloads and sluggish response times. Witness the tremendous success and influence of adopting GraphQL, the robust query language for APIs. Unearth real-life examples, best practices, and valuable lessons from implementing GraphQL in a production environment. Gain valuable insights into customizing data queries, optimizing performance, and enhancing developer efficiency. This presentation is essential for software engineers and developers eager to harness the power of GraphQL, conquer data retrieval obstacles, and unleash the full potential of their systems.", + "goers": "26", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula F&G", + "audience": "Intermediate", + "geo_area": "Yes", + "id": "1e7a35fbd833d9be1aa9719f77c86fb7", + "venue_id": "1762208", + "speakers": [ + { + "username": "sdk.bens", + "id": "18743831", + "name": "Seddik Benaissa", + "company": "Northeastern University", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "21", + "event_start_weekday": "Thursday", + "event_start_weekday_short": "Thu", + "event_start_time": "2:10pm", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "21", + "event_end_weekday": "Thursday", + "event_end_weekday_short": "Thu", + "event_end_time": "2:40pm", + "start_date": "2023-09-21", + "start_time": "14:10:00", + "start_time_ts": 1695330600, + "end_date": "2023-09-21", + "end_time": "14:40:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf23/01/Seddik%20Benaissa.pdf", + "name": "Seddik Benaissa.pdf" + } + ] + }, + { + "event_key": "6", + "active": "Y", + "pinned": "N", + "name": "Increase Your Productivity With No-Code GraphQL Mocking - Laurent Broudoux, Microcks & Postman", + "event_start": "2023-09-21 14:10", + "event_end": "2023-09-21 14:40", + "event_type": "Session Presentations", + "description": "You're about to embark on a new adventure that incorporates GraphQL! Here's a filthy method for becoming a 10-x engineer: fake it until you make it!\n\nMocking GraphQL allows you to better serve the business by providing clear descriptions of schemas, types, and examples. This also helps in the separation of front-end and back-end activities and in the testing of your future API. Join this session to learn more about getting started with GraphQL mocking without having to worry about coding or constructing your own fake server, thanks to Microcks!\n\nIn this session, we will illustrate how to: shorten the feedback loop when designing a new API, speed-up development making autonomous teams, make your CI/CD pipeline rock-solid with automated tests inferred from mocks!", + "goers": "33", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula A,B,C", + "id": "95e6219a5e20a9e2f9381822460932ac", + "venue_id": "1749452", + "speakers": [ + { + "username": "laurent57", + "id": "13884588", + "name": "Laurent Broudoux", + "company": "Postman", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "21", + "event_start_weekday": "Thursday", + "event_start_weekday_short": "Thu", + "event_start_time": "2:10pm", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "21", + "event_end_weekday": "Thursday", + "event_end_weekday_short": "Thu", + "event_end_time": "2:40pm", + "start_date": "2023-09-21", + "start_time": "14:10:00", + "start_time_ts": 1695330600, + "end_date": "2023-09-21", + "end_time": "14:40:00" + }, + { + "event_key": "498924", + "active": "Y", + "pinned": "N", + "name": "Adoption of GraphQL in Meta Ads Manager - Bryan Yang & Yuanchao Zhu, Meta", + "event_start": "2023-09-21 14:50", + "event_end": "2023-09-21 15:20", + "event_type": "Session Presentations", + "event_subtype": "GraphQL Clients", + "description": "Within Meta, there are products still adopting GraphQL. Ads Manager is a large product that is iteratively transitioning to GraphQL from a REST-based API, GraphAPI. This talk will cover why we chose to migrate, challenges we faced and strategies to adopt GraphQL iteratively, without a full product rewrite.", + "goers": "16", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula E", + "audience": "Intermediate", + "geo_area": "Yes", + "id": "afefc1feb47ec68ca6031cfec2e7d46b", + "venue_id": "1762196", + "speakers": [ + { + "username": "bsy", + "id": "18743852", + "name": "Bryan Yang", + "company": "Meta Platforms, Inc.", + "custom_order": 0 + }, + { + "username": "yczhu", + "id": "18743882", + "name": "Yuanchao Zhu", + "company": "Meta", + "custom_order": 1 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "21", + "event_start_weekday": "Thursday", + "event_start_weekday_short": "Thu", + "event_start_time": "2:50pm", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "21", + "event_end_weekday": "Thursday", + "event_end_weekday_short": "Thu", + "event_end_time": "3:20pm", + "start_date": "2023-09-21", + "start_time": "14:50:00", + "start_time_ts": 1695333000, + "end_date": "2023-09-21", + "end_time": "15:20:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf23/3f/GraphQL%20Conf%202023%20-%20Adoption%20of%20GraphQL%20in%20Ads%20Manager.pdf", + "name": "GraphQL Conf 2023 - Adoption of GraphQL in Ads Manager.pdf" + } + ] + }, + { + "event_key": "502937", + "active": "Y", + "pinned": "N", + "name": "Fixing the Billion Dollar Mistake: Client Controlled Nullability - Stephen Spalding, Netflix", + "event_start": "2023-09-21 14:50", + "event_end": "2023-09-21 15:20", + "event_type": "Session Presentations", + "event_subtype": "GraphQL Core", + "description": "Null has been famously called “the billion dollar mistake”. The Client Controlled Nullability proposal aims to empower client developers to tame nullability in the graph. Come learn how this magic works and why it will rock your world!", + "goers": "47", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula A,B,C", + "audience": "Advanced", + "geo_area": "Yes", + "id": "50005edb4a441b0335d1b80b4ad62b1a", + "venue_id": "1749452", + "speakers": [ + { + "username": "sspalding2", + "id": "18743825", + "name": "Stephen Spalding", + "company": "Netflix", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "21", + "event_start_weekday": "Thursday", + "event_start_weekday_short": "Thu", + "event_start_time": "2:50pm", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "21", + "event_end_weekday": "Thursday", + "event_end_weekday_short": "Thu", + "event_end_time": "3:20pm", + "start_date": "2023-09-21", + "start_time": "14:50:00", + "start_time_ts": 1695333000, + "end_date": "2023-09-21", + "end_time": "15:20:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf23/d0/Stephen%20Spalding%20-%20Fixing%20the%20Billion%20Dollar%20Mistake%20-%20Client%20Controlled%20Nullability.pdf", + "name": "Stephen Spalding - Fixing the Billion Dollar Mistake - Client Controlled Nullability.pdf" + } + ] + }, + { + "event_key": "511238", + "active": "Y", + "pinned": "N", + "name": "Scaling the Data Access by Leveraging GraphQL Federation for Service to Service Communication - Serhii Korin, Booking.com", + "event_start": "2023-09-21 14:50", + "event_end": "2023-09-21 15:20", + "event_type": "Session Presentations", + "event_subtype": "GraphQL in Production", + "description": "At booking.com’s scale rendering the product pages requires retrieving data from hundreds of data sources. This causes a very high load to the data backends. We pre-materialize the data required for rendering the product pages in order to scale data access. Different products have different data needs. Over time this led to the materialization layer becoming a monolithic service with a monolithic schema.\n\nThis talk focuses on how we leveraged the GraphQL Federation technology to let product teams choose which data to materialize and data owners to scale data access to their data without negatively affecting the ownership, network costs and latencies.", + "goers": "24", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula F&G", + "audience": "Intermediate", + "geo_area": "Yes", + "id": "0bea54e1f79d706f2da4c802f8581ae5", + "venue_id": "1762208", + "speakers": [ + { + "username": "serhii.korin", + "id": "19235292", + "name": "Serhii Korin", + "company": "Booking.com", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "21", + "event_start_weekday": "Thursday", + "event_start_weekday_short": "Thu", + "event_start_time": "2:50pm", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "21", + "event_end_weekday": "Thursday", + "event_end_weekday_short": "Thu", + "event_end_time": "3:20pm", + "start_date": "2023-09-21", + "start_time": "14:50:00", + "start_time_ts": 1695333000, + "end_date": "2023-09-21", + "end_time": "15:20:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf23/aa/Scaling%20the%20data%20access%20by%20leveraging%20GraphQL%20Federation%20for%20S2S.pdf", + "name": "Scaling the data access by leveraging GraphQL Federation for S2S.pdf" + } + ] + }, + { + "event_key": "15", + "active": "Y", + "pinned": "N", + "name": "Break", + "event_start": "2023-09-21 15:20", + "event_end": "2023-09-21 15:40", + "event_type": "Breaks", + "goers": "33", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula D", + "id": "e3a855088054e180ec6e046bf3d8be8a", + "venue_id": "1749440", + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "21", + "event_start_weekday": "Thursday", + "event_start_weekday_short": "Thu", + "event_start_time": "3:20pm", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "21", + "event_end_weekday": "Thursday", + "event_end_weekday_short": "Thu", + "event_end_time": "3:40pm", + "start_date": "2023-09-21", + "start_time": "15:20:00", + "start_time_ts": 1695334800, + "end_date": "2023-09-21", + "end_time": "15:40:00", + "description": "" + }, + { + "event_key": "501477", + "active": "Y", + "pinned": "N", + "name": "The Evolution of GraphQL Code Generation - Laurin Quast, The Guild", + "event_start": "2023-09-21 15:40", + "event_end": "2023-09-21 15:50", + "event_type": "Lightning Talks", + "event_subtype": "GraphQL Clients", + "description": "As the maintainer of GraphQL Code Generator, Laurin shows how the tool has changed over time and informs you of the most recent best practices that allow you to keep the client code lean and scalable.", + "goers": "35", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula E", + "audience": "Beginner", + "id": "675c416b16ad2b0c519b1ec894353fc5", + "venue_id": "1762196", + "speakers": [ + { + "username": "laurinquast", + "id": "18743819", + "name": "Laurin Quast", + "company": "The Guild", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "21", + "event_start_weekday": "Thursday", + "event_start_weekday_short": "Thu", + "event_start_time": "3:40pm", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "21", + "event_end_weekday": "Thursday", + "event_end_weekday_short": "Thu", + "event_end_time": "3:50pm", + "start_date": "2023-09-21", + "start_time": "15:40:00", + "start_time_ts": 1695336000, + "end_date": "2023-09-21", + "end_time": "15:50:00" + }, + { + "event_key": "494695", + "active": "Y", + "pinned": "N", + "name": "Improving User Experiences with a Nullable Schema - Ernie Turner, Coinbase", + "event_start": "2023-09-21 15:40", + "event_end": "2023-09-21 16:10", + "event_type": "Session Presentations", + "event_subtype": "GraphQL and Data", + "description": "When designing a GraphQL schema, it’s tempting to mark every field as non-null using the \"!\" operator. While it may seem convenient and simplifies code readability, this seemingly innocuous choice can have unforeseen consequences for your applications, especially during service disruptions. Moreover, these downsides might not become apparent until a significant portion of your schema has been marked as non-nullable. In this talk, we will: - Challenge the traditional server-centric approach and advocate for shifting the responsibility of field nullability to the client. - Explore the reasons behind this paradigm shift and introduce existing and upcoming tools that empower clients to determine whether a field can be null or not. - Delve into the Client Controlled Nullability proposal, demonstrating its potential in GraphQL workflows. - Provide practical methods and best practices to safely migrate away from a non-null schema, ensuring compatibility with existing clients without causing disruptions.", + "goers": "31", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula A,B,C", + "audience": "Intermediate", + "geo_area": "Yes", + "id": "888b77af90aa0ff776adc9669a29cb3f", + "venue_id": "1749452", + "speakers": [ + { + "username": "ernie.turner1", + "id": "18743873", + "name": "Ernie Turner", + "company": "Coinbase", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "21", + "event_start_weekday": "Thursday", + "event_start_weekday_short": "Thu", + "event_start_time": "3:40pm", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "21", + "event_end_weekday": "Thursday", + "event_end_weekday_short": "Thu", + "event_end_time": "4:10pm", + "start_date": "2023-09-21", + "start_time": "15:40:00", + "start_time_ts": 1695336000, + "end_date": "2023-09-21", + "end_time": "16:10:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf23/ce/Improving%20User%20Experiences%20with%20a%20Nullable%20Schema_%20GraphQL%20Conf%202023.pdf", + "name": "Improving User Experiences with a Nullable Schema_ GraphQL Conf 2023.pdf" + } + ] + }, + { + "event_key": "13", + "active": "Y", + "pinned": "N", + "name": "Why AI needs GraphQL - Anant Jhingran, IBM", + "event_start": "2023-09-21 15:40", + "event_end": "2023-09-21 16:10", + "event_type": "Session Presentations", + "description": "There is a bright future for AI-driven integration, both in the application of integration to provide access to enterprise data for use by AI tools and also for application of AI to benefit the delivery of integration scenarios. However, AI foundation models must be complemented by integration and API technologies, and GraphQL can be the perfect technology for this. Having founded StepZen (now acquired by IBM) I have a particular bias for GraphQL applications, but in this case they can be especially powerful. AI applications can be trained to call one universal GraphQL API, and not have to deal with the subtleties of formats and authorizations and sideways information passing if the application were to learn multiple backends. In this talk I’ll explain why AI needs GraphQL for integrations, and what the future of AI and GraphQL looks like.", + "goers": "21", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula F&G", + "id": "f802d22f97a3d3d9d2733bf637758f56", + "venue_id": "1762208", + "speakers": [ + { + "username": "ajhingran", + "id": "19225935", + "name": "Anant Jhingran", + "company": "IBM", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "21", + "event_start_weekday": "Thursday", + "event_start_weekday_short": "Thu", + "event_start_time": "3:40pm", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "21", + "event_end_weekday": "Thursday", + "event_end_weekday_short": "Thu", + "event_end_time": "4:10pm", + "start_date": "2023-09-21", + "start_time": "15:40:00", + "start_time_ts": 1695336000, + "end_date": "2023-09-21", + "end_time": "16:10:00" + }, + { + "event_key": "14", + "active": "Y", + "pinned": "N", + "name": "Breaking the Mold: Innovative Approaches to Testing GraphQL APIs - Pooja Mistry, Postman", + "event_start": "2023-09-21 15:55", + "event_end": "2023-09-21 16:05", + "event_type": "Lightning Talks", + "goers": "32", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula E", + "id": "f653b9931d85c7958993ca62e7853972", + "venue_id": "1762196", + "speakers": [ + { + "username": "pooja.mistry", + "id": "15879818", + "name": "Pooja Mistry", + "company": "Postman", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "21", + "event_start_weekday": "Thursday", + "event_start_weekday_short": "Thu", + "event_start_time": "3:55pm", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "21", + "event_end_weekday": "Thursday", + "event_end_weekday_short": "Thu", + "event_end_time": "4:05pm", + "start_date": "2023-09-21", + "start_time": "15:55:00", + "start_time_ts": 1695336900, + "end_date": "2023-09-21", + "end_time": "16:05:00", + "description": "" + }, + { + "event_key": "501218", + "active": "Y", + "pinned": "N", + "name": "Shared Schema Policies and Automatic Standards Across Your Company’s Teams - Dimitri Postolov, The Guild", + "event_start": "2023-09-21 16:10", + "event_end": "2023-09-21 16:20", + "event_type": "Lightning Talks", + "event_subtype": "GraphQL in Production", + "description": "As GraphQL adoption grows inside our companies and more and more teams are adopting it, it gets harder to maintain a consistent way of using it across the company. In this talk, we will share different methods and open-source tools that help you manage GraphQL standardizations and guarantee best practices across your company. Sharing automatic rules from the community and writing your own custom rules for your specific company.", + "goers": "31", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula E", + "audience": "Intermediate", + "id": "ff6a2ae37d87e74c9f7739a1331804a1", + "venue_id": "1762196", + "speakers": [ + { + "username": "en3m", + "id": "18743843", + "name": "Dimitri Postolov", + "company": "The Guild", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "21", + "event_start_weekday": "Thursday", + "event_start_weekday_short": "Thu", + "event_start_time": "4:10pm", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "21", + "event_end_weekday": "Thursday", + "event_end_weekday_short": "Thu", + "event_end_time": "4:20pm", + "start_date": "2023-09-21", + "start_time": "16:10:00", + "start_time_ts": 1695337800, + "end_date": "2023-09-21", + "end_time": "16:20:00" + }, + { + "event_key": "38", + "active": "Y", + "pinned": "N", + "name": "Deep Learnings: Migrating legacy services to Federated GraphQL - Christian Ernst, Booking.com", + "event_start": "2023-09-21 16:20", + "event_end": "2023-09-21 16:50", + "event_type": "Session Presentations", + "event_subtype": "GraphQL in Production", + "description": "At Booking.com we made the decision to move to GraphQL in order to modernize our monolithic front-end data providing services. Our journey started with the monograph, a singular service to provide all GraphQL data as a bridge between legacy and new. This service, owned by a small team, exploded in use receiving countless contributions across the company. We soon realised as a team this would not scale for an entire company.\n\nThis talk focuses on our experience and our journey from our first steps into the world of GraphQL and then our leap to move to a Federated GraphQL layer.\n\nWe will share some of our most important learnings from the challenges we faced, including scaling and resiliency, bringing on legacy services, and multi cloud support and how we are handling these challenges via our ongoing initiatives and what we think the future of GraphQL at Booking.com looks like.", + "goers": "29", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula A,B,C", + "audience": "Beginner", + "geo_area": "Yes", + "id": "8a1158bda6933f83f43b704bff54ff63", + "venue_id": "1749452", + "speakers": [ + { + "username": "christian.ernst", + "id": "19084532", + "name": "Christian Ernst", + "company": "Booking.com", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "21", + "event_start_weekday": "Thursday", + "event_start_weekday_short": "Thu", + "event_start_time": "4:20pm", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "21", + "event_end_weekday": "Thursday", + "event_end_weekday_short": "Thu", + "event_end_time": "4:50pm", + "start_date": "2023-09-21", + "start_time": "16:20:00", + "start_time_ts": 1695338400, + "end_date": "2023-09-21", + "end_time": "16:50:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf23/70/Migrating%20Legacy%20Services%20to%20Federated%20GraphQL.pdf", + "name": "Migrating Legacy Services to Federated GraphQL.pdf" + } + ] + }, + { + "event_key": "501201", + "active": "Y", + "pinned": "N", + "name": "How to Choose a GraphQL Gateway? - Dotan Simha, The Guild", + "event_start": "2023-09-21 16:20", + "event_end": "2023-09-21 16:50", + "event_type": "Session Presentations", + "event_subtype": "Platform and Backend", + "description": "Federation, Stitching, Gateways, so many terms out there and so many options for choosing your GraphQL gateway strategy. In this talk I will demonstrate my open work on comparing different GraphQL gateway solutions, what are the different requirements to take into account and show how many existing solutions fit into this framework for choice.\n\nhttps://the-guild.dev/blog/state-of-graphql-gateways-in-2023", + "goers": "37", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula F&G", + "audience": "Intermediate", + "id": "70f9e59dc60cf417aa38eb890b2a8abe", + "venue_id": "1762208", + "speakers": [ + { + "username": "dotansimha", + "id": "18743828", + "name": "Dotan Simha", + "company": "The Guild", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "21", + "event_start_weekday": "Thursday", + "event_start_weekday_short": "Thu", + "event_start_time": "4:20pm", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "21", + "event_end_weekday": "Thursday", + "event_end_weekday_short": "Thu", + "event_end_time": "4:50pm", + "start_date": "2023-09-21", + "start_time": "16:20:00", + "start_time_ts": 1695338400, + "end_date": "2023-09-21", + "end_time": "16:50:00" + }, + { + "event_key": "511242", + "active": "Y", + "pinned": "N", + "name": "Dataloader 3.0 - An Alternative Algorithm to Solve N+1 Problems - Jens Neuse, WunderGraph", + "event_start": "2023-09-21 17:00", + "event_end": "2023-09-21 17:30", + "event_type": "Session Presentations", + "description": "When you ask GraphQL Developers how they solve N+1 problems, the immediate answer you get is using the \"Dataloader\" pattern.\nWhat actually is the Dataloader pattern? How does it work and how does it solve the problem?\nThis talk dives deep into the topic of efficiently resolving deeply nested data.\nOnce we understand how the Dataloader pattern works,\nwe explore its drawbacks and limitations.\nFinally, we will present an alternative algorithm that uses breadth-first resolving compared to depth-first, which Dataloader builds on top.\nJoin Jens in this talk to learn more about how breadth-first resolving could help GraphQL servers and Gateways resolve N+1 problems more effectively.", + "goers": "46", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula E", + "geo_area": "Yes", + "id": "09bc04c42310bfe14024455bce46d781", + "venue_id": "1762196", + "speakers": [ + { + "username": "jens63", + "id": "19226202", + "name": "Jens Neuse", + "company": "WunderGraph", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "21", + "event_start_weekday": "Thursday", + "event_start_weekday_short": "Thu", + "event_start_time": "5:00pm", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "21", + "event_end_weekday": "Thursday", + "event_end_weekday_short": "Thu", + "event_end_time": "5:30pm", + "start_date": "2023-09-21", + "start_time": "17:00:00", + "start_time_ts": 1695340800, + "end_date": "2023-09-21", + "end_time": "17:30:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf23/c0/Dataloader_3.0_WunderGraph_Jens_Neuse_slides.pdf", + "name": "Dataloader_3.0_WunderGraph_Jens_Neuse_slides.pdf" + }, + { + "path": "https://static.sched.com/hosted_files/graphqlconf23/38/Dataloader_3.0_WunderGraph_Jens_Neuse_algorithm.pdf", + "name": "Dataloader_3.0_WunderGraph_Jens_Neuse_algorithm.pdf" + } + ] + }, + { + "event_key": "511241", + "active": "Y", + "pinned": "N", + "name": "The Benefits of Code First Over Schema First in GraphQL - Patrick Arminio, Apollo", + "event_start": "2023-09-21 17:00", + "event_end": "2023-09-21 17:30", + "event_type": "Session Presentations", + "event_subtype": "GraphQL Core", + "description": "This talk will explore the advantages of using a code-first approach for developing GraphQL APIs over a schema-first approach. GraphQL has gained popularity as a modern API technology that enables developers to build APIs that are flexible, performant, and easy to use. However, one of the challenges of using GraphQL is deciding whether to use a schema-first or a code-first approach.\n\nIn this talk, we will discuss how code-first allows for greater flexibility, scalability, and maintainability in GraphQL API development. We'll explore how it can improve the development process, especially for large teams and complex projects. By using code-first, developers can write code that generates the schema, which provides greater control over the API design and allows for more efficient iteration.Moreover, we'll examine how Strawberry, a GraphQL library built on Python, leverages the power of Python's type system to provide an end-to-end type-safe code-first approach. This approach allows developers to define their GraphQL schema using Python classes, which Strawberry then converts into a GraphQL schema, ensuring type safety throughout the development process.", + "goers": "19", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula F&G", + "audience": "Intermediate", + "id": "118f99976647d953d6554bac33dbf3bf", + "venue_id": "1762208", + "speakers": [ + { + "username": "patrick.arminio", + "id": "19178765", + "name": "Patrick Arminio", + "company": "Apollo", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "21", + "event_start_weekday": "Thursday", + "event_start_weekday_short": "Thu", + "event_start_time": "5:00pm", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "21", + "event_end_weekday": "Thursday", + "event_end_weekday_short": "Thu", + "event_end_time": "5:30pm", + "start_date": "2023-09-21", + "start_time": "17:00:00", + "start_time_ts": 1695340800, + "end_date": "2023-09-21", + "end_time": "17:30:00" + }, + { + "event_key": "37", + "active": "Y", + "pinned": "N", + "name": "The evolution of the GraphQL Orchestrator powering Intuit Consumer Apps - Ashpak Shaikh, Intuit", + "event_start": "2023-09-21 17:00", + "event_end": "2023-09-21 17:30", + "event_type": "Session Presentations", + "event_subtype": "GraphQL in Production", + "description": "This session will talk about the GraphQL journey at Intuit discussing what challenges we faced while scaling the GraphQL ecosystem at Intuit as the number of GraphQL microservices grew. We will focus on the internal GraphQL Orchestrator implementation that powers the Consumer Group, combining 50+ microservices that serve 150+ clients spanning multiple Intuit applications like Mint, TurboTax, Turbo Tax Live, and Virtual Expert Platform.\n\nThe session will cover the following topics\n* The combination of Recursive Schema Stitching + Apollo Federation for schema composition.\n* Inclusion of REST microservices in the GraphQL Ecosystem using declarative Adapters.\n* Securing the unified graph using GraphQL Authorization and user consent checks.\n* Loosely coupled registration of microservices with the GraphQL gateway using AWS S3 as persistence.\n* Our journey to open source the orchestrator implementation.", + "goers": "15", + "seats": "0", + "invite_only": "N", + "venue": "Grand Peninsula A,B,C", + "audience": "Advanced", + "geo_area": "Yes", + "id": "17f150667d13a57f28bae524443f4c60", + "venue_id": "1749452", + "speakers": [ + { + "username": "ashpak_shaikh", + "id": "19084619", + "name": "Ashpak Shaikh", + "company": "Intuit", + "custom_order": 0 + } + ], + "event_start_year": "2023", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "21", + "event_start_weekday": "Thursday", + "event_start_weekday_short": "Thu", + "event_start_time": "5:00pm", + "event_end_year": "2023", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "21", + "event_end_weekday": "Thursday", + "event_end_weekday_short": "Thu", + "event_end_time": "5:30pm", + "start_date": "2023-09-21", + "start_time": "17:00:00", + "start_time_ts": 1695340800, + "end_date": "2023-09-21", + "end_time": "17:30:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf23/a3/ashpak_graphql_conf.pdf", + "name": "ashpak_graphql_conf.pdf" + } + ] + } +] \ No newline at end of file diff --git a/scripts/sync-sched/schedule-2024.json b/scripts/sync-sched/schedule-2024.json new file mode 100644 index 0000000000..03b16d353c --- /dev/null +++ b/scripts/sync-sched/schedule-2024.json @@ -0,0 +1,4648 @@ +[ + { + "event_key": "706600", + "active": "Y", + "pinned": "N", + "name": "Registration & Badge Pick-up", + "event_start": "2024-09-09 14:00", + "event_end": "2024-09-09 17:00", + "event_type": "Registration & Badge Pick-up", + "goers": "21", + "seats": "0", + "invite_only": "N", + "venue": "Level 2 Foyer", + "id": "2acdefcaf8b375f6a2105cf3d3a4c6e0", + "venue_id": "1944317", + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "9", + "event_start_weekday": "Monday", + "event_start_weekday_short": "Mon", + "event_start_time": "2:00pm", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "9", + "event_end_weekday": "Monday", + "event_end_weekday_short": "Mon", + "event_end_time": "5:00pm", + "start_date": "2024-09-09", + "start_time": "14:00:00", + "start_time_ts": 1725915600, + "end_date": "2024-09-09", + "end_time": "17:00:00", + "description": "" + }, + { + "event_key": "706603", + "active": "Y", + "pinned": "N", + "name": "Registration & Badge Pick-up", + "event_start": "2024-09-10 08:00", + "event_end": "2024-09-10 19:00", + "event_type": "Registration & Badge Pick-up", + "goers": "51", + "seats": "0", + "invite_only": "N", + "venue": "Level 2 Foyer", + "id": "3c81808073ae7f888acc66d832877764", + "venue_id": "1944317", + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "10", + "event_start_weekday": "Tuesday", + "event_start_weekday_short": "Tue", + "event_start_time": "8:00am", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "10", + "event_end_weekday": "Tuesday", + "event_end_weekday_short": "Tue", + "event_end_time": "7:00pm", + "start_date": "2024-09-10", + "start_time": "08:00:00", + "start_time_ts": 1725980400, + "end_date": "2024-09-10", + "end_time": "19:00:00", + "description": "" + }, + { + "event_key": "706605", + "active": "Y", + "pinned": "N", + "name": "Welcome & Opening Remarks - Lee Byron, GraphQL Foundation", + "event_start": "2024-09-10 09:00", + "event_end": "2024-09-10 09:15", + "event_type": "Keynote Sessions", + "goers": "83", + "video_stream": "https://www.youtube.com/watch?v=FTzPajvTw4c", + "seats": "0", + "invite_only": "N", + "venue": "Metropolitan Ballroom", + "id": "1b3086b33b9d1b30790f02a49857cfe0", + "venue_id": "1944323", + "speakers": [ + { + "username": "lee_byron.25jvpjmb", + "id": "18743534", + "name": "Lee Byron", + "company": "GraphQL Foundation", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "10", + "event_start_weekday": "Tuesday", + "event_start_weekday_short": "Tue", + "event_start_time": "9:00am", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "10", + "event_end_weekday": "Tuesday", + "event_end_weekday_short": "Tue", + "event_end_time": "9:15am", + "start_date": "2024-09-10", + "start_time": "09:00:00", + "start_time_ts": 1725984000, + "end_date": "2024-09-10", + "end_time": "09:15:00", + "description": "" + }, + { + "event_key": "686029", + "active": "Y", + "pinned": "N", + "name": "Keynote: You're Our Universe: GraphQL Community Update 2024 - Benjie Gillam, Graphile", + "event_start": "2024-09-10 09:15", + "event_end": "2024-09-10 09:25", + "event_type": "Keynote Sessions", + "description": "The GraphQL ecosystem is vast, composed of tools and libraries in many programming languages, people and organizations from across the globe, and a plethora of maintainers, contributors and developers pulling them together. The primary mission of the GraphQL Foundation is to ensure that the GraphQL community is able to focus on the continued evolution of the specification, the shared contract that competitors and collaborators alike implement to enable maximal interoperability. This talk is to thank YOU, the GraphQL community, and highlight some of the heroes that have arisen to heed this call. Find out about their efforts over the last year improving our shared specifications, implementations, documentation, tooling, tests, and websites; about how you can get involved and help shape GraphQL to fit your organization's needs; about the support we have available; and about other community initiatives you may wish to avail yourself of.", + "goers": "81", + "video_stream": "https://www.youtube.com/watch?v=xaTEuk-DKqI", + "seats": "0", + "invite_only": "N", + "venue": "Metropolitan Ballroom", + "company": "Any", + "id": "5245297ed1f7b82885c742d77f209bda", + "venue_id": "1944323", + "speakers": [ + { + "username": "benjie3", + "id": "18743846", + "name": "Benjie Gillam", + "company": "Graphile", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "10", + "event_start_weekday": "Tuesday", + "event_start_weekday_short": "Tue", + "event_start_time": "9:15am", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "10", + "event_end_weekday": "Tuesday", + "event_end_weekday_short": "Tue", + "event_end_time": "9:25am", + "start_date": "2024-09-10", + "start_time": "09:15:00", + "start_time_ts": 1725984900, + "end_date": "2024-09-10", + "end_time": "09:25:00" + }, + { + "event_key": "706606", + "active": "Y", + "pinned": "N", + "name": "Sponsored Keynote: Uri Goldshtein, The Guild", + "event_start": "2024-09-10 09:30", + "event_end": "2024-09-10 09:40", + "event_type": "Keynote Sessions", + "goers": "71", + "video_stream": "https://www.youtube.com/watch?v=Q8l9u5K5VBA", + "seats": "0", + "invite_only": "N", + "venue": "Metropolitan Ballroom", + "id": "0cc847db0ed6bf193da7b5413c7f3e8e", + "venue_id": "1944323", + "speakers": [ + { + "username": "uri_goldshtein.23xujj9a", + "id": "14900013", + "name": "Uri Goldshtein", + "company": "The Guild", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "10", + "event_start_weekday": "Tuesday", + "event_start_weekday_short": "Tue", + "event_start_time": "9:30am", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "10", + "event_end_weekday": "Tuesday", + "event_end_weekday_short": "Tue", + "event_end_time": "9:40am", + "start_date": "2024-09-10", + "start_time": "09:30:00", + "start_time_ts": 1725985800, + "end_date": "2024-09-10", + "end_time": "09:40:00", + "description": "" + }, + { + "event_key": "698207", + "active": "Y", + "pinned": "N", + "name": "Keynote: The State of Distributed GraphQL - Michael Staib, ChilliCream Inc", + "event_start": "2024-09-10 09:40", + "event_end": "2024-09-10 09:55", + "event_type": "Keynote Sessions", + "description": "The GraphQL community has come together to standardize how people can build distributed systems with GraphQL as an orchestrator. In this talk I will explain the general idea that we have for GraphQL as an Orchestrator in this space and how the new specification is tackling this. We will look at the progress we have made since last GraphQL Conf in the GraphQL composite schema working group and also get some sneak peaks at our early RFCs and prototypes. I will outline how this new specification is taking the best ideas of existing solutions in the market to make the next big leap towards mainstream adoption. This will allow anyone to build tooling by implementing the spec or parts of the spec that seamlessly integrate with other vendors.", + "goers": "73", + "video_stream": "https://www.youtube.com/watch?v=A8T1QHJj0WM", + "seats": "0", + "invite_only": "N", + "venue": "Metropolitan Ballroom", + "company": "Intermediate", + "id": "7a165daf8a2402b63ced2f6b49ce9155", + "venue_id": "1944323", + "speakers": [ + { + "username": "michael_staib.23xujj9p", + "id": "14900031", + "name": "Michael Staib", + "company": "ChilliCream", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "10", + "event_start_weekday": "Tuesday", + "event_start_weekday_short": "Tue", + "event_start_time": "9:40am", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "10", + "event_end_weekday": "Tuesday", + "event_end_weekday_short": "Tue", + "event_end_time": "9:55am", + "start_date": "2024-09-10", + "start_time": "09:40:00", + "start_time_ts": 1725986400, + "end_date": "2024-09-10", + "end_time": "09:55:00" + }, + { + "event_key": "13", + "active": "Y", + "pinned": "N", + "name": "Keynote: TSC Panel - Lee Byron, GraphQL Foundation; Kewei Qu, Meta; Rob Richard, 1stDibs; Michael Staib, ChilliCream; Moderated by Sasha Solomon, Staff Software Engineer & Tech Lead", + "event_start": "2024-09-10 09:55", + "event_end": "2024-09-10 10:25", + "event_type": "Keynote Sessions", + "goers": "78", + "video_stream": "https://www.youtube.com/watch?v=3UbcTEV54bI", + "seats": "0", + "invite_only": "N", + "venue": "Metropolitan Ballroom", + "id": "b5386fb97755f765369c45e5f24094ec", + "venue_id": "1944323", + "speakers": [ + { + "username": "michael_staib.23xujj9p", + "id": "14900031", + "name": "Michael Staib", + "company": "ChilliCream", + "custom_order": 0 + }, + { + "username": "lee_byron.25jvpjmb", + "id": "18743534", + "name": "Lee Byron", + "company": "GraphQL Foundation", + "custom_order": 1 + }, + { + "username": "qkw1221", + "id": "18743864", + "name": "Kewei Qu", + "company": "Meta", + "custom_order": 2 + }, + { + "username": "robrichard87", + "id": "21066852", + "name": "Rob Richard", + "company": "1stdibs", + "custom_order": 3 + }, + { + "username": "sasha177", + "id": "21336701", + "name": "Sasha Solomon", + "custom_order": 4 + } + ], + "moderators": [ + { + "username": "sasha177", + "name": "Sasha Solomon", + "eventid": "b5386fb97755f765369c45e5f24094ec", + "role": "moderator" + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "10", + "event_start_weekday": "Tuesday", + "event_start_weekday_short": "Tue", + "event_start_time": "9:55am", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "10", + "event_end_weekday": "Tuesday", + "event_end_weekday_short": "Tue", + "event_end_time": "10:25am", + "start_date": "2024-09-10", + "start_time": "09:55:00", + "start_time_ts": 1725987300, + "end_date": "2024-09-10", + "end_time": "10:25:00", + "description": "" + }, + { + "event_key": "706615", + "active": "Y", + "pinned": "N", + "name": "Keynote: Closing Remarks - Lee Byron, GraphQL Foundation", + "event_start": "2024-09-10 10:25", + "event_end": "2024-09-10 10:30", + "event_type": "Keynote Sessions", + "goers": "73", + "video_stream": "https://www.youtube.com/watch?v=5DpIO-isCMQ", + "seats": "0", + "invite_only": "N", + "venue": "Metropolitan Ballroom", + "id": "35f3d53159a5c274e8595e9eb4b6d6c7", + "venue_id": "1944323", + "speakers": [ + { + "username": "lee_byron.25jvpjmb", + "id": "18743534", + "name": "Lee Byron", + "company": "GraphQL Foundation", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "10", + "event_start_weekday": "Tuesday", + "event_start_weekday_short": "Tue", + "event_start_time": "10:25am", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "10", + "event_end_weekday": "Tuesday", + "event_end_weekday_short": "Tue", + "event_end_time": "10:30am", + "start_date": "2024-09-10", + "start_time": "10:25:00", + "start_time_ts": 1725989100, + "end_date": "2024-09-10", + "end_time": "10:30:00", + "description": "" + }, + { + "event_key": "9", + "active": "Y", + "pinned": "N", + "name": "Coffee Break", + "event_start": "2024-09-10 10:30", + "event_end": "2024-09-10 11:00", + "event_type": "Breaks & Special Events", + "goers": "42", + "seats": "0", + "invite_only": "N", + "venue": "Level 2 Foyer", + "id": "00735951e116f34db5e089b0fb4bc928", + "venue_id": "1944317", + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "10", + "event_start_weekday": "Tuesday", + "event_start_weekday_short": "Tue", + "event_start_time": "10:30am", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "10", + "event_end_weekday": "Tuesday", + "event_end_weekday_short": "Tue", + "event_end_time": "11:00am", + "start_date": "2024-09-10", + "start_time": "10:30:00", + "start_time_ts": 1725989400, + "end_date": "2024-09-10", + "end_time": "11:00:00", + "description": "" + }, + { + "event_key": "706608", + "active": "Y", + "pinned": "N", + "name": "Sponsor Showcase", + "event_start": "2024-09-10 10:30", + "event_end": "2024-09-10 19:00", + "event_type": "Sponsor Showcase", + "description": "Visit the sponsors in the Sponsor Showcase!", + "goers": "23", + "seats": "0", + "invite_only": "N", + "venue": "Level 2 Foyer", + "id": "14632b39fa73ed429cb5e5db6f156ea4", + "venue_id": "1944317", + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "10", + "event_start_weekday": "Tuesday", + "event_start_weekday_short": "Tue", + "event_start_time": "10:30am", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "10", + "event_end_weekday": "Tuesday", + "event_end_weekday_short": "Tue", + "event_end_time": "7:00pm", + "start_date": "2024-09-10", + "start_time": "10:30:00", + "start_time_ts": 1725989400, + "end_date": "2024-09-10", + "end_time": "19:00:00" + }, + { + "event_key": "706622", + "active": "Y", + "pinned": "N", + "name": "Sponsored Session: From Prototype to Production: Efficiently Building Custom GraphQL APIs - Kevin Brown, Exogee", + "event_start": "2024-09-10 11:00", + "event_end": "2024-09-10 11:30", + "event_type": "API Platform", + "description": "Building robust and flexible GraphQL APIs can often feel like walking a tightrope between development speed and customization. Using open source tools, we'll rapidly prototype and iterate on a GraphQL API powered by TypeScript and NodeJS together. Topics we'll cover:\nRapid Prototyping: Techniques for quickly generating efficient and extensible APIs. Advanced Data Integration: Strategies for seamlessly joining and managing data from disparate sources. Extreme Flexibility: Extension points that let you customise the generated API and completely override how it works without rebuilding it. Robust Security: Tools to protect the data in the API with advanced role-based access control and more. Join us to learn how you can efficiently deliver high quality GraphQL APIs in TypeScript without sacrificing your ability to build whatever you need in the future.", + "goers": "16", + "video_stream": "https://www.youtube.com/watch?v=ES-wIMcUyfs", + "seats": "0", + "invite_only": "N", + "venue": "Metropolitan B-C", + "id": "3ff1dc8d085dcb2cc5d4ac48aeceaf8e", + "venue_id": "1944308", + "speakers": [ + { + "username": "kevin.brown11", + "id": "21490044", + "name": "Kevin Brown", + "company": "Exogee", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "10", + "event_start_weekday": "Tuesday", + "event_start_weekday_short": "Tue", + "event_start_time": "11:00am", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "10", + "event_end_weekday": "Tuesday", + "event_end_weekday_short": "Tue", + "event_end_time": "11:30am", + "start_date": "2024-09-10", + "start_time": "11:00:00", + "start_time_ts": 1725991200, + "end_date": "2024-09-10", + "end_time": "11:30:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf2024/20/GraphQL%20Conf%202024.pdf", + "name": "GraphQL Conf 2024.pdf" + } + ] + }, + { + "event_key": "699498", + "active": "Y", + "pinned": "N", + "name": "200 Is Not OK: Strategies for Tracing Partial Responses with GraphQL Observability - Aditi Rajawat & Rama Palaniappan, Intuit", + "event_start": "2024-09-10 11:00", + "event_end": "2024-09-10 11:30", + "event_type": "Backend", + "description": "GraphQL is agnostic to the transport layer. Almost all out of the box observability tooling is tailored to REST/HTTP APIs. Major observability challenge with GraphQL over HTTP is the support of partial response and HTTP status with 2XX may have failed. GraphQL Gateway generally fans-out one incoming request to one or many outgoing subgraph requests. It is essential to monitor each subgraph and the GraphQL gateway’s metrics and also to trace a single request across the network stack. This talk will cover how Intuit is reducing Mean Time to Detect (MTTD) and Mean Time to Recover (MTTR) for GraphQL APIs, by capturing Failed Customer Interactions, Golden Signal to determine gateway and subgraph’s health, latency, error rate and other related metrics. This talk will also cover open tracing and logging for GraphQL APIs.", + "goers": "42", + "video_stream": "https://www.youtube.com/watch?v=LbANoddAVic", + "seats": "0", + "invite_only": "N", + "venue": "Skyline B-C - Level 21", + "company": "Intermediate", + "audience": "Session Presentations", + "id": "8b3fee2390253e8c920c1df186758b9d", + "venue_id": "1944314", + "speakers": [ + { + "username": "aditi_rajawat", + "id": "21066788", + "name": "Aditi Rajawat", + "company": "Intuit", + "custom_order": 0 + }, + { + "username": "rama_palaniappan", + "id": "21066845", + "name": "Rama Palaniappan", + "company": "Intuit", + "custom_order": 1 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "10", + "event_start_weekday": "Tuesday", + "event_start_weekday_short": "Tue", + "event_start_time": "11:00am", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "10", + "event_end_weekday": "Tuesday", + "event_end_weekday_short": "Tue", + "event_end_time": "11:30am", + "start_date": "2024-09-10", + "start_time": "11:00:00", + "start_time_ts": 1725991200, + "end_date": "2024-09-10", + "end_time": "11:30:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf2024/3f/200_Is_Not_OK.pptx.pdf", + "name": "200_Is_Not_OK.pptx.pdf" + } + ] + }, + { + "event_key": "689668", + "active": "Y", + "pinned": "N", + "name": "Schema-Driven Testing with Mock Service Worker - Alessia Bellisario, Apollo", + "event_start": "2024-09-10 11:00", + "event_end": "2024-09-10 11:30", + "event_type": "GraphQL Clients", + "description": "At last year’s GraphQL Conf, Stephanie Saunders sang the praises of schema mocking in her excellent talk “Sophisticated Schema Mocking”. As Stephanie outlined, tests written using mock schemas have several benefits over ones written with static response mocks (seriously, go back and watch the talk if you haven’t!) Mock schemas are the perfect pair for Mock Service Worker which describes itself as “an API mocking library that allows you to write client-agnostic mocks and reuse them across any frameworks, tools, and environments.” In this talk, I’ll demonstrate how to use mock schemas with MSW using testing tools created by the Apollo Client team. These utilities can be used with any GraphQL client for the web whether it’s Apollo Client, Relay, urql, isograph or even just plain fetch requests to a GraphQL endpoint, and support incremental delivery (@defer/@stream), subscriptions and more. With MSW + your front-end stack of choice + test runner or framework of choice (Jest, Puppeteer, Cypress, Storybook, the list goes on) this talk will teach you how to level up the tests you and your team are writing.", + "goers": "39", + "video_stream": "https://www.youtube.com/watch?v=hFmJgR0vssY", + "seats": "0", + "invite_only": "N", + "venue": "Skyline A - Level 21", + "company": "Intermediate", + "audience": "Session Presentations", + "id": "de54e458f4da84295d55ce44dade372e", + "venue_id": "1944311", + "speakers": [ + { + "username": "twitter7", + "id": "18743837", + "name": "Alessia Bellisario", + "company": "Apollo", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "10", + "event_start_weekday": "Tuesday", + "event_start_weekday_short": "Tue", + "event_start_time": "11:00am", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "10", + "event_end_weekday": "Tuesday", + "event_end_weekday_short": "Tue", + "event_end_time": "11:30am", + "start_date": "2024-09-10", + "start_time": "11:00:00", + "start_time_ts": 1725991200, + "end_date": "2024-09-10", + "end_time": "11:30:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf2024/85/BellisarioGraphQLConf2024.pdf", + "name": "BellisarioGraphQLConf2024.pdf" + } + ] + }, + { + "event_key": "706623", + "active": "Y", + "pinned": "N", + "name": "Converging Paramount EPG Architectures with the Help of GraphQL: Journey, Challenges and Solutions - Giacomo Simmi, Paramount; Satish Chitnis, Paramount / Pluto TV", + "event_start": "2024-09-10 11:00", + "event_end": "2024-09-10 11:30", + "event_type": "GraphQL in Production", + "description": "Paramount is a group of companies including Network Streaming, Paramount+, PlutoTV. Each of these companies has its own distinct tech stack and architecture. \n \nOne of the goals of the Architectural Team is to simplify the architecture of the entire group by converging and merging the solutions while avoiding a big-bang approach that would have a significant impact on the business. \n \nAfter some investigations, the GraphQL Federated Architecture emerged as a strong candidate to initiate this process using a top-down approach, starting with the Paramount EPG services. \n \nIn this session, we will describe:\n\n- The design of each intermediate EPG convergent architecture: we will outline the necessary steps to reach the final solution using a top-down and phased approach. \n- The challenges we faced: this includes choosing between code-first and schema-first approaches, modeling the data, addressing performance issues, deploying each subgraph to different infrastructures, and organizing subgraph teams, roles, and responsibilities. \n- Solutions we tried: we explored various tools and frameworks, such as Apollo and WunderGraph, to address these challenges.", + "goers": "18", + "video_stream": "https://www.youtube.com/watch?v=GnjMUsvDcL4", + "seats": "0", + "invite_only": "N", + "venue": "Metropolitan A", + "company": "Intermediate", + "audience": "Session Presentations", + "id": "0081eba3649c74291a865c903188bfbb", + "venue_id": "1944305", + "speakers": [ + { + "username": "giacomo.simmi", + "id": "21496501", + "name": "Giacomo Simmi", + "company": "Paramount", + "custom_order": 0 + }, + { + "username": "satish.chitnis", + "id": "21496512", + "name": "Satish Chitnis", + "company": "Paramount / Pluto TV", + "custom_order": 1 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "10", + "event_start_weekday": "Tuesday", + "event_start_weekday_short": "Tue", + "event_start_time": "11:00am", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "10", + "event_end_weekday": "Tuesday", + "event_end_weekday_short": "Tue", + "event_end_time": "11:30am", + "start_date": "2024-09-10", + "start_time": "11:00:00", + "start_time_ts": 1725991200, + "end_date": "2024-09-10", + "end_time": "11:30:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf2024/48/Converging%20EPG%20architectures%20with%20the%20help%20of%20GraphQL%20-%20Journey,%20Challenges%20and%20Solutions.pdf", + "name": "Converging EPG architectures with the help of GraphQL - Journey, Challenges and Solutions.pdf" + } + ] + }, + { + "event_key": "699439", + "active": "Y", + "pinned": "N", + "name": "GraphQL at the Edge with WebAssembly - Ramnivas Laddad, Exograph, Inc", + "event_start": "2024-09-10 11:40", + "event_end": "2024-09-10 12:10", + "event_type": "Backend", + "description": "WebAssembly is reshaping our approach to software execution units and components. With its ecosystem maturing--the ability to deploy with multiple cloud providers, the standardization of WebAssembly Components, and the rise of WASI--its potential is fast becoming a reality. WebAssembly is especially suitable for running server-side code at the edge, where resource constraints and security concerns are paramount. To realize the full potential of running API servers at the edge--lowered latency, reduced costs, and improved scalability--we must rethink our approach to building and deploying servers. GraphQL is particularly well-suited for edge deployments. It not only reduces the number of trips between the client and the server but also allows implementations to optimize the whole query to reduce round trips to the data server. In this session, we will explore how to target a Rust implementation of GraphQL server to WebAssembly. We'll also look into how this fits within the WebAssembly ecosystem and how you can run these servers even in your browser.", + "goers": "22", + "video_stream": "https://www.youtube.com/watch?v=cEijqq-KQsU", + "seats": "0", + "invite_only": "N", + "venue": "Skyline B-C - Level 21", + "company": "Intermediate", + "audience": "Session Presentations", + "id": "b3cdfe65307832887ded26a9270d1295", + "venue_id": "1944314", + "speakers": [ + { + "username": "ramnivas.laddad", + "id": "21066848", + "name": "Ramnivas Laddad", + "company": "Exograph", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "10", + "event_start_weekday": "Tuesday", + "event_start_weekday_short": "Tue", + "event_start_time": "11:40am", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "10", + "event_end_weekday": "Tuesday", + "event_end_weekday_short": "Tue", + "event_end_time": "12:10pm", + "start_date": "2024-09-10", + "start_time": "11:40:00", + "start_time_ts": 1725993600, + "end_date": "2024-09-10", + "end_time": "12:10:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf2024/f5/graphql-edge-webassembly-ramnivas-laddad.pdf", + "name": "graphql-edge-webassembly-ramnivas-laddad.pdf" + } + ] + }, + { + "event_key": "706588", + "active": "Y", + "pinned": "N", + "name": "6 Years of Distributed GraphQL in Production - Andreas Marek, Atlassian", + "event_start": "2024-09-10 11:40", + "event_end": "2024-09-10 12:10", + "event_type": "Federation and Composite Schemas", + "description": "Atlassian built the first ever distributed GraphQL gateway in 2018 and continues to run and improve until today. We will look at the lessons learned and challenges including: - Schema governance - Company adoption - Running a high availability gateway - Things that didn't work out", + "goers": "55", + "video_stream": "https://www.youtube.com/watch?v=v3dY3Y9VHJ8", + "seats": "0", + "invite_only": "N", + "venue": "Metropolitan B-C", + "company": "Intermediate", + "audience": "Session Presentations", + "id": "f37774914d4fb6b5760a4c4811f042be", + "venue_id": "1944308", + "speakers": [ + { + "username": "andreas.marek1", + "id": "21066795", + "name": "Andreas Marek", + "company": "Atlassian", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "10", + "event_start_weekday": "Tuesday", + "event_start_weekday_short": "Tue", + "event_start_time": "11:40am", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "10", + "event_end_weekday": "Tuesday", + "event_end_weekday_short": "Tue", + "event_end_time": "12:10pm", + "start_date": "2024-09-10", + "start_time": "11:40:00", + "start_time_ts": 1725993600, + "end_date": "2024-09-10", + "end_time": "12:10:00" + }, + { + "event_key": "696986", + "active": "Y", + "pinned": "N", + "name": "The Power of Strongly Coupled GraphQL Queries for Internal APIs - Mary Briskin, Tutored by Teacher", + "event_start": "2024-09-10 11:40", + "event_end": "2024-09-10 12:10", + "event_type": "GraphQL Clients", + "description": "Why settle for over-complicated APIs when you can have exactly what you need? In this talk, we'll write focused, single-use GraphQL queries that are tailored to our exact requirements. Learn how tightly coupling your GraphQL queries with your pages or components can make your front-end cleaner, your back-end faster, and your code easier to maintain. Goodbye unnecessary complexity and generalization—this is all about building APIs that fit like a glove, making your life easier and your code prettier!", + "goers": "22", + "video_stream": "https://www.youtube.com/watch?v=szGCeD_UzmY", + "seats": "0", + "invite_only": "N", + "venue": "Skyline A - Level 21", + "company": "Intermediate", + "audience": "Session Presentations", + "id": "1f23375107e5a16e08092d69e1b5ba1a", + "venue_id": "1944311", + "speakers": [ + { + "username": "marybriskin", + "id": "21457039", + "name": "Mary Briskin", + "company": "Tutored by Teachers", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "10", + "event_start_weekday": "Tuesday", + "event_start_weekday_short": "Tue", + "event_start_time": "11:40am", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "10", + "event_end_weekday": "Tuesday", + "event_end_weekday_short": "Tue", + "event_end_time": "12:10pm", + "start_date": "2024-09-10", + "start_time": "11:40:00", + "start_time_ts": 1725993600, + "end_date": "2024-09-10", + "end_time": "12:10:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf2024/7c/GraphQL%20Talk%20Mary%20Briskin.pdf", + "name": "GraphQL Talk Mary Briskin.pdf" + } + ] + }, + { + "event_key": "693335", + "active": "Y", + "pinned": "N", + "name": "Incrementally Adopting GraphQL and Relay at Pinterest - Mauricio Montalvo, Pinterest", + "event_start": "2024-09-10 11:40", + "event_end": "2024-09-10 12:10", + "event_type": "GraphQL in Production", + "description": "Pinterest is too large to simply “rewrite our app” to use GraphQL in one fell swoop. Even migrating an individual screen takes months, at our scale this is quite challenging, like changing a plane’s engine while flying. Is GraphQL adoption destined to be difficult for large companies? Can this process be made more incremental? Unfortunately, the answer seems to be no. It's hard to imagine how components consuming GraphQL data can coexist on a page that makes network requests to a REST endpoint. And yet, we figured it out. And we had a good time, too! We designed Relay-compatible APIs that allow us to read data either from a GraphQL store or from arbitrary objects (e.g. from Redux.) So, engineers can migrate individual components within a larger tree. These components specify the data they need using a fragment, and receive GraphQL-shaped data, regardless of whether the data came from GraphQL or REST. When a component tree is fully migrated, we're able to A/B test the REST and GraphQL endpoints, and only turn on GraphQL when we're sure doing so won't degrade any metrics. And we're about to release this to open source: adopting GraphQL on the front-end has never been easier!", + "goers": "31", + "video_stream": "https://www.youtube.com/watch?v=9gY1vNw7Kcc", + "seats": "0", + "invite_only": "N", + "venue": "Metropolitan A", + "company": "Beginner", + "audience": "Session Presentations", + "id": "515c8ade2da6e1fc710e87df182dd8e6", + "venue_id": "1944305", + "speakers": [ + { + "username": "mauricio.montalvo.guzman", + "id": "21066831", + "name": "Mauricio Montalvo", + "company": "Pinterest", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "10", + "event_start_weekday": "Tuesday", + "event_start_weekday_short": "Tue", + "event_start_time": "11:40am", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "10", + "event_end_weekday": "Tuesday", + "event_end_weekday_short": "Tue", + "event_end_time": "12:10pm", + "start_date": "2024-09-10", + "start_time": "11:40:00", + "start_time_ts": 1725993600, + "end_date": "2024-09-10", + "end_time": "12:10:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf2024/55/Incrementally%20Adopting%20GraphQL%20and%20Relay%20at%20Pinterest%20-%20Mauricio%20Montalvo.pdf", + "name": "Incrementally Adopting GraphQL and Relay at Pinterest - Mauricio Montalvo.pdf" + } + ] + }, + { + "event_key": "5", + "active": "Y", + "pinned": "N", + "name": "Lunch Break", + "event_start": "2024-09-10 12:10", + "event_end": "2024-09-10 13:30", + "event_type": "Breaks & Special Events", + "goers": "55", + "seats": "0", + "invite_only": "N", + "venue": "Level 3 Lobby + Restaurant", + "id": "c117b6cefe3eaa89940b76d68abdc3de", + "venue_id": "1979828", + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "10", + "event_start_weekday": "Tuesday", + "event_start_weekday_short": "Tue", + "event_start_time": "12:10pm", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "10", + "event_end_weekday": "Tuesday", + "event_end_weekday_short": "Tue", + "event_end_time": "1:30pm", + "start_date": "2024-09-10", + "start_time": "12:10:00", + "start_time_ts": 1725995400, + "end_date": "2024-09-10", + "end_time": "13:30:00", + "description": "" + }, + { + "event_key": "691366", + "active": "Y", + "pinned": "N", + "name": "How to Not Break Your GraphQL Clients - Pascal Senn, ChilliCream", + "event_start": "2024-09-10 13:30", + "event_end": "2024-09-10 14:00", + "event_type": "Backend", + "description": "Ever had to explain to the frontend team why their application is no longer working after a release? This session will show you what you can do to never let this happen again, ever! We will start by analysing why it is so easy to do a breaking change in a GraphQL API, what this even means and how to prevent it. Then, we will explore the issues that come once a client application uses your GraphQL API, learn effective ways to prevent the issues from happening and how to apply it in real world complexities. Learn to build resilient GraphQL APIs - today.", + "goers": "43", + "video_stream": "https://www.youtube.com/watch?v=U3m0J8HFuqQ", + "seats": "0", + "invite_only": "N", + "venue": "Skyline B-C - Level 21", + "company": "Intermediate", + "audience": "Session Presentations", + "id": "eb21b013745069912ee5b95b14aaca24", + "venue_id": "1944314", + "speakers": [ + { + "username": "pascal.senn", + "id": "21066839", + "name": "Pascal Senn", + "company": "ChilliCream", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "10", + "event_start_weekday": "Tuesday", + "event_start_weekday_short": "Tue", + "event_start_time": "1:30pm", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "10", + "event_end_weekday": "Tuesday", + "event_end_weekday_short": "Tue", + "event_end_time": "2:00pm", + "start_date": "2024-09-10", + "start_time": "13:30:00", + "start_time_ts": 1726000200, + "end_date": "2024-09-10", + "end_time": "14:00:00" + }, + { + "event_key": "692359", + "active": "Y", + "pinned": "N", + "name": "Unlocking Blockchain Data with GraphQL - Saihajpreet Singh, The Guild", + "event_start": "2024-09-10 13:30", + "event_end": "2024-09-10 13:40", + "event_type": "Federation and Composite Schemas", + "description": "Discover how GraphQL and composite schemas are transforming blockchain data access and management. This talk will highlight innovative techniques that standardize and streamline blockchain data retrieval, making it more accessible and efficient for developers. Explore the future of blockchain data management and how these advancements are setting new industry standards in web3.", + "goers": "5", + "video_stream": "https://www.youtube.com/watch?v=tjmPJGMPZGQ", + "seats": "0", + "invite_only": "N", + "venue": "Metropolitan B-C", + "company": "Beginner", + "audience": "Lightning Talks", + "geo_area": "Yes", + "id": "66a12b5aa41f22c3a7f80a9838488826", + "venue_id": "1944308", + "speakers": [ + { + "username": "saihajpreet.singh", + "id": "21066858", + "name": "Saihajpreet Singh", + "company": "The Guild", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "10", + "event_start_weekday": "Tuesday", + "event_start_weekday_short": "Tue", + "event_start_time": "1:30pm", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "10", + "event_end_weekday": "Tuesday", + "event_end_weekday_short": "Tue", + "event_end_time": "1:40pm", + "start_date": "2024-09-10", + "start_time": "13:30:00", + "start_time_ts": 1726000200, + "end_date": "2024-09-10", + "end_time": "13:40:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf2024/b5/graphql-conf2024-talk.pdf", + "name": "graphql-conf2024-talk.pdf" + } + ] + }, + { + "event_key": "706596", + "active": "Y", + "pinned": "N", + "name": "GraphQL in the Era of React Server Components - Roy Derks, IBM", + "event_start": "2024-09-10 13:30", + "event_end": "2024-09-10 14:00", + "event_type": "GraphQL Clients", + "description": "There's been lots of talks around GraphQL and if it's still relevant now more and more web frameworks are introducing different ways to handle data fetching. Some say we might even be going back to the MVC model. In this new \"RPC world\" we have technologies like tRPC and React Server Components. But what does this mean for GraphQL? In this talk I'll explore the most recent ways to do handle data fetching, how they compare to GraphQL and what benefits GraphQL might still be brining you.", + "goers": "25", + "video_stream": "https://www.youtube.com/watch?v=0IcZGcO9Vm0", + "seats": "0", + "invite_only": "N", + "venue": "Skyline A - Level 21", + "id": "b45e3e5dfce0eec4d5498bedb8c54f04", + "venue_id": "1944311", + "speakers": [ + { + "username": "hello2358", + "id": "16832291", + "name": "Roy Derks", + "company": "IBM", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "10", + "event_start_weekday": "Tuesday", + "event_start_weekday_short": "Tue", + "event_start_time": "1:30pm", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "10", + "event_end_weekday": "Tuesday", + "event_end_weekday_short": "Tue", + "event_end_time": "2:00pm", + "start_date": "2024-09-10", + "start_time": "13:30:00", + "start_time_ts": 1726000200, + "end_date": "2024-09-10", + "end_time": "14:00:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf2024/17/GraphQLServerComponentsRoyDerks.pdf", + "name": "GraphQLServerComponentsRoyDerks.pdf" + } + ] + }, + { + "event_key": "691577", + "active": "Y", + "pinned": "N", + "name": "Building a Serverless GraphQL Subscription Gateway for Event-Driven Architectures - Christian Stangier & Kenneth Wußmann, MOIA GmbH", + "event_start": "2024-09-10 13:30", + "event_end": "2024-09-10 14:00", + "event_type": "GraphQL in Production", + "description": "At MOIA we're working on a new approach to mobility using ride-pooling with autonomous vehicles. Running an autonomous fleet of vehicles requires access to real-time and low-latency telematic data. This data needs to be made accessible to our users on a fleet map to always have a detailed overview of the current fleet state. Using only queries and polling we quickly ran into scalability issues and had to rethink our approach. Therefore we went to the drawing board and designed and built a serverless architecture on top of AWS and GraphQL over WebSocket to support our stream-aligned teams in building serverless subscriptions in a microservice environment. Watch a replay of our journey enabling other teams to effortlessly push updates to their users using a shared subscription gateway.", + "goers": "35", + "video_stream": "https://www.youtube.com/watch?v=kmxy32cDRT8", + "seats": "0", + "invite_only": "N", + "venue": "Metropolitan A", + "company": "Advanced", + "audience": "Session Presentations", + "id": "15ae8e609d80ee7a856469c74c379c55", + "venue_id": "1944305", + "speakers": [ + { + "username": "christian.stangier", + "id": "21066807", + "name": "Christian Stangier", + "company": "MOIA GmbH", + "custom_order": 0 + }, + { + "username": "kenneth.wussmann", + "id": "21066824", + "name": "Kenneth Wußmann", + "company": "MOIA GmbH", + "custom_order": 1 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "10", + "event_start_weekday": "Tuesday", + "event_start_weekday_short": "Tue", + "event_start_time": "1:30pm", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "10", + "event_end_weekday": "Tuesday", + "event_end_weekday_short": "Tue", + "event_end_time": "2:00pm", + "start_date": "2024-09-10", + "start_time": "13:30:00", + "start_time_ts": 1726000200, + "end_date": "2024-09-10", + "end_time": "14:00:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf2024/96/Building%20a%20Serverless%20GraphQL%20Subscription%20Gateway.pdf", + "name": "Building a Serverless GraphQL Subscription Gateway.pdf" + } + ] + }, + { + "event_key": "700361", + "active": "Y", + "pinned": "N", + "name": "Ahead-of-Time (AOT) Techniques Help You Write GraphQL Libraries! - Mike Solomon, -", + "event_start": "2024-09-10 13:50", + "event_end": "2024-09-10 14:00", + "event_type": "GraphQL in Production", + "description": "Production-ready GraphQL deployments typically require sophisticated clients, careful telemetry, and high performance. Come see how we can apply techniques used in compilers to help write simpler and more efficient GraphQL frameworks and libraries! During this talk, you will learn: - How to create a simple yet powerful Intermediate Representation (IR) for GraphQL queries and schemas - How this IR can be used to generate client-side code, client and server telemetry, and even reduce payload sizes over the Internet!", + "goers": "35", + "video_stream": "https://www.youtube.com/watch?v=SFQB8F0Ofcg", + "seats": "0", + "invite_only": "N", + "venue": "Metropolitan B-C", + "company": "Intermediate", + "audience": "Lightning Talks", + "id": "5df1be4f2875d2ba86cd9c3daefadd02", + "venue_id": "1944308", + "speakers": [ + { + "username": "arkenflame", + "id": "18743867", + "name": "Mike Solomon", + "company": "-", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "10", + "event_start_weekday": "Tuesday", + "event_start_weekday_short": "Tue", + "event_start_time": "1:50pm", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "10", + "event_end_weekday": "Tuesday", + "event_end_weekday_short": "Tue", + "event_end_time": "2:00pm", + "start_date": "2024-09-10", + "start_time": "13:50:00", + "start_time_ts": 1726001400, + "end_date": "2024-09-10", + "end_time": "14:00:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf2024/be/compiler-techniques-graphqlconf2024.pdf", + "name": "compiler-techniques-graphqlconf2024.pdf" + } + ] + }, + { + "event_key": "671426", + "active": "Y", + "pinned": "N", + "name": "In Memory of Travails - Gabriel Schulhof, Auction.com", + "event_start": "2024-09-10 14:10", + "event_end": "2024-09-10 14:40", + "event_type": "Backend", + "description": "Two aspects of resolvers have an outsized influence on their performance: the size of the execution context, and the way we compute their value. In the Node.js implementation of graphql, promises wrapping primitive values are especially disruptive, since they add a large computing overhead. The context size creates a memory usage baseline that can rise very quickly with even small additions to the context, when there are many concurrent contexts. The execution can create temporary objects, increasing memory usage. Often-run resolvers, such as those responsible for filling out large arrays of objects, can become performance bottlenecks. At Auction.com, our search results page (SRP) requests up to 500 items of roughly 80 fields each. The query resolving these fields was suffering a high latency. We shall examine the tools to instrument our code and identify memory usage and CPU utilization bottlenecks. Our realtime elements (e.g. realtime updates to the status of currently viewed properties) are implemented using a translation of kafka messages to graphql updates. We shall present the tools and procedures to reduce memory usage and CPU usage when fanning out such messages.", + "goers": "11", + "video_stream": "https://www.youtube.com/watch?v=eXWXRF6gYg8", + "seats": "0", + "invite_only": "N", + "venue": "Skyline B-C - Level 21", + "company": "Intermediate", + "audience": "Session Presentations", + "geo_area": "Yes", + "id": "667270504bb6e511749901460a6e68d1", + "venue_id": "1944314", + "speakers": [ + { + "username": "gabrielschulhof", + "id": "13020672", + "name": "Gabriel Schulhof", + "company": "Auction.com", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "10", + "event_start_weekday": "Tuesday", + "event_start_weekday_short": "Tue", + "event_start_time": "2:10pm", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "10", + "event_end_weekday": "Tuesday", + "event_end_weekday_short": "Tue", + "event_end_time": "2:40pm", + "start_date": "2024-09-10", + "start_time": "14:10:00", + "start_time_ts": 1726002600, + "end_date": "2024-09-10", + "end_time": "14:40:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf2024/cd/In.Memory.of.Travails.pptx", + "name": "In.Memory.of.Travails.pptx" + } + ] + }, + { + "event_key": "692293", + "active": "Y", + "pinned": "N", + "name": "Spec Agnostic Executor for Federated GraphQL - Denis Badurina, The Guild", + "event_start": "2024-09-10 14:10", + "event_end": "2024-09-10 14:40", + "event_type": "Federation and Composite Schemas", + "description": "A fresh take on planning and executing federated GraphQL schemas. The executor is zero-dependency, spec and environment agnostic, with stable plans and explanations. Additionally, all of its steps are serializable - allowing for sophisticated caching mechanisms and deterministic plans. It supports all existing, and all future, federated specifications like Apollo Federation and the upcoming GraphQL Composite spec. We'll talk about how the new executor came to be, the challenges it faced, and how TDD expedited the process with confidence in mind.", + "goers": "34", + "video_stream": "https://www.youtube.com/watch?v=voeWmS-48Ag", + "seats": "0", + "invite_only": "N", + "venue": "Metropolitan B-C", + "company": "Intermediate", + "audience": "Session Presentations", + "id": "de8fa563c5beb17fbe9b4f5f23c99e89", + "venue_id": "1944308", + "speakers": [ + { + "username": "badurinadenis", + "id": "18743810", + "name": "Denis Badurina", + "company": "The Guild", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "10", + "event_start_weekday": "Tuesday", + "event_start_weekday_short": "Tue", + "event_start_time": "2:10pm", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "10", + "event_end_weekday": "Tuesday", + "event_end_weekday_short": "Tue", + "event_end_time": "2:40pm", + "start_date": "2024-09-10", + "start_time": "14:10:00", + "start_time_ts": 1726002600, + "end_date": "2024-09-10", + "end_time": "14:40:00" + }, + { + "event_key": "691185", + "active": "Y", + "pinned": "N", + "name": "Sponsored Session: Championing the GraphQL Client in a Modern Platform - Jeff Auriemma, Apollo GraphQL", + "event_start": "2024-09-10 14:10", + "event_end": "2024-09-10 14:40", + "event_type": "GraphQL Clients", + "description": "GraphQL is becoming the preferred choice for enterprise API development. That means that more and more app developers are adopting GraphQL client libraries as part of a larger platform strategy rather than building their own BFFs. Platform owners, engineering leaders, toolmakers, and application developers can leverage this adoption pattern to set their teams up with an easy on-ramp and a roadmap for long-term success. My talk will outline the design features common across GraphQL client libraries and why they are essential for platform engineers to understand. I’ll share insights my team has gathered from our open-source projects, user interviews, and surveys that reveal how GraphQL newcomers and veterans relate to these tools. All of this will be tied together with some practical advice for every stage of the adoption journey: crawl, walk, run.", + "goers": "21", + "video_stream": "https://www.youtube.com/watch?v=lKZMcixWf3o", + "seats": "0", + "invite_only": "N", + "venue": "Skyline A - Level 21", + "company": "Any", + "audience": "Session Presentations", + "id": "f53d0eed2747a55edea203c97844fe3e", + "venue_id": "1944311", + "speakers": [ + { + "username": "jeff.auriemma", + "id": "18743876", + "name": "Jeff Auriemma", + "company": "Apollo GraphQL", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "10", + "event_start_weekday": "Tuesday", + "event_start_weekday_short": "Tue", + "event_start_time": "2:10pm", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "10", + "event_end_weekday": "Tuesday", + "event_end_weekday_short": "Tue", + "event_end_time": "2:40pm", + "start_date": "2024-09-10", + "start_time": "14:10:00", + "start_time_ts": 1726002600, + "end_date": "2024-09-10", + "end_time": "14:40:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf2024/58/[GraphQLConf%202024]%20Championing%20the%20GraphQL%20Client%20in%20a%20Modern%20Platform.pdf", + "name": "[GraphQLConf 2024] Championing the GraphQL Client in a Modern Platform.pdf" + } + ] + }, + { + "event_key": "691570", + "active": "Y", + "pinned": "N", + "name": "GraphQL Pagination at Meta - Sabrina Wasserman, Meta", + "event_start": "2024-09-10 14:10", + "event_end": "2024-09-10 14:40", + "event_type": "GraphQL in Production", + "description": "In this talk, I’ll discuss how we’ve developed client-side pagination frameworks at Meta on top of the Relay GraphQL connection specification to make paginating with GraphQL-backed data simpler for product engineers. Specifically, I’ll cover: - Cursor-based pagination + the Relay GraphQL Connection specification - Generating pagination queries for a given Connection field - Client-side Connection field state management - How we integrate our pagination frameworks with our UI frameworks", + "goers": "54", + "video_stream": "https://www.youtube.com/watch?v=PGBC-0E-kco", + "seats": "0", + "invite_only": "N", + "venue": "Metropolitan A", + "company": "Intermediate", + "audience": "Session Presentations", + "id": "f385327bc79231054b3d0d5440b9a47d", + "venue_id": "1944305", + "speakers": [ + { + "username": "sabrina.wasserman", + "id": "21066857", + "name": "Sabrina Wasserman", + "company": "Meta", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "10", + "event_start_weekday": "Tuesday", + "event_start_weekday_short": "Tue", + "event_start_time": "2:10pm", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "10", + "event_end_weekday": "Tuesday", + "event_end_weekday_short": "Tue", + "event_end_time": "2:40pm", + "start_date": "2024-09-10", + "start_time": "14:10:00", + "start_time_ts": 1726002600, + "end_date": "2024-09-10", + "end_time": "14:40:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf2024/70/Declarative%20Pagination.pdf", + "name": "Declarative Pagination.pdf" + } + ] + }, + { + "event_key": "706611", + "active": "Y", + "pinned": "N", + "name": "What Could Go Wrong with a GraphQL Query and Can OpenTelemetry Help? - Budha Bhattacharya, Tyk", + "event_start": "2024-09-10 14:50", + "event_end": "2024-09-10 15:20", + "event_type": "API Platform", + "description": "APIs are the building blocks of our modern world. As the world becomes more interconnected, we need reliable and performant APIs to ensure the best experience for our end users. Many developers are starting to use GraphQL to provide a monolithic facade on top of their complex microservice architecture. In turn, making their next-generation APIs fast, flexible, and developer-friendly.\nBut using GraphQL also introduces many new challenges when isolating failures and troubleshooting performance issues. Can OpenTelemetry help solve those challenges?\n\nDuring this talk, we will:\n1. Give a brief overview of OpenTelemetry as a technology\n2. Investigate common challenges developers and SREs might encounter when running GraphQL in production\n3. Explore how OpenTelemetry can help deal with these issues\n4. Discuss what needs to be improved to make OTel even more valuable for the community", + "goers": "17", + "video_stream": "https://www.youtube.com/watch?v=Nol_i1wZMOY", + "seats": "0", + "invite_only": "N", + "venue": "Skyline B-C - Level 21", + "company": "Beginner", + "audience": "Session Presentations", + "id": "e61013ca35c75a29e8fa8ce157e320e9", + "venue_id": "1944314", + "speakers": [ + { + "username": "budha1", + "id": "17694866", + "name": "Budhaditya Bhattacharya", + "company": "Tyk", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "10", + "event_start_weekday": "Tuesday", + "event_start_weekday_short": "Tue", + "event_start_time": "2:50pm", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "10", + "event_end_weekday": "Tuesday", + "event_end_weekday_short": "Tue", + "event_end_time": "3:20pm", + "start_date": "2024-09-10", + "start_time": "14:50:00", + "start_time_ts": 1726005000, + "end_date": "2024-09-10", + "end_time": "15:20:00" + }, + { + "event_key": "697562", + "active": "Y", + "pinned": "N", + "name": "GraphQL Is for Client Developers, Not Client Applications - Michael Bleigh, Google", + "event_start": "2024-09-10 14:50", + "event_end": "2024-09-10 15:20", + "event_type": "Developer Experience", + "description": "Many of the most common issues developers run into when building GraphQL APIs (N+1 queries, difficult authorization logic, protecting against arbitrary query complexity) come down to a single problem: when an untrusted client can construct arbitrary queries, lots can go wrong. So what if they just couldn't? The wins of GraphQL aren't in letting *clients* build their own queries but in letting *client developers* build their own queries. When Firebase chose GraphQL as the basis for its new Data Connect product, we introduced \"Connectors\", a new resource type that bundles a group of predefined GraphQL queries and mutations and exposes them at an endpoint. While trusted servers can execute arbitrary queries, untrusted clients can only use predefined queries and mutations. This approach substantially simplifies the security model of building with GraphQL. Rather than worrying about every possible query, you can build authorization and complexity mechanics around well-known predefined queries. Learn the how, the why, and the possible future of \"Connectors\" for GraphQL in Firebase and beyond.", + "goers": "39", + "video_stream": "https://www.youtube.com/watch?v=dDj6FF0y2YA", + "seats": "0", + "invite_only": "N", + "venue": "Metropolitan B-C", + "company": "Intermediate", + "audience": "Session Presentations", + "id": "8866a2e23936ff9882c39f99b71238c5", + "venue_id": "1944308", + "speakers": [ + { + "username": "michael.bleigh", + "id": "21066834", + "name": "Michael Bleigh", + "company": "Google", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "10", + "event_start_weekday": "Tuesday", + "event_start_weekday_short": "Tue", + "event_start_time": "2:50pm", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "10", + "event_end_weekday": "Tuesday", + "event_end_weekday_short": "Tue", + "event_end_time": "3:20pm", + "start_date": "2024-09-10", + "start_time": "14:50:00", + "start_time_ts": 1726005000, + "end_date": "2024-09-10", + "end_time": "15:20:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf2024/2a/GraphQL%20is%20for%20Client%20Developers,%20not%20Client%20Apps.pdf", + "name": "GraphQL is for Client Developers, not Client Apps.pdf" + } + ] + }, + { + "event_key": "691436", + "active": "Y", + "pinned": "N", + "name": "A Wild GraphQL Rollercoaster Ride – an Honest Federated GraphQL Adoption Story in an Enterprise - An Ngo & Lars de Bruijn, bol", + "event_start": "2024-09-10 14:50", + "event_end": "2024-09-10 15:20", + "event_type": "GraphQL in Production", + "description": "Join us in our journey of adopting GraphQL in an Enterprise setting and hear all about how we adopt GraphQL in our organization successfully. Coming from an established enterprise organization with over 800 engineers, who work predominantly with REST, we had a big challenge rolling out our federated GraphQL ambitions at scale in a distributed (micro)service landscape. Besides tech, our journey was also about changing how people work, building expertise and create a strong GraphQL community, for both engineers and product, and getting them invested in our GraphQL journey. We will share with you our hurdles, lessons learned and painful roadblocks and share with you what we wish we knew when we started, so you are well prepared when you start your own GraphQL adoption journey at scale after this talk.", + "goers": "24", + "video_stream": "https://www.youtube.com/watch?v=tuStK4r8AaI", + "seats": "0", + "invite_only": "N", + "venue": "Metropolitan A", + "company": "Any", + "audience": "Session Presentations", + "id": "bd12197d841d201adbcae218323d713a", + "venue_id": "1944305", + "speakers": [ + { + "username": "ldebruijn", + "id": "5922948", + "name": "Lars de Bruijn", + "company": "bol", + "custom_order": 0 + }, + { + "username": "an.ngo", + "id": "21066792", + "name": "An Ngo", + "company": "bol", + "custom_order": 1 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "10", + "event_start_weekday": "Tuesday", + "event_start_weekday_short": "Tue", + "event_start_time": "2:50pm", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "10", + "event_end_weekday": "Tuesday", + "event_end_weekday_short": "Tue", + "event_end_time": "3:20pm", + "start_date": "2024-09-10", + "start_time": "14:50:00", + "start_time_ts": 1726005000, + "end_date": "2024-09-10", + "end_time": "15:20:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf2024/13/GraphQLConf24-presentation.pdf", + "name": "GraphQLConf24-presentation.pdf" + } + ] + }, + { + "event_key": "705687", + "active": "Y", + "pinned": "N", + "name": "Improve Application Performance and User Engagement with Advanced GraphQL Features - Kewei Qu, Meta", + "event_start": "2024-09-10 14:50", + "event_end": "2024-09-10 15:00", + "event_type": "Scaling", + "description": "In this talk, I will go through two recent experiments at Meta where we improved Application scroll perf (commonly known as frame drops) and media stalls by developing advanced GraphQL features. 1. Batched @defers. Common UI update cycles with regular defers will introduce increased state updates and may cause unnecessary re-renders. By batching deferred payloads carefully, we can achieved improved latency without introduce frame drops which is commonly associated with decreased engagement. 2. Improved CDN prefetch. Most of the time, the bottleneck to TTI is the media loads, either image load or video load. Commonly, Applications prefetch these media from CDN to improve stalls. We can make the prefetch better by using the visitor pattern which is available in many GraphQL library to enable prefetch during parsing time.", + "goers": "48", + "video_stream": "https://www.youtube.com/watch?v=obMcFwqtvUQ", + "seats": "0", + "invite_only": "N", + "venue": "Skyline A - Level 21", + "company": "Advanced", + "audience": "Lightning Talks", + "id": "260dd09a831d9432aa4122d60df72d21", + "venue_id": "1944311", + "speakers": [ + { + "username": "qkw1221", + "id": "18743864", + "name": "Kewei Qu", + "company": "Meta", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "10", + "event_start_weekday": "Tuesday", + "event_start_weekday_short": "Tue", + "event_start_time": "2:50pm", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "10", + "event_end_weekday": "Tuesday", + "event_end_weekday_short": "Tue", + "event_end_time": "3:00pm", + "start_date": "2024-09-10", + "start_time": "14:50:00", + "start_time_ts": 1726005000, + "end_date": "2024-09-10", + "end_time": "15:00:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf2024/c7/GraphQL%20Conference%202024_%20Improve%20Application%20Performance%20and%20User%20Engagement%20with%20Advanced%20GraphQL%20features.pdf", + "name": "GraphQL Conference 2024_ Improve Application Performance and User Engagement with Advanced GraphQL features.pdf" + } + ] + }, + { + "event_key": "692032", + "active": "Y", + "pinned": "N", + "name": "GraphQL and Newcomers: How an API Can Transform Technical and Functional Onboarding - Vincent Desmares, Teamstarter", + "event_start": "2024-09-10 15:05", + "event_end": "2024-09-10 15:15", + "event_type": "Developer Experience", + "description": "Since 2010, I've onboarded a lot of developers on a lot of projects. Team evolution is a part of the normal life of a project but can be a big challenge. In this lighting talk I will make a restrospective on how GraphQL drasticaly reduced the \"time-to-be-opperational\" and helped get a productive team very quickly. I will share good practices around code, design-patterns, documentation, processes and open-source. To get your next GraphQL project a pleasure to be onboarded on.", + "goers": "39", + "video_stream": "https://www.youtube.com/watch?v=yrhGfVOzxbU", + "seats": "0", + "invite_only": "N", + "venue": "Skyline A - Level 21", + "company": "Beginner", + "audience": "Lightning Talks", + "id": "daa84da2c7b8efe182514d3f6d6624ec", + "venue_id": "1944311", + "speakers": [ + { + "username": "vincent.desmares", + "id": "21066875", + "name": "Vincent Desmares", + "company": "Teamstarter", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "10", + "event_start_weekday": "Tuesday", + "event_start_weekday_short": "Tue", + "event_start_time": "3:05pm", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "10", + "event_end_weekday": "Tuesday", + "event_end_weekday_short": "Tue", + "event_end_time": "3:15pm", + "start_date": "2024-09-10", + "start_time": "15:05:00", + "start_time_ts": 1726005900, + "end_date": "2024-09-10", + "end_time": "15:15:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf2024/47/GraphQL%20and%20Newcomers%20-%20202240910%200848.pdf", + "name": "GraphQL and Newcomers - 202240910 0848.pdf" + } + ] + }, + { + "event_key": "12", + "active": "Y", + "pinned": "N", + "name": "Coffee Break", + "event_start": "2024-09-10 15:20", + "event_end": "2024-09-10 15:40", + "event_type": "Breaks & Special Events", + "goers": "38", + "seats": "0", + "invite_only": "N", + "venue": "Level 2 Foyer", + "id": "785671ee20a5e7c63578e83cf84b8a12", + "venue_id": "1944317", + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "10", + "event_start_weekday": "Tuesday", + "event_start_weekday_short": "Tue", + "event_start_time": "3:20pm", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "10", + "event_end_weekday": "Tuesday", + "event_end_weekday_short": "Tue", + "event_end_time": "3:40pm", + "start_date": "2024-09-10", + "start_time": "15:20:00", + "start_time_ts": 1726006800, + "end_date": "2024-09-10", + "end_time": "15:40:00", + "description": "" + }, + { + "event_key": "706621", + "active": "Y", + "pinned": "N", + "name": "Schema First, Code First, or Both? Adopting Schema First Development with Code First Architecture - Dan Adajian, Expedia Group", + "event_start": "2024-09-10 15:40", + "event_end": "2024-09-10 16:10", + "event_type": "Defies Categorization", + "description": "At Expedia Group, we leverage a \"code-first\" approach with GraphQL Kotlin to deliver high quality experiences to travelers globally. This means we let our implementations drive our GraphQL schema. However, our developers have a growing appetite to agree on our schema up front before diving into implementation. This talk will explore how we shifted our architecture to use a schema-first approach within a code-first framework. \n \nOverall, I aim to dispel the notion that using a code-first solution prevents us from defining schema as a first step. I will explore the advantages of doing schema review at scale, as well as highlight an open source GraphQL-Codegen plugin we built to generate Kotlin classes and interfaces from our schema definitions. \n \nI am eager to contribute to the conversation around schema-first vs code-first, which has been the topic of several GraphQLConf talks over the past few years. This approach brings a fresh perspective and should inspire folks to incorporate a schema-first mentality into their GraphQL development cycle.", + "goers": "53", + "video_stream": "https://www.youtube.com/watch?v=kpeVT7J6Bsw", + "seats": "0", + "invite_only": "N", + "venue": "Skyline A - Level 21", + "company": "Intermediate", + "audience": "Session Presentations", + "id": "8cca1430628e1cb303791cee9104cad8", + "venue_id": "1944311", + "speakers": [ + { + "username": "danadajian", + "id": "21487429", + "name": "Dan Adajian", + "company": "Expedia Group", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "10", + "event_start_weekday": "Tuesday", + "event_start_weekday_short": "Tue", + "event_start_time": "3:40pm", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "10", + "event_end_weekday": "Tuesday", + "event_end_weekday_short": "Tue", + "event_end_time": "4:10pm", + "start_date": "2024-09-10", + "start_time": "15:40:00", + "start_time_ts": 1726008000, + "end_date": "2024-09-10", + "end_time": "16:10:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf2024/22/GraphQLConf.pdf", + "name": "GraphQLConf.pdf" + } + ] + }, + { + "event_key": "706624", + "active": "Y", + "pinned": "N", + "name": "Sponsored Session: GraphQL's Future is Rooted in Governance - Adam Malone, Hasura", + "event_start": "2024-09-10 15:40", + "event_end": "2024-09-10 16:10", + "event_type": "Defies Categorization", + "description": "In this talk, we'll explore the future of GraphQL and why its success hinges on our collective ability to address the elephant in the room of governance.\n\nDespite its popularity among developers due to its flexibility and efficiency, GraphQL has yet to fully win over enterprise architects. Their world revolves around REST, model-first abstractions, data lineage, and rigorous compliance standards. To truly gain their trust and drive broader adoption in the enterprise, I'll argue that GraphQL implementations must be metadata-driven, with an emphasis on configuration over code.\n\nHowever, all is not lost! In today’s enterprise landscape, the domain model is predicated on the principle that the teams who own the data should also be responsible for managing it and making it available through agnostic channels. With this in mind, GraphQL is uniquely positioned to excel, thanks to its capabilities in federation and schema stitching. These features enable a paradigm that scales both technically and, more importantly, organizationally, aligning with the goals of managing traceability, lineage, and compliance in a manner that satisfies regulatory demands.\n\nIn this session, we'll delve into how the future of GraphQL, much like the stability of any nation, is rooted in good governance. We'll examine the priorities of enterprise architects and demonstrate how a governance-focused approach can help GraphQL evolve into a robust data access layer within any business.", + "goers": "27", + "video_stream": "https://www.youtube.com/watch?v=x2tnnh9KKVs", + "seats": "0", + "invite_only": "N", + "venue": "Skyline B-C - Level 21", + "audience": "Session Presentations", + "id": "3e7c12e3198b7ee41b80f3a58a9d1e19", + "venue_id": "1944314", + "speakers": [ + { + "username": "adam_malone.2791s6x2", + "id": "21498016", + "name": "Adam Malone", + "company": "Hasura", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "10", + "event_start_weekday": "Tuesday", + "event_start_weekday_short": "Tue", + "event_start_time": "3:40pm", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "10", + "event_end_weekday": "Tuesday", + "event_end_weekday_short": "Tue", + "event_end_time": "4:10pm", + "start_date": "2024-09-10", + "start_time": "15:40:00", + "start_time_ts": 1726008000, + "end_date": "2024-09-10", + "end_time": "16:10:00" + }, + { + "event_key": "699211", + "active": "Y", + "pinned": "N", + "name": "Consuming GraphQL in Type-Safe Languages - Anthony Miller, Apollo GraphQL", + "event_start": "2024-09-10 16:20", + "event_end": "2024-09-10 16:50", + "event_type": "GraphQL Clients", + "description": "GraphQL itself is a type-safe language. A schema is composed of well-defined types, supports nullability, and allows for inheritance through interfaces. The flexibility and expressiveness provided by a GraphQL schema seems to be a perfect fit for use with type-safe coding languages. But there are many challenges to overcome when consuming a GraphQL schema in strictly type-safe languages. This talk will discuss why GraphQL seems to conflict with type safety; explore some of the notable challenges GraphQL client developers face when consuming a GraphQL API; and uncover how the Apollo team has approached solutions for many of these issues in Swift and the Apollo iOS client.", + "goers": "29", + "video_stream": "https://www.youtube.com/watch?v=CFIqWwWLSb8", + "seats": "0", + "invite_only": "N", + "venue": "Skyline B-C - Level 21", + "company": "Intermediate", + "audience": "Session Presentations", + "id": "c9734088ee56ff8e1410bf33e494f71d", + "venue_id": "1944314", + "speakers": [ + { + "username": "anthony_miller1", + "id": "21066803", + "name": "Anthony Miller", + "company": "Apollo GraphQL", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "10", + "event_start_weekday": "Tuesday", + "event_start_weekday_short": "Tue", + "event_start_time": "4:20pm", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "10", + "event_end_weekday": "Tuesday", + "event_end_weekday_short": "Tue", + "event_end_time": "4:50pm", + "start_date": "2024-09-10", + "start_time": "16:20:00", + "start_time_ts": 1726010400, + "end_date": "2024-09-10", + "end_time": "16:50:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf2024/0c/ConsumingGraphQL.key", + "name": "ConsumingGraphQL.key" + } + ] + }, + { + "event_key": "685205", + "active": "Y", + "pinned": "N", + "name": "Lessons from Scaling GraphQL to Half a Billion Requests per Minute - Tushar Mathur, Tailcall", + "event_start": "2024-09-10 16:20", + "event_end": "2024-09-10 16:50", + "event_type": "Scaling", + "description": "Learn about the scaling challenges we faced in terms of infrastructure, organizational growth, and the technological aspects of GraphQL usage within a hyper-growth startup. In September 2016, when our team of ten-odd full-stack engineers adopted GraphQL, we were handling a few thousand requests per second on our GraphQL layer. Fast forward to 2023, the engineering team has grown to 1,000 members managing half a billion requests per minute at peak. In this talk we aim to address critical questions regarding GraphQL's performance, when is the right time to integrate it, exploring whether GraphQL is predominantly a front-end abstraction or if it can also be effectively utilized in back-end operations for service-to-service communication. Drawing from years of extensive GraphQL usage at a significant scale—without the need for federation—we will introduce for the first time an open-source project that helped us elegantly design, streamline, and scale optimal GraphQL APIs.", + "goers": "57", + "video_stream": "https://www.youtube.com/watch?v=Esb7oQ0PuXw", + "seats": "0", + "invite_only": "N", + "venue": "Skyline A - Level 21", + "company": "Intermediate", + "audience": "Session Presentations", + "id": "870876ffad45b79d11e09393e7f22587", + "venue_id": "1944311", + "speakers": [ + { + "username": "tushar.mathur", + "id": "21066872", + "name": "Tushar Mathur", + "company": "Tailcall", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "10", + "event_start_weekday": "Tuesday", + "event_start_weekday_short": "Tue", + "event_start_time": "4:20pm", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "10", + "event_end_weekday": "Tuesday", + "event_end_weekday_short": "Tue", + "event_end_time": "4:50pm", + "start_date": "2024-09-10", + "start_time": "16:20:00", + "start_time_ts": 1726010400, + "end_date": "2024-09-10", + "end_time": "16:50:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf2024/3c/slides.pdf", + "name": "slides.pdf" + } + ] + }, + { + "event_key": "706604", + "active": "Y", + "pinned": "N", + "name": "GraphQL Federation in the Wild - Stefan Avram, Wundergraph", + "event_start": "2024-09-10 17:00", + "event_end": "2024-09-10 17:30", + "event_type": "Federation and Composite Schemas", + "description": "Real-world observations of GraphQL Federation use. \n \nGartner predicts, \"By 2027, 30% of enterprises utilizing GraphQL will employ GraphQL federation, up from less than 5% in 2024.\" The report states, “Federation enables centralized governance, team autonomy (teams can own their subgraphs), composability, and adaptability to evolving requirements at different speeds.” \n \nAs GraphQL Federation continues to redefine how enterprises architect and scale their APIs, 2024 has marked a pivotal year in its adoption and evolution. This session will explore the rising trend of GraphQL Federation, highlighting key insights and success stories from diverse customer and partner bases. \n \nWe will delve into how businesses leverage federation to create more cohesive, efficient, and scalable API landscapes, addressing current challenges and showcasing emerging best practices. \n \nJoin us to understand the broader impact of GraphQL Federation in the tech industry and gather actionable strategies to enhance your organization's API strategies through advanced GraphQL techniques.", + "goers": "46", + "video_stream": "https://www.youtube.com/watch?v=K9HCb5Q2Juc", + "seats": "0", + "invite_only": "N", + "venue": "Skyline A - Level 21", + "company": "Any", + "audience": "Session Presentations", + "geo_area": "Yes", + "id": "9b4f92f2579d24a3c20e6533686aca6b", + "venue_id": "1944311", + "speakers": [ + { + "username": "stefan239", + "id": "21335795", + "name": "Stefan Avram", + "company": "Wundergraph", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "10", + "event_start_weekday": "Tuesday", + "event_start_weekday_short": "Tue", + "event_start_time": "5:00pm", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "10", + "event_end_weekday": "Tuesday", + "event_end_weekday_short": "Tue", + "event_end_time": "5:30pm", + "start_date": "2024-09-10", + "start_time": "17:00:00", + "start_time_ts": 1726012800, + "end_date": "2024-09-10", + "end_time": "17:30:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf2024/1b/GraphQL%20Federation%20in%20the%20Wild.pdf", + "name": "GraphQL Federation in the Wild.pdf" + } + ] + }, + { + "event_key": "698709", + "active": "Y", + "pinned": "N", + "name": "Build Confidently: How @Catch and Error Handling Pave the Way to Confidence in Field Nullability - Itamar Kestenbaum, Meta", + "event_start": "2024-09-10 17:00", + "event_end": "2024-09-10 17:30", + "event_type": "GraphQL Clients", + "description": "In this session - we’ll explore how GraphQL Clients can provide a road for developers to make full use of Semantic Nullability! GraphQL Spec defines that field errors should result in a null value. This makes null values ambiguous - either null due to error - or null due to nullability. Semantic Nullability allows you to define nullability explicitly - see https://github.com/graphql/graphql-wg/discussions/1410 Therefore, GraphQL Clients need to be able to handle errors differently - giving engineers more confidence in how field states are handled. In this session, we'll cover: 1. Why explicitly handling errors can enable us to move to a new normal where all errors are surfaced explicitly (throw-by-default on error) 2. How using @catch directive allows us to differentiate error nulls from true nulls in product code 3. Steps 1 and 2 will require developers to handle errors explicitly - and this opens the door to Semantic Nullability! I’ll also cover how working on the @catch directive helped push the semantic nullability conversation forward, the rollout at Meta, and what future capabilities can be unlocked. Original proposal: https://github.com/facebook/relay/issues/4416", + "goers": "45", + "video_stream": "https://www.youtube.com/watch?v=_TSYKAtaK5A", + "seats": "0", + "invite_only": "N", + "venue": "Skyline B-C - Level 21", + "company": "Any", + "audience": "Session Presentations", + "id": "c8426c5a3d9418e921f6d8717ff98ac3", + "venue_id": "1944314", + "speakers": [ + { + "username": "itamark", + "id": "80829", + "name": "Itamar Kestenbaum", + "company": "Meta", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "10", + "event_start_weekday": "Tuesday", + "event_start_weekday_short": "Tue", + "event_start_time": "5:00pm", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "10", + "event_end_weekday": "Tuesday", + "event_end_weekday_short": "Tue", + "event_end_time": "5:30pm", + "start_date": "2024-09-10", + "start_time": "17:00:00", + "start_time_ts": 1726012800, + "end_date": "2024-09-10", + "end_time": "17:30:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf2024/c0/GraphQLConf%202024%20-%20Relay%20Error%20Handling%20and%20@catch%20(7).pdf", + "name": "GraphQLConf 2024 - Relay Error Handling and @catch (7).pdf" + } + ] + }, + { + "event_key": "706602", + "active": "Y", + "pinned": "N", + "name": "Reception", + "event_start": "2024-09-10 17:30", + "event_end": "2024-09-10 19:00", + "event_type": "Breaks & Special Events", + "goers": "48", + "seats": "0", + "invite_only": "N", + "venue": "Level 2 Foyer", + "id": "4df9dbdef91ea1bc5fce211e6b7e3f52", + "venue_id": "1944317", + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "10", + "event_start_weekday": "Tuesday", + "event_start_weekday_short": "Tue", + "event_start_time": "5:30pm", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "10", + "event_end_weekday": "Tuesday", + "event_end_weekday_short": "Tue", + "event_end_time": "7:00pm", + "start_date": "2024-09-10", + "start_time": "17:30:00", + "start_time_ts": 1726014600, + "end_date": "2024-09-10", + "end_time": "19:00:00", + "description": "" + }, + { + "event_key": "706599", + "active": "Y", + "pinned": "N", + "name": "Registration & Badge Pick-up", + "event_start": "2024-09-11 08:00", + "event_end": "2024-09-11 17:00", + "event_type": "Registration & Badge Pick-up", + "goers": "9", + "seats": "0", + "invite_only": "N", + "venue": "Level 2 Foyer", + "id": "c044cbad42295fda4adedd7018df6b2a", + "venue_id": "1944317", + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "11", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "8:00am", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "11", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "5:00pm", + "start_date": "2024-09-11", + "start_time": "08:00:00", + "start_time_ts": 1726066800, + "end_date": "2024-09-11", + "end_time": "17:00:00", + "description": "" + }, + { + "event_key": "706618", + "active": "Y", + "pinned": "N", + "name": "Keynote: Welcome Back & Opening Remarks - Sasha Solomon, Staff Software Engineer/Tech Lead", + "event_start": "2024-09-11 09:00", + "event_end": "2024-09-11 09:05", + "event_type": "Keynote Sessions", + "goers": "64", + "video_stream": "https://www.youtube.com/watch?v=VgndfUI_xKI", + "seats": "0", + "invite_only": "N", + "venue": "Metropolitan Ballroom", + "id": "8a7cb5ace8f6474a756f317f336d549f", + "venue_id": "1944323", + "speakers": [ + { + "username": "sasha177", + "id": "21336701", + "name": "Sasha Solomon", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "11", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "9:00am", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "11", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "9:05am", + "start_date": "2024-09-11", + "start_time": "09:00:00", + "start_time_ts": 1726070400, + "end_date": "2024-09-11", + "end_time": "09:05:00", + "description": "" + }, + { + "event_key": "706612", + "active": "Y", + "pinned": "N", + "name": "Keynote: Apollo's Journey with GraphQL: Transforming Enterprise APIs for the Future - Matt DeBergalis, Apollo GraphQL", + "event_start": "2024-09-11 09:05", + "event_end": "2024-09-11 09:25", + "event_type": "Keynote Sessions", + "description": "As the tech landscape continues to move into the next frontier, GraphQL is now the most important new API technology in the enterprise. Join Matt DeBergalis, CTO and Co-founder of Apollo GraphQL, to explore how GraphQL is rapidly gaining adoption, revolutionizing API strategies, and readying the enterprise for an AI-driven world.", + "goers": "64", + "video_stream": "https://www.youtube.com/watch?v=QbuRTGdt4fA", + "seats": "0", + "invite_only": "N", + "venue": "Metropolitan Ballroom", + "id": "486758a780cbd512a88c6def8f9ba36a", + "venue_id": "1944323", + "speakers": [ + { + "username": "matt1575", + "id": "7503056", + "name": "Matt DeBergalis", + "company": "Apollo GraphQL", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "11", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "9:05am", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "11", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "9:25am", + "start_date": "2024-09-11", + "start_time": "09:05:00", + "start_time_ts": 1726070700, + "end_date": "2024-09-11", + "end_time": "09:25:00" + }, + { + "event_key": "706613", + "active": "Y", + "pinned": "N", + "name": "Sponsored Keynote: GraphQL, BFFs and AI - Anant Jhingran, IBM", + "event_start": "2024-09-11 09:25", + "event_end": "2024-09-11 09:35", + "event_type": "Keynote Sessions", + "description": "There is no AI without APIs--after all, whether it is models, vector databases or enterprise systems, they are all behind APIs. GraphQL APIs make it especially convenient to connect to backend systems. BFF patterns supported by GraphQL APIs eliminate the need for enterprise-wide agreements--each LLM powered application can get a magical view of the data it needs.", + "goers": "60", + "video_stream": "https://www.youtube.com/watch?v=vLFWJ5FO7GI", + "seats": "0", + "invite_only": "N", + "venue": "Metropolitan Ballroom", + "company": "Any", + "id": "950039dcb680cef826423ad5c0678714", + "venue_id": "1944323", + "speakers": [ + { + "username": "ajhingran", + "id": "19225935", + "name": "Anant Jhingran", + "company": "IBM", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "11", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "9:25am", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "11", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "9:35am", + "start_date": "2024-09-11", + "start_time": "09:25:00", + "start_time_ts": 1726071900, + "end_date": "2024-09-11", + "end_time": "09:35:00" + }, + { + "event_key": "693038", + "active": "Y", + "pinned": "N", + "name": "Keynote: GraphQL in the House - Andrew Doyle, U.S. House of Representatives", + "event_start": "2024-09-11 09:35", + "event_end": "2024-09-11 09:55", + "event_type": "Keynote Sessions", + "description": "An overview of how the Office of the Clerk has used GraphQL to modernize a large legacy system used to manage legislative data and processes in the House of Representatives. The talk will cover architecture, technologies, process and an overview of our application. We have moved significant portions of our application from a legacy database management and application framework to a modern relational database with a microservice business logic layer and a single page application client. GraphQL is used to tie the application, data and business logic together in a single API that is shared across multiple applications and modules. The initial approach has evolved into a platform for building applications that host complex data and business logic. We are also evolving our architecture to deliver data from our applications directly to legislative branch partners over a GraphQL endpoint, replacing multiple legacy delivery methods.", + "goers": "61", + "video_stream": "https://www.youtube.com/watch?v=VqVBGM4XEiE", + "seats": "0", + "invite_only": "N", + "venue": "Metropolitan Ballroom", + "company": "Any", + "id": "2b8cf13e46335dc0f98c57dd576551c3", + "venue_id": "1944323", + "speakers": [ + { + "username": "andrew.doyle1", + "id": "21066800", + "name": "Andrew Doyle", + "company": "U.S. House of Representatives", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "11", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "9:35am", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "11", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "9:55am", + "start_date": "2024-09-11", + "start_time": "09:35:00", + "start_time_ts": 1726072500, + "end_date": "2024-09-11", + "end_time": "09:55:00" + }, + { + "event_key": "706619", + "active": "Y", + "pinned": "N", + "name": "Keynote: GraphQL Clients in 2024 - Jeff Auriemma, Apollo GraphQL", + "event_start": "2024-09-11 09:55", + "event_end": "2024-09-11 10:05", + "event_type": "Keynote Sessions", + "description": "GraphQL is an established and trusted piece of technology in the modern stack. GraphQL client libraries are the bridge connecting your language or framework of choice to your backend, often exposing elegant APIs for features such as state management, caching, and type-safety. The past year has been transformative for GraphQL client users: innovations both within the GraphQL community and in prominent web and mobile frameworks have put more value into users’ hands. In this keynote, you’ll learn what’s new in the open-source GraphQL client world and why it matters more than ever in 2024.", + "goers": "59", + "video_stream": "https://www.youtube.com/watch?v=wqRKO_vLY_c", + "seats": "0", + "invite_only": "N", + "venue": "Metropolitan Ballroom", + "id": "7669ef25b3ab08adabebe712dc0ee19c", + "venue_id": "1944323", + "speakers": [ + { + "username": "jeff.auriemma", + "id": "18743876", + "name": "Jeff Auriemma", + "company": "Apollo GraphQL", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "11", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "9:55am", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "11", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "10:05am", + "start_date": "2024-09-11", + "start_time": "09:55:00", + "start_time_ts": 1726073700, + "end_date": "2024-09-11", + "end_time": "10:05:00" + }, + { + "event_key": "706630", + "active": "Y", + "pinned": "N", + "name": "Keynote: Empathy Driven Development - Sarah Sanders, Highnote", + "event_start": "2024-09-11 10:05", + "event_end": "2024-09-11 10:15", + "event_type": "Keynote Sessions", + "description": "In this talk, Sarah will guide us as we explore the transformative power of Empathy Driven Development and its impact on creating a rich developer experience. By stepping into the shoes of the developers using our products, we can transform how they interact with our products, schemas, and documentation. Sarah will also touch on the importance of future-oriented thinking in this approach, discussing how rapidly evolving technology is reshaping developer workflows. By anticipating these changes, we can adapt our developer experience strategies to remain relevant and effective. This talk promises to offer valuable insights into fostering a more empathetic, forward-thinking approach to development that improves our current practices and prepares us for the evolution of technology.", + "goers": "46", + "video_stream": "https://www.youtube.com/watch?v=0K_Sp0g1ogc", + "seats": "0", + "invite_only": "N", + "venue": "Metropolitan Ballroom", + "id": "d3f8f96d85291af99ee392ae1e8db596", + "venue_id": "1944323", + "speakers": [ + { + "username": "sasanders26", + "id": "21066861", + "name": "Sarah Sanders", + "company": "Highnote", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "11", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "10:05am", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "11", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "10:15am", + "start_date": "2024-09-11", + "start_time": "10:05:00", + "start_time_ts": 1726074300, + "end_date": "2024-09-11", + "end_time": "10:15:00" + }, + { + "event_key": "14", + "active": "Y", + "pinned": "N", + "name": "Keynote: Closing Remarks - Sasha Solomon, Staff Software Engineer/Tech Lead", + "event_start": "2024-09-11 10:20", + "event_end": "2024-09-11 10:30", + "event_type": "Keynote Sessions", + "goers": "60", + "video_stream": "https://www.youtube.com/watch?v=t9swX1jpLSU", + "seats": "0", + "invite_only": "N", + "venue": "Metropolitan Ballroom", + "id": "ddf5766e2b98ed4a1055c31926575d1b", + "venue_id": "1944323", + "speakers": [ + { + "username": "sasha177", + "id": "21336701", + "name": "Sasha Solomon", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "11", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "10:20am", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "11", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "10:30am", + "start_date": "2024-09-11", + "start_time": "10:20:00", + "start_time_ts": 1726075200, + "end_date": "2024-09-11", + "end_time": "10:30:00", + "description": "" + }, + { + "event_key": "11", + "active": "Y", + "pinned": "N", + "name": "Coffee Break", + "event_start": "2024-09-11 10:30", + "event_end": "2024-09-11 11:00", + "event_type": "Breaks & Special Events", + "goers": "34", + "seats": "0", + "invite_only": "N", + "venue": "Level 2 Foyer", + "id": "30ea7a71fd410161e413a6a41eb5902c", + "venue_id": "1944317", + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "11", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "10:30am", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "11", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "11:00am", + "start_date": "2024-09-11", + "start_time": "10:30:00", + "start_time_ts": 1726075800, + "end_date": "2024-09-11", + "end_time": "11:00:00", + "description": "" + }, + { + "event_key": "706607", + "active": "Y", + "pinned": "N", + "name": "Sponsor Showcase", + "event_start": "2024-09-11 10:30", + "event_end": "2024-09-11 17:00", + "event_type": "Sponsor Showcase", + "description": "Visit the sponsors in the Sponsor Showcase!", + "goers": "17", + "seats": "0", + "invite_only": "N", + "venue": "Level 2 Foyer", + "id": "b106db6eb7ca1aba331fcfb86dff9f22", + "venue_id": "1944317", + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "11", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "10:30am", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "11", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "5:00pm", + "start_date": "2024-09-11", + "start_time": "10:30:00", + "start_time_ts": 1726075800, + "end_date": "2024-09-11", + "end_time": "17:00:00" + }, + { + "event_key": "706597", + "active": "Y", + "pinned": "N", + "name": "Why You Should Use Implementation-First to Build Your GraphQL Schema - Erik Wrede, fulfillmenttools", + "event_start": "2024-09-11 11:00", + "event_end": "2024-09-11 11:30", + "event_type": "Backend", + "description": "When we look at GraphQL server implementation approaches, you often see the discussion between code-first and schema-first as a schema building approach. What is overlooked is that Facebook actually built their Hack-based GraphQL server with implementation-first. This approach will infer the GraphQL schema from your code, and by extension from your business layer. In this talk, I will look at various implementations of implementation-first and explain why Facebook chose this approach to build their own GraphQL server and why it is actually the better approach in most projects.", + "goers": "16", + "video_stream": "https://www.youtube.com/watch?v=ZilgUSmo_hA", + "seats": "0", + "invite_only": "N", + "venue": "Skyline B-C - Level 21", + "company": "Intermediate", + "audience": "Session Presentations", + "id": "c13801cab4bdcf1c9e7321fba8daca3f", + "venue_id": "1944314", + "speakers": [ + { + "username": "erikwrede2", + "id": "21102110", + "name": "Erik Wrede", + "company": "fulfillmenttools", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "11", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "11:00am", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "11", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "11:30am", + "start_date": "2024-09-11", + "start_time": "11:00:00", + "start_time_ts": 1726077600, + "end_date": "2024-09-11", + "end_time": "11:30:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf2024/e0/Implementation-First-GraphQL%20Conf%202024.pdf", + "name": "Implementation-First-GraphQL Conf 2024.pdf" + } + ] + }, + { + "event_key": "691875", + "active": "Y", + "pinned": "N", + "name": "GraphQL Field Discovery and Query Generation Using Generative AI - Rachit Sengupta & Siva Thiru, Intuit", + "event_start": "2024-09-11 11:00", + "event_end": "2024-09-11 11:30", + "event_type": "Developer Experience", + "description": "Discovering GraphQL fields and generating queries is a tedious task for developers. They spend a considerable amount of time finding the appropriate fields in large schemas. To solve this problem at Intuit where we have a super graph consisting of millions of lines we implemented a framework that makes use of Generative AI to help developers with attribute discovery and query generation. The benefits of our approach include being able to work with large schemas without the hassle of going through the whole schema and requiring less back and forth communication between consumers and schema owners, which results in a huge boost in developer productivity. We created chunks of the schema and ingested them into a vector store, we then do a retrieval, dynamically build a minimal schema and perform RAG where the LLM is provided with the minimal schema and the user query. The LLM responds with either a list of discovered attributes or GraphQL query. This framework aims to achieve lower latency and less hallucinations by reducing the size of the schema sent to the LLM, this also results in lower costs and higher accuracy.", + "goers": "35", + "video_stream": "https://www.youtube.com/watch?v=Zjz2ou41-LI", + "seats": "0", + "invite_only": "N", + "venue": "Metropolitan B-C", + "company": "Any", + "audience": "Session Presentations", + "id": "83cfae91425cec04854a0ebc173d9c77", + "venue_id": "1944308", + "speakers": [ + { + "username": "siva27", + "id": "9778144", + "name": "Siva Thiru", + "company": "Intuit", + "custom_order": 0 + }, + { + "username": "rachit_sengupta", + "id": "21066842", + "name": "Rachit Sengupta", + "company": "Intuit", + "custom_order": 1 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "11", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "11:00am", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "11", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "11:30am", + "start_date": "2024-09-11", + "start_time": "11:00:00", + "start_time_ts": 1726077600, + "end_date": "2024-09-11", + "end_time": "11:30:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf2024/9b/GraphQLConf_2024_PPT.pptx.pdf", + "name": "GraphQLConf_2024_PPT.pptx.pdf" + } + ] + }, + { + "event_key": "706620", + "active": "Y", + "pinned": "N", + "name": "Revolutionizing Data Access Using GraphQL in the Oracle Database - Shashank Gugnani, Oracle", + "event_start": "2024-09-11 11:00", + "event_end": "2024-09-11 11:30", + "event_type": "GraphQL in Production", + "description": "We will explore the revolutionary integration of GraphQL with the Oracle Database in this session. The way developers query and interact with the database has been greatly simplified by this integration. We will introduce the concept of Duality Views, a brand-new feature available in Oracle Database 23ai. Using Duality Views, data is still stored in relational tables in a highly efficient normalized format but is accessed by apps in the form of JSON documents. Duality Views are created using an intuitive and flexible GraphQL-like syntax, enhancing developer productivity. \n \nWe will also demonstrate new capabilities in the database to automatically infer the GraphQL schema from existing relational schemas, making it easy to introspect and visualize the relational schema as well as write GraphQL queries against the database. Finally, we will talk about new GraphQL directives to allow calculations, reshaping, and transformations in a GraphQL query that can be executed on a relational database. \n \nCome learn how Oracle's support for GraphQL is transforming data access and providing a powerful and seamless solution for modern application development.", + "goers": "6", + "video_stream": "https://www.youtube.com/watch?v=WUiDRozAcQk", + "seats": "0", + "invite_only": "N", + "venue": "Metropolitan A", + "company": "Intermediate", + "audience": "Session Presentations", + "geo_area": "Yes", + "id": "f766992611ab85a48547edab68f135d2", + "venue_id": "1944305", + "speakers": [ + { + "username": "shashank.gugnani", + "id": "21458022", + "name": "Shashank Gugnani", + "company": "Oracle", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "11", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "11:00am", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "11", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "11:30am", + "start_date": "2024-09-11", + "start_time": "11:00:00", + "start_time_ts": 1726077600, + "end_date": "2024-09-11", + "end_time": "11:30:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf2024/e1/GraphQLConf-2024-v5-pdf.pdf", + "name": "GraphQLConf-2024-v5-pdf.pdf" + } + ] + }, + { + "event_key": "685433", + "active": "Y", + "pinned": "N", + "name": "State of @Defer and @Stream - Rob Richard, 1stDibs", + "event_start": "2024-09-11 11:00", + "event_end": "2024-09-11 11:30", + "event_type": "GraphQL Spec", + "description": "The @defer and @stream directives are proposed additions to the GraphQL Spec. In this session, you’ll learn about these directives and how you can use them to lower latency in your GraphQL application. The proposal has been in progress for some time now and has gone through many iterations. Learn about the motivation behind these changes and how they will lead to scalable GraphQL servers and efficient clients.", + "goers": "51", + "video_stream": "https://www.youtube.com/watch?v=Ef6qv26fZHk", + "seats": "0", + "invite_only": "N", + "venue": "Skyline A - Level 21", + "company": "Any", + "audience": "Session Presentations", + "id": "dd457152162ecb3609b4adac4026fe02", + "venue_id": "1944311", + "speakers": [ + { + "username": "robrichard87", + "id": "21066852", + "name": "Rob Richard", + "company": "1stdibs", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "11", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "11:00am", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "11", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "11:30am", + "start_date": "2024-09-11", + "start_time": "11:00:00", + "start_time_ts": 1726077600, + "end_date": "2024-09-11", + "end_time": "11:30:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf2024/64/Defer%20and%20Stream%20GraphQL%20Conf%202024.pdf", + "name": "Defer and Stream GraphQL Conf 2024.pdf" + } + ] + }, + { + "event_key": "691762", + "active": "Y", + "pinned": "N", + "name": "Dynamically Serving a GraphQL API with Custom Types at Runtime - Emily Li, Benchling", + "event_start": "2024-09-11 11:40", + "event_end": "2024-09-11 12:10", + "event_type": "Backend", + "description": "Existing GraphQL frameworks are well designed to handle statically defined types and resolvers. Here at Benchling, we faced the problem of serving a GraphQL API which incorporated customer-defined types at runtime with a dynamically generated graph that varies customer-to-customer. In this talk, I’ll describe some of the challenges in serving this GraphQL API, including dynamic generation of graph components and performance. Then, I’ll describe how we extended Strawberry (the GraphQL framework we decided to use) to handle our use cases as well as a graph-caching strategy that allowed us to dramatically improve the performance of serving the API.", + "goers": "23", + "video_stream": "https://www.youtube.com/watch?v=M3wGkC7rzmE", + "seats": "0", + "invite_only": "N", + "venue": "Skyline B-C - Level 21", + "company": "Intermediate", + "audience": "Session Presentations", + "id": "24100908c07eed48ee464ca2509ef527", + "venue_id": "1944314", + "speakers": [ + { + "username": "emily.li2", + "id": "21066813", + "name": "Emily Li", + "company": "Benchling", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "11", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "11:40am", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "11", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "12:10pm", + "start_date": "2024-09-11", + "start_time": "11:40:00", + "start_time_ts": 1726080000, + "end_date": "2024-09-11", + "end_time": "12:10:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf2024/ce/Emily_Li_GraphQLConf_2024.pdf", + "name": "Emily_Li_GraphQLConf_2024.pdf" + } + ] + }, + { + "event_key": "681437", + "active": "Y", + "pinned": "N", + "name": "GraphQL Docs: Beyond the Schema - Sarah Sanders, Highnote", + "event_start": "2024-09-11 11:40", + "event_end": "2024-09-11 12:10", + "event_type": "Developer Experience", + "description": "GraphQL Docs: Beyond the Schema is a presentation focusing on how Technical Writers and DevEx teams can enhance developer experience with interactive documentation. I hope to inspire DevEx teams and Technical Writers to consider GraphQL as more than just \"self-documenting.\" The problem I will present is that I want more than a schema as a developer. I want to know how to use the schema to build my product. The solution to the problem will focus on interactive documentation by defining what makes it interactive, for example, embedded code samples linked to a user's sandbox environment. I will then explore how DevEx teams can implement these elements to create interactive documentation for their GraphQL API. I expect the audience to gain insight into exactly how they can create their own interactive GraphQL documentation and best practices. This presentation will help better the ecosystem by highlighting the pain points of GraphQL documentation as it exists today, emphasizing the need to create interactive documentation for developers working with GraphQL, and enforcing the importance of creating rich developer experiences.", + "goers": "29", + "video_stream": "https://www.youtube.com/watch?v=IzJeffH_x_s", + "seats": "0", + "invite_only": "N", + "venue": "Metropolitan B-C", + "company": "Any", + "audience": "Session Presentations", + "id": "65768f566de8acf5320a4ed1fef47606", + "venue_id": "1944308", + "speakers": [ + { + "username": "sasanders26", + "id": "21066861", + "name": "Sarah Sanders", + "company": "Highnote", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "11", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "11:40am", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "11", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "12:10pm", + "start_date": "2024-09-11", + "start_time": "11:40:00", + "start_time_ts": 1726080000, + "end_date": "2024-09-11", + "end_time": "12:10:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf2024/59/GraphQL%20Docs%20Beyond%20the%20Schema%20(1).pdf", + "name": "GraphQL Docs Beyond the Schema (1).pdf" + } + ] + }, + { + "event_key": "692382", + "active": "Y", + "pinned": "N", + "name": "The Intersection of GraphQL and Design Systems in Product Development - Ruben Cagnie & Alan Quigley, Toast", + "event_start": "2024-09-11 11:40", + "event_end": "2024-09-11 12:10", + "event_type": "GraphQL in Production", + "description": "Introducing GraphQL into the product development lifecycle changes the game. This talk explores the impact of GraphQL on mock data-driven development, highlighting data consistency and discoverability. Learn how GraphQL centralizes UI engineering, streamlining workflows and enhancing collaboration, resulting in superior product design and build quality.", + "goers": "21", + "video_stream": "https://www.youtube.com/watch?v=WZjwk_tRgvA", + "seats": "0", + "invite_only": "N", + "venue": "Metropolitan A", + "company": "Any", + "audience": "Session Presentations", + "id": "19cf965c68cfae3c7c19c6a9966bcadf", + "venue_id": "1944305", + "speakers": [ + { + "username": "alan.quigley", + "id": "21066789", + "name": "Alan Quigley", + "company": "Toast Inc", + "custom_order": 0 + }, + { + "username": "ruben.cagnie", + "id": "21066855", + "name": "Ruben Cagnie", + "company": "Toast", + "custom_order": 1 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "11", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "11:40am", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "11", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "12:10pm", + "start_date": "2024-09-11", + "start_time": "11:40:00", + "start_time_ts": 1726080000, + "end_date": "2024-09-11", + "end_time": "12:10:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf2024/69/presentation.pdf", + "name": "presentation.pdf" + } + ] + }, + { + "event_key": "686002", + "active": "Y", + "pinned": "N", + "name": "Techniques to Protect Your GraphQL API - Benjie Gillam, Graphile", + "event_start": "2024-09-11 11:40", + "event_end": "2024-09-11 12:10", + "event_type": "GraphQL Security", + "description": "GraphQL poses unique challenges when it comes to security due to the nature of its powerful query language. In this talk we'll explore different types of GraphQL APIs and their varying and common security needs. We'll then look at the techniques that can be used to protect these APIs and which techniques pair well with each API type. These techniques are not specific to any one vendor or programming language but general best practices that help protect your servers from threats both known and unknown. Attendees will come away with an understanding of common threats GraphQL APIs face, and suitable techniques to address them.", + "goers": "43", + "video_stream": "https://www.youtube.com/watch?v=W7qIux5BAvs", + "seats": "0", + "invite_only": "N", + "venue": "Skyline A - Level 21", + "company": "Intermediate", + "audience": "Session Presentations", + "id": "4dc607a403a2316846b59d0c5a9858c9", + "venue_id": "1944311", + "speakers": [ + { + "username": "benjie3", + "id": "18743846", + "name": "Benjie Gillam", + "company": "Graphile", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "11", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "11:40am", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "11", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "12:10pm", + "start_date": "2024-09-11", + "start_time": "11:40:00", + "start_time_ts": 1726080000, + "end_date": "2024-09-11", + "end_time": "12:10:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf2024/3c/graphql-techniques-to-protect.pdf", + "name": "graphql-techniques-to-protect.pdf" + } + ] + }, + { + "event_key": "8", + "active": "Y", + "pinned": "N", + "name": "Lunch Break - Attendees on Own", + "event_start": "2024-09-11 12:10", + "event_end": "2024-09-11 13:40", + "event_type": "Breaks & Special Events", + "description": "Lunch will be on your own. San Francisco offers a variety of dining options nearby to suit different tastes and preferences. Feel free to explore the local area and enjoy your meal. We’ll reconvene at 1:40 PM for the next session.", + "goers": "38", + "seats": "0", + "invite_only": "N", + "venue": "Attendees On Own", + "id": "4003c42a935c2de7c19896b6c0351c0d", + "venue_id": "1979819", + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "11", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "12:10pm", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "11", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "1:40pm", + "start_date": "2024-09-11", + "start_time": "12:10:00", + "start_time_ts": 1726081800, + "end_date": "2024-09-11", + "end_time": "13:40:00" + }, + { + "event_key": "698984", + "active": "Y", + "pinned": "N", + "name": "Dynamic (but Safe) Operations: Using AI to Generate Trusted Operations from Text Prompts - Michael Watson, Apollo GraphQL", + "event_start": "2024-09-11 13:40", + "event_end": "2024-09-11 14:10", + "event_type": "API Platform", + "description": "Platform engineering and internal developer portals have been a growing trend in the tech industry to make developers more efficient. For example, how do we help new developers ship their first feature faster? GraphQL helps Platform API efforts ship features faster, but what about when your schema gets very complex? How can a new developer find what they need quickly? GraphQL already provides a complete and understandable description of the data in our APIs, but what if we provide that context to a LLM? In this talk, we'll journey through GitHub's APIs and explore how a GraphQL schema is a significant advantage in AI-based tooling. We're seeing more AI-based tools generate fetch code based on OpenAPI definitions, and while they may be tempting at first, it could be a decision with unexpected trade-offs. We'll show how to take a standard open-sourced LLM and provide a GraphQL-aware context to generate operations from text input. After this talk, you can safely bring AI to your developer efficiency initiatives with any LLM, 3rd party, or self-hosted!", + "goers": "24", + "video_stream": "https://www.youtube.com/watch?v=3msKy5VOml0", + "seats": "0", + "invite_only": "N", + "venue": "Skyline B-C - Level 21", + "company": "Any", + "audience": "Session Presentations", + "id": "f02cda18e19887fddeb56b06445ac256", + "venue_id": "1944314", + "speakers": [ + { + "username": "watson17", + "id": "19024254", + "name": "Michael Watson", + "company": "Apollo GraphQL", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "11", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "1:40pm", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "11", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "2:10pm", + "start_date": "2024-09-11", + "start_time": "13:40:00", + "start_time_ts": 1726087200, + "end_date": "2024-09-11", + "end_time": "14:10:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf2024/82/Dynamic%20(but%20Safe)%20Operations.pdf", + "name": "Dynamic (but Safe) Operations.pdf" + } + ] + }, + { + "event_key": "691410", + "active": "Y", + "pinned": "N", + "name": "Schema-Driven UI Components: Revolutionizing Headless ERP with GraphQL - Seiya Izumi & Masanori Uehara, Tailor Inc.", + "event_start": "2024-09-11 13:40", + "event_end": "2024-09-11 14:10", + "event_type": "Developer Experience", + "description": "Modern ERPs must be highly customizable and easily integrated with other systems while generating UI components on top should be seamless. In this talk, we will explore why GraphQL, with its robust and flexible querying capabilities, is exceptionally suited for developing modern ERP solutions. In addition, we’ll explore the technical aspects of generating front-end UI components directly from the GraphQL schema, what we call Schema-Driven UI, not Server-Driven UI. This approach is particularly beneficial in the ERP domain, where dynamic and complex data interactions are common. Automating the process of generating UI components directly from the Schema ensures consistency across systems by keeping everything in sync.", + "goers": "13", + "video_stream": "https://www.youtube.com/watch?v=U4gCky2TFWE", + "seats": "0", + "invite_only": "N", + "venue": "Metropolitan B-C", + "company": "Intermediate", + "audience": "Session Presentations", + "id": "b43e5c894796be3b0b0f0d0b662d4a5a", + "venue_id": "1944308", + "speakers": [ + { + "username": "masanori.uehara", + "id": "21066828", + "name": "Masanori Uehara", + "company": "Tailor Inc.", + "custom_order": 0 + }, + { + "username": "seiyaizumi", + "id": "21066863", + "name": "Seiya Izumi", + "company": "Tailor Inc.", + "custom_order": 1 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "11", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "1:40pm", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "11", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "2:10pm", + "start_date": "2024-09-11", + "start_time": "13:40:00", + "start_time_ts": 1726087200, + "end_date": "2024-09-11", + "end_time": "14:10:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf2024/1b/Schema%20Driven%20UI%20-%20Tailor%20Inc.pdf", + "name": "Schema Driven UI - Tailor Inc.pdf" + } + ] + }, + { + "event_key": "689933", + "active": "Y", + "pinned": "N", + "name": "Identity and GraphQL: More Than You Want to Think About IDs - Matt Mahoney, Meta", + "event_start": "2024-09-11 13:40", + "event_end": "2024-09-11 14:10", + "event_type": "GraphQL in Production", + "description": "IDs are really important to get right, yet GraphQL the language doesn't discuss them at all, besides requiring every single implementation to have a special ID type! At Meta, we found our types all had their own eclectic idea of what an ID really was. Some had three! We'll walk through where in production systems IDs matter, and how Meta attempts to formalize a few core principles to prevent disaster.", + "goers": "36", + "video_stream": "https://www.youtube.com/watch?v=jv8q7kFyxo0", + "seats": "0", + "invite_only": "N", + "venue": "Metropolitan A", + "company": "Intermediate", + "audience": "Session Presentations", + "id": "6204717dd5e10bf10587733c08897dc1", + "venue_id": "1944305", + "speakers": [ + { + "username": "mahoney.mattj", + "id": "19314398", + "name": "Matthew Mahoney", + "company": "Meta", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "11", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "1:40pm", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "11", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "2:10pm", + "start_date": "2024-09-11", + "start_time": "13:40:00", + "start_time_ts": 1726087200, + "end_date": "2024-09-11", + "end_time": "14:10:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf2024/d9/Identity%20and%20GraphQL_%20More%20Than%20You%20Want%20to%20Think%20About%20IDs%202024.pdf", + "name": "Identity and GraphQL_ More Than You Want to Think About IDs 2024.pdf" + } + ] + }, + { + "event_key": "692702", + "active": "Y", + "pinned": "N", + "name": "Semantic Nullability: A Path Toward Safe Non-Null Fields - Jordan Eldredge, Meta", + "event_start": "2024-09-11 13:40", + "event_end": "2024-09-11 14:10", + "event_type": "GraphQL Spec", + "description": "One of GraphQL’s killer features is field-granular error handling which can dramatically increase the resiliency of network responses. However, this has traditionally come at the cost of developer ergonomics, with client developers being forced to contend with nearly every field potentially being null. In the last year, members of the Nullability Working Group, and engineers at Meta have been exploring how we can untangle nullability and error handling in order to safely allow clients to “see” the true nullability of the server’s resolvers without sacrificing response residency. In this talk we’ll explain the ideas and RFCs that underpin this change, share the work we’ve done at Meta and across the community to validate this approach, and demonstrate Semantic Nullability in action!", + "goers": "43", + "video_stream": "https://www.youtube.com/watch?v=kVYlplb1gKk", + "seats": "0", + "invite_only": "N", + "venue": "Skyline A - Level 21", + "company": "Intermediate", + "audience": "Session Presentations", + "id": "8daaf10ac70360a7fade149a54538bf9", + "venue_id": "1944311", + "speakers": [ + { + "username": "jordaneldredge", + "id": "21066819", + "name": "Jordan Eldredge", + "company": "Meta", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "11", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "1:40pm", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "11", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "2:10pm", + "start_date": "2024-09-11", + "start_time": "13:40:00", + "start_time_ts": 1726087200, + "end_date": "2024-09-11", + "end_time": "14:10:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf2024/87/Semantic%20Non%20Null%20GraphQL%20Conf%202024.pdf", + "name": "Semantic Non Null GraphQL Conf 2024.pdf" + } + ] + }, + { + "event_key": "692355", + "active": "Y", + "pinned": "N", + "name": "In-House Schema Registry - the Good, the Bad, and the Ugly - Kamil Kisiela, The Guild", + "event_start": "2024-09-11 14:20", + "event_end": "2024-09-11 14:50", + "event_type": "API Platform", + "description": "When working with GraphQL, you might find yourself looking for tools to prevent breaking changes, or in case of Federation, compose GraphQL APIs. At this point, you may be tempted to build your own schema registry, from scratch. I’ve been there, done that, and now I’m going to tell you why I think it is a bad idea and what are the challenges you will most likely face, when developing your won solution.", + "goers": "21", + "video_stream": "https://www.youtube.com/watch?v=jreLGIzgZ9U", + "seats": "0", + "invite_only": "N", + "venue": "Skyline B-C - Level 21", + "company": "Intermediate", + "audience": "Session Presentations", + "id": "af55205b1d68ec3b3d1b1663e4bd2adf", + "venue_id": "1944314", + "speakers": [ + { + "username": "kamilkisiela", + "id": "19082388", + "name": "Kamil Kisiela", + "company": "The Guild", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "11", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "2:20pm", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "11", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "2:50pm", + "start_date": "2024-09-11", + "start_time": "14:20:00", + "start_time_ts": 1726089600, + "end_date": "2024-09-11", + "end_time": "14:50:00" + }, + { + "event_key": "698734", + "active": "Y", + "pinned": "N", + "name": "Schema Scoring: Ensuring Schema Excellence in GraphQL - Christian Ernst, Booking.com", + "event_start": "2024-09-11 14:20", + "event_end": "2024-09-11 14:50", + "event_type": "Developer Experience", + "description": "At Booking.com we have scaled to over 120+ subgraphs and that number continues to grow rabidly as we modernize our frontend and backend. As subgraphs develop it has begun to be impossible for one to team to oversee all of the changes to the graph because of the rapid changes that occur from teams. As we have grown we created best practices and guidelines fro GraphQL. We soon recognised this was not enough and there was the need to track the quality of schemas over time automatically and in a way that can provide actionable feedback to teams. At Booking.com we have developed the infrastructure to analyse schemas beyond standard linting to help improve the quality of the Graph across the board enabling better developer experience for everyone.", + "goers": "34", + "video_stream": "https://www.youtube.com/watch?v=4xCcSqdablo", + "seats": "0", + "invite_only": "N", + "venue": "Metropolitan B-C", + "company": "Beginner", + "audience": "Session Presentations", + "id": "6e20cd3c4ee36577f15713955444338f", + "venue_id": "1944308", + "speakers": [ + { + "username": "christian.ernst1", + "id": "21066804", + "name": "Christian Ernst", + "company": "Booking.com", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "11", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "2:20pm", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "11", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "2:50pm", + "start_date": "2024-09-11", + "start_time": "14:20:00", + "start_time_ts": 1726089600, + "end_date": "2024-09-11", + "end_time": "14:50:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf2024/e6/Schema%20Scoring.pdf", + "name": "Schema Scoring.pdf" + } + ] + }, + { + "event_key": "706625", + "active": "Y", + "pinned": "N", + "name": "Blueprints of Successful GraphQL Architectures - Pascal Senn, ChilliCream", + "event_start": "2024-09-11 14:20", + "event_end": "2024-09-11 14:50", + "event_type": "GraphQL in Production", + "description": "This session will take you behind the curtains of a few companies and will show you how enterprises built GraphQL APIs successfully, what challenges they face, and how their architecture influences how they built APIs. In this session, we will start with looking into database-driven GraphQL APIs and end up exploring large-scale enterprise domains, where the size of the organization becomes the challenge.", + "goers": "32", + "video_stream": "https://www.youtube.com/watch?v=45rKrmW7NLA", + "seats": "0", + "invite_only": "N", + "venue": "Skyline A - Level 21", + "company": "Intermediate", + "audience": "Session Presentations", + "id": "106c2abfed7f25a882b98024152b8c48", + "venue_id": "1944311", + "speakers": [ + { + "username": "pascal.senn", + "id": "21066839", + "name": "Pascal Senn", + "company": "ChilliCream", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "11", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "2:20pm", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "11", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "2:50pm", + "start_date": "2024-09-11", + "start_time": "14:20:00", + "start_time_ts": 1726089600, + "end_date": "2024-09-11", + "end_time": "14:50:00" + }, + { + "event_key": "691729", + "active": "Y", + "pinned": "N", + "name": "The Billion D∅Llar Panel - Nullability in GraphQL - Stephen Spalding, Netflix; Alex Reilly, Independent; Janette Cheng & Jordan Eldredge, Meta; Benjie Gillam, Graphile", + "event_start": "2024-09-11 14:20", + "event_end": "2024-09-11 14:50", + "event_type": "GraphQL Spec", + "description": "Panel discussion on Client Controlled/Semantic Nullability", + "goers": "37", + "video_stream": "https://www.youtube.com/watch?v=CujBv8L6tVQ", + "seats": "0", + "invite_only": "N", + "venue": "Metropolitan A", + "company": "Intermediate", + "audience": "Session Presentations", + "id": "c12a426b75f4851c04a7e16e54135887", + "venue_id": "1944305", + "speakers": [ + { + "username": "alex_reilly.7ldur4l", + "id": "14900019", + "name": "Alex Reilly", + "company": "Independent", + "custom_order": 0 + }, + { + "username": "sspalding2", + "id": "18743825", + "name": "Stephen Spalding", + "company": "Netflix", + "custom_order": 1 + }, + { + "username": "benjie3", + "id": "18743846", + "name": "Benjie Gillam", + "company": "Graphile", + "custom_order": 2 + }, + { + "username": "janette.cheng", + "id": "21066816", + "name": "Janette Cheng", + "company": "Meta", + "custom_order": 3 + }, + { + "username": "jordaneldredge", + "id": "21066819", + "name": "Jordan Eldredge", + "company": "Meta", + "custom_order": 4 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "11", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "2:20pm", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "11", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "2:50pm", + "start_date": "2024-09-11", + "start_time": "14:20:00", + "start_time_ts": 1726089600, + "end_date": "2024-09-11", + "end_time": "14:50:00" + }, + { + "event_key": "699192", + "active": "Y", + "pinned": "N", + "name": "GraphQL as a Data Mesh Access Layer in Global Banking - Kenneth Stott, Hasura, Inc.", + "event_start": "2024-09-11 15:00", + "event_end": "2024-09-11 15:30", + "event_type": "API Platform", + "description": "Discuss the strengths and weaknesses of the GraphQL standard and tooling ecosystem while implementing GraphQL as the primary Data Mesh/Data Access Layer in a Mega-Bank. Review the regulatory challenges, the history of data management and data governance at international financial institutions, its influence on data engineering and data solutions, and how GraphQL stacks up as an API Platform in a highly federated, highly regulated, polyglot data mesh architecture.", + "goers": "12", + "video_stream": "https://www.youtube.com/watch?v=kLUbcEABH0s", + "seats": "0", + "invite_only": "N", + "venue": "Skyline B-C - Level 21", + "company": "Advanced", + "audience": "Session Presentations", + "id": "26843420d633586e4b750ae4fe01e174", + "venue_id": "1944314", + "speakers": [ + { + "username": "kennethstott", + "id": "21066821", + "name": "Kenneth Stott", + "company": "Hasura, Inc.", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "11", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "3:00pm", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "11", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "3:30pm", + "start_date": "2024-09-11", + "start_time": "15:00:00", + "start_time_ts": 1726092000, + "end_date": "2024-09-11", + "end_time": "15:30:00" + }, + { + "event_key": "697133", + "active": "Y", + "pinned": "N", + "name": "Design Principles of Federated GraphQL - Martijn Walraven, Apollo", + "event_start": "2024-09-11 15:00", + "event_end": "2024-09-11 15:30", + "event_type": "Federation and Composite Schemas", + "description": "GraphQL was conceived as a unified access layer that empowers product teams by providing a common language for exposing and consuming data capabilities. These capabilities were typically implemented in a single schema through a resolver-based model. That poses challenges in environments with diverse microservices managed by various teams however, as found in most large organizations. Recognizing these challenges, we introduced Apollo Federation in 2019 to deliver on the promise of GraphQL within those environments. It respects existing service and team boundaries through a principled schema composition model that supports team collaboration and efficient, query plan-based execution across services. This has allowed GraphQL APIs to effectively scale to large numbers of services and teams. Given the success and common challenges observed, a working group comprising engineers from various organizations has been formed to establish a proposed open standard for federated GraphQL. This initiative aims to unify best practices and design principles. This talk will highlight the key discussions from this group and their implications for the evolving standard.", + "goers": "52", + "video_stream": "https://www.youtube.com/watch?v=eb8EoGGZCjY", + "seats": "0", + "invite_only": "N", + "venue": "Metropolitan B-C", + "company": "Any", + "audience": "Session Presentations", + "id": "e24b8d54971024a028352f5f35930575", + "venue_id": "1944308", + "speakers": [ + { + "username": "martijn.walraven", + "id": "21066825", + "name": "Martijn Walraven", + "company": "Apollo", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "11", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "3:00pm", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "11", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "3:30pm", + "start_date": "2024-09-11", + "start_time": "15:00:00", + "start_time_ts": 1726092000, + "end_date": "2024-09-11", + "end_time": "15:30:00" + }, + { + "event_key": "690785", + "active": "Y", + "pinned": "N", + "name": "UNSET Fields: Differentiating Between Null and Purposeful Omissions in Your Server Response - Janette Cheng, Meta", + "event_start": "2024-09-11 15:00", + "event_end": "2024-09-11 15:10", + "event_type": "GraphQL in Production", + "description": "You've heard about distinguishing semantic vs error nulls, but what about \"unset\" fields? Unset fields are neither semantic or error nulls because the server has not calculated them. Why would something like this ever come up? - WhatsApp delta updates: When the client wants to tell the server, \"This is the value I have for this field, only bother calculating it again and sending it down if it's out of date.\" - Instagram server migration from a non-GraphQL server: We started with a server that has multiple code paths to resolve a field, and now we are not guaranteed every field we request will always be resolved. Not being able to distinguish between null and unset is a problem we expect is more widespread, and to which we have found a not amazing solution that could be better if we update the spec. How do you distinguish \"unset\" from null? - How you achieve this today (not particularly elegant, but possible) - Omission from server response? (not currently spec-compliant)", + "goers": "29", + "video_stream": "https://www.youtube.com/watch?v=90dc_NelaA0", + "seats": "0", + "invite_only": "N", + "venue": "Metropolitan A", + "company": "Intermediate", + "audience": "Lightning Talks", + "id": "2f6808aabe48239c0cccb9db43626aac", + "venue_id": "1944305", + "speakers": [ + { + "username": "janette.cheng", + "id": "21066816", + "name": "Janette Cheng", + "company": "Meta", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "11", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "3:00pm", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "11", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "3:10pm", + "start_date": "2024-09-11", + "start_time": "15:00:00", + "start_time_ts": 1726092000, + "end_date": "2024-09-11", + "end_time": "15:10:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf2024/19/Unset%20Fields%20(GraphQL%20Conf'24).pdf", + "name": "Unset Fields (GraphQL Conf '24).pdf" + } + ] + }, + { + "event_key": "706595", + "active": "Y", + "pinned": "N", + "name": "What if ... How to Achieve GraphQL Domination - Andreas Marek, Atlassian", + "event_start": "2024-09-11 15:00", + "event_end": "2024-09-11 15:30", + "event_type": "GraphQL Spec", + "description": "Imaging being free of constraints like time, resources and previous decisions: how could we make the perfect version of GraphQL and achieve ubiquitous GraphQL usage. In this talk we will look at all the things we could do (in theory): - Combine Relay and GraphQL - Simpler Errors - HTTP as first class citizen - No custom or maybe more custom Scalars - GraphQL linter - Dynamic GraphQL schemas", + "goers": "17", + "video_stream": "https://www.youtube.com/watch?v=vb4T51DO3Z4", + "seats": "0", + "invite_only": "N", + "venue": "Skyline A - Level 21", + "company": "Beginner", + "audience": "Session Presentations", + "id": "74697b2144c044a7a134bc7e04e190d1", + "venue_id": "1944311", + "speakers": [ + { + "username": "andreas.marek1", + "id": "21066795", + "name": "Andreas Marek", + "company": "Atlassian", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "11", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "3:00pm", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "11", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "3:30pm", + "start_date": "2024-09-11", + "start_time": "15:00:00", + "start_time_ts": 1726092000, + "end_date": "2024-09-11", + "end_time": "15:30:00" + }, + { + "event_key": "695423", + "active": "Y", + "pinned": "N", + "name": "Not Your Regular Rate Limiting #GraphQL - Pooja Mistry, Postman", + "event_start": "2024-09-11 15:10", + "event_end": "2024-09-11 15:20", + "event_type": "GraphQL in Production", + "description": "REST APIs are typically endpoint-based, meaning each endpoint has its rate limit, while GraphQL APIs tend to be more flexible and allow for a single endpoint to handle multiple requests. Although more flexible, rate limiting in GraphQL APIs is more complex than rate limiting in REST APIs. This talk discusses popular rate-limiting strategies and helps you choose the strategy that best fits your application's use case and requirements.", + "goers": "34", + "video_stream": "https://www.youtube.com/watch?v=w7ubbGmadso", + "seats": "0", + "invite_only": "N", + "venue": "Metropolitan A", + "company": "Intermediate", + "audience": "Lightning Talks", + "id": "6fd1c120b48d6c62c4544ccbf27a665a", + "venue_id": "1944305", + "speakers": [ + { + "username": "pooja.mistry1", + "id": "21225462", + "name": "Pooja Mistry", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "11", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "3:10pm", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "11", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "3:20pm", + "start_date": "2024-09-11", + "start_time": "15:10:00", + "start_time_ts": 1726092600, + "end_date": "2024-09-11", + "end_time": "15:20:00" + }, + { + "event_key": "692297", + "active": "Y", + "pinned": "N", + "name": "GraphQL Subscriptions in Production Is Easy, Isn’t It? - Laurin Quast, The Guild", + "event_start": "2024-09-11 15:20", + "event_end": "2024-09-11 15:30", + "event_type": "GraphQL in Production", + "description": "GraphQL Subscriptions can super-charge any application but add layers of complexity. Let's delve into the practical aspects of moving GraphQL Subscriptions from localhost into a production environment! Learn about MesageQueues, PubSub, WebSockets, Server-Sent Events, TCP connection limits, authentication, Browser Windows, and (shared) web workers!", + "goers": "37", + "video_stream": "https://www.youtube.com/watch?v=r4ryfiBfDIQ", + "seats": "0", + "invite_only": "N", + "venue": "Metropolitan A", + "company": "Intermediate", + "audience": "Lightning Talks", + "id": "5cabf2af855ce1e45161cd36903d41c0", + "venue_id": "1944305", + "speakers": [ + { + "username": "laurinquast", + "id": "18743819", + "name": "Laurin Quast", + "company": "The Guild", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "11", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "3:20pm", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "11", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "3:30pm", + "start_date": "2024-09-11", + "start_time": "15:20:00", + "start_time_ts": 1726093200, + "end_date": "2024-09-11", + "end_time": "15:30:00" + }, + { + "event_key": "10", + "active": "Y", + "pinned": "N", + "name": "Coffee Break", + "event_start": "2024-09-11 15:30", + "event_end": "2024-09-11 15:50", + "event_type": "Breaks & Special Events", + "goers": "34", + "seats": "0", + "invite_only": "N", + "venue": "Level 2 Foyer", + "id": "7c1eba2165f24ed45492801796cbe453", + "venue_id": "1944317", + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "11", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "3:30pm", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "11", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "3:50pm", + "start_date": "2024-09-11", + "start_time": "15:30:00", + "start_time_ts": 1726093800, + "end_date": "2024-09-11", + "end_time": "15:50:00", + "description": "" + }, + { + "event_key": "699163", + "active": "Y", + "pinned": "N", + "name": "Panel: The Composite Schemas Working Group - Kamil Kisiela, The Guild; Pascal Senn, ChilliCream; Martijn Walraven, Apollo; Moderated by Danielle Man, Apollo GraphQL", + "event_start": "2024-09-11 15:50", + "event_end": "2024-09-11 16:20", + "event_type": "Federation and Composite Schemas", + "description": "Join panelists from Apollo, ChilliCream, and The Guild for a conversation about the newest working group in the GraphQL community. Gartner reports that by 2027, production use of federated GraphQL in enterprise systems will grow sixfold. The Composite Schemas specification is the proposed open standard that will ensure this essential technology can be fully leveraged by a robust tooling ecosystem. Hear insights and stories from the engineers and innovators who are collaborating to bring this specification to the community.", + "goers": "40", + "video_stream": "https://www.youtube.com/watch?v=sf8ac2NtwPY", + "seats": "0", + "invite_only": "N", + "venue": "Metropolitan B-C", + "company": "Intermediate", + "audience": "Session Presentations", + "id": "75386a4288d49dcb4aba5b54e475de43", + "venue_id": "1944308", + "speakers": [ + { + "username": "kamilkisiela", + "id": "19082388", + "name": "Kamil Kisiela", + "company": "The Guild", + "custom_order": 0 + }, + { + "username": "danielle.man", + "id": "21066810", + "name": "Danielle Man", + "company": "Apollo GraphQL", + "custom_order": 1 + }, + { + "username": "martijn.walraven", + "id": "21066825", + "name": "Martijn Walraven", + "company": "Apollo", + "custom_order": 2 + }, + { + "username": "pascal.senn", + "id": "21066839", + "name": "Pascal Senn", + "company": "ChilliCream", + "custom_order": 3 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "11", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "3:50pm", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "11", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "4:20pm", + "start_date": "2024-09-11", + "start_time": "15:50:00", + "start_time_ts": 1726095000, + "end_date": "2024-09-11", + "end_time": "16:20:00" + }, + { + "event_key": "699597", + "active": "Y", + "pinned": "N", + "name": "Evolving GraphQL Schemas - Andrei Bocan, Atlassian", + "event_start": "2024-09-11 15:50", + "event_end": "2024-09-11 16:20", + "event_type": "GraphQL in Production", + "description": "The complicated bit when running a GraphQL service isn't putting together the initial schema, it's making sure to leave room for your schema to evolve, and ensuring that you're not painting yourself into a corner. In this session, we'll go through some lessons learned while developing Compass, a product we built from the ground up using GraphQL. We'll lay out some of the guidelines we've established to keep our APIs consistent, some hard and fast rules for backwards compatibility, as well as the processes we put in place to make it easy to keep things aligned. We'll also dive into how we've that all fits in with out GraphQL Gateway, which exposes a federated schema across the plethora of services that Atlassian runs, and the functionality we've isolated to the gateway.", + "goers": "35", + "video_stream": "https://www.youtube.com/watch?v=pVNODy8fDTM", + "seats": "0", + "invite_only": "N", + "venue": "Metropolitan A", + "company": "Intermediate", + "audience": "Session Presentations", + "id": "167640984a909380aa61898c90625166", + "venue_id": "1944305", + "speakers": [ + { + "username": "andrei.bocan", + "id": "21066797", + "name": "Andrei Bocan", + "company": "Atlassian", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "11", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "3:50pm", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "11", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "4:20pm", + "start_date": "2024-09-11", + "start_time": "15:50:00", + "start_time_ts": 1726095000, + "end_date": "2024-09-11", + "end_time": "16:20:00", + "files": [ + { + "path": "https://static.sched.com/hosted_files/graphqlconf2024/af/GraphqlConf%202023.pdf", + "name": "GraphqlConf 2023.pdf" + } + ] + }, + { + "event_key": "692275", + "active": "Y", + "pinned": "N", + "name": "Comparing API Protocols - One Feature at a Time - Uri Goldshtein, The Guild", + "event_start": "2024-09-11 15:50", + "event_end": "2024-09-11 16:20", + "event_type": "GraphQL Spec", + "description": "We've seen so many comparisons between GraphQL, REST, OpenAPI, gRPC and others Usually most of these articles looks very much the same. I want to try to give a different take on the differences. I will make a list of every feature you want from an API and show how to get it in each API protocol. I think the result would be surprising, even for experts in each of the protocols.", + "goers": "18", + "video_stream": "https://www.youtube.com/watch?v=V4CJR_vkELo", + "seats": "0", + "invite_only": "N", + "venue": "Skyline A - Level 21", + "company": "Intermediate", + "audience": "Session Presentations", + "id": "303433f67a7ffc5e3d31a6edfd8b1f28", + "venue_id": "1944311", + "speakers": [ + { + "username": "uri_goldshtein.23xujj9a", + "id": "14900013", + "name": "Uri Goldshtein", + "company": "The Guild", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "11", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "3:50pm", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "11", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "4:20pm", + "start_date": "2024-09-11", + "start_time": "15:50:00", + "start_time_ts": 1726095000, + "end_date": "2024-09-11", + "end_time": "16:20:00" + }, + { + "event_key": "706610", + "active": "Y", + "pinned": "N", + "name": "CANCELLED: Rethinking GraphQL Batching - Michael Staib, ChilliCream", + "event_start": "2024-09-11 16:30", + "event_end": "2024-09-11 17:00", + "event_type": "Backend", + "description": "While working on the GraphQL composite schema specification, we have explored GraphQL batching and have come up with a variety of new approaches to tackle it. In this talk, I will walk you through why batching is still needed in GraphQL and what problems it solves today. We will also explore some wild experiments with GraphQL batching prototypes that can form business flows to aggregate data, mutate it, and subscribe to updates of the flow with subscriptions. This talk is full of experiments that are to be further explored. So, join me!", + "goers": "23", + "seats": "0", + "invite_only": "N", + "venue": "Skyline A - Level 21", + "company": "Advanced", + "audience": "Session Presentations", + "id": "9485641416d5be1d5846b846ee2c7666", + "venue_id": "1944311", + "speakers": [ + { + "username": "michael_staib.23xujj9p", + "id": "14900031", + "name": "Michael Staib", + "company": "ChilliCream", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "11", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "4:30pm", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "11", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "5:00pm", + "start_date": "2024-09-11", + "start_time": "16:30:00", + "start_time_ts": 1726097400, + "end_date": "2024-09-11", + "end_time": "17:00:00" + }, + { + "event_key": "697477", + "active": "Y", + "pinned": "N", + "name": "Performing Impossible Feats with Isograph - Robert Balicki, Pinterest", + "event_start": "2024-09-11 16:30", + "event_end": "2024-09-11 17:00", + "event_type": "GraphQL Clients", + "description": "Today's web developers are asked to do the impossible. Fetch just the data needed for a given page, no more and no less, while avoiding network waterfalls. Splitting network requests so that users can see high priority content faster, without fetching the same field twice. Loading the minimal JavaScript. Ensuring that their apps show the latest data, without excessively re-rendering. Ensuring content is garbage collected, but not disposing of resources still in use. Yeesh!\n\nAnd all the while, they're asked to maintain this performance profile while other developers make changes willy nilly.\n\nSounds impossible, and it is! With other frameworks, that is.\n\nFind out how Isograph makes all of this easy — and more!\n\nIsograph is a framework for building React apps powered by GraphQL data. See https://isograph.dev for more!", + "goers": "26", + "video_stream": "https://www.youtube.com/watch?v=ex8dqeWwt5A", + "seats": "0", + "invite_only": "N", + "venue": "Metropolitan A", + "company": "Any", + "audience": "Session Presentations", + "id": "468947db8b153fca9be52febb43beb6e", + "venue_id": "1944305", + "speakers": [ + { + "username": "robert.balicki", + "id": "18743858", + "name": "Robert Balicki", + "company": "Pinterest", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "11", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "4:30pm", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "11", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "5:00pm", + "start_date": "2024-09-11", + "start_time": "16:30:00", + "start_time_ts": 1726097400, + "end_date": "2024-09-11", + "end_time": "17:00:00" + }, + { + "event_key": "706598", + "active": "Y", + "pinned": "N", + "name": "Top 10 GraphQL Security Checks for Every Developer - Ankita Gupta, Akto.io", + "event_start": "2024-09-11 16:30", + "event_end": "2024-09-11 17:00", + "event_type": "GraphQL Security", + "description": "Why implement GraphQL security?\nWe will set the stage by introducing some examples of critical GraphQL vulnerabilities found in popular softwares.\n\n- CVE-2021-41248: This vulnerability in GraphiQL, a GraphQL IDE, relates to schema introspection responses that could lead to XSS attacks.\n- CVE-2023-38503: In Directus, a real-time API and dashboard for managing SQL database, there was a vulnerability in GraphQL subscriptions where permission filters were not properly checked, leading to unauthorized event notifications.\n- CVE-2023-34047: A vulnerability in Spring for GraphQL where a batch loader function could be exposed to GraphQL context with security context values from a different session, potentially leading to unauthorized access or information disclosure.\n\nTop 10 GraphQL Security Checks\n- #1 Disable Introspection in Production\n- #2 Robust Authentication\n- #3 Limit Query Depths\n- #4 Rate Limiting\n- #5 Input Validation\n- #6 Secure Direct Object References\n- #7 Error Handling\n- #8 Query Complexity Analysis\n- #9 Mass Assignment Checks\n- #10 Excessive Data Exposure\n\nHow to automate GraphQL Security?\n- we will talk about automating the 10 security checks in code and CI/CD", + "goers": "31", + "video_stream": "https://www.youtube.com/watch?v=b45lWgkVLYA", + "seats": "0", + "invite_only": "N", + "venue": "Metropolitan B-C", + "company": "Intermediate", + "id": "f304b62528988d6e67bb74020d97c885", + "venue_id": "1944308", + "speakers": [ + { + "username": "ankita25", + "id": "21265832", + "name": "Ankita Gupta", + "company": "Akto.io", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "11", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "4:30pm", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "11", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "5:00pm", + "start_date": "2024-09-11", + "start_time": "16:30:00", + "start_time_ts": 1726097400, + "end_date": "2024-09-11", + "end_time": "17:00:00" + }, + { + "event_key": "706601", + "active": "Y", + "pinned": "N", + "name": "Registration & Badge Pick-up", + "event_start": "2024-09-12 08:00", + "event_end": "2024-09-12 15:00", + "event_type": "Registration & Badge Pick-up", + "goers": "3", + "seats": "0", + "invite_only": "N", + "venue": "Level 2 Foyer", + "id": "370614bdbfb4b73d76ec71db8ce43552", + "venue_id": "1944317", + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "12", + "event_start_weekday": "Thursday", + "event_start_weekday_short": "Thu", + "event_start_time": "8:00am", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "12", + "event_end_weekday": "Thursday", + "event_end_weekday_short": "Thu", + "event_end_time": "3:00pm", + "start_date": "2024-09-12", + "start_time": "08:00:00", + "start_time_ts": 1726153200, + "end_date": "2024-09-12", + "end_time": "15:00:00", + "description": "" + }, + { + "event_key": "706609", + "active": "Y", + "pinned": "N", + "name": "Sponsor Showcase", + "event_start": "2024-09-12 08:00", + "event_end": "2024-09-12 12:30", + "event_type": "Sponsor Showcase", + "description": "Visit the sponsors in the Sponsor Showcase!", + "goers": "11", + "seats": "0", + "invite_only": "N", + "venue": "Level 2 Foyer", + "id": "1e8e7ae6eb935636a20fc2acc70c299d", + "venue_id": "1944317", + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "12", + "event_start_weekday": "Thursday", + "event_start_weekday_short": "Thu", + "event_start_time": "8:00am", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "12", + "event_end_weekday": "Thursday", + "event_end_weekday_short": "Thu", + "event_end_time": "12:30pm", + "start_date": "2024-09-12", + "start_time": "08:00:00", + "start_time_ts": 1726153200, + "end_date": "2024-09-12", + "end_time": "12:30:00" + }, + { + "event_key": "692330", + "active": "Y", + "pinned": "N", + "name": "Workshop: Scaling and Securing API Development with a GraphQL Platform - Laurin Quast & Kamil Kisiela, The Guild", + "event_start": "2024-09-12 09:00", + "event_end": "2024-09-12 10:30", + "event_type": "API Platform", + "description": "Building a GraphQL API as a solo developer handling both the front end and back end in a single Git repository can be straightforward. However, in a real-world scenario, you will need to collaborate with other developers, both within your team and externally. There will be API consumers under your control, as well as those you might not even be aware of. If you use composite schemas (such as Federation), many teams will create their subgraphs to compose a supergraph. How can you safely evolve your schema without breaking clients? How do you prevent attackers from sending vulnerable GraphQL operations to your server? A schema registry can assist you and your team in successfully adopting GraphQL at scale. Discover how to gain analytics on your GraphQL API usage, avoid shipping breaking changes through CI/CD integrations, and prevent unwanted GraphQL operations by leveraging Persisted Documents using the open-source MIT-licensed Hive API platform specially designed for GraphQL.", + "goers": "21", + "video_stream": "https://www.youtube.com/watch?v=ZDECb__f4h4", + "seats": "0", + "invite_only": "N", + "venue": "Metropolitan B-C", + "company": "Beginner", + "audience": "Workshops", + "id": "2f44e6cde4172d716d83bcb02809517f", + "venue_id": "1944308", + "speakers": [ + { + "username": "laurinquast", + "id": "18743819", + "name": "Laurin Quast", + "company": "The Guild", + "custom_order": 0 + }, + { + "username": "kamilkisiela", + "id": "19082388", + "name": "Kamil Kisiela", + "company": "The Guild", + "custom_order": 1 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "12", + "event_start_weekday": "Thursday", + "event_start_weekday_short": "Thu", + "event_start_time": "9:00am", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "12", + "event_end_weekday": "Thursday", + "event_end_weekday_short": "Thu", + "event_end_time": "10:30am", + "start_date": "2024-09-12", + "start_time": "09:00:00", + "start_time_ts": 1726156800, + "end_date": "2024-09-12", + "end_time": "10:30:00" + }, + { + "event_key": "706617", + "active": "Y", + "pinned": "N", + "name": "Open GraphQL Foundation Board Meeting", + "event_start": "2024-09-12 09:00", + "event_end": "2024-09-12 10:30", + "event_type": "Defies Categorization", + "description": "Join GraphQL Foundation Board Members and TSC Members for a public meeting and help provide input on what the Foundation's priorities for 2025 should be.", + "goers": "15", + "video_stream": "https://www.youtube.com/watch?v=4XbzBb_YHw0", + "seats": "0", + "invite_only": "N", + "venue": "Skyline A - Level 21", + "company": "Any", + "id": "35c3bece129c4a61d97b9b104ba12d42", + "venue_id": "1944311", + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "12", + "event_start_weekday": "Thursday", + "event_start_weekday_short": "Thu", + "event_start_time": "9:00am", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "12", + "event_end_weekday": "Thursday", + "event_end_weekday_short": "Thu", + "event_end_time": "10:30am", + "start_date": "2024-09-12", + "start_time": "09:00:00", + "start_time_ts": 1726156800, + "end_date": "2024-09-12", + "end_time": "10:30:00" + }, + { + "event_key": "706616", + "active": "Y", + "pinned": "N", + "name": "Workshop: Demand-Driven Schema Design - Michael Watson, Apollo GraphQL", + "event_start": "2024-09-12 09:00", + "event_end": "2024-09-12 10:30", + "event_type": "Defies Categorization", + "description": "One of the main advantages of GraphQL is that you can query for only the data you need. But in order to realize that promise for graph consumers, the schema needs to be thoughtfully designed to support data access requirements for the client apps that will query it. In this workshop, we’ll explore the process of demand-driven schema design and how a “dream query” can be reverse-engineered into a scalable and maintainable GraphQL schema that supports product use cases.\n\nWhat you’ll learn:\nCommon schema design patterns Build queries to display the data your app needs Best practices for designing client-focused queries Practical tips for schema reviews Federation / composite schemas considerations", + "goers": "17", + "video_stream": "https://www.youtube.com/watch?v=8W9N-I1G80o", + "seats": "0", + "invite_only": "N", + "venue": "Metropolitan A", + "audience": "Workshops", + "id": "a9ad5f1632866787f2ae33020dbe8e77", + "venue_id": "1944305", + "speakers": [ + { + "username": "watson17", + "id": "19024254", + "name": "Michael Watson", + "company": "Apollo GraphQL", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "12", + "event_start_weekday": "Thursday", + "event_start_weekday_short": "Thu", + "event_start_time": "9:00am", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "12", + "event_end_weekday": "Thursday", + "event_end_weekday_short": "Thu", + "event_end_time": "10:30am", + "start_date": "2024-09-12", + "start_time": "09:00:00", + "start_time_ts": 1726156800, + "end_date": "2024-09-12", + "end_time": "10:30:00" + }, + { + "event_key": "706614", + "active": "Y", + "pinned": "N", + "name": "Workshop: Getting Your Data Ready for AI - With a Unified GraphQL and SQL Endpoint - Anushrut Gupta, Hasura", + "event_start": "2024-09-12 09:00", + "event_end": "2024-09-12 10:30", + "event_type": "Defies Categorization", + "description": "As AI technologies like LLMs innovate at an accelerated pace, the importance of robust data foundations has never been greater. Traditional data architectures, designed with apps and APIs in mind, are now being pushed to their limits by the demands of advanced AI applications. This workshop will delve into principles for getting your data ready for AI. One of the main principles is having all your data and business logic under one interface - we will see how to build this using GraphQL (or SQL). We will also see how to incorporate consistent authorization so that your LLM doesn't have to worry about security. Finally, we will plumb all of this together to create a fundamentally powerful data connectivity for your AI applications.\n\nTo get the most out of this workshop, bring an Anthropic account with some credits and an Anthropic API key. You can also use OpenAI, but Anthropic is preferred.", + "goers": "7", + "video_stream": "https://www.youtube.com/watch?v=andRX3esq9s", + "seats": "0", + "invite_only": "N", + "venue": "Skyline B-C - Level 21", + "audience": "Workshops", + "id": "fbc64b2c5b6403612b8ea6c2ed4cbc04", + "venue_id": "1944314", + "speakers": [ + { + "username": "anushrut.gupta", + "id": "21460012", + "name": "Anushrut Gupta", + "company": "Hasura", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "12", + "event_start_weekday": "Thursday", + "event_start_weekday_short": "Thu", + "event_start_time": "9:00am", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "12", + "event_end_weekday": "Thursday", + "event_end_weekday_short": "Thu", + "event_end_time": "10:30am", + "start_date": "2024-09-12", + "start_time": "09:00:00", + "start_time_ts": 1726156800, + "end_date": "2024-09-12", + "end_time": "10:30:00" + }, + { + "event_key": "6", + "active": "Y", + "pinned": "N", + "name": "Coffee Break", + "event_start": "2024-09-12 10:30", + "event_end": "2024-09-12 11:00", + "event_type": "Breaks & Special Events", + "goers": "24", + "seats": "0", + "invite_only": "N", + "venue": "Level 2 Foyer", + "id": "487b5eb466c6367896d32d0006ddad8a", + "venue_id": "1944317", + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "12", + "event_start_weekday": "Thursday", + "event_start_weekday_short": "Thu", + "event_start_time": "10:30am", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "12", + "event_end_weekday": "Thursday", + "event_end_weekday_short": "Thu", + "event_end_time": "11:00am", + "start_date": "2024-09-12", + "start_time": "10:30:00", + "start_time_ts": 1726162200, + "end_date": "2024-09-12", + "end_time": "11:00:00", + "description": "" + }, + { + "event_key": "694498", + "active": "Y", + "pinned": "N", + "name": "Workshop: Efficient Cross-Platform GraphQL and State Management with React Native - Yassin Eldeeb, The Guild", + "event_start": "2024-09-12 11:00", + "event_end": "2024-09-12 12:30", + "event_type": "GraphQL Clients", + "description": "In this hands-on workshop, we’ll explore building cross-platform applications with GraphQL and React Native. Learn how to create an efficient data management setup that works seamlessly across Windows, iOS, Android, and web platforms. Key takeaways include: - Setting up a GraphQL client in React Native - Managing local and remote state by combining Easy Peasy and React Query - Leveraging offline support, caching, and background fetching - Optimizing performance for mobile applications By the end, you’ll understand how to harness GraphQL to build robust and user-friendly cross-platform apps that are easy to develop and maintain.", + "goers": "21", + "video_stream": "https://www.youtube.com/watch?v=O4I2BhHgYq8", + "seats": "0", + "invite_only": "N", + "venue": "Skyline B-C - Level 21", + "company": "Advanced", + "audience": "Workshops", + "id": "914fd37e2c0bd49ce423fb1cbc326ec8", + "venue_id": "1944314", + "speakers": [ + { + "username": "yassineldeeb94", + "id": "18743822", + "name": "Yassin Eldeeb", + "company": "The Guild", + "custom_order": 0 + } + ], + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "12", + "event_start_weekday": "Thursday", + "event_start_weekday_short": "Thu", + "event_start_time": "11:00am", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "12", + "event_end_weekday": "Thursday", + "event_end_weekday_short": "Thu", + "event_end_time": "12:30pm", + "start_date": "2024-09-12", + "start_time": "11:00:00", + "start_time_ts": 1726164000, + "end_date": "2024-09-12", + "end_time": "12:30:00" + }, + { + "event_key": "706626", + "active": "Y", + "pinned": "N", + "name": "Unconference Kickoff", + "event_start": "2024-09-12 11:00", + "event_end": "2024-09-12 11:15", + "event_type": "Unconference", + "description": "Review of the topics and room schedules for the unconference.", + "goers": "15", + "seats": "0", + "invite_only": "N", + "venue": "Metropolitan A", + "id": "e25c07f23d7396a8120cc0155015f694", + "venue_id": "1944305", + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "12", + "event_start_weekday": "Thursday", + "event_start_weekday_short": "Thu", + "event_start_time": "11:00am", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "12", + "event_end_weekday": "Thursday", + "event_end_weekday_short": "Thu", + "event_end_time": "11:15am", + "start_date": "2024-09-12", + "start_time": "11:00:00", + "start_time_ts": 1726164000, + "end_date": "2024-09-12", + "end_time": "11:15:00" + }, + { + "event_key": "706629", + "active": "Y", + "pinned": "N", + "name": "Unconference Discussions", + "event_start": "2024-09-12 11:15", + "event_end": "2024-09-12 12:30", + "event_type": "Unconference", + "goers": "4", + "seats": "0", + "invite_only": "N", + "venue": "Metropolitan A", + "id": "aec7fe29f8660d0e0180b54af5d9bd3b", + "venue_id": "1944305", + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "12", + "event_start_weekday": "Thursday", + "event_start_weekday_short": "Thu", + "event_start_time": "11:15am", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "12", + "event_end_weekday": "Thursday", + "event_end_weekday_short": "Thu", + "event_end_time": "12:30pm", + "start_date": "2024-09-12", + "start_time": "11:15:00", + "start_time_ts": 1726164900, + "end_date": "2024-09-12", + "end_time": "12:30:00", + "description": "" + }, + { + "event_key": "706627", + "active": "Y", + "pinned": "N", + "name": "Unconference: Lightning Talks", + "event_start": "2024-09-12 11:15", + "event_end": "2024-09-12 12:30", + "event_type": "Unconference", + "description": "Sign up for a lightening talk slot at the GraphQL Foundation Booth in the Sponsor Showcase!", + "goers": "8", + "seats": "0", + "invite_only": "N", + "venue": "Metropolitan B-C", + "id": "e48103dc4df8d88bf37b967a0b22d357", + "venue_id": "1944308", + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "12", + "event_start_weekday": "Thursday", + "event_start_weekday_short": "Thu", + "event_start_time": "11:15am", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "12", + "event_end_weekday": "Thursday", + "event_end_weekday_short": "Thu", + "event_end_time": "12:30pm", + "start_date": "2024-09-12", + "start_time": "11:15:00", + "start_time_ts": 1726164900, + "end_date": "2024-09-12", + "end_time": "12:30:00" + }, + { + "event_key": "706628", + "active": "Y", + "pinned": "N", + "name": "Unconference: TSC Office Hours", + "event_start": "2024-09-12 11:15", + "event_end": "2024-09-12 12:30", + "event_type": "Unconference", + "description": "Have a question about GraphQL? Want to talk to a TSC Member about an RFC? Have an idea for the Working Group? Share it with the GraphQL TSC!", + "goers": "6", + "seats": "0", + "invite_only": "N", + "venue": "Skyline A - Level 21", + "id": "ba56d08028cb125d8c549e7b4b4d198b", + "venue_id": "1944311", + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "12", + "event_start_weekday": "Thursday", + "event_start_weekday_short": "Thu", + "event_start_time": "11:15am", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "12", + "event_end_weekday": "Thursday", + "event_end_weekday_short": "Thu", + "event_end_time": "12:30pm", + "start_date": "2024-09-12", + "start_time": "11:15:00", + "start_time_ts": 1726164900, + "end_date": "2024-09-12", + "end_time": "12:30:00" + }, + { + "event_key": "7", + "active": "Y", + "pinned": "N", + "name": "Lunch Break - Attendees on Own", + "event_start": "2024-09-12 12:30", + "event_end": "2024-09-12 14:00", + "event_type": "Breaks & Special Events", + "description": "Lunch will be on your own. San Francisco offers a variety of dining options nearby to suit different tastes and preferences. Feel free to explore the local area and enjoy your meal. We’ll reconvene at 1:30 PM for the next session.", + "goers": "18", + "seats": "0", + "invite_only": "N", + "venue": "Attendees On Own", + "id": "c291c64196e84d0862ded0b8ef31968a", + "venue_id": "1979819", + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "12", + "event_start_weekday": "Thursday", + "event_start_weekday_short": "Thu", + "event_start_time": "12:30pm", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "12", + "event_end_weekday": "Thursday", + "event_end_weekday_short": "Thu", + "event_end_time": "2:00pm", + "start_date": "2024-09-12", + "start_time": "12:30:00", + "start_time_ts": 1726169400, + "end_date": "2024-09-12", + "end_time": "14:00:00" + }, + { + "event_key": "1", + "active": "Y", + "pinned": "N", + "name": "Unconference Discussions", + "event_start": "2024-09-12 14:00", + "event_end": "2024-09-12 15:30", + "event_type": "Unconference", + "goers": "4", + "seats": "0", + "invite_only": "N", + "venue": "Metropolitan A", + "id": "4bd0c22887a042cfffec9428d7fc9689", + "venue_id": "1944305", + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "12", + "event_start_weekday": "Thursday", + "event_start_weekday_short": "Thu", + "event_start_time": "2:00pm", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "12", + "event_end_weekday": "Thursday", + "event_end_weekday_short": "Thu", + "event_end_time": "3:30pm", + "start_date": "2024-09-12", + "start_time": "14:00:00", + "start_time_ts": 1726174800, + "end_date": "2024-09-12", + "end_time": "15:30:00", + "description": "" + }, + { + "event_key": "4", + "active": "Y", + "pinned": "N", + "name": "Unconference: GraphQL Working Group Topics", + "event_start": "2024-09-12 14:00", + "event_end": "2024-09-12 15:30", + "event_type": "Unconference", + "goers": "6", + "seats": "0", + "invite_only": "N", + "venue": "Metropolitan B-C", + "id": "52854704c6ab04364b24f2bda3991034", + "venue_id": "1944308", + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "12", + "event_start_weekday": "Thursday", + "event_start_weekday_short": "Thu", + "event_start_time": "2:00pm", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "12", + "event_end_weekday": "Thursday", + "event_end_weekday_short": "Thu", + "event_end_time": "3:30pm", + "start_date": "2024-09-12", + "start_time": "14:00:00", + "start_time_ts": 1726174800, + "end_date": "2024-09-12", + "end_time": "15:30:00", + "description": "" + }, + { + "event_key": "3", + "active": "Y", + "pinned": "N", + "name": "Unconference: GraphQL Working Group Topics", + "event_start": "2024-09-12 14:00", + "event_end": "2024-09-12 15:30", + "event_type": "Unconference", + "goers": "6", + "seats": "0", + "invite_only": "N", + "venue": "Skyline B-C - Level 21", + "id": "e456ed2987a18a88a3f6662842d17921", + "venue_id": "1944314", + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "12", + "event_start_weekday": "Thursday", + "event_start_weekday_short": "Thu", + "event_start_time": "2:00pm", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "12", + "event_end_weekday": "Thursday", + "event_end_weekday_short": "Thu", + "event_end_time": "3:30pm", + "start_date": "2024-09-12", + "start_time": "14:00:00", + "start_time_ts": 1726174800, + "end_date": "2024-09-12", + "end_time": "15:30:00", + "description": "" + }, + { + "event_key": "2", + "active": "Y", + "pinned": "N", + "name": "Unconference: Show & Tell", + "event_start": "2024-09-12 14:00", + "event_end": "2024-09-12 15:30", + "event_type": "Unconference", + "description": "Sign up at the GraphQL Foundation Booth in the Sponsor showcase!", + "goers": "3", + "seats": "0", + "invite_only": "N", + "venue": "Skyline A - Level 21", + "id": "d834fa1289d62ca14c1d5f67013c6337", + "venue_id": "1944311", + "event_start_year": "2024", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "12", + "event_start_weekday": "Thursday", + "event_start_weekday_short": "Thu", + "event_start_time": "2:00pm", + "event_end_year": "2024", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "12", + "event_end_weekday": "Thursday", + "event_end_weekday_short": "Thu", + "event_end_time": "3:30pm", + "start_date": "2024-09-12", + "start_time": "14:00:00", + "start_time_ts": 1726174800, + "end_date": "2024-09-12", + "end_time": "15:30:00" + } +] \ No newline at end of file diff --git a/scripts/sync-sched/schedule-2025.json b/scripts/sync-sched/schedule-2025.json new file mode 100644 index 0000000000..ce6339ac91 --- /dev/null +++ b/scripts/sync-sched/schedule-2025.json @@ -0,0 +1,93 @@ +[ + { + "event_key": "1", + "active": "Y", + "pinned": "N", + "name": "Keynote Session Example", + "event_start": "2025-09-08 09:00", + "event_end": "2025-09-08 09:15", + "event_type": "Keynote Sessions", + "goers": "0", + "seats": "0", + "invite_only": "N", + "venue": "Keynote Room", + "audience": "Any", + "id": "aa6a893426a3d92bcbc4b140abeb56c6", + "venue_id": "2111098", + "speakers": [ + { + "username": "lee_byron.25jvpjmb", + "id": "18743534", + "name": "Lee Byron", + "company": "GraphQL Foundation", + "custom_order": 0 + } + ], + "event_start_year": "2025", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "8", + "event_start_weekday": "Monday", + "event_start_weekday_short": "Mon", + "event_start_time": "09:00", + "event_end_year": "2025", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "8", + "event_end_weekday": "Monday", + "event_end_weekday_short": "Mon", + "event_end_time": "09:15", + "start_date": "2025-09-08", + "start_time": "09:00:00", + "start_time_ts": 1757318400, + "end_date": "2025-09-08", + "end_time": "09:15:00", + "event_type_sort": "2", + "description": "" + }, + { + "event_key": "2", + "active": "Y", + "pinned": "N", + "name": "Breakout session example", + "event_start": "2025-09-10 10:30", + "event_end": "2025-09-10 10:45", + "event_type": "Breakout Session", + "description": "This is an example description.", + "goers": "0", + "seats": "0", + "invite_only": "N", + "venue": "Breakout Session Room", + "id": "c0205884be221948a39bc4af9939c675", + "venue_id": "2111100", + "speakers": [ + { + "username": "benjie3", + "id": "18743846", + "name": "Benjie Gillam", + "company": "Graphile", + "custom_order": 0 + } + ], + "event_start_year": "2025", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "10", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "10:30", + "event_end_year": "2025", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "10", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "10:45", + "start_date": "2025-09-10", + "start_time": "10:30:00", + "start_time_ts": 1757496600, + "end_date": "2025-09-10", + "end_time": "10:45:00", + "event_type_sort": "1" + } +] \ No newline at end of file diff --git a/scripts/sync-sched/speakers.json b/scripts/sync-sched/speakers.json new file mode 100644 index 0000000000..b70f20dcb9 --- /dev/null +++ b/scripts/sync-sched/speakers.json @@ -0,0 +1,2524 @@ +[ + { + "username": "abbottry", + "company": "NASA EED-3 / Element 84", + "position": "Senior Software Engineer", + "name": "Ryan Abbott", + "about": "Ryan Abbott is a software engineer with over 15 years of experience building scalable and maintainable backend systems. He currently works as a contractor for NASA through Element 84, where he is responsible for developing and maintaining mission-critical applications. Ryan is passionate about leveraging the right tools and technologies to create reliable and efficient systems. When not working, Ryan can be found flying planes, playing soccer, and spending quality time with his wife and kids.", + "location": "", + "url": "", + "avatar": "//avatars.sched.co/9/c4/18680304/avatar.jpg.320x320px.jpg?949", + "socialurls": [], + "_years": [ + 2023 + ], + "~syncedDetailsAt": 1749568381879 + }, + { + "username": "adam_malone.2791s6x2", + "company": "Hasura", + "position": "Global Director, Sales Engineering", + "name": "Adam Malone", + "about": "", + "location": "", + "url": "", + "avatar": "", + "socialurls": [], + "_years": [ + 2024 + ], + "~syncedDetailsAt": 1749502251756 + }, + { + "username": "adam.sayah", + "company": "Solo.io", + "position": "Product Manager", + "name": "Adam Sayah", + "about": "Adam Sayah is Field Engineer at Solo.io, a company specializing in open source and enterprise software for application networking from the edge to service mesh. At Solo.io, Adam helps organizations build and operate robust cloud-native architecture. Prior to Solo.io, Adam held software engineering roles at cloud-native technology companies, working on Managed File Transfers, Kubernetes, API gateways, and service mesh.", + "location": "", + "url": "https://solo.io/", + "avatar": "//avatars.sched.co/e/3c/12615405/avatar.jpg.320x320px.jpg?742", + "socialurls": [ + { + "service": "Twitter", + "url": "https://twitter.com/_asayah" + }, + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/adamsayah/" + } + ], + "_years": [ + 2023 + ], + "~syncedDetailsAt": 1749497543087 + }, + { + "username": "aditi_rajawat", + "company": "Intuit", + "position": "Software Engineering Manager", + "name": "Aditi Rajawat", + "about": "Aditi is an Engineering manager at Intuit leading GraphQL API Platform team, who transitioned into this role the current year from Staff Software Engineer. She has experience of 9 years in the software industry and enjoys working on distributed software systems. She is driving GraphQL adoption at Intuit with focus on improving developer productivity and holding a high bar for operational excellence of GraphQL runtime. Recently, she is also building a new habit to read books in her free time.", + "location": "", + "url": "", + "avatar": "//avatars.sched.co/7/07/21066788/avatar.jpg.320x320px.jpg?825", + "socialurls": [], + "_years": [ + 2024 + ], + "~syncedDetailsAt": 1749503031962 + }, + { + "username": "ajhingran", + "company": "IBM", + "position": "IBM Fellow & CTO, Software", + "name": "Anant Jhingran", + "about": "Anant Jhingran is the CTO for IBM Software. He came into this current role when StepZen was acquired by IBM in February 2023. He was the CEO of StepZen, which he co-founded in early 2020 along with a couple of his Apigee colleagues. StepZen delivers GraphQL APIs using declarative approaches that he learnt from his decades of experience building out IBM's databases. \n \nHe has shipped deeply technical products that have been deployed in 1000s of enterprises. Before founding StepZen, he helped take Apigee public, as well as its acquisition by Google. He has a PhD in database systems from UC Berkeley and is accomplished in his professional career (IBM Fellow; CTO of IBM's Information Management Division; Distinguished Alumnus, IIT Delhi). His products have delivered billions of dollars of revenue at IBM and Apigee, and he has led large teams of researchers, engineers and product managers during his career.\n \nHe has received several awards including IBM Fellow, IIT Delhi Distinguished Alumnus Award, IBM Corporate Award for contributions to DB2, President's Gold Medal for highest GPA at IIT Delhi, and IBM Academy of Technology. He is the author of over a dozen patents and over 20 technical papers and is frequently giving keynotes in industry and academic conferences.", + "location": "", + "url": "", + "avatar": "//avatars.sched.co/3/48/19225935/avatar.jpg.320x320px.jpg?a5a", + "socialurls": [], + "_years": [ + 2023, + 2024 + ], + "~syncedDetailsAt": 1749497429311 + }, + { + "username": "alan.quigley", + "company": "Toast Inc", + "position": "Principal Software Engineer", + "name": "Alan Quigley", + "about": "I live in Dublin with my wife and two kids, near the city centre. I’ve been a Frontend Engineer at Toast for five years, with over twenty years of experience. At Toast, I’ve helped lead our design system and micro frontend architecture, and I’m currently focusing on the GraphQL tool chain to enhance our development process. Before engineering, I worked in Animation, where I learned the value of process and consistency, which I apply to my work today.", + "location": "", + "url": "", + "avatar": "//avatars.sched.co/a/aa/21066789/avatar.jpg.320x320px.jpg?256", + "socialurls": [], + "_years": [ + 2024 + ], + "~syncedDetailsAt": 1749503993038 + }, + { + "username": "alec102", + "company": "Arista Networks", + "position": "Software Engineer", + "name": "Alec Aivazis", + "about": "Alec is an open source enthusiast currently focused on Houdini, a GraphQL client. He spends his time away from the keyboard tending to a collection of carnivorous plants. And when he's in the mood for a sunburn, he also enjoys cycling and sailing with his family.", + "location": "", + "url": "https://alec.aivazis.com/", + "avatar": "//avatars.sched.co/d/b3/18743870/avatar.jpg.320x320px.jpg?ac7", + "socialurls": [ + { + "service": "Twitter", + "url": "https://twitter.com/alecaivazis" + }, + { + "service": "LinkedIn", + "url": "https://linkedin.com/alecaivazis" + } + ], + "_years": [ + 2023 + ], + "~syncedDetailsAt": 1749497543087 + }, + { + "username": "alex_reilly.7ldur4l", + "company": "Independent", + "position": "Software Engineer", + "name": "Alex Reilly", + "about": "", + "location": "San Francisco", + "url": "https://alex.dev/", + "avatar": "//avatars.sched.co/9/8e/14900019/avatar.jpg.320x320px.jpg?3f4", + "socialurls": [ + { + "service": "Twitter", + "url": "https://x.com/alex_reilly_pro" + }, + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/alexander-reilly/" + } + ], + "_years": [ + 2024 + ], + "~syncedDetailsAt": 1749497429311 + }, + { + "username": "alexsandra.sikora", + "company": "The Guild", + "position": "Open-source developer", + "name": "Aleksandra Sikora", + "about": "Aleksandra is an open-source developer at The Guild, based in Wrocław, Poland. Previously a tech lead for the Hasura Console and a lead maintainer of Blitz.js. Deeply passionate about open-source, TypeScript and dedicated to staying up to date with the JavaScript ecosystem.", + "location": "", + "url": "https://the-guild.dev/", + "avatar": "//avatars.sched.co/5/98/18743798/avatar.jpg.320x320px.jpg?43c", + "socialurls": [ + { + "service": "Twitter", + "url": "https://twitter.com/aleksandrasays" + }, + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/aleksandra-sikora-b54699132/" + } + ], + "_years": [ + 2023 + ], + "~syncedDetailsAt": 1749497543087 + }, + { + "username": "amy1908", + "company": "RedwoodJS", + "position": "Lead Maintainer on the RedwoodJS Core Team", + "name": "Amy Dutton", + "about": "Amy loves using her 22 years of internet experience to teach developers how to design, and designers how to develop. She lives in Nashville, TN USA with her husband, 3 adorable kids, and 2 dogs.", + "location": "", + "url": "https://redwoodjs.com/", + "avatar": "//avatars.sched.co/4/80/16832327/avatar.jpg.320x320px.jpg?42e", + "socialurls": [], + "_years": [ + 2023 + ], + "~syncedDetailsAt": 1749568381879 + }, + { + "username": "an.ngo", + "company": "bol", + "position": "Tech Lead", + "name": "An Ngo", + "about": "An Ngo is a Tech Lead at bol. A GraphQL enthusiast since 2019, and founder of the API BrainTrust and a contributor of the (REST/GraphQL) API guidelines within bol. Currently core member of the GraphQL stewardship for the adoption of GraphQL at bol.", + "location": "", + "url": "", + "avatar": "//avatars.sched.co/2/28/21066792/avatar.jpg.320x320px.jpg?375", + "socialurls": [ + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/vliegveld5/" + } + ], + "_years": [ + 2024 + ], + "~syncedDetailsAt": 1749497429311 + }, + { + "username": "andreas.heiberg", + "company": "Stellate", + "position": "Engineering Manager", + "name": "Andreas Heiberg", + "about": "In 2016 Andreas built a novel closed-source GraphQL server & client implementation at DueDil to optimise their large GraphQL infrastructure beyond what the DataLoader pattern allowed. At Babylon Health Andreas was the Engineering Manager for the GraphQL team and used Apollo Federation to move the health care industry forward. Today Andreas is the Engineering Manager at Stellate - bringing superpowers to large-scale GraphQL APIs.", + "location": "London, United Kingdom", + "url": "https://stellate.co/", + "avatar": "//avatars.sched.co/9/16/18743801/avatar.jpg.320x320px.jpg?7e0", + "socialurls": [ + { + "service": "Twitter", + "url": "https://twitter.com/andheiberg" + }, + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/andheiberg/" + } + ], + "_years": [ + 2023 + ], + "~syncedDetailsAt": 1749502266902 + }, + { + "username": "andreas.marek1", + "company": "Atlassian", + "position": "Software Developer", + "name": "Andreas Marek", + "about": "GraphQL TSC Member and GraphQL Java founder. Working on all things GraphQL at Atlassian.", + "location": "", + "url": "", + "avatar": "//avatars.sched.co/1/ac/21066795/avatar.jpg.320x320px.jpg?e5e", + "socialurls": [], + "_years": [ + 2024 + ], + "~syncedDetailsAt": 1749505494947 + }, + { + "username": "andrei.bocan", + "company": "Atlassian", + "position": "Principal Engineer", + "name": "Andrei Bocan", + "about": "Andrei is a professional book hoarder who frequently complains about software.", + "location": "", + "url": "", + "avatar": "//avatars.sched.co/f/c3/21066797/avatar.jpg.320x320px.jpg?012", + "socialurls": [], + "_years": [ + 2024 + ], + "~syncedDetailsAt": 1749505494947 + }, + { + "username": "andrew.doyle1", + "company": "U.S. House of Representatives", + "position": "Director of Legislative Applications", + "name": "Andrew Doyle", + "about": "Andy Doyle is a technologist with over 30 years experience building systems. He currently works for the House of Representatives modernizing applications that support the legislative process.", + "location": "", + "url": "", + "avatar": "//avatars.sched.co/e/7d/21066800/avatar.jpg.320x320px.jpg?55c", + "socialurls": [], + "_years": [ + 2024 + ], + "~syncedDetailsAt": 1749505494947 + }, + { + "username": "ankita25", + "company": "Akto.io", + "position": "Co-founder and CEO", + "name": "Ankita Gupta", + "about": "Ankita is the co-founder and CEO of Akto.io. Prior to Akto she has experience working in VMware, LinkedIn and JP Morgan. She holds MBA from Dartmouth College and Bachelors in Technology from IIT Roorkee.", + "location": "San Francisco", + "url": "https://akto.io/", + "avatar": "//avatars.sched.co/9/a0/21265832/avatar.jpg.320x320px.jpg?b49", + "socialurls": [ + { + "service": "Twitter", + "url": "https://twitter.com/ankitaiitr" + }, + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/ankita-gupta-89214515/" + } + ], + "_years": [ + 2024 + ], + "~syncedDetailsAt": 1749501873330 + }, + { + "username": "annyce.davis", + "company": "Meetup", + "position": "Vice President of Engineering", + "name": "Annyce Davis", + "about": "Annyce is an Android and Kotlin Google Developer Expert. She has spent the past 10+ years developing applications for the Android ecosystem across multiple form factors. She is also an international conference speaker and author, sharing her knowledge of Android and Kotlin development with others!", + "location": "United States", + "url": "https://www.meetup.com/", + "avatar": "//avatars.sched.co/3/11/2147992/avatar.jpg.320x320px.jpg?b1a", + "socialurls": [ + { + "service": "Twitter", + "url": "https://twitter.com/brwngrldev" + }, + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/annycedavis" + } + ], + "_years": [ + 2023 + ], + "~syncedDetailsAt": 1749502266902 + }, + { + "username": "anthony_miller1", + "company": "Apollo GraphQL", + "position": "Principal Engineer - iOS", + "name": "Anthony Miller", + "about": "Anthony Miller leads the development of Apollo GraphQL’s iOS client library. He has a passion for client-side infrastructure, quality API design, and writing far too many unit tests. Outside of Apollo, Anthony enjoys board gaming with friends, watching movies, and relaxing by the pool.", + "location": "", + "url": "", + "avatar": "//avatars.sched.co/5/01/21066803/avatar.jpg.320x320px.jpg?46c", + "socialurls": [], + "_years": [ + 2024 + ], + "~syncedDetailsAt": 1749505494947 + }, + { + "username": "antoine.carossio", + "company": "Escape.tech", + "position": "Cofounder & CTO", + "name": "Antoine Carossio", + "about": "Former pentester for the French Intelligence Services.\nFormer Machine Learning Research @ Apple.\n\nlinkedin.com/in/acarossio/\nescape.tech (company)\n@iCarossio\nescape.tech (blog)", + "location": "", + "url": "", + "avatar": "//avatars.sched.co/c/49/18743834/avatar.jpg.320x320px.jpg?7f3", + "socialurls": [ + { + "service": "Twitter", + "url": "https://twitter.com/iCarossio" + }, + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/acarossio/" + } + ], + "_years": [ + 2023 + ], + "~syncedDetailsAt": 1749502266902 + }, + { + "username": "anushrut.gupta", + "company": "Hasura", + "position": "Senior Product Manager, Generative AI", + "name": "Anushrut Gupta", + "about": "We are building Pacha, an incredible tool that helps you build powerful AI applications that connect to any kind of data source with authorization, give LLMs a programmatic runtime and structured memory to eliminate context loss.", + "location": "San Francisco, California", + "url": "askpacha.ai", + "avatar": "//avatars.sched.co/3/3e/21460012/avatar.jpg.320x320px.jpg?925", + "socialurls": [ + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/anushrut-gupta/" + } + ], + "_years": [ + 2024 + ], + "~syncedDetailsAt": 1749501873331 + }, + { + "username": "ardatanrikulu", + "company": "The Guild", + "position": "Open Source Developer", + "name": "Arda Tanrıkulu", + "about": "", + "location": "İstanbul, Türkiye", + "url": "", + "avatar": "//avatars.sched.co/1/10/18982310/avatar.jpg.320x320px.jpg?e18", + "socialurls": [ + { + "service": "Twitter", + "url": "https://twitter.com/ardatanrikulu" + }, + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/ardatan/" + } + ], + "_years": [ + 2023 + ], + "~syncedDetailsAt": 1749502266902 + }, + { + "username": "arkenflame", + "company": "-", + "position": "Software Engineer", + "name": "Mike Solomon", + "about": "Mike is a software engineer with a background in distributed systems at scale. Previously, he was a Sr. Staff Software Engineer leading the Strato team (and a Group Tech Lead in Core Services) at Twitter.", + "location": "", + "url": "", + "avatar": "//avatars.sched.co/1/be/18743867/avatar.jpg.320x320px.jpg?5f6", + "socialurls": [], + "_years": [ + 2023, + 2024 + ], + "~syncedDetailsAt": 1749497439360 + }, + { + "username": "ashpak_shaikh", + "company": "Intuit", + "position": "Sr Staff Software Engineer", + "name": "Ashpak Shaikh", + "about": "Ashpak Shaikh is a Sr Staff Software Engineer at Intuit with over a decade of experience. He is a passionate advocate for GraphQL API development and has been an API steward at Intuit for several years. Ashpak believes in simplifying complex service orchestration with the power of Domain Specific Languages(DSL) and has been instrumental in architecting a GraphQL Gateway platform that powers consumer-facing applications like Turbotax, Mint, and Virtual Expert Platform at scale. He has played a key role in open-sourcing all the components of the GraphQL platform via the graph-quilt java project.", + "location": "", + "url": "", + "avatar": "//avatars.sched.co/0/a8/19084619/avatar.jpg.320x320px.jpg?4ad", + "socialurls": [ + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/ashpak--shaikh/" + } + ], + "_years": [ + 2023 + ], + "~syncedDetailsAt": 1749502266902 + }, + { + "username": "badurinadenis", + "company": "The Guild", + "position": "Software Architect", + "name": "Denis Badurina", + "about": "I am a self-taught senior software architect, with a distinguishing trait of resiliently finding simple solutions to complex problems using communication through words and code. Starting from my first Lego set, I've been in love with development throughout my whole life. As a creator, having the ability to turn thoughts into reality is a gift I find essential. Forever learning through practical applications, bad decisions and positive thoughts - I, ultimately, turned a hobby into an obsession.", + "location": "Sarajevo", + "url": "https://the-guild.dev/", + "avatar": "//avatars.sched.co/6/a9/18743810/avatar.jpg.320x320px.jpg?ec6", + "socialurls": [ + { + "service": "Twitter", + "url": "https://twitter.com/enisdenjo" + }, + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/enisdenjo/" + } + ], + "_years": [ + 2023, + 2024 + ], + "~syncedDetailsAt": 1749497439360 + }, + { + "username": "benjie3", + "company": "Graphile", + "position": "GraphQL Community Gardener", + "name": "Benjie Gillam", + "about": "A self-described \"community-funded open source maintainer,\" Benjie spends much of his time on OSS, enabled by appreciative and forward-thinking individuals and organizations who sponsor his continued efforts. Through his 5 years attending the GraphQL Working Group, Benjie has become one of the key members – both in terms of his own contributions, and in terms of helping others to advance their submissions. As a member of the GraphQL TSC, Benjie is proud to help guide GraphQL into the future.", + "location": "Chandler's Ford, UK", + "url": "https://graphile.org/", + "avatar": "//avatars.sched.co/b/99/18743846/avatar.jpg.320x320px.jpg?b57", + "socialurls": [ + { + "service": "Twitter", + "url": "https://twitter.com/benjie" + }, + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/benjiegillam/" + } + ], + "_years": [ + 2023, + 2024 + ], + "~syncedDetailsAt": 1749503993038 + }, + { + "username": "brandon.r.minnick", + "company": "AWS", + "position": ".NET Developer Advocate", + "name": "Brandon Minnick", + "about": "Brandon is a Developer Advocate at AWS where he gets to work closely with the developer community to help fellow mobile app and cloud developers make 5-star apps.\n\nBrandon previously worked at Xamarin + Microsoft where he focused on creating mobile apps in C# using Xamarin + .NET MAUI.\n\nAn avid mobile app developer, Brandon loves to code and has contributed to and published countless apps!", + "location": "", + "url": "https://codetraveler.io/", + "avatar": "//avatars.sched.co/2/a4/9493345/avatar.jpg.320x320px.jpg?3ce", + "socialurls": [ + { + "service": "Twitter", + "url": "https://twitter.com/thecodetraveler" + } + ], + "_years": [ + 2023 + ], + "~syncedDetailsAt": 1749502266902 + }, + { + "username": "bryan.robinson2", + "company": "Hygraph", + "position": "Head of Developer Relations", + "name": "Bryan Robinson", + "about": "Bryan is the Head of Developer Relations at Hygraph. He has a strong passion for developer education and experience as well as decoupled architectures, frontend development, and clean design.", + "location": "", + "url": "https://hygraph.com/", + "avatar": "//avatars.sched.co/5/8e/19076363/avatar.jpg.320x320px.jpg?ad8", + "socialurls": [ + { + "service": "Twitter", + "url": "https://twitter.com/brob" + }, + { + "service": "LinkedIn", + "url": "https://linkedin.com/in/bryanlrobinson" + } + ], + "_years": [ + 2023 + ], + "~syncedDetailsAt": 1749502266902 + }, + { + "username": "bsklar", + "company": "Salesforce", + "position": "Senior Product Manager", + "name": "Ben Sklar", + "about": "Ben Sklar is a Senior Product Manager at Salesforce. He is an avid skier, hiker, and ultimate frisbee player.", + "location": "", + "url": "", + "avatar": "//avatars.sched.co/d/92/18743813/avatar.jpg.320x320px.jpg?042", + "socialurls": [ + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/benjamin-sklar/" + } + ], + "_years": [ + 2023 + ], + "~syncedDetailsAt": 1749502266902 + }, + { + "username": "bsy", + "company": "Meta Platforms, Inc.", + "position": "Software Engineer", + "name": "Bryan Yang", + "about": "Bryan Yang is currently a tech lead at Meta leading the adoption of GraphQL in Ads Manager of Meta. Bryan has been working for a few big tech companies including Amazon and Uber for the past decade as a software engineer and an engineering manager. Bryan is wrapping up his master's degree in System Design and Management at MIT and holds a BS degree from University of Illinois at Urbana Champaign.", + "location": "", + "url": "", + "avatar": "//avatars.sched.co/7/1c/18743852/avatar.jpg.320x320px.jpg?de3", + "socialurls": [], + "_years": [ + 2023 + ], + "~syncedDetailsAt": 1749502266902 + }, + { + "username": "budha1", + "company": "Tyk", + "position": "Director of Product Ecosystems", + "name": "Budhaditya Bhattacharya", + "about": "Budha is the director of product ecosystems at Tyk, where he leads product education, ecosystem expansion, and open standards adoption. \n \nAs the board chair of the OpenAPI Initiative, he is responsible for membership growth and driving the adoption of OAS, Arazzo, and Overlays. \n \nPart product strategist, part developer advocate, and part storyteller, he’s on a mission to remove friction from API ecosystems by breaking down tech complexities preferably with a great metaphor and a well-placed pun.", + "location": "Durham, NC", + "url": "https://www.linkedin.com/in/budha-b/", + "avatar": "//avatars.sched.co/1/fe/17694866/avatar.jpg.320x320px.jpg?7a7", + "socialurls": [ + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/budha-b" + } + ], + "_years": [ + 2024 + ], + "~syncedDetailsAt": 1749501873331 + }, + { + "username": "christian.ernst", + "company": "Booking.com", + "position": "Senior Software Engineer", + "name": "Christian Ernst", + "about": "Christian is currently a Senior Software Egineer at Booking.com. For the last two years Christian has been working driving the GraphQL initiative across the company by helping teams adopt GraphQL for their use cases.", + "location": "", + "url": "", + "avatar": "//avatars.sched.co/c/5f/19084532/avatar.jpg.320x320px.jpg?8bd", + "socialurls": [ + { + "service": "Twitter", + "url": "https://twitter.com/cernst11" + }, + { + "service": "LinkedIn", + "url": "https://nl.linkedin.com/in/christian-ernst11" + } + ], + "_years": [ + 2023 + ], + "~syncedDetailsAt": 1749502266902 + }, + { + "username": "christian.ernst1", + "company": "Booking.com", + "position": "Senior Software Engineer", + "name": "Christian Ernst", + "about": "Christian is currently a Senior Software Engineer at Booking.com. For the last three years Christian has been working to drive the GraphQL initiative across the company by helping teams adopt build new features leveraging GraphQL.", + "location": "", + "url": "", + "avatar": "//avatars.sched.co/9/39/21066804/avatar.jpg.320x320px.jpg?fff", + "socialurls": [], + "_years": [ + 2024 + ], + "~syncedDetailsAt": 1749505494947 + }, + { + "username": "christian.stangier", + "company": "MOIA GmbH", + "position": "Senior Software Engineer", + "name": "Christian Stangier", + "about": "Christian is a Software Engineer at MOIA GmbH, a company trying to improve urban transportation with ride-pooling. With over 12 years of experience as a full-stack developer, Christian is currently focused on building real-time tooling for fleet operators with GraphQL on serverless AWS.", + "location": "", + "url": "", + "avatar": "//avatars.sched.co/a/5f/21066807/avatar.jpg.320x320px.jpg?a7c", + "socialurls": [], + "_years": [ + 2024 + ], + "~syncedDetailsAt": 1749505494947 + }, + { + "username": "danadajian", + "company": "Expedia Group", + "position": "Senior Software Engineer", + "name": "Dan Adajian", + "about": "I am a Senior Software Engineer at Expedia Group who is passionate about GraphQL, open source software, and developer experience. I live in Chicago, IL and enjoying playing golf and tennis when the weather allows!", + "location": "Chicago, IL", + "url": "https://github.com/danadajian/", + "avatar": "//avatars.sched.co/a/cc/21487429/avatar.jpg.320x320px.jpg?ffa", + "socialurls": [ + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/dan-adajian-aa8aaa72" + } + ], + "_years": [ + 2024 + ], + "~syncedDetailsAt": 1749501873331 + }, + { + "username": "danielle.man", + "company": "Apollo GraphQL", + "position": "Senior Director of Engineering", + "name": "Danielle Man", + "about": "For the last 7 years I've been helping make GraphQL easier to build with and use at Apollo. I love building products for the web, solving problems with craftsmanship and code. In my time at Apollo I've been a friend, a manager, a developer, a product manager, a recruiter, an advocate, and more. At the end of the day, I just want to make tools that help people and feel great to use. I care much more about the people I'm working with than the day-to-day specifics of my job.", + "location": "", + "url": "", + "avatar": "//avatars.sched.co/b/1a/21066810/avatar.jpg.320x320px.jpg?708", + "socialurls": [], + "_years": [ + 2024 + ], + "~syncedDetailsAt": 1749505494947 + }, + { + "username": "david3103", + "company": "inRecovery", + "position": "Founder / CEO", + "name": "David Emanuel Sarabia", + "about": "", + "location": "", + "url": "", + "avatar": "//avatars.sched.co/7/71/13551525/avatar.jpg.320x320px.jpg?cc8", + "socialurls": [], + "_years": [ + 2023 + ], + "~syncedDetailsAt": 1749503546034 + }, + { + "username": "donnasiqizhou", + "company": "Atlassian", + "position": "Software Engineer", + "name": "Donna Zhou", + "about": "I'm a maintainer of GraphQL Java and software engineer at Atlassian. I've published a book, \"GraphQL with Java and Spring\", all about the official Spring for GraphQL integration and the GraphQL Java library.", + "location": "", + "url": "", + "avatar": "//avatars.sched.co/0/1d/18743879/avatar.jpg.320x320px.jpg?e1f", + "socialurls": [ + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/donnazhou/" + } + ], + "_years": [ + 2023 + ], + "~syncedDetailsAt": 1749503546034 + }, + { + "username": "dotansimha", + "company": "The Guild", + "position": "CTO", + "name": "Dotan Simha", + "about": "The creator of GraphQL Code Generator, and many other GraphQL-related tools. Active developer and maintainer of GraphQL-Hive and the CTO of The Guild.", + "location": "", + "url": "https://the-guild.dev/", + "avatar": "//avatars.sched.co/1/4d/18743828/avatar.jpg.320x320px.jpg?795", + "socialurls": [ + { + "service": "Twitter", + "url": "https://twitter.com/dotansimha" + } + ], + "_years": [ + 2023 + ], + "~syncedDetailsAt": 1749503782817 + }, + { + "username": "eitan15", + "company": "Inigo", + "position": "CTO and Co-founder", + "name": "Eitan Joffe", + "about": "Software engineer and GraphQL enthusiast. Before founding Inigo, Eitan was a core member at multiple startups (Arista, Apstra, Observe) building stuff in networking, cloud infrastructure, and the observability space. Eitan's passion in life is to design, build and create stuff. He gets extra pleasure from finding elegant, simple solutions to complicated problems.", + "location": "", + "url": "", + "avatar": "//avatars.sched.co/5/e5/17700131/avatar.jpg.320x320px.jpg?aaf", + "socialurls": [], + "_years": [ + 2023 + ], + "~syncedDetailsAt": 1749503782817 + }, + { + "username": "emily.li2", + "company": "Benchling", + "position": "Software Engineer", + "name": "Emily Li", + "about": "Emily is a Software Engineer at Benchling where she has spent the past two years building a dynamically generated GraphQL API.", + "location": "", + "url": "", + "avatar": "//avatars.sched.co/d/91/21066813/avatar.jpg.320x320px.jpg?591", + "socialurls": [ + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/emily-li-el2857/" + } + ], + "_years": [ + 2024 + ], + "~syncedDetailsAt": 1749501888881 + }, + { + "username": "en3m", + "company": "The Guild", + "position": "Machina", + "name": "Dimitri Postolov", + "about": "Open Source developer from Paris GraphQL-ESLint, Nextra and GraphiQL maintener", + "location": "", + "url": "https://the-guild.dev/", + "avatar": "//avatars.sched.co/5/78/18743843/avatar.jpg.320x320px.jpg?664", + "socialurls": [ + { + "service": "Twitter", + "url": "https://twitter.com/B2o5T" + }, + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/postolov" + }, + { + "service": "Instagram", + "url": "https://www.instagram.com/dimdawkins" + } + ], + "_years": [ + 2023 + ], + "~syncedDetailsAt": 1749503981180 + }, + { + "username": "erikwrede2", + "company": "fulfillmenttools", + "position": "Software Engineer", + "name": "Erik Wrede", + "about": "Erik is a Software Engineer and GraphQL enthusiast that enjoys building full-stack GraphQL solutions. As a member of the GraphQL-Python Maintainer Team and Core Dev at Strawberry-GraphQL, he’s passionate about improving the developer experience and creating exciting new GraphQL tooling. Erik is excited about building performant and scalable solutions and is always eager to chat about new features, developments and the latest advancements in tech.", + "location": "", + "url": "", + "avatar": "//avatars.sched.co/6/74/21102110/avatar.jpg.320x320px.jpg?a37", + "socialurls": [ + { + "service": "Twitter", + "url": "https://twitter.com/erik_wrede" + }, + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/erikwrede/" + } + ], + "_years": [ + 2024 + ], + "~syncedDetailsAt": 1749501888881 + }, + { + "username": "ernie.turner1", + "company": "Coinbase", + "position": "Staff Software Engineer", + "name": "Ernie Turner", + "about": "Ernie has over fifteen years of experience building Enterprise web applications and developer platforms going back to the dark, soul crushing days of IE6. Ernie now works at Coinbase helping build their GraphQL infrastructure.", + "location": "", + "url": "https://coinbase.com/", + "avatar": "//avatars.sched.co/b/bc/18743873/avatar.jpg.320x320px.jpg?222", + "socialurls": [ + { + "service": "Twitter", + "url": "https://twitter.com/erniewturner" + }, + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/ernie-turner-87545395/" + } + ], + "_years": [ + 2023 + ], + "~syncedDetailsAt": 1749503981180 + }, + { + "username": "gabrielschulhof", + "company": "Auction.com", + "position": "Lead Software Engineer", + "name": "Gabriel Schulhof", + "about": "Node.js Core Collaborator and TSC Member emeritus, member of the Node.js API working group. Former employers include Nokia, Intel, and SpaceX.", + "location": "Irvine, CA", + "url": "https://auction.com/", + "avatar": "//avatars.sched.co/0/e6/13020672/avatar.jpg.320x320px.jpg?d7c", + "socialurls": [], + "_years": [ + 2024 + ], + "~syncedDetailsAt": 1749505494947 + }, + { + "username": "gerard.klijs", + "company": "AxonIQ", + "position": "Software Engineer", + "name": "Gerard Klijs", + "about": "With over 10 years of experience as a backend engineer, Gerard Klijs is a contributor to several GraphQL libraries, and also the creator and maintainer of a Rust library to use Confluent Schema Registry. He has an interest in event sourcing and CQRS and likes sharing knowledge via blogs, talks, and demo projects.", + "location": "", + "url": "https://www.axoniq.io/", + "avatar": "//avatars.sched.co/2/4b/18743792/avatar.jpg.320x320px.jpg?b61", + "socialurls": [ + { + "service": "Twitter", + "url": "https://twitter.com/GKlijs" + }, + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/mwlite/profile/in/%F0%9F%92%BBgerard-klijs%F0%9F%A6%80-416b3744" + } + ], + "_years": [ + 2023 + ], + "~syncedDetailsAt": 1749503986466 + }, + { + "username": "giacomo.simmi", + "company": "Paramount", + "position": "Software Architect", + "name": "Giacomo Simmi", + "about": "Born in the 90s, I grew up in southern Italy surrounded by martial arts, anime, video games, and computers.\nI fell in love with computer science when software was still distributed on floppy disks.\n\nI started my career as a Mobile Developer when Android was just emerging. Later, I took on roles such as Web Developer, Backend Developer, Tech Lead, and IT Manager.\n\nToday, I am an IT Architect with more than 10 years of experience in consulting companies and corporates.", + "location": "Milan, Italy", + "url": "https://keadex.dev/", + "avatar": "//avatars.sched.co/6/8c/21496501/avatar.jpg.320x320px.jpg?5c6", + "socialurls": [ + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/giacomosimmi/" + } + ], + "_years": [ + 2024 + ], + "~syncedDetailsAt": 1749501888881 + }, + { + "username": "gilgardosh", + "company": "The Guild", + "position": "Open Source Developer", + "name": "Gil Gardosh", + "about": "", + "location": "", + "url": "https://the-guild.dev/", + "avatar": "//avatars.sched.co/0/33/19070448/avatar.jpg.320x320px.jpg?34a", + "socialurls": [ + { + "service": "Twitter", + "url": "https://twitter.com/gilgardosh" + }, + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/gil-gardosh-9a5088a5/" + } + ], + "_years": [ + 2023 + ], + "~syncedDetailsAt": 1749503986466 + }, + { + "username": "gonenj", + "company": "Wix.com", + "position": "Head of API Infra", + "name": "Gonen Jerbi", + "about": "Gonen, a GraphQL enthusiast for 8 years, joined Wix 6 years ago, pioneering GraphQL adoption. A transformative hackathon 5 years ago showcased automatic schema generation for Wix APIs. Today, Wix extensively uses GraphQL and plans to expose all APIs via GraphQL. Join him to explore his insights on streamlining GraphQL adoption and unleashing its potential.", + "location": "", + "url": "", + "avatar": "//avatars.sched.co/3/c5/18743816/avatar.jpg.320x320px.jpg?0f8", + "socialurls": [ + { + "service": "Twitter", + "url": "https://twitter.com/gonengar" + }, + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/gonen-jerbi-01a7296a/" + } + ], + "_years": [ + 2023 + ], + "~syncedDetailsAt": 1749505650884 + }, + { + "username": "hello2358", + "company": "IBM", + "position": "Technical Product Manager", + "name": "Roy Derks", + "about": "Roy is an entrepreneur, speaker and author from The Netherlands and, in his own words, 'wants to make the world a better place through tech'. He has been giving talks and trainings to developers worldwide on technologies like GraphQL, React and TypeScript. Most recently he wrote the book Fullstack GraphQL.", + "location": "Santa Clara, CA", + "url": "https://x.com/gethackteam", + "avatar": "//avatars.sched.co/a/20/16832291/avatar.jpg.320x320px.jpg?60d", + "socialurls": [ + { + "service": "Twitter", + "url": "https://x.com/gethackteam" + }, + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/gethackteam" + } + ], + "_years": [ + 2023, + 2024 + ], + "~syncedDetailsAt": 1749497439360 + }, + { + "username": "idit_levine.25krdj4u", + "company": "Solo.io", + "position": "Founder", + "name": "Idit Levine", + "about": "", + "location": "", + "url": "", + "avatar": "//avatars.sched.co/e/82/18769950/avatar.jpg.320x320px.jpg?ca2", + "socialurls": [], + "_years": [ + 2023 + ], + "~syncedDetailsAt": 1749505650884 + }, + { + "username": "itamark", + "company": "Meta", + "position": "Software Engineer", + "name": "Itamar Kestenbaum", + "about": "Software Engineer working on Infrastructure experiences at Meta", + "location": "", + "url": "https://www.threads.net/@itamarok", + "avatar": "//avatars.sched.co/b/e5/80829/avatar.jpg.320x320px.jpg?988", + "socialurls": [ + { + "service": "Facebook", + "url": "https://www.facebook.com/profile.php?id=504330120" + }, + { + "service": "LinkedIn", + "url": "https://linkedin.com/in/itamarkestenbaum" + } + ], + "_years": [ + 2024 + ], + "~syncedDetailsAt": 1749501888881 + }, + { + "username": "jamie855", + "company": "Grafbase", + "position": "Dev Rel Engineer", + "name": "Jamie Barton", + "about": "Around since the days of dial-up modems and flash websites. I'm a software engineer who can do slightly more than build landing pages today. Despite my age (in tech years, at least), I'm always working with the latest tools like GraphQL to build beautiful and functional web apps.", + "location": "North East, UK", + "url": "https://grafbase.com/", + "avatar": "//avatars.sched.co/c/f3/18743804/avatar.jpg.320x320px.jpg?2a2", + "socialurls": [ + { + "service": "Twitter", + "url": "https://twitter.com/notrab" + }, + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/notrab/" + } + ], + "_years": [ + 2023 + ], + "~syncedDetailsAt": 1749505650884 + }, + { + "username": "janette.cheng", + "company": "Meta", + "position": "Software Engineer", + "name": "Janette Cheng", + "about": "Working on the GraphQL client and build infrastructure for mobile apps at Meta", + "location": "", + "url": "", + "avatar": "//avatars.sched.co/c/c0/21066816/avatar.jpg.320x320px.jpg?aa7", + "socialurls": [], + "_years": [ + 2024 + ], + "~syncedDetailsAt": 1749505607370 + }, + { + "username": "jared_cheney.7rad60v", + "company": "Intuit", + "position": "Distinguished Engineer", + "name": "Jared Cheney", + "about": "Jared Cheney is a Distinguished Engineer at Intuit with over 24 years of industry experience with a focus in DevOps, consulting, and software development. He has led many initiatives involving API integrations with other products and helps lead the efforts around best practices for API guidelines and principles within Intuit.", + "location": "Boise, ID", + "url": "intuit.com", + "avatar": "//avatars.sched.co/4/e3/18775617/avatar.jpg.320x320px.jpg?01b", + "socialurls": [ + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/jaredcheney/" + } + ], + "_years": [ + 2023 + ], + "~syncedDetailsAt": 1749505650884 + }, + { + "username": "jeff.auriemma", + "company": "Apollo GraphQL", + "position": "Senior Engineering Manager", + "name": "Jeff Auriemma", + "about": "Hi, I'm Jeff! I'm a manager serving the Apollo Client, Apollo iOS, and Apollo Kotlin engineers. I also serve as a member of the GraphQL Foundation's Governing Board. In my spare time I enjoy baking, coffee, making music, kayaking, and nature walks with my spouse and three children.", + "location": "Connecticut, USA", + "url": "https://apollographql.com/", + "avatar": "//avatars.sched.co/3/77/18743876/avatar.jpg.320x320px.jpg?a1e", + "socialurls": [ + { + "service": "Twitter", + "url": "https://twitter.com/JeffAuriemma" + }, + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/jeffreyauriemma/" + } + ], + "_years": [ + 2023, + 2024 + ], + "~syncedDetailsAt": 1749497439360 + }, + { + "username": "jens63", + "company": "WunderGraph", + "position": "CEO & Founder", + "name": "Jens Neuse", + "about": "CEO and Founder of WunderGraph,\nbuilding an open-source alternative to Apollo Federation and GraphOS.\nCreator of Open Federation, an open specification for federated GraphQL.\nCreator of graphql-go-tools, an open-source implementation of GraphQL in Go.", + "location": "", + "url": "https://wundergraph.com/", + "avatar": "//avatars.sched.co/3/68/19226202/avatar.jpg.320x320px.jpg?aea", + "socialurls": [ + { + "service": "Twitter", + "url": "https://twitter.com/TheWorstFounder" + }, + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/jens-neuse-706673195/" + } + ], + "_years": [ + 2023 + ], + "~syncedDetailsAt": 1749505650884 + }, + { + "username": "jim.barton", + "company": "Solo.io", + "position": "Field Engineer", + "name": "Jim Barton", + "about": "Jim Barton is a Field Engineer at Solo.io, a Cambridge-based company specializing in service mesh and Kubernetes-native API gateway technology. Jim’s career in enterprise software spans 30 years. He has enjoyed roles as a project engineer, sales and consulting engineer, product development manager, and executive leader of tech startups. Prior to Solo, he spent a decade architecting, building and operating systems based on enterprise open-source technologies, at the likes of Red Hat, Amazon, and Zappos. After two years of COVID-driven, Zoom-encrusted isolation, Jim especially enjoys sharing with and learning from three-dimensional people at technical conferences around the world.", + "location": "Myrtle Beach, SC, USA", + "url": "https://solo.io/", + "avatar": "//avatars.sched.co/f/74/12615290/avatar.jpg.320x320px.jpg?8cc", + "socialurls": [ + { + "service": "Twitter", + "url": "https://twitter.com/@jameshbarton" + }, + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/jameshbarton/" + } + ], + "_years": [ + 2023 + ], + "~syncedDetailsAt": 1749505650884 + }, + { + "username": "jordaneldredge", + "company": "Meta", + "position": "Software Engineer", + "name": "Jordan Eldredge", + "about": "Jordan has spent the last seven years working at Meta. He currently works on Relay, a sophisticated GraphQL client for JavaScript that powers most of Meta's JavaScript applications.", + "location": "", + "url": "https://jordaneldredge.com/", + "avatar": "//avatars.sched.co/7/eb/21066819/avatar.jpg.320x320px.jpg?65e", + "socialurls": [ + { + "service": "Twitter", + "url": "https://twitter.com/captbaritone" + }, + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/jordaneldredge/" + } + ], + "_years": [ + 2024 + ], + "~syncedDetailsAt": 1749501888881 + }, + { + "username": "kamilkisiela", + "company": "The Guild", + "position": "Developer", + "name": "Kamil Kisiela", + "about": "Working on GraphQL tooling since before I had a mustache. I'm proud of it (the tooling).", + "location": "Warsaw, Poland", + "url": "https://github.com/kamilkisiela", + "avatar": "//avatars.sched.co/2/7e/19082388/avatar.jpg.320x320px.jpg?d55", + "socialurls": [ + { + "service": "Twitter", + "url": "https://twitter.com/kamilkisiela" + }, + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/kamilkisiela" + }, + { + "service": "Instagram", + "url": "https://www.instagram.com/kisiel_ogarnij" + } + ], + "_years": [ + 2023, + 2024 + ], + "~syncedDetailsAt": 1749497439360 + }, + { + "username": "keerthan.ekbote", + "company": "solo.io", + "position": "Mr.", + "name": "Sai Ekbote", + "about": "Sai Ekbote is a Software Engineer currently working on the GraphQL initiative at Solo.io. He has contributed to multiple open source projects such as Istio, Envoy and Flagger. Prior to working on cloud-native tech at solo, Sai worked as a full stack engineer at HubSpot and a simulations engineer at Raytheon.", + "location": "", + "url": "https://solo.io/", + "avatar": "//avatars.sched.co/a/6d/14553875/avatar.jpg.320x320px.jpg?9aa", + "socialurls": [ + { + "service": "LinkedIn", + "url": "https://linkedin.com/in/keerthanekbote" + } + ], + "_years": [ + 2023 + ], + "~syncedDetailsAt": 1749505650884 + }, + { + "username": "keith.babo", + "company": "Solo.io", + "position": "Chief Product Officer", + "name": "Keith Babo", + "about": "Keith Babo leads the product team at Solo.io covering the full range of application networking technologies required to build modern, cloud-native application architectures. Prior to joining Solo.io, Keith held product management and engineering leadership positions at Red Hat, Sun Microsystems, and Intel Corporation.", + "location": "", + "url": "", + "avatar": "//avatars.sched.co/2/05/19071264/avatar.jpg.320x320px.jpg?0c9", + "socialurls": [ + { + "service": "Twitter", + "url": "https://twitter.com/keithbabo" + }, + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/babo/" + } + ], + "_years": [ + 2023 + ], + "~syncedDetailsAt": 1749505650884 + }, + { + "username": "kenneth.wussmann", + "company": "MOIA GmbH", + "position": "Tech Lead, Senior Software Engineer", + "name": "Kenneth Wußmann", + "about": "I currently work at MOIA, building serverless applications to operate an autonomous fleet of vehicles. My journey began in the Java EE cosmos, but over time I shifted to TypeScript, Serverless Architecture and GraphQL. I am fascinated by chess and its parallels to software development.", + "location": "", + "url": "", + "avatar": "", + "socialurls": [], + "_years": [ + 2024 + ], + "~syncedDetailsAt": 1749502251756 + }, + { + "username": "kennethstott", + "company": "Hasura, Inc.", + "position": "Field CTO, Hasura, Inc.", + "name": "Kenneth Stott", + "about": "Ken’s experience spans risk management consulting at Deloitte, technology executive leadership in major finance and energy firms, and the CTO of a MedTech startup. Most recently, he was a senior data architect for key initiatives at Bank of America. Now, as Field CTO at Hasura, Inc., he drives cost-effective data solutions for large finance, energy, and healthcare enterprises, addressing complex regulatory challenges and competitive pressures.", + "location": "", + "url": "", + "avatar": "//avatars.sched.co/f/b3/21066821/avatar.jpg.320x320px.jpg?439", + "socialurls": [], + "_years": [ + 2024 + ], + "~syncedDetailsAt": 1749505607370 + }, + { + "username": "kevin.brown11", + "company": "Exogee", + "position": "Chief Technology Officer", + "name": "Kevin Brown", + "about": "Kevin founded Exogee, a company that builds GraphQL based products for companies that want to ship high quality code quickly on modern stacks. He has been building with GraphQL for more than 7 years, creating software for more than 20 years and likes solving hard problems. Kevin is originally from the US and lives in Sydney, Australia.", + "location": "", + "url": "", + "avatar": "//avatars.sched.co/f/4d/21490044/avatar.jpg.320x320px.jpg?2c5", + "socialurls": [], + "_years": [ + 2024 + ], + "~syncedDetailsAt": 1749505607370 + }, + { + "username": "kevin1700", + "company": "The Graph", + "position": "Developer Relations Engineer", + "name": "Kevin Jones", + "about": "Kevin is an experienced Developer Relations Engineer with a strong focus on the dynamic realm of blockchain technology. With a passion for fostering innovation and education in the blockchain space, specializing in dApp development and a champion of the adoption of public goods education. Leveraging over 15 years of hands-on experience in deploying production applications, Kevin brings a wealth of knowledge to drive impactful solutions.", + "location": "San Francisco, CA", + "url": "", + "avatar": "//avatars.sched.co/2/d0/19150962/avatar.jpg.320x320px.jpg?e4c", + "socialurls": [ + { + "service": "Twitter", + "url": "https://twitter.com/cryptomastery_" + }, + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/kevinjones-crypto/" + } + ], + "_years": [ + 2023 + ], + "~syncedDetailsAt": 1749505650884 + }, + { + "username": "laurent57", + "company": "Postman", + "position": "Microcks co-founder, Director of Engineering at Postman Open Technologies", + "name": "Laurent Broudoux", + "about": "Laurent is a Cloud-Native Architecture expert and Enterprise Integration problem lover. He has helped organizations in adopting distributed and cloud paradigms while capitalizing on their critical existing assets. He is the founder and lead developer of the Microcks.io open source project: a Kubernetes-native tool for API mocking and testing. For this, he is using his 10+ years experience as an architect in Financial Services where he defined API transformation strategies, including governance and delivery process.", + "location": "Le Mans, France", + "url": "", + "avatar": "//avatars.sched.co/4/7d/18853523/avatar.jpg.320x320px.jpg?fdb", + "socialurls": [ + { + "service": "Twitter", + "url": "https://twitter.com/lbroudoux" + }, + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/laurentbroudoux/" + } + ], + "_years": [ + 2023 + ], + "~syncedDetailsAt": 1749505650884 + }, + { + "username": "laurinquast", + "company": "The Guild", + "position": "Software Engineer", + "name": "Laurin Quast", + "about": "Laurin Quast is a developer that started exploring GraphQL, by leading API development at a start-up. Realizing that there are still many unsolved problems and challenges within the space, he started contributing to famous JavaScript libraries, such as GraphQL Code Generator and Tools. Diving deeper, the transition into becoming a full-time open-source developer at The Guild was inevitable. Currently, he is working on Hive helping teams scale GraphQL across teams and organizations.", + "location": "", + "url": "https://the-guild.dev/", + "avatar": "//avatars.sched.co/2/a6/18743819/avatar.jpg.320x320px.jpg?ed8", + "socialurls": [ + { + "service": "Twitter", + "url": "https://twitter.com/n1rual" + }, + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/laurin-quast-a47b871b4/" + } + ], + "_years": [ + 2023, + 2024 + ], + "~syncedDetailsAt": 1749501892530 + }, + { + "username": "ldebruijn", + "company": "bol", + "position": "Tech Lead", + "name": "Lars de Bruijn", + "about": "Lars de Bruijn is a Tech Lead at bol, a leading retail platform operating in The Netherlands and Belgium. Lars is passionate about aligning business strategy with efficient execution, while ensuring the rubber hits the road with his hands-on approach. In his role he is responsible for the customer facing stack of bol, which is where he introduced Federated GraphQL and spearheaded the adoption of GraphQL in the organization.", + "location": "", + "url": "", + "avatar": "//avatars.sched.co/4/57/5922948/avatar.jpg.320x320px.jpg?fa5", + "socialurls": [ + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/lars-de-bruijn/" + } + ], + "_years": [ + 2024 + ], + "~syncedDetailsAt": 1749501892530 + }, + { + "username": "lee_byron.25jvpjmb", + "company": "GraphQL Foundation", + "position": "Co-creator of GraphQL and Director", + "name": "Lee Byron", + "about": "", + "location": "", + "url": "", + "avatar": "//avatars.sched.co/5/24/18743534/avatar.jpg.320x320px.jpg?480", + "socialurls": [], + "_years": [ + 2024, + 2025 + ], + "~syncedDetailsAt": 1749502251756 + }, + { + "username": "lee_byron.25krdom6", + "company": "GraphQL Foundation", + "position": "Co-creator of GraphQL, Director of the GraphQL Foundation", + "name": "Lee Byron", + "about": "Lee is the co-creator of GraphQL and Executive Director of the GraphQL Foundation. He leads Product Engineering at Watershed building tools to address the climate crisis. Lee has had a hand in open source libraries used by millions of developers worldwide including GraphQL, React, Dataloader, Immutable.js, Relay, Flow and more.", + "location": "", + "url": "", + "avatar": "//avatars.sched.co/8/92/18769956/avatar.jpg.320x320px.jpg?547", + "socialurls": [], + "_years": [ + 2023 + ], + "~syncedDetailsAt": 1749505650884 + }, + { + "username": "lerenzo", + "company": "Miro", + "position": "Senior Software Engineer", + "name": "LeRenzo Malcom", + "about": "Software engineer at Miro!", + "location": "", + "url": "https://miro.com/", + "avatar": "//avatars.sched.co/f/19/5604312/avatar.jpg.320x320px.jpg?db4", + "socialurls": [ + { + "service": "Twitter", + "url": "https://twitter.com/lerenzom" + }, + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/lmalcom" + } + ], + "_years": [ + 2023 + ], + "~syncedDetailsAt": 1749505650884 + }, + { + "username": "lyonwj1", + "company": "Neo4j", + "position": "Developer Advocate", + "name": "William Lyon", + "about": "William Lyon is a Staff Developer Advocate at Neo4j, the open source graph database. He previously worked as a software engineer on quantitative finance systems, mobile apps for the real estate industry, and predictive API services. He is the author of the Manning book Full Stack GraphQL Applications and has a masters degree in Computer Science from the University of Montana. You can find him online where he publishes a blog at lyonwj.com", + "location": "San Mateo, CA", + "url": "https://lyonwj.com/", + "avatar": "//avatars.sched.co/5/93/19084292/avatar.jpg.320x320px.jpg?348", + "socialurls": [ + { + "service": "Twitter", + "url": "https://twitter.com/lyonwj" + }, + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/lyonwj/" + } + ], + "_years": [ + 2023 + ], + "~syncedDetailsAt": 1749505650884 + }, + { + "username": "mahoney.mattj", + "company": "Meta", + "position": "Software Engineer", + "name": "Matthew Mahoney", + "about": "I work on Meta's Mobile GraphQL team.", + "location": "", + "url": "", + "avatar": "//avatars.sched.co/c/1d/19314398/avatar.jpg.320x320px.jpg?f73", + "socialurls": [ + { + "service": "Facebook", + "url": "https://www.facebook.com/mattjmahoney?mibextid=LQQJ4d" + }, + { + "service": "Twitter", + "url": "https://twitter.com/mahoneymattj" + } + ], + "_years": [ + 2024 + ], + "~syncedDetailsAt": 1749501892530 + }, + { + "username": "marion84", + "company": "Hasura", + "position": "Head of Developer Education", + "name": "Marion Schleifer", + "about": "I am leading the Developer Education efforts at Hasura, working with the documentation team and the technical evangelists team. I love interacting with and learning from the community to help improve the Hasura product. In my free time, I ride dirt bikes and practice ballet.", + "location": "", + "url": "", + "avatar": "//avatars.sched.co/b/cf/19150944/avatar.jpg.320x320px.jpg?418", + "socialurls": [ + { + "service": "Twitter", + "url": "https://twitter.com/rubydwarf" + }, + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/marion-schleifer/" + } + ], + "_years": [ + 2023 + ], + "~syncedDetailsAt": 1749505650884 + }, + { + "username": "martijn.walraven", + "company": "Apollo", + "position": "Software Engineer at Apollo", + "name": "Martijn Walraven", + "about": "Martijn Walraven lives in Amsterdam and has been with Apollo since the early days of our GraphQL journey. He is one of the co-creators of Apollo Federation. Outside of work, he enjoys volunteering at a primary school and is working towards a degree in gifted education.", + "location": "", + "url": "", + "avatar": "//avatars.sched.co/6/33/21066825/avatar.jpg.320x320px.jpg?23a", + "socialurls": [], + "_years": [ + 2024 + ], + "~syncedDetailsAt": 1749501892530 + }, + { + "username": "marybriskin", + "company": "Tutored by Teachers", + "position": "Lead Software Engineer", + "name": "Mary Briskin", + "about": "Attended the University of Waterloo. Worked at Shopify and now working at Tutored by Teachers as the Lead Software Engineer. Love using graphQL, love learning from and teaching others!", + "location": "", + "url": "", + "avatar": "//avatars.sched.co/2/3f/21457039/avatar.jpg.320x320px.jpg?7cf", + "socialurls": [], + "_years": [ + 2024 + ], + "~syncedDetailsAt": 1749501892530 + }, + { + "username": "masanori.uehara", + "company": "Tailor Inc.", + "position": "Head of Platform", + "name": "Masanori Uehara", + "about": "Masanori is a Head of Platform at Tailor Inc, a Headless ERP Platform. He previously worked as a Backend engineer at Japan's largest C2C Marketplace, Mercari, and joined Tailor in 2023.", + "location": "Tokyo, Japan", + "url": "https://www.tailor.tech/", + "avatar": "//avatars.sched.co/4/fd/21066828/avatar.jpg.320x320px.jpg?b60", + "socialurls": [ + { + "service": "Twitter", + "url": "https://twitter.com/jackchuka" + }, + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/jackchuka/" + } + ], + "_years": [ + 2024 + ], + "~syncedDetailsAt": 1749501892530 + }, + { + "username": "matt1575", + "company": "Apollo GraphQL", + "position": "CTO + cofounder", + "name": "Matt DeBergalis", + "about": "Matt DeBergalis is the Chief Technology Officer and Co-Founder of Apollo GraphQL, where he is responsible for pioneering the next frontier of the company’s cutting-edge technology. Prior to Apollo, Matt was the co-founder of Meteor Development Group and co-creator of Meteor.js, which grew to become one of the most popular open-source projects in the world for developing full-stack web apps with JavaScript. Matt also founded and is a board member of ActBlue, the largest political fundraising platform in the world that has amassed over 10 billion dollars for candidates and political groups nationwide. He attended the Massachusetts Institute of Technology and resides in the San Francisco Bay Area with his family.", + "location": "", + "url": "", + "avatar": "//avatars.sched.co/c/59/7503056/avatar.jpg.320x320px.jpg?f15", + "socialurls": [], + "_years": [ + 2024 + ], + "~syncedDetailsAt": 1749501892530 + }, + { + "username": "mauricio.montalvo.guzman", + "company": "Pinterest", + "position": "Senior Software Engineer", + "name": "Mauricio Montalvo", + "about": "I’m a software engineer with 11 years of professional experience, I consider myself full-stack but my career has been focused in Frontend Development in the past years, I love creating web apps using ReactJS & GraphQL. At Pinterest, I’m part of the Web team that’s exploring the adoption of GraphQL in our systems, I’ve been working on this for 2 years now leading a GraphQL migration project since Q3 2023.", + "location": "", + "url": "", + "avatar": "//avatars.sched.co/8/d4/21066831/avatar.jpg.320x320px.jpg?a40", + "socialurls": [], + "_years": [ + 2024 + ], + "~syncedDetailsAt": 1749501892530 + }, + { + "username": "meenakshi.dhanani1", + "company": "Postman", + "position": "Technical Enablement Architect", + "name": "Meenakshi Dhanani", + "about": "Meenakshi works as a Technical Enablement Architect at Postman, an API platform with over 20 million users. Her team focuses on many API specifications, including GraphQL, gRPC, AsyncAPI, JSON Schema, and OpenAPI. Her current emphasis is on learning about and communicating best practices with GraphQL. Her Google Maps search history includes vegan restaurants and parks nearby.", + "location": "India", + "url": "", + "avatar": "//avatars.sched.co/4/8c/18777983/avatar.jpg.320x320px.jpg?237", + "socialurls": [ + { + "service": "Twitter", + "url": "https://twitter.com/mdhananii" + }, + { + "service": "LinkedIn", + "url": "https://linkedin.com/in/meenakshi-dhanani" + } + ], + "_years": [ + 2023 + ], + "~syncedDetailsAt": 1749505650884 + }, + { + "username": "mgiroux7", + "company": "Netflix", + "position": "Senior Software Developer @ Netflix, Author of Production Ready GraphQL & GraphQL TSC Member", + "name": "Marc-Andre Giroux", + "about": "Marc-André is senior software developer at Netflix. He is the author of the book Production Ready GraphQL and a member of the GraphQL Technical Steering Committee.", + "location": "Montreal, Canada", + "url": "https://productionreadygraphql.com/", + "avatar": "//avatars.sched.co/0/61/9031414/avatar.jpg.320x320px.jpg?b12", + "socialurls": [ + { + "service": "Twitter", + "url": "https://twitter.com/__xuorig__" + }, + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/magiroux/" + } + ], + "_years": [ + 2023 + ], + "~syncedDetailsAt": 1749505650884 + }, + { + "username": "michael_staib.23xujj9p", + "company": "ChilliCream", + "position": "Michael Staib", + "name": "Michael Staib", + "about": "Michael is a member of the GraphQL technical steering committee, contributing to the GraphQL composite schema specification under the GraphQL Foundation. He is a Microsoft MVP and the author of the Hot Chocolate GraphQL Server for .NET. Michael frequently speaks at conferences and trains professionals in the .NET and GraphQL ecosystems, sharing his expertise and passion for these technologies.\n\nhttps://www.youtube.com/c/ChilliCream", + "location": "Zurich", + "url": "http://chillicream.com/", + "avatar": "//avatars.sched.co/a/85/14900031/avatar.jpg.320x320px.jpg?df4", + "socialurls": [ + { + "service": "Twitter", + "url": "https://twitter.com/michael_staib" + }, + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/michael-staib-31519571/" + } + ], + "_years": [ + 2023, + 2024 + ], + "~syncedDetailsAt": 1749501892530 + }, + { + "username": "michael.bleigh", + "company": "Google", + "position": "Firebase Engineering Lead", + "name": "Michael Bleigh", + "about": "Michael is an engineering lead on the Firebase team at Google and has been building open source tech for the web for more than 15 years. Michael's open source projects have more than 2B downloads and he has presented at conferences including Google I/O, OSCON, and RailsConf. Michael recently led the creation of Firebase Data Connect, a GraphQL-based backend-as-a-service product that helps developers build apps on a PostgreSQL database.", + "location": "Bay Area, CA", + "url": "https://mbleigh.dev/", + "avatar": "//avatars.sched.co/d/0b/21066834/avatar.jpg.320x320px.jpg?83f", + "socialurls": [ + { + "service": "Twitter", + "url": "https://twitter.com/mbleigh" + }, + { + "service": "LinkedIn", + "url": "https://linkedin.com/in/mbleigh" + } + ], + "_years": [ + 2024 + ], + "~syncedDetailsAt": 1749501892530 + }, + { + "username": "omribruchim", + "company": "Stealth", + "position": "CTO & Co-Founder @ Stealth", + "name": "Omri Bruchim", + "about": "Ex GM @ Wix, Public Speaker, Mostly talk about react, react-native, performance, and scale.", + "location": "", + "url": "", + "avatar": "//avatars.sched.co/8/5c/21066837/avatar.jpg.320x320px.jpg?b62", + "socialurls": [], + "_years": [ + 2024 + ], + "~syncedDetailsAt": 1749502056388 + }, + { + "username": "pascal.senn", + "company": "ChilliCream", + "position": "Co-Founder of ChilliCream", + "name": "Pascal Senn", + "about": "I'm co-founder of ChilliCream, where we're passionate about advancing the GraphQL ecosystem. We develop and maintain open-source software, actively help and participate in the community, and create tools that help developers to get the most out of their GraphQL APIs.", + "location": "", + "url": "", + "avatar": "//avatars.sched.co/f/4e/21066839/avatar.jpg.320x320px.jpg?7e4", + "socialurls": [], + "_years": [ + 2024 + ], + "~syncedDetailsAt": 1749502056388 + }, + { + "username": "patrick.arminio", + "company": "Apollo", + "position": "Developer Advocate", + "name": "Patrick Arminio", + "about": "Developer Advocate at Apollo GraphQL, Chair of Python Italia. Creator of Strawberry GraphQL, a python library that makes use of type hints to create GraphQL APIs.", + "location": "London", + "url": "https://patrick.wtf/", + "avatar": "//avatars.sched.co/1/ab/19178765/avatar.jpg.320x320px.jpg?bd3", + "socialurls": [ + { + "service": "Twitter", + "url": "https://twitter.com/patrick91" + }, + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/patrickarminio/" + }, + { + "service": "Instagram", + "url": "https://www.instagram.com/patrick.py" + } + ], + "_years": [ + 2023 + ], + "~syncedDetailsAt": 1749505650884 + }, + { + "username": "plgah", + "company": "Postman", + "position": "AI/Data Lead", + "name": "Pascal Heus", + "about": "Pascal Heus is a seasoned information technologist with extensive expertise in data management and engineering, metadata standards, and related best practices. He has collaborated with numerous data agencies and communities worldwide. His primary focus has been on driving the modernization of data management infrastructure, tooling, and advancing machine actionability and APIs in the field. Pascal brings valuable insights to the forefront of data management, enabling organizations to leverage cutting-edge practices for improved data governance and accessibility.", + "location": "Calgary, Canada", + "url": "https://www.postman.com/", + "avatar": "//avatars.sched.co/f/0e/15289322/avatar.jpg.320x320px.jpg?4a4", + "socialurls": [ + { + "service": "Twitter", + "url": "https://twitter.com/PascalHeus" + }, + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/pascal" + } + ], + "_years": [ + 2023 + ], + "~syncedDetailsAt": 1749505650884 + }, + { + "username": "pooja.mistry", + "company": "Postman", + "position": "Developer Advocate", + "name": "Pooja Mistry", + "about": "Pooja Mistry(@poojamakes) is a Developer Advocate at Postman. She is passionate about the intersection of technology and community, and she works to expand the reach of Postman’s API Platform to developers worldwide. Before working at Postman, Pooja led the Partnership Advocacy Program at IBM and worked to build communities around sharing technology insights in the API, APIOps, Integration, and Data and AI space. Pooja loves to learn, teach, and share her knowledge with developers. Along with being a proud plant mom, she strongly believes in helping new technologists get up and running with technology and feel confident in their abilities to make!", + "location": "", + "url": "", + "avatar": "//avatars.sched.co/d/a3/18775745/avatar.jpg.320x320px.jpg?cfc", + "socialurls": [ + { + "service": "Twitter", + "url": "https://twitter.com/poojamakes" + }, + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/pmmistry/" + } + ], + "_years": [ + 2023 + ], + "~syncedDetailsAt": 1749505650884 + }, + { + "username": "pooja.mistry1", + "company": "", + "position": "", + "name": "Pooja Mistry", + "about": "Pooja Mistry (@poojamakes) is a Developer Advocate at Postman, an API platform with over 30 million users. She is passionate about the intersection of technology and community, working to expand the reach of Postman’s API Platform to developers worldwide. Pooja currently runs the Postman Intergalactic program, a series of Postman educational trainings.Pooja loves to learn, teach, and share her knowledge with developers. Besides being a proud plant mom, she strongly believes in helping new technologists get up and running with technology and feel confident in their abilities.", + "location": "", + "url": "", + "avatar": "//avatars.sched.co/1/b4/21225462/avatar.jpg.320x320px.jpg?a43", + "socialurls": [], + "_years": [ + 2024 + ], + "~syncedDetailsAt": 1749502056389 + }, + { + "username": "qkw1221", + "company": "Meta", + "position": "Senior Staff Software Engineer at Meta", + "name": "Kewei Qu", + "about": "TBD", + "location": "", + "url": "https://investor.fb.com/home/default.aspx", + "avatar": "//avatars.sched.co/9/1a/18743864/avatar.jpg.320x320px.jpg?7fa", + "socialurls": [], + "_years": [ + 2023, + 2024 + ], + "~syncedDetailsAt": 1749502056389 + }, + { + "username": "rachit_sengupta", + "company": "Intuit", + "position": "Staff Software Engineer", + "name": "Rachit Sengupta", + "about": "Rachit has spent over six years at Intuit, where his work has spanned from building platforms for monetization and AI powered conversation to enhancing user experiences in products like QuickBooks and TurboTax. Currently, he is part of an Applied AI team focusing on the innovative use of Generative AI to boost developer productivity through intelligent tools and methodologies, such as efficient GraphQL attribute discovery and dynamic query generation.\n\nRachit looks forward to connecting with fellow innovators at this conference to exchange insights and discuss the evolving landscape of AI technologies and their applications in improving developer experiences.", + "location": "San Diego", + "url": "", + "avatar": "//avatars.sched.co/7/bc/21066842/avatar.jpg.320x320px.jpg?426", + "socialurls": [ + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/rachit-sengupta-57b45513b/" + } + ], + "_years": [ + 2024 + ], + "~syncedDetailsAt": 1749502056389 + }, + { + "username": "rama_palaniappan", + "company": "Intuit", + "position": "Principal Engineer, API Platform Team", + "name": "Rama Palaniappan", + "about": "Rama Palaniappan is a Principal Engineer at Intuit. Rama has extensive experience in building scalable and reliable systems, and has been instrumental in the design and development of Intuit's API pla", + "location": "", + "url": "", + "avatar": "//avatars.sched.co/5/dc/21066845/avatar.jpg.320x320px.jpg?4c4", + "socialurls": [], + "_years": [ + 2024 + ], + "~syncedDetailsAt": 1749502056389 + }, + { + "username": "ramnivas.laddad", + "company": "Exograph", + "position": "Co-founder", + "name": "Ramnivas Laddad", + "about": "Ramnivas leads the development of Exograph, a declarative approach to GraphQL backend written in Rust. He has led innovation in Spring Framework and Cloud Foundry since their beginning. Ramnivas is the author of AspectJ in Action, the best-selling book on aspect-oriented programming lauded by industry experts for its practical and innovative approach to real-world problems. He has spoken at leading industry conferences, including JavaOne, ScalaDays, SpringOne, and O'Reilly OSCON.", + "location": "", + "url": "https://exograph.dev/", + "avatar": "//avatars.sched.co/6/89/21066848/avatar.jpg.320x320px.jpg?5de", + "socialurls": [ + { + "service": "Twitter", + "url": "https://twitter.com/ramnivas" + }, + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/ramnivasladdad/" + } + ], + "_years": [ + 2024 + ], + "~syncedDetailsAt": 1749502056389 + }, + { + "username": "robert.balicki", + "company": "Pinterest", + "position": "Staff software engineer", + "name": "Robert Balicki", + "about": "Robert Balicki works as a staff software engineer at Pinterest. He used to have hair down to his shoulders and play in a rock band.", + "location": "", + "url": "", + "avatar": "//avatars.sched.co/5/8b/18743858/avatar.jpg.320x320px.jpg?07e", + "socialurls": [], + "_years": [ + 2023, + 2024 + ], + "~syncedDetailsAt": 1749502056389 + }, + { + "username": "robrichard87", + "company": "1stdibs", + "position": "Senior Director, Front-End Engineering", + "name": "Rob Richard", + "about": "Rob is a front-end engineer at 1stDibs, an online marketplace for extraordinary design. He is also a member of the GraphQL Technical Steering committee, where he has been championing the @defer & @stream spec proposal.", + "location": "", + "url": "", + "avatar": "//avatars.sched.co/b/cb/21066852/avatar.jpg.320x320px.jpg?cd2", + "socialurls": [], + "_years": [ + 2024 + ], + "~syncedDetailsAt": 1749502056389 + }, + { + "username": "ruben.cagnie", + "company": "Toast", + "position": "Senior Principal Engineer at Toast", + "name": "Ruben Cagnie", + "about": "I am based in Boston but originally from Belgium. I have over 20 years of experience in the industry across different roles at startups as established companies. Currently, I am the Technical Design Lead for the customer experience org at Toast. Mainly focused on mobile experiences as well as AI.", + "location": "", + "url": "", + "avatar": "//avatars.sched.co/1/37/21066855/avatar.jpg.320x320px.jpg?9fa", + "socialurls": [], + "_years": [ + 2024 + ], + "~syncedDetailsAt": 1749502056389 + }, + { + "username": "sabrina.wasserman", + "company": "Meta", + "position": "Software Engineer", + "name": "Sabrina Wasserman", + "about": "GraphQL client-side frameworks software engineer at Meta.", + "location": "", + "url": "", + "avatar": "//avatars.sched.co/d/94/21066857/avatar.jpg.320x320px.jpg?49c", + "socialurls": [], + "_years": [ + 2024 + ], + "~syncedDetailsAt": 1749502079623 + }, + { + "username": "saihaj", + "company": "", + "position": "", + "name": "Saihajpreet Singh", + "about": "", + "location": "", + "url": "", + "avatar": "", + "socialurls": [], + "_years": [ + 2025 + ], + "~syncedDetailsAt": 1749497416063 + }, + { + "username": "saihajpreet.singh", + "company": "The Guild", + "position": "Software Engineer", + "name": "Saihajpreet Singh", + "about": "I have been deeply involved in the GraphQL community for several years, contributing to key projects like GraphQL-js, GraphQL Code Generator, GraphQL Yoga, and Envelop. With extensive experience in the field, I am passionate about open-source development.", + "location": "", + "url": "https://saihaj.dev/", + "avatar": "//avatars.sched.co/d/77/21066858/avatar.jpg.320x320px.jpg?75f", + "socialurls": [ + { + "service": "Twitter", + "url": "https://twitter.com/singh_saihaj/" + }, + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/saihaj/" + } + ], + "_years": [ + 2024 + ], + "~syncedDetailsAt": 1749502079623 + }, + { + "username": "sasanders26", + "company": "Highnote", + "position": "Senior Technical Writer", + "name": "Sarah Sanders", + "about": "Sarah is a Senior Technical Writer based in San Francisco, CA. She specializes in API and Developer Documentation and uses her expertise to lead Highnote's GraphQL API Docs efforts.", + "location": "San Francisco, CA", + "url": "", + "avatar": "//avatars.sched.co/4/50/21066861/avatar.jpg.320x320px.jpg?2f0", + "socialurls": [ + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/sarah-sanders-42913121a?utm_source=share&utm_campaign=share_via&utm_content=profile&utm_medi" + } + ], + "_years": [ + 2024 + ], + "~syncedDetailsAt": 1749502079623 + }, + { + "username": "sasha177", + "company": "", + "position": "Staff Software Engineer/Tech Lead", + "name": "Sasha Solomon", + "about": "Sasha is a software engineer and industry expert in schema and data modeling, with experience building APIs and operating them at scale. She was a Staff Software engineer and co-Tech Lead of the Core API Platform Team at Twitter helping build the next generation API with GraphQL and Scala.\n\nShe served on the GraphQL Governing Board as a representative of Twitter, as well as on the Technical Steering Committee (TSC) for GraphQL. She also worked at Medium as the Tech Lead of the Platform Team, jumpstarting Medium's move to GraphQL.", + "location": "Portland, OR", + "url": "sashatsolomon.com", + "avatar": "//avatars.sched.co/e/e5/21336701/avatar.jpg.320x320px.jpg?ae7", + "socialurls": [ + { + "service": "Twitter", + "url": "https://x.com/sachee" + }, + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/sasha-s-3808365a/" + } + ], + "_years": [ + 2024 + ], + "~syncedDetailsAt": 1749502079623 + }, + { + "username": "satish.chitnis", + "company": "Paramount / Pluto TV", + "position": "Principal Architect- Infrastructure", + "name": "Satish Chitnis", + "about": "", + "location": "", + "url": "", + "avatar": "//avatars.sched.co/1/c3/21496512/avatar.jpg.320x320px.jpg?0c2", + "socialurls": [], + "_years": [ + 2024 + ], + "~syncedDetailsAt": 1749502079623 + }, + { + "username": "sdk.bens", + "company": "Northeastern University", + "position": "Graduate Researcher", + "name": "Seddik Benaissa", + "about": "Seddik, a software engineer and a researcher in Computer Science & Artificial Intelligence at Northeastern University,  With a love for data and a passion for exploring the world, he has traveled to 58 countries. When he's not immersed in cutting-edge technologies, Seddik can often be found embracing the wonders of nature in national parks, cheering at thrilling sports events, or actively participating in enriching tech summits.", + "location": "", + "url": "", + "avatar": "//avatars.sched.co/2/52/18743831/avatar.jpg.320x320px.jpg?746", + "socialurls": [], + "_years": [ + 2023 + ], + "~syncedDetailsAt": 1749505650884 + }, + { + "username": "seiyaizumi", + "company": "Tailor Inc.", + "position": "Lead Architect", + "name": "Seiya Izumi", + "about": "Seiya is a Frontend Engineer specializing in developing frontend infrastructure using the Tailor Platform, including SDKs, authentication systems, and design systems. He also leads technical decisions and architecture design for the Japan region. Joined Tailor in November 2022.", + "location": "", + "url": "", + "avatar": "//avatars.sched.co/7/bc/21066863/avatar.jpg.320x320px.jpg?c03", + "socialurls": [], + "_years": [ + 2024 + ], + "~syncedDetailsAt": 1749502079623 + }, + { + "username": "serhii.korin", + "company": "Booking.com", + "position": "Staff Software Engineer", + "name": "Serhii Korin", + "about": "I’m passionate about technology and adventure. While the former keeps me engaged in the ever-evolving world of innovation, the latter brings me peace through exploring new horizons, hiking in nature, or unwinding by a campfire. I also enjoy intellectual challenges, and in my spare time I love solving puzzles, playing chess and strategic board games.", + "location": "Amsterdam", + "url": "", + "avatar": "//avatars.sched.co/4/6a/19235292/avatar.jpg.320x320px.jpg?3fe", + "socialurls": [ + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/serhiikorin" + } + ], + "_years": [ + 2023 + ], + "~syncedDetailsAt": 1749568381878 + }, + { + "username": "shahar_binyamin.24vrzgo4", + "company": "Inigo", + "position": "co-founder and CEO", + "name": "Shahar Binyamin", + "about": "Shahar Binyamin is the CEO and co-founder of Inigo. A software engineer by trade, he has extensive experience working on high-profile enterprise application and security projects. Among his roles, Shahar spent several years within the InfoSec Unit of the Israeli Defense Forces. He has also led product development at Dropbox and Kiteworks, with a focus on ensuring data and API security. Shahar lives in Silicon Valley, where Inigo is headquartered.", + "location": "", + "url": "https://inigo.io/", + "avatar": "//avatars.sched.co/c/b0/17274089/avatar.jpg.320x320px.jpg?cec", + "socialurls": [ + { + "service": "Twitter", + "url": "https://twitter.com/ShacharBinyamin" + }, + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/shacharbinyamin/" + } + ], + "_years": [ + 2023 + ], + "~syncedDetailsAt": 1749568381878 + }, + { + "username": "shashank.gugnani", + "company": "Oracle", + "position": "Software Development Manager", + "name": "Shashank Gugnani", + "about": "I am an engineering manager in the Database Transactions team at Oracle, working on the design and implementation of next-generation Oracle database products. I hold a PhD in Computer Science from The Ohio State University and an undergraduate degree in Computer Science from BITS-Pilani. My research interests are related to storage systems and problems of scale in distributed systems. I have published several papers in top conferences and journals including VLDB, HPDC, SC, IPDPS, and BigData.", + "location": "", + "url": "", + "avatar": "//avatars.sched.co/3/e1/21458022/avatar.jpg.320x320px.jpg?bde", + "socialurls": [], + "_years": [ + 2024 + ], + "~syncedDetailsAt": 1749502079623 + }, + { + "username": "siva27", + "company": "Intuit", + "position": "Staff Software Engineer", + "name": "Siva Thiru", + "about": "Siva is a staff software engineer on the API Management Platform team at Intuit based in MountainView, CA. He works on building features for API Platform where developers can author, mock, explore and share APIs with other developers. During his free time, he enjoys going on hikes and runs a couple of marathons every year", + "location": "Toronto", + "url": "", + "avatar": "//avatars.sched.co/f/23/9778144/avatar.jpg.320x320px.jpg?422", + "socialurls": [], + "_years": [ + 2024 + ], + "~syncedDetailsAt": 1749502079623 + }, + { + "username": "spencer211", + "company": "Okta", + "position": "Software Architect", + "name": "Spencer MacKinnon", + "about": "Spencer has worked on GraphQL at both Microsoft and Salesforce, where he has pushed the boundary of schema construction to, quite frankly, silly levels. He spends his free time sailing and has a fuchsia hexagon tattooed on his ankle. Follow him @smackinnon.", + "location": "", + "url": "", + "avatar": "//avatars.sched.co/e/9c/18743795/avatar.jpg.320x320px.jpg?957", + "socialurls": [], + "_years": [ + 2023 + ], + "~syncedDetailsAt": 1749568381878 + }, + { + "username": "sspalding2", + "company": "Netflix", + "position": "Engineer", + "name": "Stephen Spalding", + "about": "Stephen is a member of the Edge API team at Netflix and a member of the GraphQL TSC. His team develops and operates the Netflix API platform. This is the nexus point where hundreds of microservices are aggregated into a single API that delivers the Netflix experience for the hundreds of millions of Netflix devices worldwide.", + "location": "", + "url": "http://stephenspalding.com/", + "avatar": "//avatars.sched.co/8/08/18743825/avatar.jpg.320x320px.jpg?599", + "socialurls": [ + { + "service": "Twitter", + "url": "https://twitter.com/stephenspalding" + } + ], + "_years": [ + 2023, + 2024 + ], + "~syncedDetailsAt": 1749502079623 + }, + { + "username": "stefan239", + "company": "Wundergraph", + "position": "Co-Founder & CCO", + "name": "Stefan Avram", + "about": "Stefan co-founded WunderGraph with Jens Neuse in 2021 and now spearheads growth and success strategies as the Chief Customer Officer.\n\nBefore WunderGraph, Stefan was a software engineer at three late-stage startups all using GraphQL.\n\nStefan is passionate about APIs, GraphQL, helping customers succeed, and building a long term company.", + "location": "", + "url": "", + "avatar": "//avatars.sched.co/0/e6/21335795/avatar.jpg.320x320px.jpg?985", + "socialurls": [], + "_years": [ + 2024 + ], + "~syncedDetailsAt": 1749502079623 + }, + { + "username": "stephanie.saunders2", + "company": "Coinbase", + "position": "Engineering Manager", + "name": "Stephanie Saunders", + "about": "This year, Stephanie made the switch from Staff Software Engineer to Engineering Manager and hasn’t looked back. She enjoys creating awesome GraphQL DevX, sifting through chaos to find order and reason, (which is an absolute requirement when you have four kids) leading other engineers to be the best they can be, and initiating company-wide culture changes. In her free time, (limited, remember the four kids) you can find her on top of a 14K Colorado peak, or 80ft under the ocean.", + "location": "", + "url": "", + "avatar": "//avatars.sched.co/1/65/14992671/avatar.jpg.320x320px.jpg?588", + "socialurls": [], + "_years": [ + 2023 + ], + "~syncedDetailsAt": 1749568381878 + }, + { + "username": "suresh_muthu", + "company": "Intuit", + "position": "Principal Engineer", + "name": "Suresh Muthu", + "about": "Suresh is a Principal Engineer at Intuit, where he focuses on the Intuit Data Exchange platform. The Intuit Data Exchange is responsible for acquiring, transforming, enriching, and managing consumer’s financial data from financial institutions across a variety of channels and authorization schemes. He has a passion for FinTech and domain-driven design and modeling APIs while dealing with legacy.", + "location": "", + "url": "https://www.intuit.com/", + "avatar": "//avatars.sched.co/2/29/18743849/avatar.jpg.320x320px.jpg?d1d", + "socialurls": [ + { + "service": "Twitter", + "url": "https://twitter.com/sureshmuthu" + }, + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/sureshmuthu/" + } + ], + "_years": [ + 2023 + ], + "~syncedDetailsAt": 1749568381878 + }, + { + "username": "tanmaig", + "company": "Hasura", + "position": "CEO & Co-Founder", + "name": "Tanmai Gopal", + "about": "Tanmai is the co-founder of Hasura. He is a GPT-4-powered, full-stack, polyglot developer whose areas of interest and work span React, GraphQL, Node.js, Python, Haskell, Docker, Postgres, and Kubernetes. He is passionate about making it easy to build things. Before Hasura, Tanmai ran a consulting firm helping tech-forward enterprises migrate to cloud-native architectures and was the instructor of what became India's largest MOOC imad.tech with over 250,000 students.", + "location": "San Francisco", + "url": "https://hasura.io/", + "avatar": "//avatars.sched.co/1/7c/4968006/avatar.jpg.320x320px.jpg?81a", + "socialurls": [ + { + "service": "Twitter", + "url": "https://twitter.com/tanmaigo" + }, + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/tanmaig" + } + ], + "_years": [ + 2023 + ], + "~syncedDetailsAt": 1749568381878 + }, + { + "username": "theo93", + "company": "Ping Labs", + "position": "CEO, Founder", + "name": "Theo Browne", + "about": "Known primarily for sh*tposting, secondarily for shouting on Youtube, and I guess for code as well. Theo likes full stack web dev and TypeScript a lot. Many think he dislikes GraphQL despite his persistent defense of it. Ask him about RSCs or tRPC if you have a few hours to spare", + "location": "San Francisco", + "url": "t3.gg", + "avatar": "//avatars.sched.co/2/a1/19108367/avatar.jpg.320x320px.jpg?09c", + "socialurls": [ + { + "service": "Twitter", + "url": "https://twitter.com/t3dotgg" + } + ], + "_years": [ + 2023 + ], + "~syncedDetailsAt": 1749568381878 + }, + { + "username": "thomas.heyenbrock", + "company": "Stellate", + "position": "Software Engineer", + "name": "Thomas Heyenbrock", + "about": "", + "location": "Munich, Germany", + "url": "", + "avatar": "//avatars.sched.co/d/37/14989332/avatar.jpg.320x320px.jpg?9f4", + "socialurls": [ + { + "service": "Twitter", + "url": "https://twitter.com/heyenbrock" + }, + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/thomas-heyenbrock-1a9651145/" + } + ], + "_years": [ + 2023 + ], + "~syncedDetailsAt": 1749568381878 + }, + { + "username": "tim.hall.engr", + "company": "Postman", + "position": "Technical Lead", + "name": "Tim Hall", + "about": "Tim is a full-stack developer working on GraphQL at Postman, where he's applying what he's learned building backends and frontends with GraphQL to developing Postman's GraphQL client. He's based in Virginia and shares an office with four crazy kids and five wild pets.", + "location": "", + "url": "https://www.postman.com/", + "avatar": "//avatars.sched.co/a/76/18743807/avatar.jpg.320x320px.jpg?7e7", + "socialurls": [ + { + "service": "Twitter", + "url": "https://twitter.com/timhalldesign" + }, + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/timhallengr/" + } + ], + "_years": [ + 2023 + ], + "~syncedDetailsAt": 1749568381879 + }, + { + "username": "tristan119", + "company": "Escape", + "position": "Co-founder & CEO", + "name": "Tristan Kalos", + "about": "Co-founder and CEO of Escape - GraphQL Security, the first company that provides developers and security teams the right tooling for building safe, scalable and compliant GraphQL APIs", + "location": "San Francisco, USA", + "url": "https://escape.tech/", + "avatar": "//avatars.sched.co/7/08/19011005/avatar.jpg.320x320px.jpg?53c", + "socialurls": [ + { + "service": "LinkedIn", + "url": "https://linkedin.com/in/tkalos" + } + ], + "_years": [ + 2023 + ], + "~syncedDetailsAt": 1749568381879 + }, + { + "username": "tushar.mathur", + "company": "Tailcall", + "position": "CEO & Founder", + "name": "Tushar Mathur", + "about": "Tushar is the Founder and CEO of Tailcall Inc. Before Tailcall, he was leading engineering at Dream11. He is an avid open-source maintainer and contributor, with an ardent passion for doing functional programming.", + "location": "", + "url": "https://tailcall.run/", + "avatar": "//avatars.sched.co/6/97/21066872/avatar.jpg.320x320px.jpg?498", + "socialurls": [ + { + "service": "Twitter", + "url": "https://twitter.com/tusharmath/" + }, + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/tusharmath/" + } + ], + "_years": [ + 2024 + ], + "~syncedDetailsAt": 1749502251756 + }, + { + "username": "twitter7", + "company": "Apollo", + "position": "Staff Software Engineer", + "name": "Alessia Bellisario", + "about": "Alessia is a Staff Open Source Engineer at Apollo GraphQL building Apollo Client. She loves ECMAScript, making generative art with pen plotters and lives in New York City with her wife and son.", + "location": "", + "url": "https://apollographql.com/", + "avatar": "//avatars.sched.co/a/c6/18743837/avatar.jpg.320x320px.jpg?847", + "socialurls": [ + { + "service": "Twitter", + "url": "https://twitter.com/alessbell" + }, + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/alessiabellisario/" + } + ], + "_years": [ + 2023, + 2024 + ], + "~syncedDetailsAt": 1749502251756 + }, + { + "username": "uri_goldshtein.23xujj9a", + "company": "The Guild", + "position": "Founder", + "name": "Uri Goldshtein", + "about": "The Guild, the largest open source group in the GraphQL ecosystem", + "location": "", + "url": "http://the-guild.dev/", + "avatar": "//avatars.sched.co/8/2b/14900013/avatar.jpg.320x320px.jpg?9f1", + "socialurls": [ + { + "service": "Twitter", + "url": "https://twitter.com/UriGoldshtein" + }, + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/urigo" + } + ], + "_years": [ + 2023, + 2024 + ], + "~syncedDetailsAt": 1749502251756 + }, + { + "username": "vincent.desmares", + "company": "Teamstarter", + "position": "Co-founder & CTO", + "name": "Vincent Desmares", + "about": "While I was Tech lead and Team lead in a startup studio I developed business analytics platforms for Winsight, Apple and Rakuten. I then co-funded Teamstarter, a platform to boost employee initiative taking.", + "location": "Paris, France", + "url": "https://www.teamstarter.com/en", + "avatar": "//avatars.sched.co/d/cc/21066875/avatar.jpg.320x320px.jpg?f80", + "socialurls": [], + "_years": [ + 2024 + ], + "~syncedDetailsAt": 1749502251756 + }, + { + "username": "watson17", + "company": "Apollo GraphQL", + "position": "Developer Relations Manager", + "name": "Michael Watson", + "about": "A father first and builder with a passion for polish second. I strive to connect my work with the real world and share my learnings. Whether it's IoT, the cloud, woodworking or now AI, I want to better understand how these pieces can fit together to create new experiences.", + "location": "", + "url": "", + "avatar": "//avatars.sched.co/4/84/19024254/avatar.jpg.320x320px.jpg?838", + "socialurls": [], + "_years": [ + 2024 + ], + "~syncedDetailsAt": 1749502251756 + }, + { + "username": "yaacovcr", + "company": "Open Source", + "position": "Contributor", + "name": "Yaacov Rydzinski", + "about": "Open source GraphQL contributor interested primarily in executor enhancements, incremental delivery, and schema stitching, not necessarily in that order. Contributor to `graphql-tools`, especially the stitch module, part-time reviewer for `graphql-js`, implementer and re-implementer of incremental, deduplicated, and semi-concurrent GraphQL execution. Author of `value-or-promise`.", + "location": "", + "url": "https://github.com/yaacovCR", + "avatar": "//avatars.sched.co/4/e4/18743840/avatar.jpg.320x320px.jpg?eb9", + "socialurls": [ + { + "service": "Twitter", + "url": "https://twitter.com/YRydzinski" + }, + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/yaacov" + } + ], + "_years": [ + 2023 + ], + "~syncedDetailsAt": 1749568381879 + }, + { + "username": "yassineldeeb94", + "company": "The Guild", + "position": "Sr. DevTools Engineer", + "name": "Yassin Eldeeb", + "about": "Yassin Eldeeb is a high school dropout with a unique programming background. He got his first client at the age of 15, contributed to JavaScript and Rust open-source ecosystems, and is a volunteering member of https://invisible.institute/beneath-the-surface helping their cause in achieving justice in Chicago. He currently works as an Open Source Devtools Engineer at The Guild. He enjoys adrenaline-fueled activities like Sky Diving, Hiking, and Deep diving.", + "location": "Egypt", + "url": "https://the-guild.dev/", + "avatar": "//avatars.sched.co/4/33/18743822/avatar.jpg.320x320px.jpg?230", + "socialurls": [ + { + "service": "Twitter", + "url": "https://twitter.com/YassinEldeeb7" + }, + { + "service": "LinkedIn", + "url": "https://www.linkedin.com/in/yassin-eldeeb/" + } + ], + "_years": [ + 2023, + 2024 + ], + "~syncedDetailsAt": 1749502251756 + }, + { + "username": "yczhu", + "company": "Meta", + "position": "Software Engineer", + "name": "Yuanchao Zhu", + "about": "I am a software engineer at Meta. I work on adopting Relay and GraphQL in Ads Manager incrementally. I enjoy solving hard technical problems and building sustainable frameworks.", + "location": "", + "url": "", + "avatar": "//avatars.sched.co/4/46/18743882/avatar.jpg.320x320px.jpg?6ba", + "socialurls": [], + "_years": [ + 2023 + ], + "~syncedDetailsAt": 1749568381879 + } +] \ No newline at end of file diff --git a/scripts/sync-sched/sync.ts b/scripts/sync-sched/sync.ts new file mode 100644 index 0000000000..4e673a04e3 --- /dev/null +++ b/scripts/sync-sched/sync.ts @@ -0,0 +1,423 @@ +#!/usr/bin/env tsx + +import assert from "node:assert" +import { parseArgs } from "node:util" +import { join } from "node:path" +import { readFile, writeFile } from "node:fs/promises" +import pLimit from "p-limit" + +import { + getSchedule, + getSpeakerDetails, + getSpeakers, + RequestContext, +} from "@/app/conf/_api/sched-client" +import type { ConferenceYear, SchedSpeaker } from "@/app/conf/_api/sched-types" + +/** + * Sched API rate limit is 30 requests per minute per token. + * This scripts fires: + * - one request for the entire schedule which overwritten + * - one request for the list of speakers with partial details + * - and N requests for the full details of each speaker + */ +const DEFAULT_SPEAKER_DETAILS_REQUEST_QUOTA = 10 + +const PRINT_UNCHANGED = false + +const unsafeKeys = Object.keys as (obj: T) => Array + +;(async function main() { + try { + const { values } = parseArgs({ + options: { + year: { + type: "string", + short: "y", + }, + quota: { + type: "string", + short: "q", + }, + help: { + type: "boolean", + short: "h", + }, + }, + }) + + if (values.help) { + help() + process.exit(0) + } + + const year = parseInt( + values.year || new Date().getFullYear().toString(), + ) as ConferenceYear + const quota = parseInt( + values.quota || DEFAULT_SPEAKER_DETAILS_REQUEST_QUOTA.toString(), + ) + + console.log(`Syncing schedule for year: ${year}`) + + const token = process.env[`SCHED_ACCESS_TOKEN_${year}`] + assert(token, `SCHED_ACCESS_TOKEN_${year} is not set`) + + await sync(year, quota, token) + } catch (error) { + if (error instanceof Error && error.message.includes("Unknown option")) { + console.error(`Error: ${error.message}`) + help() + process.exit(1) + } + throw error + } +})() + +async function sync( + year: ConferenceYear, + detailsRequestsQuota: number, + token: string, +) { + const apiUrl = { + 2023: "https://graphqlconf23.sched.com/api", + 2024: "https://graphqlconf2024.sched.com/api", + 2025: "https://graphqlconf2025.sched.com/api", + }[year] + + assert(apiUrl, `API URL for year ${year} not found`) + + const ctx: RequestContext = { apiUrl, token } + + const speakersFilePath = join(import.meta.dirname, "speakers.json") + const scheduleFilePath = join(import.meta.dirname, `schedule-${year}.json`) + + console.log("Getting schedule and speakers list...") + + const schedule = getSchedule(ctx) + const thisYearSpeakers = getSpeakers(ctx) + const existingSchedule = readFile(scheduleFilePath, "utf-8").then(JSON.parse) + const existingSpeakers = readFile(speakersFilePath, "utf-8").then(JSON.parse) + + const scheduleComparison = compare( + await existingSchedule, + await schedule, + "id", + ) + printComparison(scheduleComparison, "sessions", "id") + + const writeSchedule = writeFile( + scheduleFilePath, + JSON.stringify(await schedule, null, 2), + ) + + const speakerComparison = compare( + await existingSpeakers, + await thisYearSpeakers.then(speakers => + speakers.map(s => ({ + ...s, + _years: [year as ConferenceYear], + })), + ), + "username", + { merge: mergeSpeaker }, + ) + + await updateSpeakerDetails(ctx, speakerComparison, detailsRequestsQuota, year) + + printComparison(speakerComparison, "speakers", "username", { + // we don't remove speakers + printRemoved: false, + }) + + const updatedSpeakers = [ + ...speakerComparison.removed, + ...speakerComparison.unchanged, + ...speakerComparison.changed.map(change => change.new), + ...speakerComparison.added, + ].sort((a, b) => a.username.localeCompare(b.username)) + + const writeSpeakers = writeFile( + speakersFilePath, + JSON.stringify(updatedSpeakers, null, 2), + ) + + await writeSchedule + await writeSpeakers +} + +async function updateSpeakerDetails( + ctx: RequestContext, + /** mutated in place */ + comparison: Comparison, + quota: number, + year: ConferenceYear, +) { + const locations = new Map< + string /* username */, + [key: keyof Comparison, index: number] + >() + + for (const key of unsafeKeys(comparison)) { + const items = comparison[key as keyof Comparison] + for (let i = 0; i < items.length; i++) { + let item = items[i] + if (!("username" in item)) item = item.new + locations.set(item.username, [key, i]) + } + } + + const allSpeakers = [ + ...comparison.unchanged, + ...comparison.changed.map(change => change.new), + ...comparison.added, + ] + const byUpdateTime = allSpeakers + .filter(x => x._years?.includes(year)) + .sort((a, b) => { + const aTime = a["~syncedDetailsAt"] ?? 0 + const bTime = b["~syncedDetailsAt"] ?? 0 + return aTime - bTime + }) + + const toUpdate = byUpdateTime.slice(0, quota) + + const limit = pLimit(5) + const updated = await Promise.all( + toUpdate.map(speaker => + limit(() => getSpeakerDetails(ctx, speaker.username)), + ), + ) + + for (const speaker of updated) { + const location = locations.get(speaker.username) + if (location) { + const [key, index] = location + if (key === "changed") { + comparison[key][index].new = mergeSpeaker( + comparison[key][index].new, + speaker, + ) + comparison[key][index].new["~syncedDetailsAt"] = Date.now() + } else { + comparison[key][index] = mergeSpeaker(comparison[key][index], speaker) + comparison[key][index]["~syncedDetailsAt"] = Date.now() + } + } + } + + // Re-classify after speaker details update + const actuallyChanged = comparison.changed.filter( + change => !deepStrictEqualWithoutInternals(change.old, change.new), + ) + const nowUnchanged = comparison.changed + .filter(change => deepStrictEqualWithoutInternals(change.old, change.new)) + .map(change => change.old) + + comparison.changed = actuallyChanged + comparison.unchanged.push(...nowUnchanged) +} + +function help() { + return console.log("Usage: tsx sync.ts --year ") +} + +// #region utility + +type Change = { old: T; new: T } +type Comparison = { + added: T[] + removed: T[] + changed: Change[] + unchanged: T[] +} + +function compare( + olds: T[], + news: T[], + key: keyof T, + options: { merge?: (oldItem: T, newItem: T) => T } = {}, +) { + const oldMap = new Map(olds.map(o => [o[key], o])) + const newMap = new Map(news.map(n => [n[key], n])) + + const added: T[] = [] + const removed: T[] = [] + const changed: Change[] = [] + const unchanged: T[] = [] + + for (const newItem of news) { + const oldItem = oldMap.get(newItem[key]) + if (oldItem) { + if (deepStrictEqualWithoutInternals(oldItem, newItem)) { + unchanged.push(oldItem) + } else { + changed.push({ + old: oldItem, + new: options.merge ? options.merge(oldItem, newItem) : newItem, + }) + } + } else { + added.push(newItem) + } + } + + for (const oldItem of olds) { + if (!newMap.has(oldItem[key])) { + removed.push(oldItem) + } + } + + return { added, removed, changed, unchanged } +} + +function printComparison( + comparison: Comparison, + name: string, + key: keyof T, + options: { printRemoved?: boolean } = { printRemoved: true }, +) { + if (comparison.added.length > 0) { + console.log(bold(`${comparison.added.length} ${name} added.`)) + for (const item of comparison.added) { + console.log(green(`+ ${JSON.stringify(item)}`)) + } + } + + if (options.printRemoved) { + if (comparison.removed.length > 0) { + console.log(bold(`${comparison.removed.length} ${name} removed.`)) + for (const item of comparison.removed) { + console.log(red(`- ${JSON.stringify(item)}`)) + } + } + } + + if (comparison.unchanged.length > 0) { + console.log(bold(`${comparison.unchanged.length} ${name} not changed.`)) + if (PRINT_UNCHANGED) { + for (const item of comparison.unchanged) { + console.log(yellow(`{ ${String(key)}: ${item[key]}, ... }`)) + } + } + } + + if (comparison.changed.length > 0) { + console.log(bold(`${comparison.changed.length} ${name} changed.`)) + for (const change of comparison.changed) { + console.log(change.new[key] + "\n", objectDiff(change)) + } + } +} + +function objectDiff(change: Change): string { + const allKeys = [ + ...new Set([...unsafeKeys(change.old), ...unsafeKeys(change.new)]), + ] + .sort() + .filter(key => !String(key).startsWith("~")) + + const diff = allKeys + .map(key => { + const oldValue = change.old[key] + const newValue = change.new[key] + + if (JSON.stringify(oldValue) === JSON.stringify(newValue)) { + return null + } + + return { key, oldValue, newValue } + }) + .filter(x => !!x) + + return diff + .map(diff => { + return `${yellow(String(diff.key))}:\n ${red("-" + JSON.stringify(diff.oldValue))}\n ${green("+" + JSON.stringify(diff.newValue))}` + }) + .join("\n") +} + +function green(text: string) { + return `\x1b[32m${text}\x1b[0m` +} + +function red(text: string) { + return `\x1b[31m${text}\x1b[0m` +} + +function yellow(text: string) { + return `\x1b[33m${text}\x1b[0m` +} + +function bold(text: string) { + return `\x1b[1m${text}\x1b[0m` +} + +function deepStrictEqualWithoutInternals(a: unknown, b: unknown): boolean { + if (a === b) return true + + if (a === null || b === null || a === undefined || b === undefined) { + return a === b + } + + if (typeof a !== typeof b) return false + + if (typeof a !== "object") return false + + if (Array.isArray(a) !== Array.isArray(b)) return false + + if (Array.isArray(a) && Array.isArray(b)) { + if (a.length !== b.length) return false + + for (let i = 0; i < a.length; i++) { + if (!deepStrictEqualWithoutInternals(a[i], b[i])) { + return false + } + } + return true + } + + const aObj = a as Record + const bObj = b as Record + + const aKeys = Object.keys(aObj).filter(key => !key.startsWith("~")) + const bKeys = Object.keys(bObj).filter(key => !key.startsWith("~")) + + if (aKeys.length !== bKeys.length) return false + + aKeys.sort() + bKeys.sort() + + for (const key of aKeys) { + if (!deepStrictEqualWithoutInternals(aObj[key], bObj[key])) { + return false + } + } + + return true +} + +/** + * Merges speaker data from API with existing local data, + * preserving important local fields when API returns empty values. + */ +function mergeSpeaker( + oldSpeaker: SchedSpeaker, + newSpeaker: SchedSpeaker, +): SchedSpeaker { + return { + ...oldSpeaker, + ...newSpeaker, + socialurls: newSpeaker.socialurls?.length + ? newSpeaker.socialurls + : oldSpeaker.socialurls, + ["_years"]: [ + ...new Set([ + ...(oldSpeaker["_years"] || []), + ...(newSpeaker["_years"] || []), + ]), + ].sort(), + } +} + +// #endregion utility diff --git a/scripts/update-code-data/organize-code-data.ts b/scripts/update-code-data/organize-code-data.ts new file mode 100644 index 0000000000..95444770dd --- /dev/null +++ b/scripts/update-code-data/organize-code-data.ts @@ -0,0 +1,57 @@ +import { Library, sortLibs } from "../sort-libraries/sort-libraries" +import { CodeData } from "./update-code-data" + +export type List = { + name: string + totalStars: number + categoryMap: { + [categoryName: string]: Library[] + } +} + +export async function organizeCodeData( + codeData: CodeData, +): Promise<{ languageList: List[]; toolList: List[]; serviceList: Library[] }> { + const languageList: List[] = [] + const toolList: List[] = [] + let serviceList: Library[] = [] + await Promise.all([ + ...Object.keys(codeData.Languages).map(async languageName => { + const libraryCategoryMap = codeData.Languages[languageName] + let languageTotalStars = 0 + await Promise.all( + Object.keys(libraryCategoryMap).map(async libraryCategoryName => { + const libraries = libraryCategoryMap[libraryCategoryName] + const { sortedLibs, totalStars } = await sortLibs(libraries) + + libraryCategoryMap[libraryCategoryName] = sortedLibs + languageTotalStars += totalStars || 0 + }), + ) + languageList.push({ + name: languageName, + totalStars: languageTotalStars, + categoryMap: libraryCategoryMap, + }) + }), + ...Object.keys(codeData.Tools).map(async toolName => { + const toolCategoryMap = codeData.Tools[toolName] + let toolTotalStars = 0 + await Promise.all( + Object.keys(toolCategoryMap).map(async toolCategoryName => { + const tools = toolCategoryMap[toolCategoryName] + const { sortedLibs, totalStars } = await sortLibs(tools) + toolCategoryMap[toolCategoryName] = sortedLibs + toolTotalStars += totalStars || 0 + }), + ) + toolList.push({ + name: toolName, + totalStars: toolTotalStars, + categoryMap: toolCategoryMap, + }) + }), + (serviceList = codeData.Services), + ]) + return { languageList, toolList, serviceList } +} diff --git a/scripts/update-code-data/sort-code-data.ts b/scripts/update-code-data/sort-code-data.ts new file mode 100644 index 0000000000..4ed5d2a21e --- /dev/null +++ b/scripts/update-code-data/sort-code-data.ts @@ -0,0 +1,35 @@ +import { Library } from "../sort-libraries/sort-libraries" +import { List } from "./organize-code-data" + +type organizeData = { + languageList: List[] + toolList: List[] + serviceList: Library[] +} + +export async function sortCodeData( + organizeData: organizeData, +): Promise { + await Promise.all([ + organizeData.languageList.sort((a, b) => { + if (a.totalStars > b.totalStars) { + return -1 + } + if (a.totalStars < b.totalStars) { + return 1 + } + return 0 + }), + organizeData.toolList.sort((a, b) => { + if (a.totalStars > b.totalStars) { + return -1 + } + if (a.totalStars < b.totalStars) { + return 1 + } + return 0 + }), + organizeData.serviceList, + ]) + return organizeData +} diff --git a/scripts/update-code-data/update-code-data.ts b/scripts/update-code-data/update-code-data.ts new file mode 100644 index 0000000000..af04f7a861 --- /dev/null +++ b/scripts/update-code-data/update-code-data.ts @@ -0,0 +1,117 @@ +import { readFile } from "fs/promises" +import { promisify } from "util" +// @ts-expect-error -- types are missing +import * as frontmatterParser from "parser-front-matter" +import { Library } from "../sort-libraries/sort-libraries" + +const parse$ = promisify(frontmatterParser.parse) + +export type CodeData = { + Languages: { + [languageName: string]: { + [categoryName: string]: Library[] + } + } + Tools: { + [toolName: string]: { + [categoryToolsName: string]: Library[] + } + } + Services: Library[] +} + +export async function updateCodeData( + markdownFilePaths: string[], + slugMap: string, +): Promise { + const codeData = {} as CodeData + await Promise.all( + markdownFilePaths.map(async markdownFilePath => { + const markdownFileContent = await readFile(markdownFilePath, "utf-8") + let { + data: { name, description, url, github, npm, gem }, + content: howto, + } = await parse$(markdownFileContent) + howto = howto.trim() + const pathArr = markdownFilePath.split("/") + const languageSupport = markdownFilePath.includes("language-support") + const toolsSupport = markdownFilePath.includes("tools") + + switch (true) { + case languageSupport: { + const languageSupportDirIndex = pathArr.indexOf("language-support") + const languageNameSlugIndex = languageSupportDirIndex + 1 + const languageNameSlug = pathArr[languageNameSlugIndex] + // @ts-expect-error fixme + const languageName = slugMap[languageNameSlug] + codeData.Languages ||= {} + codeData.Languages[languageName] ||= {} + + const categoryNameSlugIndex = languageSupportDirIndex + 2 + const categoryNameSlug = pathArr[categoryNameSlugIndex] + // @ts-expect-error fixme + const categoryName = slugMap[categoryNameSlug] + codeData.Languages[languageName][categoryName] ||= [] + codeData.Languages[languageName][categoryName].push({ + name, + description, + howto, + url, + github, + npm, + gem, + sourcePath: markdownFilePath, + }) + break + } + case toolsSupport: { + const toolSupportDirIndex = pathArr.indexOf("tools") + const toolNameSlugIndex = toolSupportDirIndex + 1 + const toolNameSlug = pathArr[toolNameSlugIndex] + // @ts-expect-error fixme + const toolName = slugMap[toolNameSlug] + codeData.Tools ||= {} + codeData.Tools[toolName] ||= {} + const categoryToolsNameSlugIndex = toolSupportDirIndex + 2 + const categoryToolsNameSlug = pathArr[categoryToolsNameSlugIndex] + // @ts-expect-error fixme + const categoryToolsName = slugMap[categoryToolsNameSlug] + codeData.Tools[toolName][categoryToolsName] ||= [] + + codeData.Tools[toolName][categoryToolsName].push({ + name, + description, + howto, + url, + github, + npm, + gem, + sourcePath: markdownFilePath, + }) + break + } + default: { + const codeDirIndex = pathArr.indexOf("code") + const categoryNameSlugIndex = codeDirIndex + 1 + const categoryNameSlug = pathArr[categoryNameSlugIndex] + // @ts-expect-error fixme + const categoryName = slugMap[categoryNameSlug] + // @ts-expect-error fixme + codeData[categoryName] ||= [] + // @ts-expect-error fixme + codeData[categoryName].push({ + name, + description, + howto, + url, + github, + npm, + gem, + sourcePath: markdownFilePath, + }) + } + } + }), + ) + return codeData +} diff --git a/scripts/validate-snippets.js b/scripts/validate-snippets.js new file mode 100644 index 0000000000..8bd70c09bf --- /dev/null +++ b/scripts/validate-snippets.js @@ -0,0 +1,158 @@ +#!/usr/bin/env node + +import fs from "node:fs" +import path from "node:path" +import glob from "glob" +import { parse } from "graphql" +import chalk from "chalk" +import { fileURLToPath } from "node:url" + +const __filename = fileURLToPath(import.meta.url) +const __dirname = path.dirname(__filename) +const projectRoot = path.resolve(__dirname, "../") + +const MDX_GLOB = "./src/pages/learn/**/*.mdx" +const CODE_BLOCK_REGEX = /^(`{3,})(\w+)\s*\n([\s\S]*?)\r?\n\1$/gm +const IGNORE_COMMENT = "snippet-ignore" + +let totalFiles = 0 +let totalSnippets = 0 +let totalErrors = 0 + +// TODO: Add JS linting after JS code snippet modernization +// async function lintJavaScript(code, filePath) { +// const eslint = new ESLint({ +// useEslintrc: true, +// baseConfig: { +// parserOptions: { +// ecmaVersion: "latest", +// sourceType: "module", +// }, +// }, +// }) + +// let preparedCode = code.trim() + +// if (preparedCode.startsWith("function")) { +// preparedCode = "/* eslint-disable no-unused-vars */\n" + preparedCode +// } + +// const results = await eslint.lintText(preparedCode, { filePath }) +// return results.flatMap(result => result.messages) +// } + +function validateGraphQL(code) { + try { + parse(code) + return [] + } catch (error) { + return [{ message: error.message }] + } +} + +function extractSnippets(content, filePath) { + const snippets = [] + let match + + while ((match = CODE_BLOCK_REGEX.exec(content)) !== null) { + const [fullMatch, openingBackticks, lang, code] = match + const beforeBlock = content.slice(0, match.index) + const lineNumber = beforeBlock.split(/\r?\n/).length + + if (beforeBlock.includes(IGNORE_COMMENT)) { + continue + } + + snippets.push({ lang, code, lineNumber, filePath }) + } + + return snippets +} + +async function validateSnippet(snippet) { + const { lang, code, lineNumber, filePath } = snippet + + if (!code.trim()) return [] + + // TODO: Add section after JS code snippet modernization + // if (["js", "javascript", "ts", "typescript"].includes(lang)) { + // const messages = await lintJavaScript(code, filePath) + // return messages.map(msg => ({ + // type: "JS/TS", + // file: filePath, + // line: lineNumber + (msg.line || 1), + // message: msg.message, + // })) + // } + + if (lang === "graphql") { + const messages = validateGraphQL(code) + return messages.map(msg => ({ + type: "GraphQL", + file: filePath, + line: lineNumber + (msg.line || 1), + message: msg.message, + })) + } + + return [] +} + +async function main() { + console.log(`Validating code snippets in: ${projectRoot}/${MDX_GLOB}`) + + const files = glob.sync(MDX_GLOB, { cwd: projectRoot }) + totalFiles = files.length + + if (totalFiles === 0) { + console.log(chalk.green("No MDX files found to validate.")) + return + } + + const errors = [] + + for (const file of files) { + const content = fs.readFileSync(file, "utf8") + const snippets = extractSnippets(content, file) + totalSnippets += snippets.length + + for (const snippet of snippets) { + const snippetErrors = await validateSnippet(snippet) + errors.push(...snippetErrors) + } + } + + totalErrors = errors.length + + if (totalErrors > 0) { + errors.forEach(err => { + const errorMessage = `${err.type} Error in ${err.file} at line ${err.line}: ${err.message}` + console.error(chalk.red(errorMessage)) + + if (process.env.GITHUB_ACTIONS) { + console.log(`::error file=${err.file},line=${err.line}::${err.message}`) + } + }) + + console.error( + chalk.red("\nCode snippet validation failed. Check error logs."), + ) + console.error(`Files checked: ${totalFiles}`) + console.error(`Snippets checked: ${totalSnippets}`) + console.error(`Errors found: ${totalErrors}`) + process.exit(1) + } else { + console.log( + chalk.green( + "\nCode snippet validation passed. All code snippets are valid.", + ), + ) + console.log(`Files checked: ${totalFiles}`) + console.log(`Snippets checked: ${totalSnippets}`) + } +} + +main().catch(err => { + console.error(err) + process.exit(1) +}) diff --git a/site/.nojekyll b/site/.nojekyll deleted file mode 100644 index bc7f8f7417..0000000000 --- a/site/.nojekyll +++ /dev/null @@ -1 +0,0 @@ -TODO: get this out of the source diff --git a/site/CNAME b/site/CNAME deleted file mode 100644 index 21cf1b8cd9..0000000000 --- a/site/CNAME +++ /dev/null @@ -1 +0,0 @@ -graphql.org diff --git a/site/_core/BlogLayout.js b/site/_core/BlogLayout.js deleted file mode 100644 index 3f8d639d55..0000000000 --- a/site/_core/BlogLayout.js +++ /dev/null @@ -1,22 +0,0 @@ -/** - * Copyright (c) 2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the license found in the - * LICENSE file in the root directory of this source tree. - */ - -var React = require('react'); -var Site = require('./Site'); -var BlogSidebar = require('./BlogSidebar'); -var BlogPost = require('./BlogPost'); - -module.exports = ({ page, site }) => - -
-
- - -
-
-
diff --git a/site/_core/BlogPost.js b/site/_core/BlogPost.js deleted file mode 100644 index 2b8bf65df4..0000000000 --- a/site/_core/BlogPost.js +++ /dev/null @@ -1,21 +0,0 @@ -/** - * Copyright (c) 2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the license found in the - * LICENSE file in the root directory of this source tree. - */ - -var React = require('react'); -var Marked = require('./Marked'); - -module.exports = ({ post, isPermalink }) => -
-

{isPermalink ? post.title : {post.title}}

-

{new Date(post.date).toLocaleDateString()} by {post.byline}

- {post.guestBio ? null :
} - {post.guestBio &&

{ - `This guest article contributed by ${post.byline}, ${post.guestBio}.` - }

} - {post.content} -
diff --git a/site/_core/BlogSidebar.js b/site/_core/BlogSidebar.js deleted file mode 100644 index 53f96d09f8..0000000000 --- a/site/_core/BlogSidebar.js +++ /dev/null @@ -1,31 +0,0 @@ -/** - * Copyright (c) 2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the license found in the - * LICENSE file in the root directory of this source tree. - */ - -var path = require('path'); -var React = require('react'); - -module.exports = ({ site, page }) => -
-
-

Subscribe

- RSS -
-
-

Recent Posts

-
    - {site.files.blog - .filter(file => !file.draft && path.extname(file.relPath) === '.md') - .sort((a, b) => a.date < b.date) - .map(post => -
  • - {post === page ? post.title : {post.title}} -
  • - )} -
-
-
diff --git a/site/_core/DocsLayout.js b/site/_core/DocsLayout.js deleted file mode 100644 index 5f48eeb30a..0000000000 --- a/site/_core/DocsLayout.js +++ /dev/null @@ -1,31 +0,0 @@ -/** - * Copyright (c) 2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the license found in the - * LICENSE file in the root directory of this source tree. - */ - -var path = require('path'); -var React = require('react'); -var Site = require('./Site'); -var Marked = require('./Marked'); -var DocsSidebar = require('./DocsSidebar'); - -export default ({ page, site }) => - -
-
-
-

{page.title}

- {page.content} - {page.next && - - Continue Reading → - {page.nextPage.title} - } -
- -
-
-
diff --git a/site/_core/DocsSidebar.js b/site/_core/DocsSidebar.js deleted file mode 100644 index 79a73a8927..0000000000 --- a/site/_core/DocsSidebar.js +++ /dev/null @@ -1,122 +0,0 @@ -/** - * Copyright (c) 2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the license found in the - * LICENSE file in the root directory of this source tree. - */ - -var React = require('react'); -import { toSlug } from './Header'; - -export default ({ site, page, firstURL }) => -
- {getCategories(site, page.dir, firstURL).map(category => - - )} -
- -// pageID is the id of the rendering page -// category is the category object to render a sidebar for -function SidebarForCategory({ pageID, category }) { - const listItems = category.links.map(page => { - const shouldOpenInNewWindow = page.url.slice(0, 4) === 'http'; - const target = shouldOpenInNewWindow ? '_blank' : null; - const rel = shouldOpenInNewWindow ? 'noopener noreferrer' : null; - - // Link for the main page overall - return ( -
  • - - {page.sidebarTitle || page.title} - - {page.sublinks && // Sublinks to any page sub-parts - - } -
  • - ); - }); - - return ( -
    -

    {category.name}

    -
      {listItems}
    -
    - ); -} - -// If firstURL is provided, it's the URL (starting with /) of the -// first page to put on the sidebar. -function getCategories(site, dir, firstURL) { - if (!site.files[dir]) { - throw new Error('Cannot build sidebar for ' + dir); - } - var pages = site.files[dir].filter(file => file.content); - - // Build a hashmap of url -> page - var articles = {} - for (var i = 0; i < pages.length; ++i) { - var page = pages[i]; - articles[page.url] = page; - } - - // Build a hashmap of url -> previous_url - var previous = {}; - for (var i = 0; i < pages.length; ++i) { - var page = pages[i]; - if (page.next) { - if (!articles[page.next]) { - throw new Error( - '`next: ' + page.next + '` in ' + page.url + ' doesn\'t exist' - ); - } - previous[articles[page.next].url] = page.url; - } - } - - // Find the first element which doesn't have any previous - var first = null; - for (var i = 0; i < pages.length; ++i) { - var page = pages[i]; - if (firstURL === page.url || !previous[page.url]) { - first = page; - break; - } - } - if (!first) { - throw new Error('first not found'); - } - - var categories = []; - var currentCategory = null; - - var page = first; - var i = 0; - while (page && i++ < 1000) { - if (!currentCategory || page.category !== currentCategory.name) { - currentCategory && categories.push(currentCategory); - currentCategory = { - name: page.category, - links: [] - } - } - currentCategory.links.push(page); - page = articles[page.next]; - } - categories.push(currentCategory); - - return categories; -} diff --git a/site/_core/GraphQLJSLayout.js b/site/_core/GraphQLJSLayout.js deleted file mode 100644 index 59c787b681..0000000000 --- a/site/_core/GraphQLJSLayout.js +++ /dev/null @@ -1,31 +0,0 @@ -/** - * Copyright (c) 2016, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the license found in the - * LICENSE file in the root directory of this source tree. - */ - -var path = require('path'); -var React = require('react'); -var Site = require('./Site'); -var Marked = require('./Marked'); -var DocsSidebar = require('./DocsSidebar'); - -export default ({ page, site }) => - -
    -
    -
    -

    {page.title}

    - {page.content} - {page.next && - - Continue Reading → - {page.nextPage.title} - } -
    - -
    -
    -
    diff --git a/site/_core/Header.js b/site/_core/Header.js deleted file mode 100644 index 0d9a4a8535..0000000000 --- a/site/_core/Header.js +++ /dev/null @@ -1,59 +0,0 @@ -/** - * Copyright (c) 2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the license found in the - * LICENSE file in the root directory of this source tree. - */ - -var React = require('react'); - -export function toSlug(string) { - // var accents = "àáäâèéëêìíïîòóöôùúüûñç"; - var accents = "\u00e0\u00e1\u00e4\u00e2\u00e8" + - "\u00e9\u00eb\u00ea\u00ec\u00ed\u00ef" + - "\u00ee\u00f2\u00f3\u00f6\u00f4\u00f9" + - "\u00fa\u00fc\u00fb\u00f1\u00e7"; - - var without = "aaaaeeeeiiiioooouuuunc"; - - return String(string) - - // Handle uppercase characters - .toLowerCase() - - // Handle accentuated characters - .replace( - new RegExp('[' + accents + ']', 'g'), - function (c) { return without.charAt(accents.indexOf(c)); }) - - // Dash special characters - .replace(/[^a-z0-9]/g, '-') - - // Compress multiple dash - .replace(/-+/g, '-') - - // Trim dashes - .replace(/^-|-$/g, ''); -} - -export default (props) => { - var usedSlugs = props.usedSlugs || {}; - var append = ''; - var loopCount = 0; - do { - var slug = toSlug((props.toSlug || props.children) + append); - append = '-' + (++loopCount); - } while (usedSlugs[slug]); - usedSlugs[slug] = slug; - var Heading = 'h' + props.level; - var url = props.url || ''; - - return ( - - - {props.children} - {' '}# - - ); -} diff --git a/site/_core/HeaderLinks.js b/site/_core/HeaderLinks.js deleted file mode 100644 index f4fd2412d4..0000000000 --- a/site/_core/HeaderLinks.js +++ /dev/null @@ -1,31 +0,0 @@ -/** - * Copyright (c) 2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the license found in the - * LICENSE file in the root directory of this source tree. - */ - -var React = require('react'); - -const links = [ - { section: 'learn', text: 'Learn', href: '/learn/' }, - { section: 'code', text: 'Code', href: '/code/' }, - { section: 'community', text: 'Community', href: '/community/' }, - { section: 'blog', text: 'Blog', href: '/blog/' }, - { section: 'spec', text: 'Spec', href: 'http://facebook.github.io/graphql/' }, -]; - -export default ({ section }) => - diff --git a/site/_core/Marked.js b/site/_core/Marked.js deleted file mode 100644 index 90cb3318ef..0000000000 --- a/site/_core/Marked.js +++ /dev/null @@ -1,1114 +0,0 @@ -/** - * marked - a markdown parser - * Copyright (c) 2011-2013, Christopher Jeffrey. (MIT Licensed) - * https://github.com/chjj/marked -*/ - -var React = require('react'); -var Prism = require('./Prism'); -import Header from './Header'; - -export default function Marked(props) { - return
    {marked(props.children, props)}
    ; -} - -/** - * Block-Level Grammar - */ - -var block = { - newline: /^\n+/, - code: /^( {4}[^\n]+\n*)+/, - fences: noop, - hr: /^( *[-*_]){3,} *(?:\n+|$)/, - heading: /^ *(#{1,6}) *([^\n]+?) *#* *(?:\n+|$)/, - nptable: noop, - lheading: /^([^\n]+)\n *(=|-){3,} *\n*/, - blockquote: /^( *>[^\n]+(\n[^\n]+)*\n*)+/, - list: /^( *)(bull) [\s\S]+?(?:hr|\n{2,}(?! )(?!\1bull )\n*|\s*$)/, - html: /^ *(?:comment|closed|closing) *(?:\n{2,}|\s*$)/, - def: /^ *\[([^\]]+)\]: *]+)>?(?: +["(]([^\n]+)[")])? *(?:\n+|$)/, - table: noop, - paragraph: /^((?:[^\n]+\n?(?!hr|heading|lheading|blockquote|tag|def))+)\n*/, - text: /^[^\n]+/ -}; - -block.bullet = /(?:[*+-]|\d+\.)/; -block.item = /^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/; -block.item = replace(block.item, 'gm') - (/bull/g, block.bullet) - (); - -block.list = replace(block.list) - (/bull/g, block.bullet) - ('hr', /\n+(?=(?: *[-*_]){3,} *(?:\n+|$))/) - (); - -block._tag = '(?!(?:' - + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code' - + '|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo' - + '|span|br|wbr|ins|del|img)\\b)\\w+(?!:/|@)\\b'; - -block.html = replace(block.html) - ('comment', //) - ('closed', /<(tag)[\s\S]+?<\/\1>/) - ('closing', /])*?>/) - (/tag/g, block._tag) - (); - -block.paragraph = replace(block.paragraph) - ('hr', block.hr) - ('heading', block.heading) - ('lheading', block.lheading) - ('blockquote', block.blockquote) - ('tag', '<' + block._tag) - ('def', block.def) - (); - -/** - * Normal Block Grammar - */ - -block.normal = merge({}, block); - -/** - * GFM Block Grammar - */ - -block.gfm = merge({}, block.normal, { -//fences: /^ *(`{3,}|~{3,}) *(\S+)? *\n([\s\S]+?)\s*\1 *(?:\n+|$)/, - fences: /^ *(`{3,}|~{3,}) *([^\s{]+)?(?: *\{ *((?:\d+(?: *- *\d+)?(?: *, *\d+(?: *- *\d+)?)*) *)?\})? *\n([\s\S]+?)\s*\1 *(?:\n+|$)/, - paragraph: /^/ -}); - -block.gfm.paragraph = replace(block.paragraph) - ('(?!', '(?!' + block.gfm.fences.source.replace('\\1', '\\2') + '|') - (); - -/** - * GFM + Tables Block Grammar - */ - -block.tables = merge({}, block.gfm, { - nptable: /^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/, - table: /^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/ -}); - -/** - * Block Lexer - */ - -function Lexer(options) { - this.tokens = []; - this.tokens.links = {}; - this.options = options || marked.defaults; - this.rules = block.normal; - - if (this.options.gfm) { - if (this.options.tables) { - this.rules = block.tables; - } else { - this.rules = block.gfm; - } - } -} - -/** - * Expose Block Rules - */ - -Lexer.rules = block; - -/** - * Static Lex Method - */ - -Lexer.lex = function(src, options) { - var lexer = new Lexer(options); - return lexer.lex(src); -}; - -/** - * Preprocessing - */ - -Lexer.prototype.lex = function(src) { - src = src - .replace(/\r\n|\r/g, '\n') - .replace(/\t/g, ' ') - .replace(/\u00a0/g, ' ') - .replace(/\u2424/g, '\n'); - - return this.token(src, true); -}; - -/** - * Lexing - */ - -Lexer.prototype.token = function(src, top) { - var src = src.replace(/^ +$/gm, '') - , next - , loose - , cap - , bull - , b - , item - , space - , i - , l; - - while (src) { - // newline - if (cap = this.rules.newline.exec(src)) { - src = src.substring(cap[0].length); - if (cap[0].length > 1) { - this.tokens.push({ - type: 'space' - }); - } - } - - // code - if (cap = this.rules.code.exec(src)) { - src = src.substring(cap[0].length); - cap = cap[0].replace(/^ {4}/gm, ''); - this.tokens.push({ - type: 'code', - text: !this.options.pedantic - ? cap.replace(/\n+$/, '') - : cap - }); - continue; - } - - // fences (gfm) - if (cap = this.rules.fences.exec(src)) { - src = src.substring(cap[0].length); - this.tokens.push({ - type: 'code', - lang: cap[2], - line: cap[3], - text: cap[4] - }); - continue; - } - - // heading - if (cap = this.rules.heading.exec(src)) { - src = src.substring(cap[0].length); - this.tokens.push({ - type: 'heading', - depth: cap[1].length, - text: cap[2] - }); - continue; - } - - // table no leading pipe (gfm) - if (top && (cap = this.rules.nptable.exec(src))) { - src = src.substring(cap[0].length); - - item = { - type: 'table', - header: cap[1].replace(/^ *| *\| *$/g, '').split(/ *\| */), - align: cap[2].replace(/^ *|\| *$/g, '').split(/ *\| */), - cells: cap[3].replace(/\n$/, '').split('\n') - }; - - for (i = 0; i < item.align.length; i++) { - if (/^ *-+: *$/.test(item.align[i])) { - item.align[i] = 'right'; - } else if (/^ *:-+: *$/.test(item.align[i])) { - item.align[i] = 'center'; - } else if (/^ *:-+ *$/.test(item.align[i])) { - item.align[i] = 'left'; - } else { - item.align[i] = null; - } - } - - for (i = 0; i < item.cells.length; i++) { - item.cells[i] = item.cells[i].split(/ *\| */); - } - - this.tokens.push(item); - - continue; - } - - // lheading - if (cap = this.rules.lheading.exec(src)) { - src = src.substring(cap[0].length); - this.tokens.push({ - type: 'heading', - depth: cap[2] === '=' ? 1 : 2, - text: cap[1] - }); - continue; - } - - // hr - if (cap = this.rules.hr.exec(src)) { - src = src.substring(cap[0].length); - this.tokens.push({ - type: 'hr' - }); - continue; - } - - // blockquote - if (cap = this.rules.blockquote.exec(src)) { - src = src.substring(cap[0].length); - - this.tokens.push({ - type: 'blockquote_start' - }); - - cap = cap[0].replace(/^ *> ?/gm, ''); - - // Pass `top` to keep the current - // "toplevel" state. This is exactly - // how markdown.pl works. - this.token(cap, top); - - this.tokens.push({ - type: 'blockquote_end' - }); - - continue; - } - - // list - if (cap = this.rules.list.exec(src)) { - src = src.substring(cap[0].length); - bull = cap[2]; - - this.tokens.push({ - type: 'list_start', - ordered: bull.length > 1 - }); - - // Get each top-level item. - cap = cap[0].match(this.rules.item); - - next = false; - l = cap.length; - i = 0; - - for (; i < l; i++) { - item = cap[i]; - - // Remove the list item's bullet - // so it is seen as the next token. - space = item.length; - item = item.replace(/^ *([*+-]|\d+\.) +/, ''); - - // Outdent whatever the - // list item contains. Hacky. - if (~item.indexOf('\n ')) { - space -= item.length; - item = !this.options.pedantic - ? item.replace(new RegExp('^ {1,' + space + '}', 'gm'), '') - : item.replace(/^ {1,4}/gm, ''); - } - - // Determine whether the next list item belongs here. - // Backpedal if it does not belong in this list. - if (this.options.smartLists && i !== l - 1) { - b = block.bullet.exec(cap[i+1])[0]; - if (bull !== b && !(bull.length > 1 && b.length > 1)) { - src = cap.slice(i + 1).join('\n') + src; - i = l - 1; - } - } - - // Determine whether item is loose or not. - // Use: /(^|\n)(?! )[^\n]+\n\n(?!\s*$)/ - // for discount behavior. - loose = next || /\n\n(?!\s*$)/.test(item); - if (i !== l - 1) { - next = item[item.length-1] === '\n'; - if (!loose) loose = next; - } - - this.tokens.push({ - type: loose - ? 'loose_item_start' - : 'list_item_start' - }); - - // Recurse. - this.token(item, false); - - this.tokens.push({ - type: 'list_item_end' - }); - } - - this.tokens.push({ - type: 'list_end' - }); - - continue; - } - - // html - if (cap = this.rules.html.exec(src)) { - src = src.substring(cap[0].length); - this.tokens.push({ - type: this.options.sanitize - ? 'paragraph' - : 'html', - pre: cap[1] === 'pre' || cap[1] === 'script', - text: cap[0] - }); - continue; - } - - // def - if (top && (cap = this.rules.def.exec(src))) { - src = src.substring(cap[0].length); - this.tokens.links[cap[1].toLowerCase()] = { - href: cap[2], - title: cap[3] - }; - continue; - } - - // table (gfm) - if (top && (cap = this.rules.table.exec(src))) { - src = src.substring(cap[0].length); - - item = { - type: 'table', - header: cap[1].replace(/^ *| *\| *$/g, '').split(/ *\| */), - align: cap[2].replace(/^ *|\| *$/g, '').split(/ *\| */), - cells: cap[3].replace(/(?: *\| *)?\n$/, '').split('\n') - }; - - for (i = 0; i < item.align.length; i++) { - if (/^ *-+: *$/.test(item.align[i])) { - item.align[i] = 'right'; - } else if (/^ *:-+: *$/.test(item.align[i])) { - item.align[i] = 'center'; - } else if (/^ *:-+ *$/.test(item.align[i])) { - item.align[i] = 'left'; - } else { - item.align[i] = null; - } - } - - for (i = 0; i < item.cells.length; i++) { - item.cells[i] = item.cells[i] - .replace(/^ *\| *| *\| *$/g, '') - .split(/ *\| */); - } - - this.tokens.push(item); - - continue; - } - - // top-level paragraph - if (top && (cap = this.rules.paragraph.exec(src))) { - src = src.substring(cap[0].length); - this.tokens.push({ - type: 'paragraph', - text: cap[1][cap[1].length-1] === '\n' - ? cap[1].slice(0, -1) - : cap[1] - }); - continue; - } - - // text - if (cap = this.rules.text.exec(src)) { - // Top-level should never reach here. - src = src.substring(cap[0].length); - this.tokens.push({ - type: 'text', - text: cap[0] - }); - continue; - } - - if (src) { - throw new - Error('Infinite loop on byte: ' + src.charCodeAt(0)); - } - } - - return this.tokens; -}; - -/** - * Inline-Level Grammar - */ - -var inline = { - escape: /^\\([\\`*{}\[\]()#+\-.!_>])/, - autolink: /^<([^ >]+(@|:\/)[^ >]+)>/, - url: noop, - tag: /^|^<\/?\w+(?:"[^"]*"|'[^']*'|[^'">])*?>/, - link: /^!?\[(inside)\]\(href\)/, - reflink: /^!?\[(inside)\]\s*\[([^\]]*)\]/, - nolink: /^!?\[((?:\[[^\]]*\]|[^\[\]])*)\]/, - strong: /^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/, - em: /^\b_((?:__|[\s\S])+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/, - code: /^(`+)\s*([\s\S]*?[^`])\s*\1(?!`)/, - br: /^ {2,}\n(?!\s*$)/, - del: noop, - text: /^[\s\S]+?(?=[\\?(?:\s+['"]([\s\S]*?)['"])?\s*/; - -inline.link = replace(inline.link) - ('inside', inline._inside) - ('href', inline._href) - (); - -inline.reflink = replace(inline.reflink) - ('inside', inline._inside) - (); - -/** - * Normal Inline Grammar - */ - -inline.normal = merge({}, inline); - -/** - * Pedantic Inline Grammar - */ - -inline.pedantic = merge({}, inline.normal, { - strong: /^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/, - em: /^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/ -}); - -/** - * GFM Inline Grammar - */ - -inline.gfm = merge({}, inline.normal, { - escape: replace(inline.escape)('])', '~|])')(), - url: /^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/, - del: /^~~(?=\S)([\s\S]*?\S)~~/, - text: replace(inline.text) - (']|', '~]|') - ('|', '|https?://|') - () -}); - -/** - * GFM + Line Breaks Inline Grammar - */ - -inline.breaks = merge({}, inline.gfm, { - br: replace(inline.br)('{2,}', '*')(), - text: replace(inline.gfm.text)('{2,}', '*')() -}); - -/** - * Inline Lexer & Compiler - */ - -function InlineLexer(links, options) { - this.options = options || marked.defaults; - this.links = links; - this.rules = inline.normal; - - if (!this.links) { - throw new - Error('Tokens array requires a `links` property.'); - } - - if (this.options.gfm) { - if (this.options.breaks) { - this.rules = inline.breaks; - } else { - this.rules = inline.gfm; - } - } else if (this.options.pedantic) { - this.rules = inline.pedantic; - } -} - -/** - * Expose Inline Rules - */ - -InlineLexer.rules = inline; - -/** - * Static Lexing/Compiling Method - */ - -InlineLexer.output = function(src, links, options) { - var inline = new InlineLexer(links, options); - return inline.output(src); -}; - -/** - * Lexing/Compiling - */ - -InlineLexer.prototype.output = function(src) { - var out = [] - , link - , text - , href - , cap; - - while (src) { - // escape - if (cap = this.rules.escape.exec(src)) { - src = src.substring(cap[0].length); - out.push(cap[1]); - continue; - } - - // autolink - if (cap = this.rules.autolink.exec(src)) { - src = src.substring(cap[0].length); - if (cap[2] === '@') { - text = cap[1][6] === ':' - ? cap[1].substring(7) - : cap[1]; - href = 'mailto:' + text; - } else { - text = cap[1]; - href = text; - } - out.push(React.DOM.a({href: this.sanitizeUrl(href)}, text)); - continue; - } - - // url (gfm) - if (cap = this.rules.url.exec(src)) { - src = src.substring(cap[0].length); - text = cap[1]; - href = text; - out.push(React.DOM.a({href: this.sanitizeUrl(href)}, text)); - continue; - } - - // tag - if (cap = this.rules.tag.exec(src)) { - src = src.substring(cap[0].length); - // TODO(alpert): Don't escape if sanitize is false - out.push(cap[0]); - continue; - } - - // link - if (cap = this.rules.link.exec(src)) { - src = src.substring(cap[0].length); - out.push(this.outputLink(cap, { - href: cap[2], - title: cap[3] - })); - continue; - } - - // reflink, nolink - if ((cap = this.rules.reflink.exec(src)) - || (cap = this.rules.nolink.exec(src))) { - src = src.substring(cap[0].length); - link = (cap[2] || cap[1]).replace(/\s+/g, ' '); - link = this.links[link.toLowerCase()]; - if (!link || !link.href) { - out.push.apply(out, this.output(cap[0][0])); - src = cap[0].substring(1) + src; - continue; - } - out.push(this.outputLink(cap, link)); - continue; - } - - // strong - if (cap = this.rules.strong.exec(src)) { - src = src.substring(cap[0].length); - out.push(React.DOM.strong(null, this.output(cap[2] || cap[1]))); - continue; - } - - // em - if (cap = this.rules.em.exec(src)) { - src = src.substring(cap[0].length); - out.push(React.DOM.em(null, this.output(cap[2] || cap[1]))); - continue; - } - - // code - if (cap = this.rules.code.exec(src)) { - src = src.substring(cap[0].length); - out.push(React.DOM.code(null, cap[2])); - continue; - } - - // br - if (cap = this.rules.br.exec(src)) { - src = src.substring(cap[0].length); - out.push(React.DOM.br(null, null)); - continue; - } - - // del (gfm) - if (cap = this.rules.del.exec(src)) { - src = src.substring(cap[0].length); - out.push(React.DOM.del(null, this.output(cap[1]))); - continue; - } - - // text - if (cap = this.rules.text.exec(src)) { - src = src.substring(cap[0].length); - out.push(this.smartypants(cap[0])); - continue; - } - - if (src) { - throw new - Error('Infinite loop on byte: ' + src.charCodeAt(0)); - } - } - - return out; -}; - -/** - * Sanitize a URL for a link or image - */ - -InlineLexer.prototype.sanitizeUrl = function(url) { - if (this.options.sanitize) { - try { - var prot = decodeURIComponent(url) - .replace(/[^A-Za-z0-9:]/g, '') - .toLowerCase(); - if (prot.indexOf('javascript:') === 0) { - return '#'; - } - } catch (e) { - return '#'; - } - } - return url; -}; - -/** - * Compile Link - */ - -InlineLexer.prototype.outputLink = function(cap, link) { - if (cap[0][0] !== '!') { - var shouldOpenInNewWindow = - link.href.charAt(0) !== '/' - && link.href.charAt(0) !== '#'; - - return React.DOM.a({ - href: this.sanitizeUrl(link.href), - title: link.title, - target: shouldOpenInNewWindow ? '_blank' : null, - rel: shouldOpenInNewWindow ? 'noopener noreferrer' : null - }, this.output(cap[1])); - } else { - return React.DOM.img({ - src: this.sanitizeUrl(link.href), - alt: cap[1], - title: link.title - }, null); - } -}; - -/** - * Smartypants Transformations - */ - -InlineLexer.prototype.smartypants = function(text) { - if (!this.options.smartypants) return text; - return text - .replace(/--/g, '\u2014') - .replace(/'([^']*)'/g, '\u2018$1\u2019') - .replace(/"([^"]*)"/g, '\u201C$1\u201D') - .replace(/\.{3}/g, '\u2026'); -}; - -/** - * Parsing & Compiling - */ - -function Parser(options) { - this.tokens = []; - this.token = null; - this.options = options || marked.defaults; - this.usedSlugs = {}; -} - -/** - * Static Parse Method - */ - -Parser.parse = function(src, options) { - var parser = new Parser(options); - return parser.parse(src); -}; - -/** - * Parse Loop - */ - -Parser.prototype.parse = function(src) { - this.inline = new InlineLexer(src.links, this.options); - this.tokens = src.reverse(); - - var out = []; - while (this.next()) { - out.push(this.tok()); - } - - return out; -}; - -/** - * Next Token - */ - -Parser.prototype.next = function() { - return this.token = this.tokens.pop(); -}; - -/** - * Preview Next Token - */ - -Parser.prototype.peek = function() { - return this.tokens[this.tokens.length-1] || 0; -}; - -/** - * Parse Text Tokens - */ - -Parser.prototype.parseText = function() { - var body = this.token.text; - - while (this.peek().type === 'text') { - body += '\n' + this.next().text; - } - - return this.inline.output(body); -}; - -/** - * Parse Current Token - */ - -Parser.prototype.tok = function() { - switch (this.token.type) { - case 'space': { - return []; - } - case 'hr': { - return React.DOM.hr(null, null); - } - case 'heading': { - return ( -
    - {this.inline.output(this.token.text)} -
    - ); - } - case 'code': { - if (this.token.lang === 'graphql') { - var lines = this.token.text.split('\n'); - var firstLine = lines.shift().match(/^\s*#\s*({.*})$/); - if (firstLine) { - var metaData; - try { - metaData = JSON.parse(firstLine[1]); - } catch (e) { - console.error('Invalid Metadata JSON:', firstLine[1]); - } - if (metaData) { - var query = lines.join('\n'); - var variables = metaData.variables ? JSON.stringify(metaData.variables, null, 2) : ''; - return - - -When we built Facebook's mobile applications, we needed a data-fetching API powerful enough to describe all of Facebook, yet simple and easy to learn so product developers can focus on building things quickly. We developed GraphQL three years ago to fill this need. Today it powers hundreds of billions of API calls a day. This year we've begun the process of open-sourcing GraphQL by drafting a specification, releasing a reference implementation, and forming a community around it here at [graphql.org](http://graphql.org/). - -## Why GraphQL? - -Back in 2012, we began an effort to rebuild Facebook's native mobile applications. - -At the time, our iOS and Android apps were thin wrappers around views of our mobile website. While this brought us close to a platonic ideal of the "write one, run anywhere" mobile application, in practice it pushed our mobile-webview apps beyond their limits. As Facebook's mobile apps became more complex, they suffered poor performance and frequently crashed. - -As we transitioned to natively implemented models and views, we found ourselves for the first time needing an API data version of News Feed — which up until that point had only been delivered as HTML. We evaluated our options for delivering News Feed data to our mobile apps, including RESTful server resources and FQL tables (Facebook's SQL-like API). We were frustrated with the differences between the data we wanted to use in our apps and the server queries they required. We don't think of data in terms of resource URLs, secondary keys, or join tables; we think about it in terms of a graph of objects and the models we ultimately use in our apps like NSObjects or JSON. - -There was also a considerable amount of code to write on both the server to prepare the data and on the client to parse it. This frustration inspired a few of us to start the project that ultimately became GraphQL. GraphQL was our opportunity to rethink mobile app data-fetching from the perspective of product designers and developers. It moved the focus of development to the client apps, where designers and developers spend their time and attention. - -## What is GraphQL? - -A GraphQL query is a string that is sent to a server to be interpreted and fulfilled, which then returns JSON back to the client. - - - -**Defines a data shape:** The first thing you'll notice is that GraphQL queries mirror their response. This makes it easy to predict the shape of the data returned from a query, as well as to write a query if you know the data your app needs. More important, this makes GraphQL really easy to learn and use. GraphQL is unapologetically driven by the data requirements of products and of the designers and developers who build them. - -**Hierarchical:** Another important aspect of GraphQL is its hierarchical nature. GraphQL naturally follows relationships between objects, where a RESTful service may require multiple round-trips (resource-intensive on mobile networks) or a complex join statement in SQL. This data hierarchy pairs well with graph-structured data stores and ultimately with the hierarchical user interfaces it's used within. - -**Strongly typed:** Each level of a GraphQL query corresponds to a particular type, and each type describes a set of available fields. Similar to SQL, this allows GraphQL to provide descriptive error messages before executing a query. It also plays well with the strongly typed native environments of Obj-C and Java. - -**Protocol, not storage:** Each GraphQL field on the server is backed by a function - code linking to your application layer. While we were building GraphQL to support News Feed, we already had a sophisticated feed ranking and storage model, along with existing databases and business logic. GraphQL had to leverage all this existing work to be useful, and so does not dictate or provide any backing storage. Instead, GraphQL takes advantage of your existing code by exposing your application layer, not your storage layer. - -**Introspective:** A GraphQL server can be queried for the types it supports. This creates a powerful platform for tools and client software to build atop this information like code generation in statically typed languages, our application framework, Relay, or IDEs like GraphiQL (pictured below). GraphiQL helps developers learn and explore an API quickly without grepping the codebase or wrangling with cURL. - - - -**Version free:** The shape of the returned data is determined entirely by the client's query, so servers become simpler and easy to generalize. When you're adding new product features, additional fields can be added to the server, leaving existing clients unaffected. When you're sunsetting older features, the corresponding server fields can be deprecated but continue to function. This gradual, backward-compatible process removes the need for an incrementing version number. We still support three years of released Facebook applications on a single version of our GraphQL API. - -With GraphQL, we were able to build full-featured native News Feed on iOS in 2012, and on Android shortly after. Since then, GraphQL has become the primary way we build our mobile apps and the servers that power them. More than three years later, GraphQL powers almost all data-fetching in our mobile applications, serving millions of requests per second from nearly 1,000 shipped application versions. - -When we built GraphQL in 2012 we had no idea how important it would become to how we build things at Facebook and didn't anticipate its value beyond Facebook. However earlier this year we announced Relay, our application framework for the web and React Native built atop GraphQL. The community excitement for Relay inspired us to revisit GraphQL to evaluate every detail, make improvements, fix inconsistencies, and write a specification describing GraphQL and how it works. - -Two months ago, we [made our progress public](https://www.youtube.com/watch?v=WQLzZf34FJ8) and released a working draft of the [GraphQL spec](http://facebook.github.io/graphql/) and a reference implementation: [GraphQL.js](https://github.com/graphql/graphql-js). Since then, a community has started to form around GraphQL, and versions of the GraphQL runtime are being [built in many languages](https://github.com/chentsulin/awesome-graphql), including Go, Ruby, Scala, Java, .Net, and Python. We've also begun to share some of the tools we use internally, like [GraphiQL](https://github.com/graphql/graphiql), an in-browser IDE, documentation browser, and query runner. GraphQL has also seen production usage outside Facebook, in a project for the [*Financial Times*](https://www.youtube.com/watch?v=S0s935RKKB4) by consultancy [Red Badger](http://red-badger.com/). - -“GraphQL makes orchestrating data fetching so much simpler and it pretty much functions as a perfect isolation point between the front end and the back end” -— Viktor Charypar, software engineer at Red Badger - -While GraphQL is an established part of building products at Facebook, its use beyond Facebook is just beginning. Try out [GraphiQL](http://graphql-swapi.parseapp.com/graphiql/) and help provide feedback on our [specification](https://github.com/facebook/graphql/). We think GraphQL can greatly simplify data needs for both client product developers and server-side engineers, regardless of what languages you're using in either environment, and we're excited to continue to improve GraphQL, help a community grow around it, and see what we can build together. diff --git a/site/blog/20151016-subscriptions.md b/site/blog/20151016-subscriptions.md deleted file mode 100644 index 145dda5c86..0000000000 --- a/site/blog/20151016-subscriptions.md +++ /dev/null @@ -1,90 +0,0 @@ ---- -title: "Subscriptions in GraphQL and Relay" -layout: ../_core/BlogLayout -permalink: /blog/subscriptions-in-graphql-and-relay/ -date: 16 Oct 2015 -byline: Dan Schafer and Laney Kuenzel ---- - -When we announced and open-sourced GraphQL and Relay this year, we described how they can be used to perform reads with queries, and to perform writes with mutations. However, oftentimes clients want to get pushed updates from the server when data they care about changes. To support that, we’ve introduced a third operation into the GraphQL specification: subscription. - -## Event-based subscriptions - -The approach that we’ve taken to subscriptions parallels that of mutations; just as the list of mutations that the server supports describes all of the actions that a client can take, the list of subscriptions that the server supports describes all of the events that it can subscribe to. Just as a client can tell the server what data to refetch after it performs a mutation with a GraphQL selection, the client can tell the server what data it wants to be pushed with the subscription with a GraphQL selection. - -For example, in the Facebook schema, we have a mutation field named `storyLike`, that clients can use to like a post. The client might want to refetch the like count, as well as the like sentence (“Dan and 3 others like this”. We do this translation on the server because of the complexity of that translation in various languages). To do so, they would issue the following mutation: - -``` -mutation StoryLikeMutation($input: StoryLikeInput) { - storyLike(input: $input) { - story { - likers { count } - likeSentence { text } - } - } -} -``` - -But when you’re looking at a post, you also want to get pushed an update whenever someone else likes the post! That’s where subscriptions come in; the Facebook schema has a subscription field named `storyLikeSubscribe` that allows the client to get pushed data anytime someone likes or unlikes that story! The client would create a subscription like this: - -``` -subscription StoryLikeSubscription($input: StoryLikeSubscribeInput) { - storyLikeSubscribe(input: $input) { - story { - likers { count } - likeSentence { text } - } - } -} -``` - - -The client would then send this subscription to the server, along with the value for the `$input` variable, which would contain information like the story ID to which we are subscribing: - -```graphql -input StoryLikeSubscribeInput { - storyId: string - clientSubscriptionId: string -} -``` - -At Facebook, we send this query to the server at build time to generate a unique ID for it, then subscribe to a special MQTT topic with the subscription ID in it, but many different subscription mechanisms could be used here. - -On the server, we then trigger this subscription every time someone likes a post. If all of our clients were using GraphQL, we could put this hook in the GraphQL mutation; since we have non-GraphQL clients as well, we put the hook in a layer below the GraphQL mutation to ensure it always fires. - -## Why not Live Queries? - -Notably, this approach requires the client to subscribe to events that it cares about. Another approach is to have the client subscribe to a query, and ask for updates every time the result of that query changes. Why didn’t we take that approach? - -Let’s look back at the data we wanted to refetch for the story: - -``` -fragment StoryLikeData on Story { - story { - likers { count } - likeSentence { text } - } -} -``` - -What events could trigger that a change to the data fetched in that fragment? - -* Someone likes the post. -* Someone unlikes the post. -* Someone who had liked the post deactivates their account (changes the like count down one, changes the like sentence to decrement the translated count). -* Someone who had liked the post reactivates their account (changes the like count up one, changes the like sentence to increment the translated count). -* Someone who had liked the post blocks you (cannot show them in the like sentence). -* Someone who had liked the post changes their name (need to update the text of the like sentence). -* Our internal ranking model for the ordering of names in the like sentence updates, and we should be listing a different person first (want to update the text of the like sentence). - -And that’s just the tip of the iceberg in terms of events; each of those events also becomes tricky when there are thousands of people subscribed, and millions of people who liked the post. Implementing live queries for this set of data proved to be immensely complicated. - -When building event-based subscriptions, the problem of determining what should trigger an event is easy, since the event defines that explicitly. It also proved fairly straight-forward to implement atop existing message queue systems. For live queries, though, this appeared much harder. The value of our fields is determined by the result of their resolve function, and figuring out all of the things that could alter the result of that function was difficult. We could in theory have polled on the server to implement this, but that had efficiency and timeliness issues. Based on this, we decided to invest in the event-based subscription approach. - -## What’s next? - -We’re actively building out the event-based subscription approach described above. We’ve built out live liking and commenting features on our iOS and Android apps using that approach, and are continuing to flush out its functionality and API. While its current implementation at Facebook is coupled to Facebook’s infrastructure, we’re certainly looking forward to open sourcing our progress here as soon as we can. - -Because our backend and schema don’t offer easy support for live queries, we don’t have any plans to develop them at Facebook. At the same time, it’s clear that there are backends and schemas for which live queries are feasible, and that they offer a lot of value in those situations. The discussion in the community on this topic has been fantastic, and we’re excited to see what kind of live query proposals emerge from it! - -Subscriptions create a ton of possibilities for creating truly dynamic applications. We’re excited to continue developing GraphQL and Relay with the help of the community to enable these possibilities. diff --git a/site/blog/20160419-mocking.md b/site/blog/20160419-mocking.md deleted file mode 100644 index fa588d9a7d..0000000000 --- a/site/blog/20160419-mocking.md +++ /dev/null @@ -1,79 +0,0 @@ ---- -title: "Mocking your server is easy with GraphQL" -layout: ../_core/BlogLayout -permalink: /blog/mocking-with-graphql/ -date: 19 Apr 2016 -byline: "Jonas Helfer" -guestBio: engineer at Meteor working on Apollo ---- -Do you think mocking your backend is always a tedious task? If you do, reading this post might change your mind… - -Mocking is the practice of creating a fake version of a component, so that you can develop and test other parts of your application independently. Mocking your backend is a great way to quickly build a prototype of your frontend, and it lets you test your frontend without starting up any servers. API mocking is so useful that a [quick Google search](https://www.google.com/?ion=1&espv=2#q=mock+rest+api) will turn up dozens of expensive products and services that promise to help you. - -Sadly, I think none of the solutions out there make it as easy as it should be. As it turns out, that’s because they’ve been trying to do it with the wrong technology! - -## Why mock? - -Mocking the data a backend would return is very useful for two main reasons: - -1. It lets you start developing a frontend feature when you don’t have a working backend for it yet. This is critical for projects where the frontend and backend components are often developed in parallel. -2. It lets you run tests locally without connecting to a real backend, which is much faster and safer. As your codebase grows and your app becomes more complex, starting up all of the server infrastructure just to run some tests isn’t feasible. - -If mocking your backend API has such clear benefits, why doesn’t everyone do it? I think it's because mocking often seems like too much trouble to be worth it. - -## Why is mocking backends hard? - -Let’s say your backend is some REST API that is called over HTTP from the browser. You have someone working on the backend, and someone else working on the frontend. The backend code actually determines the shape of the data returned for each REST endpoint, but mocking has to be done in the frontend code. That means the mocking code will break every time the backend changes, unless both are changed at the same time. What’s worse, if you’re doing your frontend testing against a mock backend that is not up to date with your backend, your tests may pass, but your actual frontend won’t work. - -Rather than having to keep more dependencies up to date, the easy option is to just not mock the REST API, or have the backend be in charge of mocking itself, just so it’s all in one place. That may be easier, but it will also slow you down. - -The other reason I often hear for why people don’t mock the backend in their project is because it takes time to set up: first you have to include extra logic in your data fetching layer that lets you turn mocking on and off, and second you have to actually describe what that mock data should look like. For any non-trivial API that requires a lot of tedious work. - -Both of these reasons for why mocking backends is hard are actually due to the same underlying reason: there is no standard REST API description in machine-consumable format and contains all the information necessary for mocking and can be used by both the backend and the frontend. There are some API description standards, like Swagger, but they don’t contain all of the information you need, and can be cumbersome to write and maintain. Unless you want to pay for a service or a product — and maybe even then — mocking is a lot of work. - -Actually, I should say mocking used to be a lot of work, because a new technology is changing the way we think of APIs: GraphQL. - -## Mocking is easy with a type system! - -GraphQL makes mocking easy, because every GraphQL backend comes with a static type system. The types can be shared between your backend and your frontend, and they contain all of the information necessary to make mocking incredibly fast and convenient. With GraphQL, there is no excuse to not mock your backend for development or testing. - -Here’s how easy it is to create a mocked backend that will accept any valid GraphQL query with the GraphQL mocking tool we are building as part of our new [GraphQL server toolkit](https://github.com/apollostack/graphql-tools): - - - -Every GraphQL server needs a schema, so it’s not extra code you need to write just for mocking. And the query is the one your component already uses for fetching data, so that’s also not code you write just for mocking. Not counting the import statement, it only took us one line of code to mock the entire backend! - -Put that in contrast to most REST APIs out there, where mocking means parsing a URL and returning data in a custom shape for each endpoint. It takes dozens of lines to mock a single endpoint that returns some realistic-looking data. With GraphQL, the shape is encoded in the query, and together with the schema we have enough information to mock the server with a single line of code. - -Did I mention that this one line is all you need to return mock data for any valid GraphQL query you could send? Not just some valid query, any valid query! Pretty cool, right? - -## Customizing mock data - -In the example above, the mock server will return completely random IDs and strings every time you query it. When you’ve just started building your app and only want to see what your UI code looks like in different states, that’s probably good enough, but as you start to fine-tune your layout, or want to use the mock server to test your component’s logic, you’ll probably need more realistic data. - -Luckily, this takes only a little more effort: customization of mock data is really where the Apollo mocking tool shines, because it lets you customize virtually everything about the mock data that it returns. - -It lets you do all of the following and more: - - - -For each type and each field you can provide a function that will be called on to generate mock data. Mock functions on fields have precedence over mock functions on types, but they work together really nicely: The field mock functions only need to describe the properties of the objects that matter to them, type mock functions will fill in the rest. - -The mock functions are actually just GraphQL resolve functions in disguise. What that means is that your mocking can do anything that you could do inside a GraphQL resolve function. If you wanted, you could write your entire backend with it. I’m not saying you should, but you could. - -I think the real power of this tool is that while it allows almost arbitrarily complex customization, you can get started really quickly and increase the sophistication of your mocks in tiny steps whenever you need it. Each step is so simple that it will feel like a breeze. - -But enough talking, here’s a complete example: - - - -## Live demo + try it yourself -To see the example in action and see what output it generates, head over to the [live demo](https://apollostack.github.io/mock-demo/) and click the “play” button a couple of times! - -If you want to fiddle around with the example, you can do that — it’s all on GitHub: [apollostack/mock-demo](https://github.com/apollostack/mock-demo). If you’re curious about how it works or want to see what other tools we’re building for GraphQL, then head over to [apollostack/graphql-tools](https://github.com/apollostack/graphql-tools). - -Pretty cool, right? All of that becomes possible by using a type system. And that’s only just the beginning — we‘re working on bridging the gap between mocking and the real thing so that your mock server can gradually turn into your real server as you add more functionality to it. - -- - - - -*This post was originally published on [Building Apollo](https://medium.com/apollo-stack), a blog where Sashko Stubailo and myself write about building a futuristic GraphQL-based data stack called [Apollo](http://www.apollostack.com). We publish one or two posts every week, about the stuff we’re working on and thinking about.* diff --git a/site/blog/20160502-rest-api-graphql-wrapper.md b/site/blog/20160502-rest-api-graphql-wrapper.md deleted file mode 100644 index 52695f8f34..0000000000 --- a/site/blog/20160502-rest-api-graphql-wrapper.md +++ /dev/null @@ -1,516 +0,0 @@ ---- -title: "Wrapping a REST API in GraphQL" -layout: ../_core/BlogLayout -permalink: /blog/rest-api-graphql-wrapper/ -date: 5 May 2016 -byline: "Steven Luscher" ---- - -Time and time again I hear the same aspiration from front-end web and mobile developers: they're eager to reap the developer efficiency gains offered by new technologies like Relay and GraphQL, but they have years of momentum behind their existing REST API. Without data that clearly demonstrates the benefits of switching, they find it hard to justify an additional investment in GraphQL infrastructure. - -In this post I will outline a rapid, low-investment method that you can use to stand up a GraphQL endpoint atop an existing REST API, using JavaScript alone. No backend developers will be harmed during the making of this blog post. - -## A client-side REST wrapper - -We're going to create a _GraphQL schema_ – a type system that describes your universe of data – that wraps calls to your existing REST API. This schema will receive and resolve GraphQL queries all on the client side. This architecture features some inherent performance flaws, but is fast to implement and requires no server changes. - -Imagine a REST API that exposes a `/people/` endpoint through which you can browse `Person` models and their associated friends. - -![A REST API that exposes an index of people][rest-api-people] - -We will build a GraphQL schema that models people and their attributes (like `first_name` and `email`) as well as their association to other people through friendships. - -### Installation - -First we'll need a set of schema building tools. - -``` -npm install --save graphql -``` - -### Building the GraphQL Schema - -Ultimately we will want to export a `GraphQLSchema` that we can use to resolve queries. - -```js -import { GraphQLSchema } from 'graphql'; - -export default new GraphQLSchema({ - query: QueryType, -}); -``` - -At the root of all GraphQL schemas is a type called `query` whose definition we provide, and have specified here as `QueryType`. Let's build `QueryType` now – a type on which we will define all the possible things one might want to fetch. - -To replicate all of the functionality of our REST API, let's expose two fields on `QueryType`: - -* an `allPeople` field – analogous to `/people/` -* a `person(id: String)` field – analogous to `/people/{ID}/` - -Each field will consist of a return type, optional argument definitions, and a JavaScript method that resolves the data being queried for. - -```js -import { - GraphQLObjectType, - GraphQLString, -} from 'graphql'; - -const QueryType = new GraphQLObjectType({ - name: 'Query', - description: 'The root of all... queries', - fields: () => ({ - allPeople: { - type: new GraphQLList(PersonType), - resolve: root => // Fetch the index of people from the REST API, - }, - person: { - type: PersonType, - args: { - id: { type: GraphQLString }, - }, - resolve: (root, args) => // Fetch the person with ID `args.id`, - }, - }), -}); -``` - -Let's leave the resolvers as a sketch for now, and move on to defining `PersonType`. - -```js -import { - GraphQLList, - GraphQLObjectType, - GraphQLString, -} from 'graphql'; - -const PersonType = new GraphQLObjectType({ - name: 'Person', - description: 'Somebody that you used to know', - fields: () => ({ - firstName: { - type: GraphQLString, - resolve: person => person.first_name, - }, - lastName: { - type: GraphQLString, - resolve: person => person.last_name, - }, - email: {type: GraphQLString}, - id: {type: GraphQLString}, - username: {type: GraphQLString}, - friends: { - type: new GraphQLList(PersonType), - resolve: person => // Fetch the friends with the URLs `person.friends`, - }, - }), -}); -``` - -Note two things about the definition of `PersonType`. Firstly, we have not supplied a resolver for `email`, `id`, or `username`. The default resolver simply accesses the property of the `person` object that has the same name as the field. This works everywhere except where the property names do not match the field name (eg. the field `firstName` does not match the `first_name` property of the response object from the REST API) or where accessing the property would not yield the object that we want (eg. we want a list of person objects for the `friends` field, not a list of URLs). - -Now, let's write resolvers that fetch people from the REST API. Because we need to load from the network, we won't be able to return a value right away. Luckily for us, `resolve()` can return either a value or a `Promise` for a value. We're going to take advantage of this to fire off an HTTP request to the REST API that eventually resolves to a JavaScript object that conforms to `PersonType`. - -And here we have it – a complete first-pass at the schema: - -```js{28,38,45} -import { - GraphQLList, - GraphQLObjectType, - GraphQLSchema, - GraphQLString, -} from 'graphql'; - -const BASE_URL = 'https://myapp.com/'; - -function fetchResponseByURL(relativeURL) { - return fetch(`${BASE_URL}${relativeURL}`).then(res => res.json()); -} - -function fetchPeople() { - return fetchResponseByURL('/people/').then(json => json.people); -} - -function fetchPersonByURL(relativeURL) { - return fetchResponseByURL(relativeURL).then(json => json.person); -} - -const PersonType = new GraphQLObjectType({ - /* ... */ - fields: () => ({ - /* ... */ - friends: { - type: new GraphQLList(PersonType), - resolve: person => person.friends.map(getPersonByURL), - }, - }), -}); - -const QueryType = new GraphQLObjectType({ - /* ... */ - fields: () => ({ - allPeople: { - type: new GraphQLList(PersonType), - resolve: fetchPeople, - }, - person: { - type: PersonType, - args: { - id: { type: GraphQLString }, - }, - resolve: (root, args) => fetchPersonByURL(`/people/${args.id}/`), - }, - }), -}); - -export default new GraphQLSchema({ - query: QueryType, -}); -``` - - -### Using a client-side schema with Relay - -Normally, Relay will send its GraphQL queries to a server over HTTP. We can inject [@taion](https://github.com/taion/)'s custom `relay-local-schema` network layer to resolve queries using the schema we just built. Put this code wherever it's guaranteed to be executed before you mount your Relay app. - -``` -npm install --save relay-local-schema -``` - -``` -import RelayLocalSchema from 'relay-local-schema'; - -import schema from './schema'; - -Relay.injectNetworkLayer( - new RelayLocalSchema.NetworkLayer({ schema }) -); -``` - -And that's that. Relay will send all of its queries to your custom client-resident schema, which will in turn resolve them by making calls to your existing REST API. - -## A server-side REST wrapper - -The client-side REST API wrapper demonstrated above should help you get up and running quickly so that you can try out a Relay version of your app (or part of your app). - -However, as we mentioned before, this architecture features some inherent performance flaws because of how GraphQL is still calling your underlying REST API which can be very network intensive. A good next step is to move the schema from the client side to the server side to minimize latency on the network and to give you more power to cache responses. - -Take the next 10 minutes to watch me build a server side version of the GraphQL wrapper above using Node and Express. - - - -## Bonus round: A truly Relay compliant schema - -The schema we developed above will work for Relay up until a certain point – the point at which you ask Relay to refetch data for records you've already downloaded. Relay's refetching subsystem relies on your GraphQL schema exposing a special field that can fetch any entity in your data universe by GUID. We call this the _node interface_. - -To expose a node interface requires that you do two things: offer a `node(id: String!)` field at the root of the query, and switch all of your ids over to GUIDs (globally-unique ids). - -The `graphql-relay` package contains some helper functions to make this easy to do. - -``` -npm install --save graphql-relay -``` - -#### Global ids - -First, let's change the `id` field of `PersonType` into a GUID. To do this, we'll use the `globalIdField` helper from `graphql-relay`. - -```js -import { - globalIdField, -} from 'graphql-relay'; - -const PersonType = new GraphQLObjectType({ - name: 'Person', - description: 'Somebody that you used to know', - fields: () => ({ - id: globalIdField('Person'), - /* ... */ - }), -}); -``` - -Behind the scenes `globalIdField` returns a field definition that resolves `id` to a `GraphQLString` by hashing together the typename `'Person'` and the id returned by the REST API. We can later use `fromGlobalId` to convert the result of this field back into `'Person'` and the REST API's id. - -#### The node field - -Another set of helpers from `graphql-relay` will give us a hand developing the node field. Your job is to supply the helper two functions: - -* One function that can resolve an object given a GUID. -* One function that can resolve a typename given an object. - -```js -import { - fromGlobalId, - nodeDefinitions, -} from 'graphql-relay'; - -const { nodeInterface, nodeField } = nodeDefinitions( - globalId => { - const { type, id } = fromGlobalId(globalId); - if (type === 'Person') { - return fetchPersonByURL(`/people/${id}/`); - } - }, - object => { - if (object.hasOwnProperty('username')) { - return 'Person'; - } - }, -); -``` - -The object-to-typename resolver above is no marvel of engineering, but you get the idea. - -Next, we simply need to add the `nodeInterface` and the `nodeField` to our schema. A complete example follows: - -```js{27-39,54,61,72} -import { - GraphQLList, - GraphQLObjectType, - GraphQLSchema, - GraphQLString, -} from 'graphql'; -import { - fromGlobalId, - globalIdField, - nodeDefinitions, -} from 'graphql-relay'; - -const BASE_URL = 'https://myapp.com/'; - -function fetchResponseByURL(relativeURL) { - return fetch(`${BASE_URL}${relativeURL}`).then(res => res.json()); -} - -function fetchPeople() { - return fetchResponseByURL('/people/').then(json => json.people); -} - -function fetchPersonByURL(relativeURL) { - return fetchResponseByURL(relativeURL).then(json => json.person); -} - -const { nodeInterface, nodeField } = nodeDefinitions( - globalId => { - const { type, id } = fromGlobalId(globalId); - if (type === 'Person') { - return fetchPersonByURL(`/people/${id}/`); - } - }, - object => { - if (object.hasOwnProperty('username')) { - return 'Person'; - } - }, -); - -const PersonType = new GraphQLObjectType({ - name: 'Person', - description: 'Somebody that you used to know', - fields: () => ({ - firstName: { - type: GraphQLString, - resolve: person => person.first_name, - }, - lastName: { - type: GraphQLString, - resolve: person => person.last_name, - }, - email: {type: GraphQLString}, - id: globalIdField('Person'), - username: {type: GraphQLString}, - friends: { - type: new GraphQLList(PersonType), - resolve: person => person.friends.map(fetchPersonByURL), - }, - }), - interfaces: [ nodeInterface ], -}); - -const QueryType = new GraphQLObjectType({ - name: 'Query', - description: 'The root of all... queries', - fields: () => ({ - allPeople: { - type: new GraphQLList(PersonType), - resolve: fetchPeople, - }, - node: nodeField, - person: { - type: PersonType, - args: { - id: { type: GraphQLString }, - }, - resolve: (root, args) => fetchPersonByURL(`/people/${args.id}/`), - }, - }), -}); - -export default new GraphQLSchema({ - query: QueryType, -}); -``` - -## Taming pathological queries - -Consider the following friends-of-friends-of-friends query: - -```graphql -query { - person(id: "1") { - firstName - friends { - firstName - friends { - firstName - friends { - firstName - } - } - } - } -} -``` - -The schema we created above will generate multiple round trips to the REST API for the same data. - -![Duplicate queries to the REST API][pathological-query] - -This is obviously something we would like to avoid! At the very least, we need a way to cache the result of these requests. - -We created a library called DataLoader to help tame these sorts of queries. - -``` -npm install --save dataloader -``` - -As a special note, make sure that your runtime offers native or polyfilled versions of `Promise` and `Map`. Read more [at the DataLoader site](https://github.com/facebook/dataloader#getting-started). - -#### Creating a data loader - -To create a `DataLoader` you supply a method that can resolve a list of objects given a list of keys. In our example, the keys are URLs at which we access our REST API. - -```js -const personLoader = new DataLoader( - urls => Promise.all(urls.map(getPersonByURL)) -); -``` - -If this data loader sees a key more than once in its lifetime, it will return a memoized (cached) version of the response. - -#### Loading data - -We can make use of the `load()` and `loadMany()` methods on `personLoader` to load URLs without fear of hitting the REST API more than once per URL. A complete example follows: - -```js{36,63,83} -import DataLoader from 'dataloader'; -import { - GraphQLList, - GraphQLObjectType, - GraphQLSchema, - GraphQLString, -} from 'graphql'; -import { - fromGlobalId, - globalIdField, - nodeDefinitions, -} from 'graphql-relay'; - -const BASE_URL = 'https://myapp.com/'; - -function fetchResponseByURL(relativeURL) { - return fetch(`${BASE_URL}${relativeURL}`).then(res => res.json()); -} - -function fetchPeople() { - return fetchResponseByURL('/people/').then(json => json.people); -} - -function fetchPersonByURL(relativeURL) { - return fetchResponseByURL(relativeURL).then(json => json.person); -} - -const personLoader = new DataLoader( - urls => Promise.all(urls.map(fetchPersonByURL)) -); - -const { nodeInterface, nodeField } = nodeDefinitions( - globalId => { - const {type, id} = fromGlobalId(globalId); - if (type === 'Person') { - return personLoader.load(`/people/${id}/`); - } - }, - object => { - if (object.hasOwnProperty('username')) { - return 'Person'; - } - }, -); - -const PersonType = new GraphQLObjectType({ - name: 'Person', - description: 'Somebody that you used to know', - fields: () => ({ - firstName: { - type: GraphQLString, - resolve: person => person.first_name, - }, - lastName: { - type: GraphQLString, - resolve: person => person.last_name, - }, - email: {type: GraphQLString}, - id: globalIdField('Person'), - username: {type: GraphQLString}, - friends: { - type: new GraphQLList(PersonType), - resolve: person => personLoader.loadMany(person.friends), - }, - }), - interfaces: [nodeInterface], -}); - -const QueryType = new GraphQLObjectType({ - name: 'Query', - description: 'The root of all... queries', - fields: () => ({ - allPeople: { - type: new GraphQLList(PersonType), - resolve: fetchPeople, - }, - node: nodeField, - person: { - type: PersonType, - args: { - id: { type: GraphQLString }, - }, - resolve: (root, args) => personLoader.load(`/people/${args.id}/`), - }, - }), -}); - -export default new GraphQLSchema({ - query: QueryType, -}); -``` - -Now, our pathological query produces the following nicely de-duped set of requests to the REST API: - -![De-duped queries to the REST API][dataloader-query] - -### Query planning and beyond - -Consider that your REST API might already offer configuration offers that let you eagerly load associations. Maybe to load a person and all of their direct friends you might hit the URL `/people/1/?include_friends`. To take advantage of this in your GraphQL schema you will need the ability to develop a resolution plan based on the structure of the query itself (eg. whether the `friends` field is part of the query or not). - -For those interested in the current thinking around advanced resolution strategies, keep an eye on [pull request #304](https://github.com/graphql/graphql-js/pull/304). - -## Thanks for reading - -I hope that this demonstration has torn down some of the barriers between you and a functional GraphQL endpoint, and has inspired you to experiment with GraphQL and Relay on an existing project. - -[rest-api-people]: /img/blog/20160502-rest-api-graphql-wrapper/rest-api-people.png "A REST API that exposes an index of people" -[pathological-query]: /img/blog/20160502-rest-api-graphql-wrapper/pathological-query.png "Duplicate queries to the REST API" -[dataloader-query]: /img/blog/20160502-rest-api-graphql-wrapper/dataloader-query.png "De-duped queries to the REST API" diff --git a/site/blog/20160914-production-ready.md b/site/blog/20160914-production-ready.md deleted file mode 100644 index 6b1e076613..0000000000 --- a/site/blog/20160914-production-ready.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -title: "Leaving technical preview" -layout: ../_core/BlogLayout -permalink: /blog/production-ready/ -date: 14 Sep 2016 -byline: "Lee Byron" ---- - -After over a year of being open sourced we're bringing GraphQL out of "technical preview" and relaunching [graphql.org](http://graphql.org/). - -For us at Facebook, GraphQL isn't a new technology. GraphQL has been delivering data to mobile News Feed since 2012. Since then it's expanded to support the majority of the Facebook mobile product and evolved in the process. - -Early last year when we first [spoke publicly about GraphQL](https://www.youtube.com/watch?v=9sc8Pyc51uU) we received overwhelming demand to share more about this technology. That sparked an internal project to revisit GraphQL, make improvements, draft a specification, produce a reference implementation you could use to try it out, and build new versions of some of our favorite tools, like [GraphiQL](https://github.com/graphql/graphiql). We moved quickly, and released parts that were ready along the way. - -Part of Facebook's open source philosophy is that we want to only open source what is ready for production. While it's true that we had been using GraphQL in production at Facebook for years, we knew that these newly released pieces had yet to be proven. We expected feedback. So we carefully released GraphQL as a "technical preview." - -Exactly one year ago, we published graphql.org, with a [formal announcement](/blog/graphql-a-query-language/) that GraphQL was open source and ready to be "technically previewed". Since then we've seen GraphQL implemented [in many languages](/code/), and successfully adopted by other companies. That includes today's exciting announcement of the [GitHub GraphQL API](http://githubengineering.com/the-github-graphql-api/), the first major public API to use GraphQL. - -In recognition of the fact that GraphQL is now being used in production by many companies, we're excited to remove the "technical preview" moniker. GraphQL is production ready. - -We've also revamped this website, [graphql.org](http://graphql.org/), with clearer and more relevant content in response to some the most common questions we've received over the last year. - -We think GraphQL can greatly simplify data needs for both client product developers and server-side engineers, regardless of what languages you're using in either environment, and we're excited to continue to improve GraphQL, support the already growing community, and see what we can build together. diff --git a/site/blog/index.html.js b/site/blog/index.html.js deleted file mode 100644 index acf10e587e..0000000000 --- a/site/blog/index.html.js +++ /dev/null @@ -1,31 +0,0 @@ -/** - * Copyright (c) 2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the license found in the - * LICENSE file in the root directory of this source tree. - */ - -var path = require('path'); -var React = require('react'); -var Site = require('../_core/Site'); -var Marked = require('../_core/Marked'); -var BlogSidebar = require('../_core/BlogSidebar'); -var BlogPost = require('../_core/BlogPost'); - -export default ({ page, site }) => - -
    -
    -
    - {site.files.blog - .filter(file => !file.draft && path.extname(file.relPath) === '.md') - .sort((a, b) => a.date < b.date) - .map(post => - - )} -
    - -
    -
    -
    diff --git a/site/blog/rss.xml.js b/site/blog/rss.xml.js deleted file mode 100644 index 1740b75a0f..0000000000 --- a/site/blog/rss.xml.js +++ /dev/null @@ -1,38 +0,0 @@ -/** - * Copyright (c) 2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the license found in the - * LICENSE file in the root directory of this source tree. - */ - -var path = require('path'); -var React = require('react'); - -export default function BlogRSS({ site }) { - const posts = site.files.blog - .filter(file => !file.draft && path.extname(file.relPath) === '.md') - .sort((a, b) => a.date < b.date); - return ( - - Blog | GraphQL - - http://graphql.org/blog/ - {new Date(posts[0].date).toISOString()} - - {posts.map(post => - - {post.title} - - http://graphql.org{post.url} - {new Date(post.date).toISOString()} - {post.title} - {post.title} - - {post.byline} - - - )} - - ); -} diff --git a/site/code/index.html.js b/site/code/index.html.js deleted file mode 100644 index d443710a3e..0000000000 --- a/site/code/index.html.js +++ /dev/null @@ -1,339 +0,0 @@ -/** - * Copyright (c) 2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the license found in the - * LICENSE file in the root directory of this source tree. - */ - -var React = require('react'); -var Site = require('../_core/Site'); -var Marked = require('../_core/Marked'); - -export default ({ page, site }) => - - -
    -
    -
    -

    Code

    - {` - -Many different programming languages support GraphQL. This list contains some of the more popular server-side frameworks, client libraries, and other useful stuff. - -## Server Libraries - -### JavaScript - -#### [GraphQL.js](/graphql-js/) ([github](https://github.com/graphql/graphql-js/)) ([npm](https://www.npmjs.com/package/graphql)) - -The reference implementation of the GraphQL specification, designed for running GraphQL in a Node.js environment. - -To run a \`GraphQL.js\` hello world script from the command line: - -\`\`\`bash -npm install graphql -\`\`\` - -Then run \`node hello.js\` with this code in \`hello.js\`: - -\`\`\`js -var { graphql, buildSchema } = require('graphql'); - -var schema = buildSchema(\` - type Query { - hello: String - } -\`); - -var root = { hello: () => 'Hello world!' }; - -graphql(schema, '{ hello }', root).then((response) => { - console.log(response); -}); -\`\`\` - -#### [express-graphql](/graphql-js/running-an-express-graphql-server/) ([github](https://github.com/graphql/express-graphql)) ([npm](https://www.npmjs.com/package/express-graphql)) - -The reference implementation of a GraphQL API server over an Express webserver. You can use this to run GraphQL in conjunction with a regular Express webserver, or as a standalone GraphQL server. - -To run an \`express-graphql\` hello world server: - -\`\`\`bash -npm install express express-graphql graphql -\`\`\` - -Then run \`node server.js\` with this code in \`server.js\`: - -\`\`\`js -var express = require('express'); -var graphqlHTTP = require('express-graphql'); -var { buildSchema } = require('graphql'); - -var schema = buildSchema(\` - type Query { - hello: String - } -\`); - -var root = { hello: () => 'Hello world!' }; - -var app = express(); -app.use('/graphql', graphqlHTTP({ - schema: schema, - rootValue: root, - graphiql: true, -})); -app.listen(4000, () => console.log('Now browse to localhost:4000/graphql')); -\`\`\` - -#### [Apollo Server](http://dev.apollodata.com/tools/apollo-server/index.html) ([github](https://github.com/apollostack/apollo-server)) ([npm](https://www.npmjs.com/package/apollo-server)) - -A GraphQL server that works with Node.js. - -To run a hello world server with Apollo Server: - -\`\`\`bash -npm install apollo-server body-parser express graphql graphql-tools -\`\`\` - -Then run \`node server.js\` with this code in \`server.js\`: - -\`\`\`js -var express = require('express'); -var bodyParser = require('body-parser'); -var { apolloExpress, graphiqlExpress } = require('apollo-server'); -var { makeExecutableSchema } = require('graphql-tools'); - -var typeDefs = [\` -type Query { - hello: String -} - -schema { - query: Query -}\`]; - -var resolvers = { - Query: { - hello(root) { - return 'world'; - } - } -}; - -var schema = makeExecutableSchema({typeDefs, resolvers}); -var app = express(); -app.use('/graphql', bodyParser.json(), apolloExpress({schema})); -app.use('/graphiql', graphiqlExpress({endpointURL: '/graphql'})); -app.listen(4000, () => console.log('Now browse to localhost:4000/graphiql')); -\`\`\` - -Apollo Server also supports all Node.js HTTP server frameworks: Express, Connect, HAPI and Koa. - -### Ruby - -#### [graphql-ruby](https://github.com/rmosolgo/graphql-ruby) - -A Ruby library for building GraphQL APIs. - -To run a hello world script with \`graphql-ruby\`: - -\`\`\`bash -gem install graphql -\`\`\` - -Then run \`ruby hello.rb\` with this code in \`hello.rb\`: - -\`\`\`ruby -require 'graphql' - -QueryType = GraphQL::ObjectType.define do - name 'Query' - field :hello do - type types.String - resolve -> (obj, args, ctx) { 'Hello world!' } - end -end - -Schema = GraphQL::Schema.define do - query QueryType -end - -puts Schema.execute('{ hello }') -\`\`\` - -There are also nice bindings for Relay and Rails. - -### Python - -#### [Graphene](http://graphene-python.org/) ([github](https://github.com/graphql-python/graphene)) - -A Python library for building GraphQL APIs. - -To run a Graphene hello world script: - -\`\`\`bash -pip install graphene -\`\`\` - -Then run \`python hello.py\` with this code in \`hello.py\`: - -\`\`\`python -import graphene - -class Query(graphene.ObjectType): - hello = graphene.String() - - def resolve_hello(self, args, context, info): - return 'Hello world!' - -schema = graphene.Schema(query=Query) -result = schema.execute('{ hello }') -print(result.data['hello']) -\`\`\` - -There are also nice bindings for [Relay](https://facebook.github.io/relay/), Django, SQLAlchemy, and Google App Engine. - -### Scala - -#### [Sangria](http://sangria-graphql.org/) ([github](https://github.com/sangria-graphql/sangria)): A Scala GraphQL library that supports [Relay](https://facebook.github.io/relay/). - -An example of a hello world GraphQL schema and query with \`sangria\`: - -\`\`\`scala -import sangria.schema._ -import sangria.execution._ -import sangria.macros._ - -val QueryType = ObjectType("Query", fields[Unit, Unit]( - Field("hello", StringType, resolve = _ ⇒ "Hello world!") -)) - -val schema = Schema(QueryType) - -val query = graphql"{ hello }" - -Executor.execute(schema, query) map println -\`\`\` - -### Java - -#### [graphql-java](https://github.com/graphql-java/graphql-java) - -A Java library for building GraphQL APIs. - -Code that executes a hello world GraphQL query with \`graphql-java\`: - -\`\`\`java -import graphql.schema.GraphQLObjectType; -import graphql.schema.GraphQLSchema; - -import static graphql.Scalars.GraphQLString; -import static graphql.schema.GraphQLFieldDefinition.newFieldDefinition; -import static graphql.schema.GraphQLObjectType.newObject; - -public class HelloWorld { - - public static void main(String[] args) { - - GraphQLObjectType queryType = newObject() - .name("helloWorldQuery") - .field(newFieldDefinition() - .type(GraphQLString) - .name("hello") - .staticValue("Hello world!")) - .build(); - - GraphQLSchema schema = GraphQLSchema.newSchema() - .query(queryType) - .build(); - Map result = new GraphQL(schema).execute("{hello}").getData(); - - System.out.println(result); - // Prints: {hello=world} - } -} -\`\`\` - -See [the graphql-java docs](https://github.com/graphql-java/graphql-java) for more information on setup. - -### Clojure - -#### [graphql-clj](https://github.com/tendant/graphql-clj) - -A Clojure library that provides a GraphQL implementation. - -Code that executes a hello world GraphQL query with \`graphql-clj\`: - -\`\`\`clojure -(require '[graphql-clj.parser :as parser]) -(require '[graphql-clj.type :as type]) - -(def parsed-schema (parser/parse "type Query { - hello: String - }")) - -(def type-schema (type/create-schema parsed-schema)) - -(defn resolver-fn [type-name field-name] - (cond - (and (= "Query" type-name) (= "hello" field-name)) (fn [context parent & rest] - "Hello world!"))) - -(require '[graphql-clj.executor :as executor]) - -(executor/execute nil type-schema resolver-fn "{ hello }") -\`\`\` - -### Go - - - [graphql-go](https://github.com/graphql-go/graphql): An implementation of GraphQL for Go / Golang. - - [graphql-relay-go](https://github.com/graphql-go/relay): A Go/Golang library to help construct a graphql-go server supporting react-relay. - - [neelance/graphql-go](https://github.com/neelance/graphql-go): An active implementation of GraphQL in Golang. - -### PHP - - - [graphql-php](https://github.com/webonyx/graphql-php): A PHP port of GraphQL reference implementation - - [graphql-relay-php](https://github.com/ivome/graphql-relay-php): A library to help construct a graphql-php server supporting react-relay. - -### C# / .NET - - - [graphql-dotnet](https://github.com/graphql-dotnet/graphql-dotnet): GraphQL for .NET - - [graphql-net](https://github.com/ckimes89/graphql-net): Convert GraphQL to IQuerable - -### Elixir - - - [absinthe](https://github.com/absinthe-graphql/absinthe): GraphQL implementation for Elixir. - - [graphql-elixir](https://github.com/graphql-elixir/graphql): An Elixir implementation of Facebook's GraphQL. - - -## GraphQL Clients - -### JavaScript - - - [Relay](https://facebook.github.io/relay/) ([github](https://github.com/facebook/relay)) ([npm](https://www.npmjs.com/package/react-relay)): Facebook's framework for building React applications that talk to a GraphQL backend. - - [Apollo Client](http://dev.apollodata.com/react/) ([github](https://github.com/apollostack/apollo-client)): A powerful JavaScript GraphQL client, designed to work well with React, React Native, Angular 2, or just plain JavaScript. - - [Lokka](https://github.com/kadirahq/lokka): A simple JavaScript GraphQL client that works in all JavaScript environments - the browser, Node.js, and React Native. - -### Swift / iOS - -- [Apollo iOS](http://dev.apollodata.com/ios/) ([github](https://github.com/apollostack/apollo-ios)): A GraphQL client for iOS that returns results as query-specific Swift types, and integrates with Xcode to show your Swift source and GraphQL side by side, with inline validation errors. - -## Tools - - - [graphiql](https://github.com/graphql/graphiql) ([npm](https://www.npmjs.com/package/graphiql)): An interactive in-browser GraphQL IDE. - - [libgraphqlparser](https://github.com/graphql/libgraphqlparser): A GraphQL query language parser in C++ with C and C++ APIs. - - -## More Stuff - - - [awesome-graphql](https://github.com/chentsulin/awesome-graphql): A fantastic community maintained collection of libraries, resources, and more. - - `} - -
    -
    -
    - -
    diff --git a/site/community/Community-Events.md b/site/community/Community-Events.md deleted file mode 100644 index 466317d151..0000000000 --- a/site/community/Community-Events.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -title: Upcoming Events -layout: ../_core/DocsLayout -category: Community -permalink: /community/upcoming-events/ -sublinks: Upcoming Events,Meetups ---- - -## Upcoming Events - -### Building better apps with GraphQL - -- **Event:** GraphQL London #1 Meetup -- **Date:** November 29, 2016 -- **Location:** London, UK -- **Speaker:** Martijn Walraven -- **Link:** https://www.meetup.com/GraphQL-London/events/235489110/ - -Martijn Walraven is a developer on the Apollo Open Source team at Meteor, where he focuses on bringing GraphQL to mobile developers. He created a strongly typed GraphQL client for iOS written in Swift, and is working on doing the same for Android. He'll briefly introduce GraphQL and how it is a product-developer-friendly and efficient method for fetching structured data from a server, designed to be an alternative to REST. In this talk, he’ll explain why GraphQL was developed, how it works, and how you can use it in your own apps, whether you are a React (Native), Angular, or native iOS or Android developer. - - -## Meetups - -### North America - -- [GraphQL San Francisco](http://www.meetup.com/GraphQL-SF/) -- [GraphQL & Relay (San Francisco)](http://www.meetup.com/graphql/) -- [GraphQL Seattle](https://www.meetup.com/Seattle-GraphQL-Meetup/) -- [GraphQL Toronto](https://www.meetup.com/GraphQL-Toronto/) - -### Europe - -- [GraphQL Amsterdam](https://www.meetup.com/Amsterdam-GraphQL-Meetup/) -- [GraphQL Berlin](https://www.meetup.com/graphql-berlin/) -- [GraphQL London](https://www.meetup.com/GraphQL-London) -- [GraphQL Paris](https://www.meetup.com/GraphQL-Paris/) - -### Australia - -- [GraphQL Melbourne](http://graphql.melbourne/) - -### Asia - -- [GraphQL Tel Aviv](https://www.meetup.com/GraphQL-TLV/) diff --git a/site/community/Community-Resources.md b/site/community/Community-Resources.md deleted file mode 100644 index a8297f1169..0000000000 --- a/site/community/Community-Resources.md +++ /dev/null @@ -1,90 +0,0 @@ ---- -title: Community Resources -layout: ../_core/DocsLayout -category: Community -permalink: /community/ -next: /community/upcoming-events/ -sublinks: Blogs,Videos ---- - -## Stack Overflow - -Many members of the community use Stack Overflow to ask and answer questions. [Read through the existing questions tagged with **graphql** or ask your own!](http://stackoverflow.com/questions/tagged/graphql) - -## Facebook Group - -Join the [GraphQL Facebook Group](https://www.facebook.com/groups/graphql.community/) for questions, discussion, and sharing. The GraphQL Facebook group is the preferred venue for announcements and broader discussion. - -## Twitter - -Use the [**#graphql** hashtag](https://twitter.com/search?q=%23GraphQL&src=tyah) on Twitter to join the conversation. - -Here are some helpful accounts to follow: -- [@GraphQL](https://twitter.com/GraphQL) -- [@graphqlweekly](https://twitter.com/graphqlweekly) -- [@graphqlnews](https://twitter.com/graphqlnews) -- [@GraphQLStackOverflow](https://twitter.com/GraphQLatSO) -- [@apollostack](https://twitter.com/apollostack) -- [@graphcool](https://twitter.com/graphcool) -- [@ScapholdDotIO](https://twitter.com/ScapholdDotIO) - -## IRC - -Chat with GraphQL developers on IRC at the [https://freenode.net/](freenode) server on the #graphql channel. - -## Slack & Discord - -Many GraphQL developers idle in Discord and Slack chatrooms for live -communication and quick questions. - -Join #graphql on the [ReactiFlux Discord](http://join.reactiflux.com/). - -### Slack Communities: - -- [**#general** on GraphQL](https://graphql.slack.com/messages/general/). [Get your invite here!](https://graphql-slack.herokuapp.com/) -- [Apollo Slack](http://apollostack.com/#slack) -- [Reindex Slack](http://slack.reindex.io/) -- [Graph.cool Slack](https://slack.graph.cool/) -- [Scaphold.io Slack](https://scapholdslackin.herokuapp.com) - -## Blogs - -Here are a list of notable blog posts to help you better understand GraphQL: - -- [GraphQL Introduction](https://facebook.github.io/react/blog/2015/05/01/graphql-introduction.html) - Nick Schrock -- [From REST to GraphQL](https://0x2a.sh/from-rest-to-graphql-b4e95e94c26b#.tag7nzkrb) - Jacob Gillespie -- [GraphQL Explained](https://medium.com/apollo-stack/graphql-explained-5844742f195e#.zdykxos6i) - Jonas Helfer -- [GraphQL Concepts Visualized](https://medium.com/apollo-stack/the-concepts-of-graphql-bc68bd819be3#.hfczgtdsj) - Dhaivat Pandya -- [Building the f8 App: Using GraphQL & Relay](http://makeitopen.com/tutorials/building-the-f8-app/relay/) -- [Your First GraphQL Server](https://medium.com/the-graphqlhub/your-first-graphql-server-3c766ab4f0a2#.ovn0y19k4) - Clay Allsopp -- [Tutorial: How to Build a GraphQL Server](https://medium.com/apollo-stack/tutorial-building-a-graphql-server-cddaa023c035#.bu6sdnst4) - Jonas Helfer - -## Videos - -Developers inside and outside of Facebook have given talks about GraphQL at conferences and meetups around the world. Here are some of our favorites: - -- [Exploring GraphQL](https://www.youtube.com/watch?v=WQLzZf34FJ8) - Lee Byron, React Europe 2015 -- [From Zero to GraphQL in 30 Minutes](https://www.youtube.com/watch?v=UBGzsb2UkeY) - Steve Luscher -- [Exploring GraphQL](https://www.youtube.com/watch?v=_9RgHXqH8J0) - Nick Schrock, @Scale 2015 -- [GraphQL Servers](https://www.youtube.com/watch?v=KOudxKJXsjc) - Nick Schrock, React Rally 2015 -- [GraphQL at Facebook](https://www.youtube.com/watch?v=etax3aEe2dA) - Dan Schafer, React Europe 2016 -- [GraphQL Source Code Overview](https://www.youtube.com/watch?v=IqtYr6RX32Q) - Lee Byron -- [GraphQL Future](https://www.youtube.com/watch?v=ViXL0YQnioU) - Lee Byron & Laney Kuenzel -- [Apollo Client: Put GraphQL Data in Your UI](https://www.youtube.com/watch?v=u1E0CbGeICo) - Sashko Stubailo -- [Relay 2 - simpler, faster, and more predictable](https://www.youtube.com/watch?v=OEfUBN9dAI8) - Greg Hurrell -- [Build a GraphQL server for Node.js, using PostgreSQL/MySQL](https://www.youtube.com/watch?v=DNPVqK_woRQ) - Lee Benson -- [A GraphQL Framework for Non-JS Servers](https://www.youtube.com/watch?v=RNoyPSrQyPs) - Syrus Akbary -- [Modernize Your Angular App with GraphQL](https://www.youtube.com/watch?v=qpGnPbpkcZM) - Uri Goldshtein, Angular Camp 2016 -- [GraphQL server tutorial for Node.js with SQL, MongoDB and REST ](https://www.youtube.com/watch?v=PHabPhgRUuU) - Jonas Helfer -- [Building Native Mobile Apps with GraphQL](https://www.youtube.com/watch?v=z5rz3saDPJ8) - Martjin Walraven, React Europe 2016 -- [GraphQL in native applications](https://atscaleconference.com/videos/graphql-in-native-applications-at-scale/) - Igor Canadi & Alex Langenfeld, @Scale 2016 -- [Build a Full GraphQL Backend in Under 5 Minutes](https://www.youtube.com/watch?v=bJ8pnYd6jPQ) - Michael Paris -- [GraphQL in Production: Backend as a Service](https://www.youtube.com/watch?v=U2NKoStGBvE) - Michael Paris & Vince Ning, GraphQL in Production Meetup SF August 2016 - -## More Resources - -To explore other community-developed resources and content about GraphQL, take a look at these sites: - -- [Building Apollo](https://medium.com/apollo-stack) -- [Learn GraphQL](https://learngraphql.com/basics/introduction) -- [awesome-graphql](https://github.com/chentsulin/awesome-graphql): A fantastic community maintained collection of libraries, resources, and more. diff --git a/site/docs/api-reference-errors/index.html.js b/site/docs/api-reference-errors/index.html.js deleted file mode 100644 index c988dde342..0000000000 --- a/site/docs/api-reference-errors/index.html.js +++ /dev/null @@ -1,3 +0,0 @@ -var React = require('react') -var Redirect = require('../../_core/Redirect') -export default () => diff --git a/site/docs/api-reference-execution/index.html.js b/site/docs/api-reference-execution/index.html.js deleted file mode 100644 index abb7be8ace..0000000000 --- a/site/docs/api-reference-execution/index.html.js +++ /dev/null @@ -1,3 +0,0 @@ -var React = require('react') -var Redirect = require('../../_core/Redirect') -export default () => diff --git a/site/docs/api-reference-express-graphql/index.html.js b/site/docs/api-reference-express-graphql/index.html.js deleted file mode 100644 index bd10b1b77d..0000000000 --- a/site/docs/api-reference-express-graphql/index.html.js +++ /dev/null @@ -1,3 +0,0 @@ -var React = require('react') -var Redirect = require('../../_core/Redirect') -export default () => diff --git a/site/docs/api-reference-graphql/index.html.js b/site/docs/api-reference-graphql/index.html.js deleted file mode 100644 index 64b26f362d..0000000000 --- a/site/docs/api-reference-graphql/index.html.js +++ /dev/null @@ -1,3 +0,0 @@ -var React = require('react') -var Redirect = require('../../_core/Redirect') -export default () => diff --git a/site/docs/api-reference-language/index.html.js b/site/docs/api-reference-language/index.html.js deleted file mode 100644 index cce334627a..0000000000 --- a/site/docs/api-reference-language/index.html.js +++ /dev/null @@ -1,3 +0,0 @@ -var React = require('react') -var Redirect = require('../../_core/Redirect') -export default () => diff --git a/site/docs/api-reference-type-system/index.html.js b/site/docs/api-reference-type-system/index.html.js deleted file mode 100644 index 446ce7e7b7..0000000000 --- a/site/docs/api-reference-type-system/index.html.js +++ /dev/null @@ -1,3 +0,0 @@ -var React = require('react') -var Redirect = require('../../_core/Redirect') -export default () => diff --git a/site/docs/api-reference-type-utilities/index.html.js b/site/docs/api-reference-type-utilities/index.html.js deleted file mode 100644 index e03905bb53..0000000000 --- a/site/docs/api-reference-type-utilities/index.html.js +++ /dev/null @@ -1,3 +0,0 @@ -var React = require('react') -var Redirect = require('../../_core/Redirect') -export default () => diff --git a/site/docs/api-reference-type-validation/index.html.js b/site/docs/api-reference-type-validation/index.html.js deleted file mode 100644 index f73c0aeac4..0000000000 --- a/site/docs/api-reference-type-validation/index.html.js +++ /dev/null @@ -1,3 +0,0 @@ -var React = require('react') -var Redirect = require('../../_core/Redirect') -export default () => diff --git a/site/docs/getting-started/index.html.js b/site/docs/getting-started/index.html.js deleted file mode 100644 index d0259867c0..0000000000 --- a/site/docs/getting-started/index.html.js +++ /dev/null @@ -1,3 +0,0 @@ -var React = require('react') -var Redirect = require('../../_core/Redirect') -export default () => diff --git a/site/docs/intro/index.html.js b/site/docs/intro/index.html.js deleted file mode 100644 index d0259867c0..0000000000 --- a/site/docs/intro/index.html.js +++ /dev/null @@ -1,3 +0,0 @@ -var React = require('react') -var Redirect = require('../../_core/Redirect') -export default () => diff --git a/site/docs/introspection/index.html.js b/site/docs/introspection/index.html.js deleted file mode 100644 index b623a521c3..0000000000 --- a/site/docs/introspection/index.html.js +++ /dev/null @@ -1,3 +0,0 @@ -var React = require('react') -var Redirect = require('../../_core/Redirect') -export default () => diff --git a/site/docs/queries/index.html.js b/site/docs/queries/index.html.js deleted file mode 100644 index 660a925f15..0000000000 --- a/site/docs/queries/index.html.js +++ /dev/null @@ -1,3 +0,0 @@ -var React = require('react') -var Redirect = require('../../_core/Redirect') -export default () => diff --git a/site/docs/typesystem/index.html.js b/site/docs/typesystem/index.html.js deleted file mode 100644 index f03661c87d..0000000000 --- a/site/docs/typesystem/index.html.js +++ /dev/null @@ -1,3 +0,0 @@ -var React = require('react') -var Redirect = require('../../_core/Redirect') -export default () => diff --git a/site/docs/validation/index.html.js b/site/docs/validation/index.html.js deleted file mode 100644 index b4099c46d0..0000000000 --- a/site/docs/validation/index.html.js +++ /dev/null @@ -1,3 +0,0 @@ -var React = require('react') -var Redirect = require('../../_core/Redirect') -export default () => diff --git a/site/docs/videos/index.html.js b/site/docs/videos/index.html.js deleted file mode 100644 index 08473f1aef..0000000000 --- a/site/docs/videos/index.html.js +++ /dev/null @@ -1,3 +0,0 @@ -var React = require('react') -var Redirect = require('../../_core/Redirect') -export default () => diff --git a/site/favicon.ico b/site/favicon.ico deleted file mode 100644 index 89bd152f32..0000000000 Binary files a/site/favicon.ico and /dev/null differ diff --git a/site/graphql-js/APIReference-Errors.md b/site/graphql-js/APIReference-Errors.md deleted file mode 100644 index d6b62376f7..0000000000 --- a/site/graphql-js/APIReference-Errors.md +++ /dev/null @@ -1,107 +0,0 @@ ---- -title: graphql/error -layout: ../_core/GraphQLJSLayout -category: API Reference -permalink: /graphql-js/error/ -sublinks: formatError,GraphQLError,locatedError,syntaxError -next: /graphql-js/execution/ ---- - -The `graphql/error` module is responsible for creating and formatting -GraphQL errors. You can import either from the `graphql/error` module, or from the root `graphql` module. For example: - -```js -import { GraphQLError } from 'graphql'; // ES6 -var { GraphQLError } = require('graphql'); // CommonJS -``` - -## Overview - - - -## Errors - -### GraphQLError - -```js -class GraphQLError extends Error { - constructor( - message: string, - nodes?: Array, - stack?: ?string, - source?: Source, - positions?: Array - ) -} -``` - -A representation of an error that occurred within GraphQL. Contains -information about where in the query the error occurred for debugging. Most -commonly constructed with `locatedError` below. - -### syntaxError - -```js -function syntaxError( - source: Source, - position: number, - description: string -): GraphQLError; -``` - -Produces a GraphQLError representing a syntax error, containing useful -descriptive information about the syntax error's position in the source. - -### locatedError - -```js -function locatedError(error: ?Error, nodes: Array): GraphQLError { -``` - -Given an arbitrary Error, presumably thrown while attempting to execute a -GraphQL operation, produce a new GraphQLError aware of the location in the -document responsible for the original Error. - -### formatError - -```js -function formatError(error: GraphQLError): GraphQLFormattedError - -type GraphQLFormattedError = { - message: string, - locations: ?Array -}; - -type GraphQLErrorLocation = { - line: number, - column: number -}; -``` - -Given a GraphQLError, format it according to the rules described by the -Response Format, Errors section of the GraphQL Specification. diff --git a/site/graphql-js/APIReference-Execution.md b/site/graphql-js/APIReference-Execution.md deleted file mode 100644 index 41b7e7e0fa..0000000000 --- a/site/graphql-js/APIReference-Execution.md +++ /dev/null @@ -1,58 +0,0 @@ ---- -title: graphql/execution -layout: ../_core/GraphQLJSLayout -category: API Reference -permalink: /graphql-js/execution/ -sublinks: execute -next: /graphql-js/language/ ---- - -The `graphql/execution` module is responsible for the execution phase of -fulfilling a GraphQL request. You can import either from the `graphql/execution` module, or from the root `graphql` module. For example: - -```js -import { execute } from 'graphql'; // ES6 -var { execute } = require('graphql'); // CommonJS -``` - -## Overview - - - -## Execution - -### execute - -```js -export function execute( - schema: GraphQLSchema, - documentAST: Document, - rootValue?: mixed, - contextValue?: mixed, - variableValues?: ?{[key: string]: mixed}, - operationName?: ?string -): Promise - -type ExecutionResult = { - data: ?Object; - errors?: Array; -} -``` - -Implements the "Evaluating requests" section of the GraphQL specification. - -Returns a Promise that will eventually be resolved and never rejected. - -If the arguments to this function do not result in a legal execution context, -a GraphQLError will be thrown immediately explaining the invalid input. - -`ExecutionResult` represents the result of execution. `data` is the result of -executing the query, `errors` is null if no errors occurred, and is a -non-empty array if an error occurred. diff --git a/site/graphql-js/APIReference-ExpressGraphQL.md b/site/graphql-js/APIReference-ExpressGraphQL.md deleted file mode 100644 index 65703b1b08..0000000000 --- a/site/graphql-js/APIReference-ExpressGraphQL.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -title: express-graphql -layout: ../_core/GraphQLJSLayout -category: API Reference -permalink: /graphql-js/express-graphql/ -sublinks: graphqlHTTP -next: /graphql-js/graphql/ ---- - -The `express-graphql` module provides a simple way to create an [Express](https://expressjs.com/) server that runs a GraphQL API. - -```js -import graphqlHTTP from 'express-graphql'; // ES6 -var graphqlHTTP = require('express-graphql'); // CommonJS -``` - -### graphqlHTTP - -```js -graphqlHTTP({ - schema: GraphQLSchema, - graphiql?: ?boolean, - rootValue?: ?any, - context?: ?any, - pretty?: ?boolean, - formatError?: ?Function, - validationRules?: ?Array, -}): Middleware -``` - -Constructs an Express application based on a GraphQL schema. - -See the [express-graphql tutorial](/graphql-js/running-an-express-graphql-server/) for sample usage. - -See the [GitHub README](https://github.com/graphql/express-graphql) for more extensive documentation of the details of this method. diff --git a/site/graphql-js/APIReference-GraphQL.md b/site/graphql-js/APIReference-GraphQL.md deleted file mode 100644 index 3db7cdf841..0000000000 --- a/site/graphql-js/APIReference-GraphQL.md +++ /dev/null @@ -1,179 +0,0 @@ ---- -title: graphql -layout: ../_core/GraphQLJSLayout -category: API Reference -permalink: /graphql-js/graphql/ -sublinks: graphql -next: /graphql-js/error/ ---- - -The `graphql` module exports a core subset of GraphQL functionality for creation -of GraphQL type systems and servers. - -```js -import { graphql } from 'graphql'; // ES6 -var { graphql } = require('graphql'); // CommonJS -``` - -## Overview - -*Entry Point* - - - -*Schema* - - - -*Type Definitions* - - - -*Scalars* - - - -*Errors* - - - -## Entry Point - -### graphql - -```js -graphql( - schema: GraphQLSchema, - requestString: string, - rootValue?: ?any, - contextValue?: ?any, - variableValues?: ?{[key: string]: any}, - operationName?: ?string -): Promise -``` - -The `graphql` function lexes, parses, validates and executes a GraphQL request. -It requires a `schema` and a `requestString`. Optional arguments include a -`rootValue`, which will get passed as the root value to the executor, a `contextValue`, -which will get passed to all resolve functions, -`variableValues`, which will get passed to the executor to provide values for -any variables in `requestString`, and `operationName`, which allows the caller -to specify which operation in `requestString` will be run, in cases where -`requestString` contains multiple top-level operations. - -## Schema - -See the [Type System API Reference](../type#schema). - -## Type Definitions - -See the [Type System API Reference](../type#definitions). - -## Scalars - -See the [Type System API Reference](../type#scalars). - -## Errors - -See the [Errors API Reference](../error) diff --git a/site/graphql-js/APIReference-Language.md b/site/graphql-js/APIReference-Language.md deleted file mode 100644 index 2c52e3af1e..0000000000 --- a/site/graphql-js/APIReference-Language.md +++ /dev/null @@ -1,305 +0,0 @@ ---- -title: graphql/language -layout: ../_core/GraphQLJSLayout -category: API Reference -permalink: /graphql-js/language/ -sublinks: BREAK,getLocation,Kind,lex,parse,parseValue,printSource,visit -next: /graphql-js/type/ ---- - -The `graphql/language` module is responsible for parsing and operating on the GraphQL language. You can import either from the `graphql/language` module, or from the root `graphql` module. For example: - -```js -import { Source } from 'graphql'; // ES6 -var { Source } = require('graphql'); // CommonJS -``` - -## Overview - -*Source* - - - -*Lexer* - - - -*Parser* - - - -*Visitor* - - - -*Printer* - - - -## Source - -### Source - -```js -export class Source { - constructor(body: string, name?: string) -} -``` - -A representation of source input to GraphQL. The name is optional, -but is mostly useful for clients who store GraphQL documents in -source files; for example, if the GraphQL input is in a file Foo.graphql, -it might be useful for name to be "Foo.graphql". - -### getLocation - -```js -function getLocation(source: Source, position: number): SourceLocation - -type SourceLocation = { - line: number; - column: number; -} -``` - -Takes a Source and a UTF-8 character offset, and returns the corresponding -line and column as a SourceLocation. - -## Lexer - -### lex - -```js -function lex(source: Source): Lexer; - -type Lexer = (resetPosition?: number) => Token; - -export type Token = { - kind: number; - start: number; - end: number; - value: ?string; -}; -``` - -Given a Source object, this returns a Lexer for that source. -A Lexer is a function that acts like a generator in that every time -it is called, it returns the next token in the Source. Assuming the -source lexes, the final Token emitted by the lexer will be of kind -EOF, after which the lexer will repeatedly return EOF tokens whenever -called. - -The argument to the lexer function is optional, and can be used to -rewind or fast forward the lexer to a new position in the source. - -## Parser - -### parse - -```js -export function parse( - source: Source | string, - options?: ParseOptions -): Document -``` - -Given a GraphQL source, parses it into a Document. - -Throws GraphQLError if a syntax error is encountered. - -### parseValue - -```js -export function parseValue( - source: Source | string, - options?: ParseOptions -): Value -``` - -Given a string containing a GraphQL value, parse the AST for that value. - -Throws GraphQLError if a syntax error is encountered. - -This is useful within tools that operate upon GraphQL Values directly and -in isolation of complete GraphQL documents. - -### Kind - -An enum that describes the different kinds of AST nodes. - -## Visitor - -### visit - -```js -function visit(root, visitor, keyMap) -``` - -visit() will walk through an AST using a depth first traversal, calling -the visitor's enter function at each node in the traversal, and calling the -leave function after visiting that node and all of it's child nodes. - -By returning different values from the enter and leave functions, the -behavior of the visitor can be altered, including skipping over a sub-tree of -the AST (by returning false), editing the AST by returning a value or null -to remove the value, or to stop the whole traversal by returning BREAK. - -When using visit() to edit an AST, the original AST will not be modified, and -a new version of the AST with the changes applied will be returned from the -visit function. - -```js -var editedAST = visit(ast, { - enter(node, key, parent, path, ancestors) { - // @return - // undefined: no action - // false: skip visiting this node - // visitor.BREAK: stop visiting altogether - // null: delete this node - // any value: replace this node with the returned value - }, - leave(node, key, parent, path, ancestors) { - // @return - // undefined: no action - // false: no action - // visitor.BREAK: stop visiting altogether - // null: delete this node - // any value: replace this node with the returned value - } -}); -``` - -Alternatively to providing enter() and leave() functions, a visitor can -instead provide functions named the same as the kinds of AST nodes, or -enter/leave visitors at a named key, leading to four permutations of -visitor API: - -1) Named visitors triggered when entering a node a specific kind. - -```js -visit(ast, { - Kind(node) { - // enter the "Kind" node - } -}) -``` - -2) Named visitors that trigger upon entering and leaving a node of - a specific kind. - -```js -visit(ast, { - Kind: { - enter(node) { - // enter the "Kind" node - } - leave(node) { - // leave the "Kind" node - } - } -}) -``` - -3) Generic visitors that trigger upon entering and leaving any node. - -```js -visit(ast, { - enter(node) { - // enter any node - }, - leave(node) { - // leave any node - } -}) -``` - -4) Parallel visitors for entering and leaving nodes of a specific kind. - -```js -visit(ast, { - enter: { - Kind(node) { - // enter the "Kind" node - } - }, - leave: { - Kind(node) { - // leave the "Kind" node - } - } -}) -``` - -### BREAK - -The sentinel `BREAK` value described in the documentation of `visitor`. - -## Printer - -### print - -```js -function print(ast): string -``` - -Converts an AST into a string, using one set of reasonable -formatting rules. diff --git a/site/graphql-js/APIReference-TypeSystem.md b/site/graphql-js/APIReference-TypeSystem.md deleted file mode 100644 index c9b6d09b6c..0000000000 --- a/site/graphql-js/APIReference-TypeSystem.md +++ /dev/null @@ -1,659 +0,0 @@ ---- -title: graphql/types -layout: ../_core/GraphQLJSLayout -category: API Reference -permalink: /graphql-js/type/ -sublinks: getNamedType,getNullableType,GraphQLBoolean,GraphQLEnumType,GraphQLFloat,GraphQLID,GraphQLInputObjectType,GraphQLInt,GraphQLInterfaceType,GraphQLList,GraphQLNonNull,GraphQLObjectType,GraphQLScalarType,GraphQLSchema,GraphQLString,GraphQLUnionType,isAbstractType,isCompositeType,isInputType,isLeafType,isOutputType -next: /graphql-js/utilities/ ---- - -The `graphql/type` module is responsible for defining GraphQL types and schema. You can import either from the `graphql/type` module, or from the root `graphql` module. For example: - -```js -import { GraphQLSchema } from 'graphql'; // ES6 -var { GraphQLSchema } = require('graphql'); // CommonJS -``` - -## Overview - -*Schema* - - - -*Definitions* - - - -*Predicates* - - - -*Un-modifiers* - - - -*Scalars* - - - -## Schema - -### GraphQLSchema - -```js -class GraphQLSchema { - constructor(config: GraphQLSchemaConfig) -} - -type GraphQLSchemaConfig = { - query: GraphQLObjectType; - mutation?: ?GraphQLObjectType; -} -``` - -A Schema is created by supplying the root types of each type of operation, -query and mutation (optional). A schema definition is then supplied to the -validator and executor. - -#### Example - -```js -var MyAppSchema = new GraphQLSchema({ - query: MyAppQueryRootType - mutation: MyAppMutationRootType -}); -``` - -## Definitions - -### GraphQLScalarType - -```js -class GraphQLScalarType { - constructor(config: GraphQLScalarTypeConfig) -} - -type GraphQLScalarTypeConfig = { - name: string; - description?: ?string; - serialize: (value: mixed) => ?InternalType; - parseValue?: (value: mixed) => ?InternalType; - parseLiteral?: (valueAST: Value) => ?InternalType; -} -``` - -The leaf values of any request and input values to arguments are -Scalars (or Enums) and are defined with a name and a series of serialization -functions used to ensure validity. - -#### Example - -```js -var OddType = new GraphQLScalarType({ - name: 'Odd', - serialize: oddValue, - parseValue: oddValue, - parseLiteral(ast) { - if (ast.kind === Kind.INT) { - return oddValue(parseInt(ast.value, 10)); - } - return null; - } -}); - -function oddValue(value) { - return value % 2 === 1 ? value : null; -} -``` - -### GraphQLObjectType - -```js -class GraphQLObjectType { - constructor(config: GraphQLObjectTypeConfig) -} - -type GraphQLObjectTypeConfig = { - name: string; - interfaces?: GraphQLInterfacesThunk | Array; - fields: GraphQLFieldConfigMapThunk | GraphQLFieldConfigMap; - isTypeOf?: (value: any, info?: GraphQLResolveInfo) => boolean; - description?: ?string -} - -type GraphQLInterfacesThunk = () => Array; - -type GraphQLFieldConfigMapThunk = () => GraphQLFieldConfigMap; - -type GraphQLFieldResolveFn = ( - source?: any, - args?: {[argName: string]: any}, - context?: any, - info?: GraphQLResolveInfo -) => any - -type GraphQLResolveInfo = { - fieldName: string, - fieldASTs: Array, - returnType: GraphQLOutputType, - parentType: GraphQLCompositeType, - schema: GraphQLSchema, - fragments: { [fragmentName: string]: FragmentDefinition }, - rootValue: any, - operation: OperationDefinition, - variableValues: { [variableName: string]: any }, -} - -type GraphQLFieldConfig = { - type: GraphQLOutputType; - args?: GraphQLFieldConfigArgumentMap; - resolve?: GraphQLFieldResolveFn; - deprecationReason?: string; - description?: ?string; -} - -type GraphQLFieldConfigArgumentMap = { - [argName: string]: GraphQLArgumentConfig; -}; - -type GraphQLArgumentConfig = { - type: GraphQLInputType; - defaultValue?: any; - description?: ?string; -} - -type GraphQLFieldConfigMap = { - [fieldName: string]: GraphQLFieldConfig; -}; -``` - -Almost all of the GraphQL types you define will be object types. Object types -have a name, but most importantly describe their fields. - -When two types need to refer to each other, or a type needs to refer to -itself in a field, you can use a function expression (aka a closure or a -thunk) to supply the fields lazily. - -#### Examples - -```js -var AddressType = new GraphQLObjectType({ - name: 'Address', - fields: { - street: { type: GraphQLString }, - number: { type: GraphQLInt }, - formatted: { - type: GraphQLString, - resolve(obj) { - return obj.number + ' ' + obj.street - } - } - } -}); - -var PersonType = new GraphQLObjectType({ - name: 'Person', - fields: () => ({ - name: { type: GraphQLString }, - bestFriend: { type: PersonType }, - }) -}); -``` - -### GraphQLInterfaceType - -```js -class GraphQLInterfaceType { - constructor(config: GraphQLInterfaceTypeConfig) -} - -type GraphQLInterfaceTypeConfig = { - name: string, - fields: GraphQLFieldConfigMapThunk | GraphQLFieldConfigMap, - resolveType?: (value: any, info?: GraphQLResolveInfo) => ?GraphQLObjectType, - description?: ?string -}; -``` - -When a field can return one of a heterogeneous set of types, a Interface type -is used to describe what types are possible, what fields are in common across -all types, as well as a function to determine which type is actually used -when the field is resolved. - -#### Example - -```js -var EntityType = new GraphQLInterfaceType({ - name: 'Entity', - fields: { - name: { type: GraphQLString } - } -}); -``` - -### GraphQLUnionType - -```js -class GraphQLUnionType { - constructor(config: GraphQLUnionTypeConfig) -} - -type GraphQLUnionTypeConfig = { - name: string, - types: GraphQLObjectsThunk | Array, - resolveType?: (value: any, info?: GraphQLResolveInfo) => ?GraphQLObjectType; - description?: ?string; -}; - -type GraphQLObjectsThunk = () => Array; -``` - -When a field can return one of a heterogeneous set of types, a Union type -is used to describe what types are possible as well as providing a function -to determine which type is actually used when the field is resolved. - -### Example - -```js -var PetType = new GraphQLUnionType({ - name: 'Pet', - types: [ DogType, CatType ], - resolveType(value) { - if (value instanceof Dog) { - return DogType; - } - if (value instanceof Cat) { - return CatType; - } - } -}); -``` - -### GraphQLEnumType - -```js -class GraphQLEnumType { - constructor(config: GraphQLEnumTypeConfig) -} - -type GraphQLEnumTypeConfig = { - name: string; - values: GraphQLEnumValueConfigMap; - description?: ?string; -} - -type GraphQLEnumValueConfigMap = { - [valueName: string]: GraphQLEnumValueConfig; -}; - -type GraphQLEnumValueConfig = { - value?: any; - deprecationReason?: string; - description?: ?string; -} - -type GraphQLEnumValueDefinition = { - name: string; - value?: any; - deprecationReason?: string; - description?: ?string; -} -``` - -Some leaf values of requests and input values are Enums. GraphQL serializes -Enum values as strings, however internally Enums can be represented by any -kind of type, often integers. - -Note: If a value is not provided in a definition, the name of the enum value -will be used as it's internal value. - -#### Example - -```js -var RGBType = new GraphQLEnumType({ - name: 'RGB', - values: { - RED: { value: 0 }, - GREEN: { value: 1 }, - BLUE: { value: 2 } - } -}); -``` - -### GraphQLInputObjectType - -```js -class GraphQLInputObjectType { - constructor(config: GraphQLInputObjectTypeConfig) -} - -type InputObjectConfig = { - name: string; - fields: InputObjectConfigFieldMapThunk | InputObjectConfigFieldMap; - description?: ?string; -} - -type InputObjectConfigFieldMapThunk = () => InputObjectConfigFieldMap; - -type InputObjectFieldConfig = { - type: GraphQLInputType; - defaultValue?: any; - description?: ?string; -} - -type InputObjectConfigFieldMap = { - [fieldName: string]: InputObjectFieldConfig; -}; - -type InputObjectField = { - name: string; - type: GraphQLInputType; - defaultValue?: any; - description?: ?string; -} - -type InputObjectFieldMap = { - [fieldName: string]: InputObjectField; -}; -``` - -An input object defines a structured collection of fields which may be -supplied to a field argument. - -Using `NonNull` will ensure that a value must be provided by the query - -#### Example - -```js -var GeoPoint = new GraphQLInputObjectType({ - name: 'GeoPoint', - fields: { - lat: { type: new GraphQLNonNull(GraphQLFloat) }, - lon: { type: new GraphQLNonNull(GraphQLFloat) }, - alt: { type: GraphQLFloat, defaultValue: 0 }, - } -}); -``` - -### GraphQLList - -```js -class GraphQLList { - constructor(type: GraphQLType) -} -``` - -A list is a kind of type marker, a wrapping type which points to another -type. Lists are often created within the context of defining the fields of -an object type. - -#### Example - -```js -var PersonType = new GraphQLObjectType({ - name: 'Person', - fields: () => ({ - parents: { type: new GraphQLList(Person) }, - children: { type: new GraphQLList(Person) }, - }) -}); -``` - -### GraphQLNonNull - -```js -class GraphQLNonNull { - constructor(type: GraphQLType) -} -``` - -A non-null is a kind of type marker, a wrapping type which points to another -type. Non-null types enforce that their values are never null and can ensure -an error is raised if this ever occurs during a request. It is useful for -fields which you can make a strong guarantee on non-nullability, for example -usually the id field of a database row will never be null. - -#### Example - -```js -var RowType = new GraphQLObjectType({ - name: 'Row', - fields: () => ({ - id: { type: new GraphQLNonNull(String) }, - }) -}); -``` - -## Predicates - -### isInputType - -```js -function isInputType(type: ?GraphQLType): boolean -``` - -These types may be used as input types for arguments and directives. - -### isOutputType - -```js -function isOutputType(type: ?GraphQLType): boolean -``` - -These types may be used as output types as the result of fields - -### isLeafType - -```js -function isLeafType(type: ?GraphQLType): boolean -``` - -These types may describe types which may be leaf values - -### isCompositeType - -```js -function isCompositeType(type: ?GraphQLType): boolean -``` - -These types may describe the parent context of a selection set - -### isAbstractType - -```js -function isAbstractType(type: ?GraphQLType): boolean -``` - -These types may describe a combination of object types - -## Un-modifiers - -### getNullableType - -```js -function getNullableType(type: ?GraphQLType): ?GraphQLNullableType -``` - -If a given type is non-nullable, this strips the non-nullability and -returns the underlying type. - -### getNamedType - -```js -function getNamedType(type: ?GraphQLType): ?GraphQLNamedType -``` - -If a given type is non-nullable or a list, this repeated strips the -non-nullability and list wrappers and returns the underlying type. - -## Scalars - -### GraphQLInt - -```js -var GraphQLInt: GraphQLScalarType; -``` - -A `GraphQLScalarType` that represents an int. - -### GraphQLFloat - -```js -var GraphQLFloat: GraphQLScalarType; -``` - -A `GraphQLScalarType` that represents a float. - -### GraphQLString - -```js -var GraphQLString: GraphQLScalarType; -``` - -A `GraphQLScalarType` that represents a string. - -### GraphQLBoolean - -```js -var GraphQLBoolean: GraphQLScalarType; -``` - -A `GraphQLScalarType` that represents a boolean. - -### GraphQLID - -```js -var GraphQLID: GraphQLScalarType; -``` - -A `GraphQLScalarType` that represents an ID. diff --git a/site/graphql-js/APIReference-Utilities.md b/site/graphql-js/APIReference-Utilities.md deleted file mode 100644 index e31d927ad7..0000000000 --- a/site/graphql-js/APIReference-Utilities.md +++ /dev/null @@ -1,245 +0,0 @@ ---- -title: graphql/utilities -layout: ../_core/GraphQLJSLayout -category: API Reference -permalink: /graphql-js/utilities/ -sublinks: astFromValue,buildASTSchema,buildClientSchema,buildSchema,introspectionQuery,isValidJSValue,isValidLiteralValue,printIntrospectionSchema,printSchema,typeFromAST,TypeInfo -next: /graphql-js/validation/ ---- - -The `graphql/utilities` module contains common useful computations to use with -the GraphQL language and type objects. You can import either from the `graphql/utilities` module, or from the root `graphql` module. For example: - -```js -import { introspectionQuery } from 'graphql'; // ES6 -var { introspectionQuery } = require('graphql'); // CommonJS -``` - -## Overview - -*Introspection* - - - -*Schema Language* - - - -*Visitors* - - - -*Value Validation* - - - -## Introspection - -### introspectionQuery - -```js -var introspectionQuery: string -``` - -A GraphQL query that queries a server's introspection system for enough -information to reproduce that server's type system. - -### buildClientSchema - -```js -function buildClientSchema( - introspection: IntrospectionQuery -): GraphQLSchema -``` - -Build a GraphQLSchema for use by client tools. - -Given the result of a client running the introspection query, creates and -returns a GraphQLSchema instance which can be then used with all GraphQL.js -tools, but cannot be used to execute a query, as introspection does not -represent the "resolver", "parse" or "serialize" functions or any other -server-internal mechanisms. - -## Schema Representation - -### buildSchema - -```js -function buildSchema(source: string | Source): GraphQLSchema { -``` - -Creates a GraphQLSchema object from GraphQL schema language. The schema will use default resolvers. For more detail on the GraphQL schema language, see the [schema language docs](/learn/schema/) or this [schema language cheat sheet](https://wehavefaces.net/graphql-shorthand-notation-cheatsheet-17cd715861b6#.9oztv0a7n). - -### printSchema - -```js -function printSchema(schema: GraphQLSchema): string { -``` - -Prints the provided schema in the Schema Language format. - -### printIntrospectionSchema - -```js -function printIntrospectionSchema(schema: GraphQLSchema): string { -``` - -Prints the built-in introspection schema in the Schema Language format. - -### buildASTSchema - -```js -function buildASTSchema( - ast: SchemaDocument, - queryTypeName: string, - mutationTypeName: ?string -): GraphQLSchema -``` - -This takes the ast of a schema document produced by `parseSchemaIntoAST` in -`graphql/language/schema` and constructs a GraphQLSchema instance which can be -then used with all GraphQL.js tools, but cannot be used to execute a query, as -introspection does not represent the "resolver", "parse" or "serialize" -functions or any other server-internal mechanisms. - -### typeFromAST - -```js -function typeFromAST( - schema: GraphQLSchema, - inputTypeAST: Type -): ?GraphQLType -``` - -Given the name of a Type as it appears in a GraphQL AST and a Schema, return the -corresponding GraphQLType from that schema. - -### astFromValue - -```js -function astFromValue( - value: any, - type?: ?GraphQLType -): ?Value -``` -Produces a GraphQL Input Value AST given a JavaScript value. - -Optionally, a GraphQL type may be provided, which will be used to -disambiguate between value primitives. - -## Visitors - -### TypeInfo - -```js -class TypeInfo { - constructor(schema: GraphQLSchema) - getType(): ?GraphQLOutputType { - getParentType(): ?GraphQLCompositeType { - getInputType(): ?GraphQLInputType { - getFieldDef(): ?GraphQLFieldDefinition { - getDirective(): ?GraphQLDirective { - getArgument(): ?GraphQLArgument { -} -``` - -TypeInfo is a utility class which, given a GraphQL schema, can keep track -of the current field and type definitions at any point in a GraphQL document -AST during a recursive descent by calling `enter(node)` and `leave(node)`. - -## Value Validation - -### isValidJSValue - -```js -function isValidJSValue(value: any, type: GraphQLInputType): string[] -``` - -Given a JavaScript value and a GraphQL type, determine if the value will be -accepted for that type. This is primarily useful for validating the -runtime values of query variables. - -### isValidLiteralValue - -```js -function isValidLiteralValue( - type: GraphQLInputType, - valueAST: Value -): string[] -``` - -Utility for validators which determines if a value literal AST is valid given -an input type. - -Note that this only validates literal values, variables are assumed to -provide values of the correct type. diff --git a/site/graphql-js/APIReference-Validation.md b/site/graphql-js/APIReference-Validation.md deleted file mode 100644 index e9c28ebbe0..0000000000 --- a/site/graphql-js/APIReference-Validation.md +++ /dev/null @@ -1,68 +0,0 @@ ---- -title: graphql/validation -layout: ../_core/GraphQLJSLayout -category: API Reference -permalink: /graphql-js/validation/ -sublinks: specifiedRules,validate ---- - -The `graphql/validation` module fulfills the Validation phase of fulfilling a -GraphQL result. You can import either from the `graphql/validation` module, or from the root `graphql` module. For example: - -```js -import { validate } from 'graphql/validation'; // ES6 -var { validate } = require('graphql/validation'); // CommonJS -``` - -## Overview - - - -## Validation - -### validate - -```js -function validate( - schema: GraphQLSchema, - ast: Document, - rules?: Array -): Array -``` - -Implements the "Validation" section of the spec. - -Validation runs synchronously, returning an array of encountered errors, or -an empty array if no errors were encountered and the document is valid. - -A list of specific validation rules may be provided. If not provided, the -default list of rules defined by the GraphQL specification will be used. - -Each validation rules is a function which returns a visitor -(see the language/visitor API). Visitor methods are expected to return -GraphQLErrors, or Arrays of GraphQLErrors when invalid. - -Visitors can also supply `visitSpreadFragments: true` which will alter the -behavior of the visitor to skip over top level defined fragments, and instead -visit those fragments at every point a spread is encountered. - -### specifiedRules - -```js -var specifiedRules: Array<(context: ValidationContext): any> -``` - -This set includes all validation rules defined by the GraphQL spec diff --git a/site/graphql-js/Guides-ConstructingTypes.md b/site/graphql-js/Guides-ConstructingTypes.md deleted file mode 100644 index 45a5e3dc47..0000000000 --- a/site/graphql-js/Guides-ConstructingTypes.md +++ /dev/null @@ -1,117 +0,0 @@ ---- -title: Constructing Types -layout: ../_core/GraphQLJSLayout -category: Advanced Guides -permalink: /graphql-js/constructing-types/ -next: /graphql-js/express-graphql/ ---- - -For many apps, you can define a fixed schema when the application starts, and define it using GraphQL schema language. In some cases, it's useful to construct a schema programmatically. You can do this using the `GraphQLSchema` constructor. - -When you are using the `GraphQLSchema` constructor to create a schema, instead of defining `Query` and `Mutation` types solely using schema language, you create them as separate object types using the `GraphQLObjectType` constructor. - -For example, let's say we are building a simple API that lets you fetch user data for a few hardcoded users based on an id. Using `buildSchema` we could write a server with: - -```javascript -var express = require('express'); -var graphqlHTTP = require('express-graphql'); -var { buildSchema } = require('graphql'); - -var schema = buildSchema(` - type User { - id: String - name: String - } - - type Query { - user(id: String): User - } -`); - -// Maps id to User object -var fakeDatabase = { - 'a': { - id: 'a', - name: 'alice', - }, - 'b': { - id: 'b', - name: 'bob', - }, -}; - -var root = { - user: function ({id}) { - return fakeDatabase[id]; - } -}; - -var app = express(); -app.use('/graphql', graphqlHTTP({ - schema: schema, - rootValue: root, - graphiql: true, -})); -app.listen(4000); -console.log('Running a GraphQL API server at localhost:4000/graphql'); -``` - -We can implement this same API without using GraphQL schema language: - -```javascript -var express = require('express'); -var graphqlHTTP = require('express-graphql'); -var graphql = require('graphql'); - -// Maps id to User object -var fakeDatabase = { - 'a': { - id: 'a', - name: 'alice', - }, - 'b': { - id: 'b', - name: 'bob', - }, -}; - -// Define the User type -var userType = new graphql.GraphQLObjectType({ - name: 'User', - fields: { - id: { type: graphql.GraphQLString }, - name: { type: graphql.GraphQLString }, - } -}); - -// Define the Query type -var queryType = new graphql.GraphQLObjectType({ - name: 'Query', - fields: { - user: { - type: userType, - // `args` describes the arguments that the `user` query accepts - args: { - id: { type: graphql.GraphQLString } - }, - resolve: function (_, {id}) { - return fakeDatabase[id]; - } - } - } -}); - -var schema = new graphql.GraphQLSchema({query: queryType}); - -var app = express(); -app.use('/graphql', graphqlHTTP({ - schema: schema, - graphiql: true, -})); -app.listen(4000); -console.log('Running a GraphQL API server at localhost:4000/graphql'); -``` - -When we use this method of creating the API, the root level resolvers are implemented on the `Query` and `Mutation` types rather than on a `root` object. - -This is particularly useful if you want to create a GraphQL schema automatically from something else, like a database schema. You might have a common format for something like creating and updating database records. This is also useful for implementing features like union types which don't map cleanly to ES6 classes and schema language. diff --git a/site/graphql-js/Tutorial-Authentication.md b/site/graphql-js/Tutorial-Authentication.md deleted file mode 100644 index 2ad93de475..0000000000 --- a/site/graphql-js/Tutorial-Authentication.md +++ /dev/null @@ -1,53 +0,0 @@ ---- -title: Authentication and Express Middleware -sidebarTitle: Authentication & Middleware -layout: ../_core/GraphQLJSLayout -category: GraphQL.js Tutorial -permalink: /graphql-js/authentication-and-express-middleware/ -next: /graphql-js/constructing-types/ ---- - -It's simple to use any Express middleware in conjunction with `express-graphql`. In particular, this is a great pattern for handling authentication. - -To use middleware with a GraphQL resolver, just use the middleware like you would with a normal Express app. The `request` object is then available as the second argument in any resolver. - -For example, let's say we wanted our server to log the IP address of every request, and we also want to write an API that returns the IP address of the caller. We can do the former with middleware, and the latter by accessing the `request` object in a resolver. Here's server code that implements this: - -```javascript -var express = require('express'); -var graphqlHTTP = require('express-graphql'); -var { buildSchema } = require('graphql'); - -var schema = buildSchema(` - type Query { - ip: String - } -`); - -function loggingMiddleware(req, res, next) { - console.log('ip:', req.ip); - next(); -} - -var root = { - ip: function (args, request) { - return request.ip; - } -}; - -var app = express(); -app.use(loggingMiddleware); -app.use('/graphql', graphqlHTTP({ - schema: schema, - rootValue: root, - graphiql: true, -})); -app.listen(4000); -console.log('Running a GraphQL API server at localhost:4000/graphql'); -``` - -In a REST API, authentication is often handled with a header, that contains an auth token which proves what user is making this request. Express middleware processes these headers and puts authentication data on the Express `request` object. Some middleware modules that handle authentication like this are [Passport](http://passportjs.org/), [express-jwt](https://github.com/auth0/express-jwt), and [express-session](https://github.com/expressjs/session). Each of these modules works with `express-graphql`. - -If you aren't familiar with any of these authentication mechanisms, we recommend using `express-jwt` because it's simple without sacrificing any future flexibility. - -If you've read through the docs linearly to get to this point, congratulations! You now know everything you need to build a practical GraphQL API server. diff --git a/site/graphql-js/Tutorial-BasicTypes.md b/site/graphql-js/Tutorial-BasicTypes.md deleted file mode 100644 index a5ff175bc2..0000000000 --- a/site/graphql-js/Tutorial-BasicTypes.md +++ /dev/null @@ -1,58 +0,0 @@ ---- -title: Basic Types -layout: ../_core/GraphQLJSLayout -category: GraphQL.js Tutorial -permalink: /graphql-js/basic-types/ -next: /graphql-js/passing-arguments/ ---- - -In most situations, all you need to specify the types for your API is the GraphQL schema language, taken as an argument to the `buildSchema` function. - -The GraphQL schema language supports the scalar types of `String`, `Int`, `Float`, `Boolean`, and `ID`, so you can use these directly in the schema you pass to `buildSchema`. - -By default, every type is nullable - it's legitimate to return `null` as any of the scalar types. Use an exclamation point to indicate a type cannot be nullable, so `String!` is a non-nullable string. - -To use a list type, surround the type in square brackets, so `[Int]` is a list of integers. - -Each of these types maps straightforwardly to JavaScript, so you can just return plain old JavaScript objects in APIs that return these types. Here's an example that shows how to use some of these basic types: - -```javascript -var express = require('express'); -var graphqlHTTP = require('express-graphql'); -var { buildSchema } = require('graphql'); - -// Construct a schema, using GraphQL schema language -var schema = buildSchema(` - type Query { - quoteOfTheDay: String - random: Float! - rollThreeDice: [Int] - } -`); - -// The root provides a resolver function for each API endpoint -var root = { - quoteOfTheDay: () => { - return Math.random() < 0.5 ? 'Take it easy' : 'Salvation lies within'; - }, - random: () => { - return Math.random(); - }, - rollThreeDice: () => { - return [1, 2, 3].map(_ => 1 + Math.floor(Math.random() * 6)); - }, -}; - -var app = express(); -app.use('/graphql', graphqlHTTP({ - schema: schema, - rootValue: root, - graphiql: true, -})); -app.listen(4000); -console.log('Running a GraphQL API server at localhost:4000/graphql'); -``` - -If you run this code with `node server.js` and browse to [http://localhost:4000/graphql](http://localhost:4000/graphql) you can try out these APIs. - -These examples show you how to call APIs that return different types. To send different types of data into an API, you will also need to learn about [passing arguments to a GraphQL API](/graphql-js/passing-arguments/). diff --git a/site/graphql-js/Tutorial-ExpressGraphQL.md b/site/graphql-js/Tutorial-ExpressGraphQL.md deleted file mode 100644 index d8c8175b9c..0000000000 --- a/site/graphql-js/Tutorial-ExpressGraphQL.md +++ /dev/null @@ -1,59 +0,0 @@ ---- -title: Running an Express GraphQL Server -sidebarTitle: Running Express + GraphQL -layout: ../_core/GraphQLJSLayout -category: GraphQL.js Tutorial -permalink: /graphql-js/running-an-express-graphql-server/ -next: /graphql-js/graphql-clients/ ---- - -The simplest way to run an GraphQL API server is to use [Express](https://expressjs.com), a popular web application framework for Node.js. You will need to install two additional dependencies: - -```bash -npm install express express-graphql --save -``` - -Let's modify our “hello world” example so that it's an API server rather than a script that runs a single query. We can use the 'express' module to run a webserver, and instead of executing a query directly with the `graphql` function, we can use the `express-graphql` library to mount a GraphQL API server on the “/graphql” HTTP endpoint: - -```javascript -var express = require('express'); -var graphqlHTTP = require('express-graphql'); -var { buildSchema } = require('graphql'); - -// Construct a schema, using GraphQL schema language -var schema = buildSchema(` - type Query { - hello: String - } -`); - -// The root provides a resolver function for each API endpoint -var root = { - hello: () => { - return 'Hello world!'; - }, -}; - -var app = express(); -app.use('/graphql', graphqlHTTP({ - schema: schema, - rootValue: root, - graphiql: true, -})); -app.listen(4000); -console.log('Running a GraphQL API server at localhost:4000/graphql'); -``` - -You can run this GraphQL server with: - -```bash -node server.js -``` - -Since we configured `graphqlHTTP` with `graphiql: true`, you can use the GraphiQL tool to manually issue GraphQL queries. If you navigate in a web browser to `http://localhost:4000/graphql`, you should see an interface that lets you enter queries. It should look like: - -![hello world graphql example](/img/hello.png) - -This screen shot shows the GraphQL query `{ hello }` being issued and giving a result of `{ data: { hello: 'Hello world!' } }`. GraphiQL is a great tool for debugging and inspecting a server, so we recommend running it whenever your application is in development mode. - -At this point you have learned how to run a GraphQL server and how to use GraphiQL interface to issue queries. The next step is to learn how to [issue GraphQL queries from client code](/graphql-js/graphql-clients/). diff --git a/site/graphql-js/Tutorial-GettingStarted.md b/site/graphql-js/Tutorial-GettingStarted.md deleted file mode 100644 index 0e492ae00d..0000000000 --- a/site/graphql-js/Tutorial-GettingStarted.md +++ /dev/null @@ -1,62 +0,0 @@ ---- -title: Getting Started With GraphQL.js -sidebarTitle: Getting Started -layout: ../_core/GraphQLJSLayout -category: GraphQL.js Tutorial -permalink: /graphql-js/ -next: /graphql-js/running-an-express-graphql-server/ ---- - -## Prerequisites - -Before getting started, you should have Node v6 installed, although the examples should mostly work in previous versions of Node as well. For this guide, we won't use any language features that require transpilation, but we will use some ES6 features like [Promises](http://www.html5rocks.com/en/tutorials/es6/promises/), [classes](http://javascriptplayground.com/blog/2014/07/introduction-to-es6-classes-tutorial/), and [fat arrow functions](https://strongloop.com/strongblog/an-introduction-to-javascript-es6-arrow-functions/), so if you aren't familiar with them you might want to read up on them first. - -To create a new project and install GraphQL.js in your current directory: - -```bash -npm init -npm install graphql --save -``` - -## Writing Code - -To handle GraphQL queries, we need a schema that defines the `Query` type, and we need an API root with a function called a “resolver” for each API endpoint. For an API that just returns “Hello world!”, we can put this code in a file named `server.js`: - -```javascript -var { graphql, buildSchema } = require('graphql'); - -// Construct a schema, using GraphQL schema language -var schema = buildSchema(` - type Query { - hello: String - } -`); - -// The root provides a resolver function for each API endpoint -var root = { - hello: () => { - return 'Hello world!'; - }, -}; - -// Run the GraphQL query '{ hello }' and print out the response -graphql(schema, '{ hello }', root).then((response) => { - console.log(response); -}); -``` - -If you run this with: - -```bash -node server.js -``` - -You should see the GraphQL response printed out: - -```javascript -{ data: { hello: 'Hello world!' } } -``` - -Congratulations - you just executed a GraphQL query! - -For practical applications, you'll probably want to run GraphQL queries from an API server, rather than executing GraphQL with a command line tool. To use GraphQL for an API server over HTTP, check out [Running an Express GraphQL Server](/graphql-js/running-an-express-graphql-server/). diff --git a/site/graphql-js/Tutorial-GraphQLClients.md b/site/graphql-js/Tutorial-GraphQLClients.md deleted file mode 100644 index 5aa50e2947..0000000000 --- a/site/graphql-js/Tutorial-GraphQLClients.md +++ /dev/null @@ -1,82 +0,0 @@ ---- -title: GraphQL Clients -layout: ../_core/GraphQLJSLayout -category: GraphQL.js Tutorial -permalink: /graphql-js/graphql-clients/ -next: /graphql-js/basic-types/ ---- - -Since a GraphQL API has more underlying structure than a REST API, there are more powerful clients like [Relay](https://facebook.github.io/relay/) which can automatically handling batching, caching, and other features. But you don't need a complex client to call a GraphQL server. With `express-graphql`, you can just send an HTTP POST request to the endpoint you mounted your GraphQL server on, passing the GraphQL query as the `query` field in a JSON payload. - -For example, let's say we mounted a GraphQL server on [http://localhost:4000/graphql](http://localhost:4000/graphql) as in the example code for [running an Express GraphQL server](/graphql-js/running-an-express-graphql-server/), and we want to send the GraphQL query `{ hello }`. We can do this from the command line with `curl`. If you paste this into a terminal: - -```bash -curl -X POST \ --H "Content-Type: application/json" \ --d '{"query": "{ hello }"}' \ -http://localhost:4000/graphql -``` - -You should see the output returned as JSON: - -```bash -{"data":{"hello":"Hello world!"}} -``` - -It's also simple to send GraphQL from the browser. Open up [http://localhost:4000](http://localhost:4000/), open a developer console, and paste in: - -```javascript -var xhr = new XMLHttpRequest(); -xhr.responseType = 'json'; -xhr.open("POST", "/graphql"); -xhr.setRequestHeader("Content-Type", "application/json"); -xhr.setRequestHeader("Accept", "application/json"); -xhr.onload = function () { - console.log('data returned:', xhr.response); -} -xhr.send(JSON.stringify({query: "{ hello }"})); -``` - -You should see the data returned, logged in the console: - -``` -data returned: Object { hello: "Hello world!" } -``` - -In this example, the query was just a hardcoded string. As your application becomes more complex, and you add GraphQL endpoints that take arguments as described in [Passing Arguments](/graphql-js/passing-arguments/), you will want to construct GraphQL queries using variables in client code. You can do this by including a keyword prefixed with a dollar sign in the query, and passing an extra `variables` field on the payload. - -For example, let's say you're running the example server from [Passing Arguments](/graphql-js/passing-arguments/) that has a schema of - -```javascript -type Query { - rollDice(numDice: Int!, numSides: Int): [Int] -} -``` - -You could access this from JavaScript with the code: - -```javascript -var dice = 3; -var sides = 6; -var xhr = new XMLHttpRequest(); -xhr.responseType = 'json'; -xhr.open("POST", "/graphql"); -xhr.setRequestHeader("Content-Type", "application/json"); -xhr.setRequestHeader("Accept", "application/json"); -xhr.onload = function () { - console.log('data returned:', xhr.response); -} -var query = `query RollDice($dice: Int!, $sides: Int) { - rollDice(numDice: $dice, numSides: $sides) -}`; -xhr.send(JSON.stringify({ - query: query, - variables: { dice: dice, sides: sides }, -})); -``` - -Using this syntax for variables is a good idea because it automatically prevents bugs due to escaping, and it makes it easier to monitor your server. - -In general, it will take a bit more time to set up a GraphQL client like Relay, but it's worth it to get more features as your application grows. You might want to start out just using HTTP requests as the underlying transport layer, and switching to a more complex client as your application gets more complex. - -At this point you can write a client and server in GraphQL for an API that receives a single string. To do more, you will want to [learn how to use the other basic data types](/graphql-js/basic-types/). diff --git a/site/graphql-js/Tutorial-Mutations.md b/site/graphql-js/Tutorial-Mutations.md deleted file mode 100644 index 7f84a3b4a5..0000000000 --- a/site/graphql-js/Tutorial-Mutations.md +++ /dev/null @@ -1,192 +0,0 @@ ---- -title: Mutations and Input Types -layout: ../_core/GraphQLJSLayout -category: GraphQL.js Tutorial -permalink: /graphql-js/mutations-and-input-types/ -next: /graphql-js/authentication-and-express-middleware/ ---- - -If you have an API endpoint that alters data, like inserting data into a database or altering data already in a database, you should make this endpoint a `Mutation` rather than a `Query`. This is a simple as making the API endpoint part of the top-level `Mutation` type instead of the top-level `Query` type. - -Let's say we have a “message of the day” server, where anyone can update the message of the day, and anyone can read the current one. The GraphQL schema for this is simply: - -```javascript -type Mutation { - setMessage(message: String): String -} - -type Query { - getMessage: String -} -``` - -It's often convenient to have a mutation that maps to a database create or update operation, like `setMessage`, return the same thing that the server stored. That way, if you modify the data on the server, the client can learn about those modifications. - -Both mutations and queries can be handled by root resolvers, so the root that implements this schema can simply be: - -```javascript -var fakeDatabase = {}; -var root = { - setMessage: function ({message}) { - fakeDatabase.message = message; - return message; - } - getMessage: function () { - return fakeDatabase.message; - } -}; -``` - -You don't need anything more than this to implement mutations. But in many cases, you will find a number of different mutations that all accept the same input parameters. A common example is that creating an object in a database and updating an object in a database often take the same parameters. To make your schema simpler, you can use “input types” for this, by using the `input` keyword instead of the `type` keyword. - -For example, instead of a single message of the day, let's say we have many messages, indexed in a database by the `id` field, and each message has both a `content` string and an `author` string. We want a mutation API both for creating a new message and for updating an old message. We could use the schema: - -```javascript -input MessageInput { - content: String - author: String -} - -type Message { - id: ID! - content: String - author: String -} - -type Query { - getMessage(id: ID!): Message -} - -type Mutation { - createMessage(input: MessageInput): Message - updateMessage(id: ID!, input: MessageInput): Message -} -``` - -Here, the mutations return a `Message` type, so that the client can get more information about the newly-modified `Message` in the same request as the request that mutates it. - -Input types can't have fields that are other objects, only basic scalar types, list types, and other input types. - -Naming input types with `Input` on the end is a useful convention, because you will often want both an input type and an output type that are slightly different for a single conceptual object. - -Here's some runnable code that implements this schema, keeping the data in memory: - -```javascript -var express = require('express'); -var graphqlHTTP = require('express-graphql'); -var { buildSchema } = require('graphql'); - -// Construct a schema, using GraphQL schema language -var schema = buildSchema(` - input MessageInput { - content: String - author: String - } - - type Message { - id: ID! - content: String - author: String - } - - type Query { - getMessage(id: ID!): Message - } - - type Mutation { - createMessage(input: MessageInput): Message - updateMessage(id: ID!, input: MessageInput): Message - } -`); - -// If Message had any complex fields, we'd put them on this object. -class Message { - constructor(id, {content, author}) { - this.id = id; - this.content = content; - this.author = author; - } -} - -// Maps username to content -var fakeDatabase = {}; - -var root = { - getMessage: function ({id}) { - if (!fakeDatabase[id]) { - throw new Error('no message exists with id ' + id); - } - return new Message(id, fakeDatabase[id]); - }, - createMessage: function ({input}) { - // Create a random id for our "database". - var id = require('crypto').randomBytes(10).toString('hex'); - - fakeDatabase[id] = input; - return new Message(id, input); - }, - updateMessage: function ({id, input}) { - if (!fakeDatabase[id]) { - throw new Error('no message exists with id ' + id); - } - // This replaces all old data, but some apps might want partial update. - fakeDatabase[id] = input; - return new Message(id, input); - }, -} - -var app = express(); -app.use('/graphql', graphqlHTTP({ - schema: schema, - rootValue: root, - graphiql: true, -})); -app.listen(4000, () => { - console.log('Running a GraphQL API server at localhost:4000/graphql'); -}); - -``` - -To call a mutation, you must use the keyword `mutation` before your GraphQL query. To pass an input type, provide the data written as if it's a JSON object. For example, with the server defined above, you can create a new message and return the `id` of the new message with this operation: - -```javascript -mutation { - createMessage(input: { - author: "andy", - content: "hope is a good thing", - }) { - id - } -} -``` - -You can use variables to simplify mutation client logic just like you can with queries. For example, some JavaScript code that calls the server to execute this mutation is: - -```javascript -var author = 'andy'; -var content = 'hope is a good thing'; -var xhr = new XMLHttpRequest(); -xhr.responseType = 'json'; -xhr.open("POST", "/graphql"); -xhr.setRequestHeader("Content-Type", "application/json"); -xhr.setRequestHeader("Accept", "application/json"); -xhr.onload = function () { - console.log('data returned:', xhr.response); -} -var query = `mutation CreateMessage($input: MessageInput) { - createMessage(input: $input) { - id - } -}`; -xhr.send(JSON.stringify({ - query: query, - variables: { - input: { - author: author, - content: content, - } - } -})); -``` - -One particular type of mutation is operations that change users, like signing up a new user. While you can implement this using GraphQL mutations, you can reuse many existing libraries if you learn about [GraphQL with authentication and Express middleware](/graphql-js/authentication-and-express-middleware/). diff --git a/site/graphql-js/Tutorial-ObjectTypes.md b/site/graphql-js/Tutorial-ObjectTypes.md deleted file mode 100644 index e380a94b25..0000000000 --- a/site/graphql-js/Tutorial-ObjectTypes.md +++ /dev/null @@ -1,144 +0,0 @@ ---- -title: Object Types -layout: ../_core/GraphQLJSLayout -category: GraphQL.js Tutorial -permalink: /graphql-js/object-types/ -next: /graphql-js/mutations-and-input-types/ ---- - -In many cases, you don't want to return a number or a string from an API. You want to return an object that has its own complex behavior. GraphQL is a perfect fit for this. - -In GraphQL schema language, the way you define a new object type is the same way we have been defining the `Query` type in our examples. Each object can have fields that return a particular type, and methods that take arguments. For example, in the [Passing Arguments](/graphql-js/passing-arguments/) documentation, we had a method to roll some random dice: - -```javascript -type Query { - rollDice(numDice: Int!, numSides: Int): [Int] -} -``` - -If we wanted to have more and more methods based on a random die over time, we could implement this with a `RandomDie` object type instead. - -```javascript -type RandomDie { - roll(numRolls: Int!): [Int] -} - -type Query { - getDie(numSides: Int): RandomDie -} -``` - -Instead of a root-level resolver for the `RandomDie` type, we can instead use an ES6 class, where the resolvers are instance methods. This code shows how the `RandomDie` schema above can be implemented: - -```javascript -class RandomDie { - constructor(numSides) { - this.numSides = numSides; - } - - rollOnce() { - return 1 + Math.floor(Math.random() * this.numSides); - } - - roll({numRolls}) { - var output = []; - for (var i = 0; i < numRolls; i++) { - output.push(this.rollOnce()); - } - return output; - } -} - -var root = { - getDie: function ({numSides}) { - return new RandomDie(numSides || 6); - } -} -``` - -For fields that don't use any arguments, you can use either properties on the object or instance methods. So for the example code above, both `numSides` and `rollOnce` can actually be used to implement GraphQL fields, so that code also implements the schema of: - -```javascript -type RandomDie { - numSides: Int! - rollOnce: Int! - roll(numRolls: Int!): [Int] -} - -type Query { - getDie(numSides: Int): RandomDie -} -``` - -Putting this all together, here is some sample code that runs a server with this GraphQL API: - -```javascript -var express = require('express'); -var graphqlHTTP = require('express-graphql'); -var { buildSchema } = require('graphql'); - -// Construct a schema, using GraphQL schema language -var schema = buildSchema(` - type RandomDie { - numSides: Int! - rollOnce: Int! - roll(numRolls: Int!): [Int] - } - - type Query { - getDie(numSides: Int): RandomDie - } -`); - -// This class implements the RandomDie GraphQL type -class RandomDie { - constructor(numSides) { - this.numSides = numSides; - } - - rollOnce() { - return 1 + Math.floor(Math.random() * this.numSides); - } - - roll({numRolls}) { - var output = []; - for (var i = 0; i < numRolls; i++) { - output.push(this.rollOnce()); - } - return output; - } -} - -// The root provides the top-level API endpoints -var root = { - getDie: function ({numSides}) { - return new RandomDie(numSides || 6); - } -} - -var app = express(); -app.use('/graphql', graphqlHTTP({ - schema: schema, - rootValue: root, - graphiql: true, -})); -app.listen(4000); -console.log('Running a GraphQL API server at localhost:4000/graphql'); -``` - -When you issue a GraphQL query against an API that returns object types, you can call multiple methods on the object at once by nesting the GraphQL field names. For example, if you wanted to call both `rollOnce` to roll a die once, and `roll` to roll a die three times, you could do it with this query: - -```javascript -{ - getDie(numSides: 6) { - rollOnce - roll(numRolls: 3) - } -} -``` - -If you run this code with `node server.js` and browse to [http://localhost:4000/graphql](http://localhost:4000/graphql) you can try out these APIs with GraphiQL. - -This way of defining object types often provides advantages over a traditional REST API. Instead of doing one API request to get basic information about an object, and then multiple subsequent API requests to find out more information about that object, you can get all of that information in one API request. That saves bandwidth, makes your app run faster, and simplifies your client-side logic. - -So far, every API we've looked at is designed for returning data. In order to modify stored data or handle complex input, it helps to [learn about mutations and input types](/graphql-js/mutations-and-input-types/). diff --git a/site/graphql-js/Tutorial-PassingArguments.md b/site/graphql-js/Tutorial-PassingArguments.md deleted file mode 100644 index 71a081c953..0000000000 --- a/site/graphql-js/Tutorial-PassingArguments.md +++ /dev/null @@ -1,128 +0,0 @@ ---- -title: Passing Arguments -layout: ../_core/GraphQLJSLayout -category: GraphQL.js Tutorial -permalink: /graphql-js/passing-arguments/ -next: /graphql-js/object-types/ ---- - -Just like a REST API, it's common to pass arguments to an endpoint in a GraphQL API. By defining the arguments in the schema language, typechecking happens automatically. Each argument must be named and have a type. For example, in the [Basic Types documentation](/graphql-js/basic-types/) we had an endpoint called `rollThreeDice`: - -```javascript -type Query { - rollThreeDice: [Int] -} -``` - -Instead of hardcoding “three”, we might want a more general function that rolls `numDice` dice, each of which have `numSides` sides. We can add arguments to the GraphQL schema language like this: - -```javascript -type Query { - rollDice(numDice: Int!, numSides: Int): [Int] -} -``` - -The exclamation point in `Int!` indicates that `numDice` can't be null, which means we can skip a bit of validation logic to make our server code simpler. We can let `numSides` be null and assume that by default a die has 6 sides. - -So far, our resolver functions took no arguments. When a resolver takes arguments, they are passed as one “args” object, as the first argument to the function. So rollDice could be implemented as: - -```javascript -var root = { - rollDice: function (args) { - var output = []; - for (var i = 0; i < args.numDice; i++) { - output.push(1 + Math.floor(Math.random() * (args.numSides || 6))); - } - return output; - } -}; -``` - -It's convenient to use [ES6 destructuring assignment](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment) for these parameters, since you know what format they will be. So we can also write `rollDice` as - -```javascript -var root = { - rollDice: function ({numDice, numSides}) { - var output = []; - for (var i = 0; i < numDice; i++) { - output.push(1 + Math.floor(Math.random() * (numSides || 6))); - } - return output; - } -}; -``` - -If you're familiar with destructuring, this is a bit nicer because the line of code where `rollDice` is defined tells you about what the arguments are. - -The entire code for a server that hosts this `rollDice` API is: - -```javascript -var express = require('express'); -var graphqlHTTP = require('express-graphql'); -var { buildSchema } = require('graphql'); - -// Construct a schema, using GraphQL schema language -var schema = buildSchema(` - type Query { - rollDice(numDice: Int!, numSides: Int): [Int] - } -`); - -// The root provides a resolver function for each API endpoint -var root = { - rollDice: function ({numDice, numSides}) { - var output = []; - for (var i = 0; i < numDice; i++) { - output.push(1 + Math.floor(Math.random() * (numSides || 6))); - } - return output; - } -}; - -var app = express(); -app.use('/graphql', graphqlHTTP({ - schema: schema, - rootValue: root, - graphiql: true, -})); -app.listen(4000); -console.log('Running a GraphQL API server at localhost:4000/graphql'); -``` - -When you call this API, you have to pass each argument by name. So for the server above, you could issue this GraphQL query to roll three six-sided dice: - -```javascript -{ - rollDice(numDice: 3, numSides: 6) -} -``` - -If you run this code with `node server.js` and browse to [http://localhost:4000/graphql](http://localhost:4000/graphql) you can try out this API. - -When you're passing arguments in code, it's generally better to avoid constructing the whole query string yourself. Instead, you can use `$` syntax to define variables in your query, and pass the variables as a separate map. - -For example, some JavaScript code that calls our server above is: - -```javascript -var dice = 3; -var sides = 6; -var xhr = new XMLHttpRequest(); -xhr.responseType = 'json'; -xhr.open("POST", "/graphql"); -xhr.setRequestHeader("Content-Type", "application/json"); -xhr.setRequestHeader("Accept", "application/json"); -xhr.onload = function () { - console.log('data returned:', xhr.response); -} -var query = `query RollDice($dice: Int!, $sides: Int) { - rollDice(numDice: $dice, numSides: $sides) -}`; -xhr.send(JSON.stringify({ - query: query, - variables: { dice: dice, sides: sides }, -})); -``` - -Using `$dice` and `$sides` as variables in GraphQL means we don't have to worry about escaping on the client side. - -With basic types and argument passing, you can implement anything you can implement in a REST API. But GraphQL supports even more powerful queries. You can replace multiple API calls with a single API call if you learn how to [define your own object types](/graphql-js/object-types/). diff --git a/site/help/index.html.js b/site/help/index.html.js deleted file mode 100644 index b6d4f02771..0000000000 --- a/site/help/index.html.js +++ /dev/null @@ -1,3 +0,0 @@ -var React = require('react') -var Redirect = require('../_core/Redirect') -export default () => diff --git a/site/img/blog/20160502-rest-api-graphql-wrapper/dataloader-query.png b/site/img/blog/20160502-rest-api-graphql-wrapper/dataloader-query.png deleted file mode 100644 index a061a48469..0000000000 Binary files a/site/img/blog/20160502-rest-api-graphql-wrapper/dataloader-query.png and /dev/null differ diff --git a/site/img/blog/20160502-rest-api-graphql-wrapper/pathological-query.png b/site/img/blog/20160502-rest-api-graphql-wrapper/pathological-query.png deleted file mode 100644 index c8c11358a3..0000000000 Binary files a/site/img/blog/20160502-rest-api-graphql-wrapper/pathological-query.png and /dev/null differ diff --git a/site/img/blog/20160502-rest-api-graphql-wrapper/rest-api-people.png b/site/img/blog/20160502-rest-api-graphql-wrapper/rest-api-people.png deleted file mode 100644 index 1b2ada93eb..0000000000 Binary files a/site/img/blog/20160502-rest-api-graphql-wrapper/rest-api-people.png and /dev/null differ diff --git a/site/img/diagrams/business_layer.png b/site/img/diagrams/business_layer.png deleted file mode 100644 index b85d358e02..0000000000 Binary files a/site/img/diagrams/business_layer.png and /dev/null differ diff --git a/site/img/favicon.png b/site/img/favicon.png deleted file mode 100644 index 89bd152f32..0000000000 Binary files a/site/img/favicon.png and /dev/null differ diff --git a/site/img/graph-wash.png b/site/img/graph-wash.png deleted file mode 100644 index b4a190fe34..0000000000 Binary files a/site/img/graph-wash.png and /dev/null differ diff --git a/site/img/hello.png b/site/img/hello.png deleted file mode 100644 index 92ab663d6a..0000000000 Binary files a/site/img/hello.png and /dev/null differ diff --git a/site/img/logo-gray.svg b/site/img/logo-gray.svg deleted file mode 100644 index 959d2065f3..0000000000 --- a/site/img/logo-gray.svg +++ /dev/null @@ -1,71 +0,0 @@ - - - - diff --git a/site/img/logo.svg b/site/img/logo.svg deleted file mode 100644 index 87103164f3..0000000000 --- a/site/img/logo.svg +++ /dev/null @@ -1,71 +0,0 @@ - - - - diff --git a/site/img/og_image.png b/site/img/og_image.png deleted file mode 100644 index ca058a18c5..0000000000 Binary files a/site/img/og_image.png and /dev/null differ diff --git a/site/img/oss_logo.png b/site/img/oss_logo.png deleted file mode 100644 index 8183e289b1..0000000000 Binary files a/site/img/oss_logo.png and /dev/null differ diff --git a/site/img/phone.svg b/site/img/phone.svg deleted file mode 100644 index 22ebd29b67..0000000000 --- a/site/img/phone.svg +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/site/img/search.png b/site/img/search.png deleted file mode 100644 index 222fb660da..0000000000 Binary files a/site/img/search.png and /dev/null differ diff --git a/site/img/search.svg b/site/img/search.svg deleted file mode 100644 index fb640e6dbd..0000000000 --- a/site/img/search.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - diff --git a/site/img/server.svg b/site/img/server.svg deleted file mode 100644 index 6092ff12c7..0000000000 --- a/site/img/server.svg +++ /dev/null @@ -1,266 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/site/img/twitter_image.png b/site/img/twitter_image.png deleted file mode 100644 index 5d1f07fe16..0000000000 Binary files a/site/img/twitter_image.png and /dev/null differ diff --git a/site/index.html.js b/site/index.html.js deleted file mode 100644 index b5c59b7191..0000000000 --- a/site/index.html.js +++ /dev/null @@ -1,572 +0,0 @@ -var React = require('react'); -var Site = require('./_core/Site'); -var SiteData = require('./_core/SiteData'); -var HeaderLinks = require('./_core/HeaderLinks'); -var Marked = require('./_core/Marked'); -var Prism = require('./_core/Prism'); -var Search = require('./_core/Search'); - -module.exports = ({ page, section }) => - -
    - -
    - -
    -
    -
    -
    - -
    -
    - -
    -
    - -

    GraphQL

    -
    - -
    -

    Describe your data

    - - {`type Project { - name: String - tagline: String - contributors: [User] -}`} - -
    - -
    -

    Ask for what you want

    - - {`{ - project(name: "GraphQL") { - tagline - } -}`} - -
    - -
    -

    Get predictable results

    - - {`{ - "project": { - "tagline": "A query language for APIs" - } -}`} - -
    -
    - - - -
    -
    - -
    -

    A query language for your API

    -

    - GraphQL is a query language for APIs and a runtime for fulfilling - those queries with your existing data. GraphQL provides a complete - and understandable description of the data in your API, gives - clients the power to ask for exactly what they need and nothing - more, makes it easier to evolve APIs over time, and enables powerful - developer tools.

    -
    - -
    -
    -

    Ask for what you need,
    get exactly that

    - {/*[Illustration: just a simple query and response?]*/} -

    - Send a GraphQL query to your API and get exactly what you need, - nothing more and nothing less. GraphQL queries always return - predictable results. Apps using GraphQL are fast and stable because - they control the data they get, not the server.

    -
    -
    -
    -
    -            {'{'}
    -            {'\n  hero {'}
    -            {'\n    name'}
    -            {'\n    height\n    mass'.split('').map((c, i) =>
    -              {c === '\n' ? 
    : c}
    )} - - {'\n }'} - {'\n}'} -
    -
    -
    -
    - - {`{ - "hero": { - "name": "Luke Skywalker" - } -}`} - -
    -
    - - {`{ - "hero": { - "name": "Luke Skywalker", - "height": 1.72 - } -}`} - -
    -
    - - {`{ - "hero": { - "name": "Luke Skywalker", - "height": 1.72, - "mass": 77 - } -}`} - -
    -
    -