diff --git a/.eslintrc.js b/.eslintrc.js index d79188d2c17d..5f5970715501 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -27,6 +27,7 @@ module.exports = { 'packages/core/**/__fixtures__/**/*', 'packages/codemods/**/__testfixtures__/**/*', 'packages/core/config/storybook/**/*', + 'packages/studio/dist-*/**/*', ], rules: { '@typescript-eslint/no-explicit-any': 'off', diff --git a/packages/api-server/src/watch.ts b/packages/api-server/src/watch.ts index 0be01404f60c..91ec3a4bdd5b 100644 --- a/packages/api-server/src/watch.ts +++ b/packages/api-server/src/watch.ts @@ -2,6 +2,7 @@ import { fork } from 'child_process' import type { ChildProcess } from 'child_process' +import fs from 'fs' import path from 'path' import c from 'ansi-colors' @@ -74,6 +75,27 @@ const rebuildApiServer = async () => { const forkOpts = { execArgv: process.execArgv, } + + // OpenTelemetry SDK Setup + if (getConfig().experimental.opentelemetry.enabled) { + const opentelemetrySDKScriptPath = + getConfig().experimental.opentelemetry.apiSdk + if (opentelemetrySDKScriptPath) { + console.log( + `Setting up OpenTelemetry using the setup file: ${opentelemetrySDKScriptPath}` + ) + if (fs.existsSync(opentelemetrySDKScriptPath)) { + forkOpts.execArgv = forkOpts.execArgv.concat([ + `--require=${opentelemetrySDKScriptPath}`, + ]) + } else { + console.error( + `OpenTelemetry setup file does not exist at ${opentelemetrySDKScriptPath}` + ) + } + } + } + const debugPort = argv['debug-port'] if (debugPort) { forkOpts.execArgv = forkOpts.execArgv.concat([`--inspect=${debugPort}`]) diff --git a/packages/auth-providers/dbAuth/api/src/decoder.ts b/packages/auth-providers/dbAuth/api/src/decoder.ts index 5c6c873e96df..5a637d28428a 100644 --- a/packages/auth-providers/dbAuth/api/src/decoder.ts +++ b/packages/auth-providers/dbAuth/api/src/decoder.ts @@ -17,6 +17,7 @@ export const authDecoder: Decoder = async ( const authHeaderUserId = authHeaderValue if (session.id.toString() !== authHeaderUserId) { + console.error('Authorization header does not match decrypted user ID') throw new Error('Authorization header does not match decrypted user ID') } diff --git a/packages/cli/src/commands/experimental.js b/packages/cli/src/commands/experimental.js new file mode 100644 index 000000000000..32e235b31282 --- /dev/null +++ b/packages/cli/src/commands/experimental.js @@ -0,0 +1,29 @@ +import terminalLink from 'terminal-link' + +import detectRwVersion from '../middleware/detectProjectRwVersion' + +export const command = 'experimental ' +export const aliases = ['exp'] +export const description = 'Run or setup experimental features' + +export const builder = (yargs) => + yargs + .commandDir('./experimental', { + recurse: true, + // @NOTE This regex will ignore all commands nested more than two + // levels deep. + // e.g. /setup/hi.js & setup/hi/hi.js are picked up, but + // setup/hi/hello/bazinga.js will be ignored + // The [/\\] bit is for supporting both windows and unix style paths + // Also take care to not trip up on paths that have "setup" earlier + // in the path by eagerly matching in the start of the regexp + exclude: /.*[/\\]experimental[/\\].*[/\\].*[/\\]/, + }) + .demandCommand() + .middleware(detectRwVersion) + .epilogue( + `Also see the ${terminalLink( + 'Redwood CLI Reference', + 'https://redwoodjs.com/docs/cli-commands#experimental' + )}` + ) diff --git a/packages/cli/src/commands/experimental/setup.js b/packages/cli/src/commands/experimental/setup.js new file mode 100644 index 000000000000..ed8d12cf4de7 --- /dev/null +++ b/packages/cli/src/commands/experimental/setup.js @@ -0,0 +1,28 @@ +import terminalLink from 'terminal-link' + +import detectRwVersion from '../../middleware/detectProjectRwVersion' + +export const command = 'setup ' +export const description = 'Setup experimental features' + +export const builder = (yargs) => + yargs + .commandDir('./setup', { + recurse: true, + // @NOTE This regex will ignore all commands nested more than two + // levels deep. + // e.g. /setup/hi.js & setup/hi/hi.js are picked up, but + // setup/hi/hello/bazinga.js will be ignored + // The [/\\] bit is for supporting both windows and unix style paths + // Also take care to not trip up on paths that have "setup" earlier + // in the path by eagerly matching in the start of the regexp + exclude: /.*[/\\]setup[/\\].*[/\\].*[/\\]/, + }) + .demandCommand() + .middleware(detectRwVersion) + .epilogue( + `Also see the ${terminalLink( + 'Redwood CLI Reference', + 'https://redwoodjs.com/docs/cli-commands#experimental' + )}` + ) diff --git a/packages/cli/src/commands/experimental/setup/opentelemetry/opentelemetry.js b/packages/cli/src/commands/experimental/setup/opentelemetry/opentelemetry.js new file mode 100644 index 000000000000..eb724a47439e --- /dev/null +++ b/packages/cli/src/commands/experimental/setup/opentelemetry/opentelemetry.js @@ -0,0 +1,23 @@ +export const command = 'opentelemetry' + +export const description = 'Setup OpenTelemetry within the api side' + +export const builder = (yargs) => { + yargs.option('force', { + alias: 'f', + default: false, + description: 'Overwrite existing configuration', + type: 'boolean', + }) + yargs.option('verbose', { + alias: 'v', + default: false, + description: 'Print more logs', + type: 'boolean', + }) +} + +export const handler = async (options) => { + const { handler } = await import('./opentelemetryHandler') + return handler(options) +} diff --git a/packages/cli/src/commands/experimental/setup/opentelemetry/opentelemetryHandler.js b/packages/cli/src/commands/experimental/setup/opentelemetry/opentelemetryHandler.js new file mode 100644 index 000000000000..0bb9a3203142 --- /dev/null +++ b/packages/cli/src/commands/experimental/setup/opentelemetry/opentelemetryHandler.js @@ -0,0 +1,200 @@ +import fs from 'fs' +import path from 'path' + +import chalk from 'chalk' +import execa from 'execa' +import { Listr } from 'listr2' + +import { addApiPackages } from '@redwoodjs/cli-helpers' +import { getConfigPath } from '@redwoodjs/project-config' +import { errorTelemetry } from '@redwoodjs/telemetry' + +import { getPaths, transformTSToJS, writeFile } from '../../../../lib' +import c from '../../../../lib/colors' +import { isTypeScriptProject } from '../../../../lib/project' + +export const handler = async ({ force, verbose }) => { + const ts = isTypeScriptProject() + + // Used in multiple tasks + const opentelemetryScriptPath = `${getPaths().api.src}/opentelemetry.${ + ts ? 'ts' : 'js' + }` + + // TODO: Consider extracting these from the templates? Consider version pinning? + const opentelemetryPackages = [ + '@opentelemetry/api', + '@opentelemetry/instrumentation', + '@opentelemetry/exporter-trace-otlp-http', + '@opentelemetry/resources', + '@opentelemetry/sdk-node', + '@opentelemetry/semantic-conventions', + '@opentelemetry/instrumentation-http', + '@opentelemetry/instrumentation-fastify', + '@prisma/instrumentation', + ] + + const opentelemetryTasks = [ + { + title: `Adding OpenTelemetry setup files...`, + task: () => { + const setupTemplateContent = fs.readFileSync( + path.resolve(__dirname, 'templates', 'opentelemetry.ts.template'), + 'utf-8' + ) + const setupScriptContent = ts + ? setupTemplateContent + : transformTSToJS(opentelemetryScriptPath, setupTemplateContent) + + return [ + writeFile(opentelemetryScriptPath, setupScriptContent, { + overwriteExisting: force, + }), + ] + }, + }, + { + title: 'Adding config to redwood.toml...', + task: (_ctx, task) => { + const redwoodTomlPath = getConfigPath() + const configContent = fs.readFileSync(redwoodTomlPath, 'utf-8') + if (!configContent.includes('[experimental.opentelemetry]')) { + // Use string replace to preserve comments and formatting + writeFile( + redwoodTomlPath, + configContent.concat( + `\n[experimental.opentelemetry]\n\tenabled = true\n\tapiSdk = "${opentelemetryScriptPath}"` + ), + { + overwriteExisting: true, // redwood.toml always exists + } + ) + } else { + task.skip( + `The [experimental.opentelemetry] config block already exists in your 'redwood.toml' file.` + ) + } + }, + }, + addApiPackages(opentelemetryPackages), + ] + + const prismaTasks = [ + { + title: 'Setup Prisma OpenTelemetry...', + task: (_ctx, task) => { + const schemaPath = path.join(getPaths().api.db, 'schema.prisma') // TODO: schema file is already in getPaths()? + const schemaContent = fs.readFileSync(schemaPath, { + encoding: 'utf-8', + flag: 'r', + }) + + const clientConfig = schemaContent + .slice( + schemaContent.indexOf('generator client') + + 'generator client'.length, + schemaContent.indexOf( + '}', + schemaContent.indexOf('generator client') + ) + 1 + ) + .trim() + + const previewLineExists = clientConfig.includes('previewFeatures') + let newSchemaContents = schemaContent + if (previewLineExists) { + task.skip( + 'Please add "tracing" to your previewFeatures in prisma.schema' + ) + } else { + const newClientConfig = clientConfig.trim().split('\n') + newClientConfig.splice( + newClientConfig.length - 1, + 0, + 'previewFeatures = ["tracing"]' + ) + newSchemaContents = newSchemaContents.replace( + clientConfig, + newClientConfig.join('\n') + ) + } + + return writeFile(schemaPath, newSchemaContents, { + overwriteExisting: true, // We'll likely always already have this file in the project + }) + }, + }, + { + title: 'Regenerate the Prisma client...', + task: (_ctx, _task) => { + return execa(`yarn rw prisma generate`, { + stdio: 'inherit', + shell: true, + cwd: getPaths().web.base, + }) + }, + }, + ] + + const tasks = new Listr( + [ + { + title: 'Confirmation', + task: async (_ctx, task) => { + const confirmation = await task.prompt({ + type: 'Confirm', + message: 'OpenTelemetry support is experimental. Continue?', + }) + + if (!confirmation) { + throw new Error('User aborted') + } + }, + }, + ...opentelemetryTasks, + ...prismaTasks, + { + title: 'One more thing...', + task: (_ctx, task) => { + console.log( + `${chalk.hex('#ff845e')( + `------------------------------------------------------------------\n 🧪 ${chalk.green( + 'Experimental Feature' + )} 🧪\n------------------------------------------------------------------` + )}` + ) + console.log( + `Studio is an experimental feature, please find documentation and links to provide feedback at:\n -> https://community.redwoodjs.com/t/redwood-studio-experimental/4771` + ) + console.log( + `${chalk.hex('#ff845e')( + '------------------------------------------------------------------' + )}\n` + ) + + task.title = `One more thing...\n + ${c.green('OpenTelemetry Support is still experimental!')} + ${c.green( + 'Please let us know if you find bugs or quirks or if you have any feedback!' + )} + ${chalk.hex('#e8e8e8')( + 'https://community.redwoodjs.com/t/opentelemetry-support-experimental/4772' + )} + ` + }, + }, + ], + { + rendererOptions: { collapse: false, persistentOutput: true }, + renderer: verbose ? 'verbose' : 'default', + } + ) + + try { + await tasks.run() + } catch (e) { + errorTelemetry(process.argv, e.message) + console.error(c.error(e.message)) + process.exit(e?.exitCode || 1) + } +} diff --git a/packages/cli/src/commands/experimental/setup/opentelemetry/templates/opentelemetry.ts.template b/packages/cli/src/commands/experimental/setup/opentelemetry/templates/opentelemetry.ts.template new file mode 100644 index 000000000000..6d4f5592f7db --- /dev/null +++ b/packages/cli/src/commands/experimental/setup/opentelemetry/templates/opentelemetry.ts.template @@ -0,0 +1,54 @@ +const { diag, DiagConsoleLogger, DiagLogLevel } = require('@opentelemetry/api') +const { OTLPTraceExporter } = require('@opentelemetry/exporter-trace-otlp-http') +const { registerInstrumentations } = require('@opentelemetry/instrumentation') +const { + FastifyInstrumentation, +} = require('@opentelemetry/instrumentation-fastify') +const { HttpInstrumentation } = require('@opentelemetry/instrumentation-http') +const { Resource } = require('@opentelemetry/resources') +const { + NodeTracerProvider, + SimpleSpanProcessor, +} = require('@opentelemetry/sdk-trace-node') +const { + SemanticResourceAttributes, +} = require('@opentelemetry/semantic-conventions') +const { PrismaInstrumentation } = require ('@prisma/instrumentation') + +// You may wish to set this to DiagLogLevel.DEBUG when you need to debug opentelemetry itself +diag.setLogger(new DiagConsoleLogger(), DiagLogLevel.INFO) + +const resource = Resource.default().merge( + new Resource({ + [SemanticResourceAttributes.SERVICE_NAME]: 'redwood-app', + [SemanticResourceAttributes.SERVICE_VERSION]: '0.0.0', + }) +) + +const exporter = new OTLPTraceExporter({ + // Update this URL to point to where your OTLP compatible collector is listening + // The redwood development studio (`yarn rw exp studio`) can collect your telemetry at `http://127.0.0.1:4318/v1/traces` + url: 'http://127.0.0.1:4318/v1/traces', +}) + +// You may wish to switch to BatchSpanProcessor in production as it is the recommended choice for performance reasons +const processor = new SimpleSpanProcessor(exporter) + +const provider = new NodeTracerProvider({ + resource: resource, +}) +provider.addSpanProcessor(processor) + +// Optionally register instrumentation libraries here +registerInstrumentations({ + tracerProvider: provider, + instrumentations: [ + new HttpInstrumentation(), + new FastifyInstrumentation(), + new PrismaInstrumentation({ + middleware: true, + }) + ], +}) + +provider.register() diff --git a/packages/cli/src/commands/experimental/studio.js b/packages/cli/src/commands/experimental/studio.js new file mode 100644 index 000000000000..ea5a8c34f18a --- /dev/null +++ b/packages/cli/src/commands/experimental/studio.js @@ -0,0 +1,22 @@ +import terminalLink from 'terminal-link' + +export const command = 'studio' +export const description = 'Run the Redwood development studio' +export const builder = (yargs) => { + yargs.epilogue( + `Also see the ${terminalLink( + 'Redwood CLI Reference', + 'https://redwoodjs.com/docs/cli-commands#studio' + )}` + ) +} +export const handler = async () => { + try { + const { start } = await import('@redwoodjs/studio') + await start() + } catch (e) { + console.log('Error: Cannot start the development studio') + console.log(e) + process.exit(1) + } +} diff --git a/packages/cli/src/index.js b/packages/cli/src/index.js index 3172d1d4a8bd..0c73c3e23543 100644 --- a/packages/cli/src/index.js +++ b/packages/cli/src/index.js @@ -18,6 +18,7 @@ import * as deployCommand from './commands/deploy' import * as destroyCommand from './commands/destroy' import * as devCommand from './commands/dev' import * as execCommand from './commands/exec' +import * as experimentalCommand from './commands/experimental' import * as generateCommand from './commands/generate' import * as infoCommand from './commands/info' import * as lintCommand from './commands/lint' @@ -131,6 +132,7 @@ yargs(hideBin(process.argv)) .command(destroyCommand) .command(devCommand) .command(execCommand) + .command(experimentalCommand) .command(generateCommand) .command(infoCommand) .command(lintCommand) diff --git a/packages/graphql-server/package.json b/packages/graphql-server/package.json index 3275e7b1d6e0..23362371c625 100644 --- a/packages/graphql-server/package.json +++ b/packages/graphql-server/package.json @@ -27,10 +27,12 @@ "@envelop/depth-limit": "2.0.6", "@envelop/disable-introspection": "4.0.6", "@envelop/filter-operation-type": "4.0.6", + "@envelop/on-resolve": "2.0.6", "@escape.tech/graphql-armor": "1.8.1", "@graphql-tools/merge": "8.4.0", "@graphql-tools/schema": "9.0.17", "@graphql-tools/utils": "9.2.1", + "@opentelemetry/api": "1.4.0", "@redwoodjs/api": "4.0.0", "core-js": "3.30.0", "graphql": "16.6.0", diff --git a/packages/graphql-server/src/functions/graphql.ts b/packages/graphql-server/src/functions/graphql.ts index 2ab0a96e449c..90e5c824a17d 100644 --- a/packages/graphql-server/src/functions/graphql.ts +++ b/packages/graphql-server/src/functions/graphql.ts @@ -19,6 +19,7 @@ import { useRedwoodDirective, useRedwoodError, useRedwoodGlobalContextSetter, + useRedwoodOpenTelemetry, useRedwoodLogger, useRedwoodPopulateContext, } from '../plugins' @@ -108,6 +109,9 @@ export const createGraphQLHandler = ({ // Custom Redwood plugins plugins.push(...redwoodDirectivePlugins) + // Custom Redwood OpenTelemetry plugin + plugins.push(useRedwoodOpenTelemetry()) + // Secure the GraphQL server plugins.push(useArmor(logger, armorConfig)) diff --git a/packages/graphql-server/src/makeMergedSchema/__tests__/makeMergedSchema.test.ts b/packages/graphql-server/src/makeMergedSchema/__tests__/makeMergedSchema.test.ts index eb1737715e4b..2cedb697830c 100644 --- a/packages/graphql-server/src/makeMergedSchema/__tests__/makeMergedSchema.test.ts +++ b/packages/graphql-server/src/makeMergedSchema/__tests__/makeMergedSchema.test.ts @@ -13,6 +13,20 @@ import { } from '../../types' import { makeMergedSchema } from '../makeMergedSchema' +jest.mock('@redwoodjs/project-config', () => { + return { + getConfig: () => { + return { + experimental: { + opentelemetry: { + enabled: false, + }, + }, + } + }, + } +}) + describe('makeMergedSchema', () => { // Simulate `importAll` // ./graphql/tests.sdl.js @@ -155,15 +169,15 @@ describe('makeMergedSchema', () => { ).toEqual("I'm defined in the resolver.") }) - it('Service functions are mapped correctly.', () => { + it('Service functions are mapped correctly.', async () => { expect( queryFields.inServices.resolve && - queryFields.inServices.resolve( + (await queryFields.inServices.resolve( null, {}, null, {} as GraphQLResolveInfo - ) + )) ).toEqual("I'm defined in the service.") }) }) @@ -196,15 +210,15 @@ describe('makeMergedSchema', () => { ).toEqual("MyOwnType: I'm defined in the resolver.") }) - it('Service functions are mapped correctly.', () => { + it('Service functions are mapped correctly.', async () => { expect( myOwnTypeFields.inTypeServices.resolve && - myOwnTypeFields.inTypeServices.resolve( + (await myOwnTypeFields.inTypeServices.resolve( null, {}, null, {} as GraphQLResolveInfo - ) + )) ).toEqual("MyOwnType: I'm defined in the services.") }) }) diff --git a/packages/graphql-server/src/makeMergedSchema/makeMergedSchema.ts b/packages/graphql-server/src/makeMergedSchema/makeMergedSchema.ts index 1d99c18cc9a9..8e048c52e0c2 100644 --- a/packages/graphql-server/src/makeMergedSchema/makeMergedSchema.ts +++ b/packages/graphql-server/src/makeMergedSchema/makeMergedSchema.ts @@ -5,6 +5,7 @@ import { IExecutableSchemaDefinition, } from '@graphql-tools/schema' import { IResolvers } from '@graphql-tools/utils' +import * as opentelemetry from '@opentelemetry/api' import type { GraphQLSchema, GraphQLFieldMap, @@ -15,6 +16,8 @@ import type { import merge from 'lodash.merge' import omitBy from 'lodash.omitby' +import { getConfig } from '@redwoodjs/project-config' + import type { RedwoodDirective } from '../plugins/useRedwoodDirective' import * as rootGqlSchema from '../rootSchema' import { @@ -24,6 +27,49 @@ import { SdlGlobImports, } from '../types' +const wrapWithOpenTelemetry = async ( + func: any, + args: any, + root: any, + context: any, + info: any, + name: string +) => { + const tracer = opentelemetry.trace.getTracer('redwoodjs') + const parentSpan = + context !== null && + (context['OPEN_TELEMETRY_GRAPHQL'] as opentelemetry.Span | undefined) + const parentContext = parentSpan + ? opentelemetry.trace.setSpan(opentelemetry.context.active(), parentSpan) + : opentelemetry.context.active() + + return await tracer.startActiveSpan( + `redwoodjs:graphql:resolver:${name}`, + {}, + parentContext, + async (span) => { + span.setAttribute( + 'graphql.execute.operationName', + `${args.operationName || 'Anonymous Operation'}` + ) + try { + const result: any = await func(args, { + root, + context, + info, + }) + span.end() + return result + } catch (ex) { + span.recordException(ex as Error) + span.setStatus({ code: opentelemetry.SpanStatusCode.ERROR }) + span.end() + throw ex + } + } + ) +} + const mapFieldsToService = ({ fields = {}, resolvers: unmappedResolvers, @@ -52,12 +98,24 @@ const mapFieldsToService = ({ ...resolvers, // Map the arguments from GraphQL to an ordinary function a service would // expect. - [name]: ( + [name]: async ( root: unknown, args: unknown, context: unknown, info: unknown - ) => services[name](args, { root, context, info }), + ) => { + if (getConfig().experimental.opentelemetry.enabled) { + return wrapWithOpenTelemetry( + services[name], + args, + root, + context, + info, + name + ) + } + return services[name](args, { root, context, info }) + }, } } diff --git a/packages/graphql-server/src/plugins/index.ts b/packages/graphql-server/src/plugins/index.ts index 13945c26f981..ade4972cb892 100644 --- a/packages/graphql-server/src/plugins/index.ts +++ b/packages/graphql-server/src/plugins/index.ts @@ -5,3 +5,4 @@ export { useRedwoodError } from './useRedwoodError' export { useRedwoodGlobalContextSetter } from './useRedwoodGlobalContextSetter' export { useRedwoodLogger } from './useRedwoodLogger' export { useRedwoodPopulateContext } from './useRedwoodPopulateContext' +export { useRedwoodOpenTelemetry } from './useRedwoodOpenTelemetry' diff --git a/packages/graphql-server/src/plugins/useRedwoodOpenTelemetry.ts b/packages/graphql-server/src/plugins/useRedwoodOpenTelemetry.ts new file mode 100644 index 000000000000..6822ce409593 --- /dev/null +++ b/packages/graphql-server/src/plugins/useRedwoodOpenTelemetry.ts @@ -0,0 +1,141 @@ +import { Plugin, OnExecuteHookResult, isAsyncIterable } from '@envelop/core' +import { useOnResolve } from '@envelop/on-resolve' +import { Attributes, SpanKind } from '@opentelemetry/api' +import * as opentelemetry from '@opentelemetry/api' +import { print } from 'graphql' + +export enum AttributeName { + EXECUTION_ERROR = 'graphql.execute.error', + EXECUTION_RESULT = 'graphql.execute.result', + RESOLVER_EXCEPTION = 'graphql.resolver.exception', + RESOLVER_FIELD_NAME = 'graphql.resolver.fieldName', + RESOLVER_TYPE_NAME = 'graphql.resolver.typeName', + RESOLVER_RESULT_TYPE = 'graphql.resolver.resultType', + RESOLVER_ARGS = 'graphql.resolver.args', + EXECUTION_OPERATION_NAME = 'graphql.execute.operationName', + EXECUTION_OPERATION_DOCUMENT = 'graphql.execute.document', + EXECUTION_VARIABLES = 'graphql.execute.variables', +} + +// const tracingSpanSymbol = Symbol('OPEN_TELEMETRY_GRAPHQL') +const tracingSpanSymbol = 'OPEN_TELEMETRY_GRAPHQL' + +type PluginContext = { + [tracingSpanSymbol]: opentelemetry.Span +} + +export const useRedwoodOpenTelemetry = (): Plugin => { + const spanKind: SpanKind = SpanKind.SERVER + const spanAdditionalAttributes: Attributes = {} + + const options = { + resolvers: true, + result: true, + variables: true, + } + + const tracer = opentelemetry.trace.getTracer('redwoodjs') + + return { + onPluginInit({ addPlugin }) { + if (options.resolvers) { + addPlugin( + useOnResolve(({ info, context, args }) => { + if ( + context && + typeof context === 'object' && + context[tracingSpanSymbol] + ) { + const ctx = opentelemetry.trace.setSpan( + opentelemetry.context.active(), + context[tracingSpanSymbol] + ) + const { fieldName, returnType, parentType } = info + + const resolverSpan = tracer.startSpan( + `${parentType.name}.${fieldName}`, + { + attributes: { + [AttributeName.RESOLVER_FIELD_NAME]: fieldName, + [AttributeName.RESOLVER_TYPE_NAME]: parentType.toString(), + [AttributeName.RESOLVER_RESULT_TYPE]: returnType.toString(), + [AttributeName.RESOLVER_ARGS]: JSON.stringify(args || {}), + }, + }, + ctx + ) + + return ({ result }) => { + if (result instanceof Error) { + resolverSpan.recordException({ + name: AttributeName.RESOLVER_EXCEPTION, + message: JSON.stringify(result), + }) + } + resolverSpan.end() + } + } + return () => {} + }) + ) + } + }, + onExecute({ args, extendContext }) { + const executionSpan = tracer.startSpan( + `${args.operationName || 'Anonymous Operation'}`, + { + kind: spanKind, + attributes: { + ...spanAdditionalAttributes, + [AttributeName.EXECUTION_OPERATION_NAME]: + args.operationName ?? undefined, + [AttributeName.EXECUTION_OPERATION_DOCUMENT]: print(args.document), + ...(options.variables + ? { + [AttributeName.EXECUTION_VARIABLES]: JSON.stringify( + args.variableValues ?? {} + ), + } + : {}), + }, + } + ) + const resultCbs: OnExecuteHookResult = { + onExecuteDone({ result }) { + if (isAsyncIterable(result)) { + executionSpan.end() + // eslint-disable-next-line no-console + console.warn( + `Plugin "newrelic" encountered a AsyncIterator which is not supported yet, so tracing data is not available for the operation.` + ) + return + } + + if (result.data && options.result) { + executionSpan.setAttribute( + AttributeName.EXECUTION_RESULT, + JSON.stringify(result) + ) + } + + if (result.errors && result.errors.length > 0) { + executionSpan.recordException({ + name: AttributeName.EXECUTION_ERROR, + message: JSON.stringify(result.errors), + }) + } + + executionSpan.end() + }, + } + + if (options.resolvers) { + extendContext({ + [tracingSpanSymbol]: executionSpan, + }) + } + + return resultCbs + }, + } +} diff --git a/packages/internal/src/build/api.ts b/packages/internal/src/build/api.ts index ac2bb71e366c..6e0cc132cfc0 100644 --- a/packages/internal/src/build/api.ts +++ b/packages/internal/src/build/api.ts @@ -2,7 +2,7 @@ import type { PluginBuild } from 'esbuild' import { build } from 'esbuild' import { removeSync } from 'fs-extra' -import { getPaths } from '@redwoodjs/project-config' +import { getPaths, getConfig } from '@redwoodjs/project-config' import { findApiFiles } from '../files' @@ -27,7 +27,10 @@ const runRwBabelTransformsPlugin = { // Remove RedwoodJS "magic" from a user's code leaving JavaScript behind. const transformedCode = transformWithBabel( args.path, - getApiSideBabelPlugins() + getApiSideBabelPlugins({ + forJest: false, + openTelemetry: getConfig().experimental.opentelemetry.enabled, + }) ) if (transformedCode?.code) { diff --git a/packages/internal/src/build/babel/api.ts b/packages/internal/src/build/babel/api.ts index a44a13eaa4ad..816f8a7063cb 100644 --- a/packages/internal/src/build/babel/api.ts +++ b/packages/internal/src/build/babel/api.ts @@ -61,7 +61,12 @@ export const BABEL_PLUGIN_TRANSFORM_RUNTIME_OPTIONS = { version: RUNTIME_CORE_JS_VERSION, } -export const getApiSideBabelPlugins = ({ forJest } = { forJest: false }) => { +export const getApiSideBabelPlugins = ( + { forJest, openTelemetry } = { + forJest: false, + openTelemetry: false, + } +) => { const rwjsPaths = getPaths() // Plugin shape: [ ["Target", "Options", "name"] ], // a custom "name" is supplied so that user's do not accidently overwrite @@ -151,6 +156,11 @@ export const getApiSideBabelPlugins = ({ forJest } = { forJest: false }) => { undefined, 'rwjs-babel-glob-import-dir', ], + openTelemetry && [ + require('../babelPlugins/babel-plugin-redwood-otel-wrapping').default, + undefined, + 'rwjs-babel-otel-wrapping', + ], ].filter(Boolean) as PluginItem[] return plugins diff --git a/packages/internal/src/build/babelPlugins/babel-plugin-redwood-otel-wrapping.ts b/packages/internal/src/build/babelPlugins/babel-plugin-redwood-otel-wrapping.ts new file mode 100644 index 000000000000..309749c02cef --- /dev/null +++ b/packages/internal/src/build/babelPlugins/babel-plugin-redwood-otel-wrapping.ts @@ -0,0 +1,246 @@ +import * as nodejsPath from 'path' + +import type { PluginObj, types } from '@babel/core' + +import { getBaseDirFromFile } from '@redwoodjs/project-config' + +// This wraps user code within opentelemetry spans to provide greater ease in trace analysis. + +export default function ({ types: t }: { types: typeof types }): PluginObj { + return { + name: 'babel-plugin-redwood-otel-wrapping', + visitor: { + Program(path) { + // Only import if it isn't already imported in the way we need it + // TODO: Check for ImportNamespaceSpecifier like "import * as opentelemetry from '@opentelemetry/api'" + // TODO: Consider just checking for the import name "opentelemetry" and don't consider the source + const importDeclarations = path.node.body.filter( + (node) => node.type === 'ImportDeclaration' + ) as types.ImportDeclaration[] + const requiredOpenTelemetryImportExists = importDeclarations.some( + (importDeclaration) => { + if (importDeclaration.source.value !== '@opentelemetry/api') { + return false + } + if ( + importDeclaration.specifiers[0].type !== 'ImportDefaultSpecifier' + ) { + return false + } + if ( + importDeclaration.specifiers[0].local.name === 'opentelemetry' + ) { + return true + } + return false + } + ) + if (!requiredOpenTelemetryImportExists) { + path.node.body.unshift( + t.importDeclaration( + [t.importDefaultSpecifier(t.identifier('opentelemetry'))], + t.stringLiteral('@opentelemetry/api') + ) + ) + } + }, + ExportNamedDeclaration(path, state) { + if ( + path.node.declaration?.type === 'VariableDeclaration' && + path.node.declaration.declarations[0].init?.type === + 'ArrowFunctionExpression' + ) { + const originalFunc = path.node.declaration.declarations[0].init + const originalFuncId = + path.node.declaration.declarations[0].id.type === 'Identifier' + ? path.node.declaration.declarations[0].id.name + : '?' + + const originalFuncArguments: ( + | types.ArgumentPlaceholder + | types.JSXNamespacedName + | types.SpreadElement + | types.Expression + )[] = [] + for (const param of originalFunc.params) { + switch (param.type) { + case 'ArrayPattern': + // TODO: Implement me + break + case 'AssignmentPattern': + // TODO: Implement me + break + case 'Identifier': + originalFuncArguments.push(param) + // TODO: Implement me + break + case 'ObjectPattern': + // TODO: Is this correct? + originalFuncArguments.push( + t.objectExpression( + param.properties.filter( + (p) => p.type === 'ObjectProperty' + ) as types.ObjectProperty[] + ) + ) + break + case 'RestElement': + // TODO: Implement me + break + } + } + + const filename = state.file.opts.filename + const filenameOffset = filename + ? getBaseDirFromFile(filename).length + 9 // 9 is the length of '/api/src/' + : 0 + const apiFolder = filename + ? filename.substring( + filenameOffset, + filename.substring(filenameOffset).indexOf(nodejsPath.sep) + + filenameOffset + ) + : '?' + + const activeSpanBlock = t.callExpression( + t.memberExpression( + t.identifier('tracer'), + t.identifier('startActiveSpan') + ), + [ + t.stringLiteral(`redwoodjs:api:${apiFolder}:${originalFuncId}`), + t.arrowFunctionExpression( + [t.identifier('span')], + t.blockStatement([ + t.tryStatement( + t.blockStatement([ + t.variableDeclaration('const', [ + t.variableDeclarator( + t.identifier('innerResult'), + originalFunc.async + ? t.awaitExpression( + t.callExpression( + t.identifier(`_${originalFuncId}`), + originalFuncArguments + ) + ) + : t.callExpression( + t.identifier(`_${originalFuncId}`), + originalFuncArguments + ) + ), + ]), + t.expressionStatement( + t.callExpression( + t.memberExpression( + t.identifier('span'), + t.identifier('setAttribute') + ), + [ + t.stringLiteral('code.function'), + t.stringLiteral(originalFuncId), + ] + ) + ), + t.expressionStatement( + t.callExpression( + t.memberExpression( + t.identifier('span'), + t.identifier('setAttribute') + ), + [ + t.stringLiteral('code.filepath'), + t.stringLiteral(state.file.opts.filename || '?'), + ] + ) + ), + t.expressionStatement( + t.callExpression( + t.memberExpression( + t.identifier('span'), + t.identifier('end') + ), + [] + ) + ), + t.returnStatement(t.identifier('innerResult')), + ]), + t.catchClause( + t.identifier('error'), + t.blockStatement([ + t.expressionStatement( + t.callExpression( + t.memberExpression( + t.identifier('span'), + t.identifier('recordException') + ), + [t.identifier('error')] + ) + ), + t.expressionStatement( + t.callExpression( + t.memberExpression( + t.identifier('span'), + t.identifier('end') + ), + [] + ) + ), + t.throwStatement(t.identifier('error')), + ]) + ) + ), + ]), + originalFunc.async + ), + ] + ) + + const wrapper = t.arrowFunctionExpression( + originalFunc.params, + t.blockStatement( + [ + t.variableDeclaration('const', [ + t.variableDeclarator( + t.identifier(`_${originalFuncId}`), + originalFunc + ), + ]), + t.variableDeclaration('const', [ + t.variableDeclarator( + t.identifier('tracer'), + t.callExpression( + t.memberExpression( + t.memberExpression( + t.identifier('opentelemetry'), + t.identifier('trace') + ), + t.identifier('getTracer') + ), + [t.stringLiteral('redwoodjs')] + ) + ), + ]), + t.variableDeclaration('const', [ + t.variableDeclarator( + t.identifier('result'), + originalFunc.async + ? t.awaitExpression(activeSpanBlock) + : activeSpanBlock + ), + ]), + t.returnStatement(t.identifier('result')), + ], + originalFunc.body.type === 'BlockStatement' + ? originalFunc.body.directives + : undefined + ), + originalFunc.async + ) + + path.node.declaration.declarations[0].init = wrapper + } + }, + }, + } +} diff --git a/packages/project-config/src/__tests__/config.test.ts b/packages/project-config/src/__tests__/config.test.ts index e7b33e18a6bd..553496802c1b 100644 --- a/packages/project-config/src/__tests__/config.test.ts +++ b/packages/project-config/src/__tests__/config.test.ts @@ -22,6 +22,25 @@ describe('getConfig', () => { "browser": { "open": false, }, + "experimental": { + "opentelemetry": { + "apiSdk": undefined, + "enabled": false, + }, + "studio": { + "graphiql": { + "authImpersonation": { + "authProvider": undefined, + "email": undefined, + "jwtSecret": "secret", + "roles": undefined, + "userId": undefined, + }, + "endpoint": "graphql", + }, + "inMemory": false, + }, + }, "generate": { "nestScaffoldByModel": true, "stories": true, @@ -50,6 +69,60 @@ describe('getConfig', () => { it('merges configs', () => { const config = getConfig(path.join(__dirname, './fixtures/redwood.toml')) expect(config.web.port).toEqual(8888) + + expect(config.experimental.studio.inMemory).toEqual(false) + expect(config.experimental.studio.graphiql?.endpoint).toEqual('graphql') + }) + + describe('with studio configs', () => { + it('merges studio configs', () => { + const config = getConfig( + path.join(__dirname, './fixtures/redwood.studio.toml') + ) + + expect(config.experimental.studio.inMemory).toEqual(false) + expect(config.experimental.studio.graphiql?.endpoint).toEqual( + 'graphql-endpoint' + ) + }) + + it('merges studio configs with dbAuth impersonation', () => { + const config = getConfig( + path.join(__dirname, './fixtures/redwood.studio.dbauth.toml') + ) + expect(config.experimental.studio.inMemory).toEqual(false) + expect(config.experimental.studio.graphiql?.endpoint).toEqual('graphql') + expect( + config.experimental.studio.graphiql?.authImpersonation?.authProvider + ).toEqual('dbAuth') + expect( + config.experimental.studio.graphiql?.authImpersonation?.email + ).toEqual('user@example.com') + expect( + config.experimental.studio.graphiql?.authImpersonation?.userId + ).toEqual('1') + }) + + it('merges studio configs with supabase impersonation', () => { + const config = getConfig( + path.join(__dirname, './fixtures/redwood.studio.supabase.toml') + ) + + expect(config.experimental.studio.inMemory).toEqual(false) + expect(config.experimental.studio.graphiql?.endpoint).toEqual('graphql') + expect( + config.experimental.studio.graphiql?.authImpersonation?.authProvider + ).toEqual('supabase') + expect( + config.experimental.studio.graphiql?.authImpersonation?.email + ).toEqual('supauser@example.com') + expect( + config.experimental.studio.graphiql?.authImpersonation?.userId + ).toEqual('1') + expect( + config.experimental.studio.graphiql?.authImpersonation?.jwtSecret + ).toEqual('supa-secret') + }) }) it('throws an error when given a bad config path', () => { diff --git a/packages/project-config/src/__tests__/fixtures/redwood.studio.dbauth.toml b/packages/project-config/src/__tests__/fixtures/redwood.studio.dbauth.toml new file mode 100644 index 000000000000..ab084302c179 --- /dev/null +++ b/packages/project-config/src/__tests__/fixtures/redwood.studio.dbauth.toml @@ -0,0 +1,10 @@ +[web] + port = 8888 +[experimental.studio] + inMemory = false + [experimental.studio.graphiql] + endpoint = "graphql" + [experimental.studio.graphiql.authImpersonation] + authProvider = "dbAuth" + email = "user@example.com" + userId = "1" diff --git a/packages/project-config/src/__tests__/fixtures/redwood.studio.supabase.toml b/packages/project-config/src/__tests__/fixtures/redwood.studio.supabase.toml new file mode 100644 index 000000000000..2e1bf5b7b774 --- /dev/null +++ b/packages/project-config/src/__tests__/fixtures/redwood.studio.supabase.toml @@ -0,0 +1,11 @@ +[web] + port = 8888 +[experimental.studio] + inMemory = false + [experimental.studio.graphiql] + endpoint = "graphql" + [experimental.studio.graphiql.authImpersonation] + authProvider = "supabase" + email = "supauser@example.com" + jwtSecret = "supa-secret" + userId = "1" diff --git a/packages/project-config/src/__tests__/fixtures/redwood.studio.toml b/packages/project-config/src/__tests__/fixtures/redwood.studio.toml new file mode 100644 index 000000000000..c7d68eb4cd06 --- /dev/null +++ b/packages/project-config/src/__tests__/fixtures/redwood.studio.toml @@ -0,0 +1,6 @@ +[web] + port = 8888 +[experimental.studio] + inMemory = false + [experimental.studio.graphiql] + endpoint = "graphql-endpoint" diff --git a/packages/project-config/src/config.ts b/packages/project-config/src/config.ts index 7c572b6fdcd5..2ecfb677e5cf 100644 --- a/packages/project-config/src/config.ts +++ b/packages/project-config/src/config.ts @@ -59,6 +59,26 @@ interface BrowserTargetConfig { sourceMap: boolean } +interface GraphiQLStudioConfig { + endpoint?: string + authImpersonation?: AuthImpersonationConfig +} + +type SupportedAuthImpersonationProviders = 'dbAuth' | 'netlify' | 'supabase' + +interface AuthImpersonationConfig { + authProvider?: SupportedAuthImpersonationProviders + jwtSecret?: string + userId?: string + email?: string + roles?: string[] +} + +interface StudioConfig { + inMemory: boolean + graphiql?: GraphiQLStudioConfig +} + export interface Config { web: BrowserTargetConfig api: NodeTargetConfig @@ -73,6 +93,13 @@ export interface Config { notifications: { versionUpdates: string[] } + experimental: { + opentelemetry: { + enabled: boolean + apiSdk?: string + } + studio: StudioConfig + } } // Note that web's includeEnvironmentVariables is handled in `webpack.common.js` @@ -112,6 +139,25 @@ const DEFAULT_CONFIG: Config = { notifications: { versionUpdates: [], }, + experimental: { + opentelemetry: { + enabled: false, + apiSdk: undefined, + }, + studio: { + inMemory: false, + graphiql: { + endpoint: 'graphql', + authImpersonation: { + authProvider: undefined, + userId: undefined, + email: undefined, + roles: undefined, + jwtSecret: 'secret', + }, + }, + }, + }, } /** diff --git a/packages/studio/.babelrc.js b/packages/studio/.babelrc.js new file mode 100644 index 000000000000..3b2c815712d9 --- /dev/null +++ b/packages/studio/.babelrc.js @@ -0,0 +1 @@ +module.exports = { extends: '../../babel.config.js' } diff --git a/packages/studio/.gitignore b/packages/studio/.gitignore new file mode 100644 index 000000000000..0d1de77703da --- /dev/null +++ b/packages/studio/.gitignore @@ -0,0 +1 @@ +dist-backend diff --git a/packages/studio/README.md b/packages/studio/README.md new file mode 100644 index 000000000000..86e035ef9645 --- /dev/null +++ b/packages/studio/README.md @@ -0,0 +1,168 @@ +# Redwood Studio [Experimental] + +RedwoodJS Studio is an experimental package used during development to gain runtime insights into a project. + +## Motivation + +Redwood provides tools that lets developers "get to work on what makes your application special, instead of wasting cycles choosing and re-choosing various technologies and configurations."[1](https://github.com/redwoodjs/redwood/blob/main/README.md). + +Much happens while your app processes a request: Invoke a function; handle a GraphQL request; resolve the request with a service; build and execute a SQL statement; connect to the database; handle the query response; further resolve the response so in contains all the data needed; return the result ... and more. + +While [logging](https://redwoodjs.com/docs/logger) can show you some of these steps, there is no easy way to see how the relate to each other, compare, or break down individual timings. Observability needed to debug, iterate, try out, and refactor your code is lacking. + +We hope Studio helps solve this problem with an observability tool that combines: + +* Tracing with OpenTelemetry (service and GraphQL) +* SQL statement logging +* general metrics (how many invocations) +* GraphiQL playground with impersonated authentication + +With Studio, it is easier to: + +* identify slow running SQL statements without reviewing captured log files +* identify and improve N+1 queries by comparing before and after traces +* impersonate the user authentication headers in GraphiQL + +## Running Studio + +To run the redwood studio simply execute the following redwood cli command: +```bash +yarn rw experimental studio +``` + +## Studio Config + +You may provide the following configuration options in your `redwood.toml` file to control the behaviour of the studio. + +```toml +[experimental.studio] + # Determines whether the studio should run with an in memory database or persist the data to a file in your project within `./redwood` + inMemory = false + +[experimental.studio.graphiql] + endpoint = 'graphql' + +[experimental.studio.graphiql.authImpersonation] + # authProvider = undefined (default value) + jwtSecret = 'secret' + # userId = undefined (default value) + # email = undefined (default value) + # roles = undefined (default value) +``` + +## OpenTelemetry Ingestion + +The redwood studio can ingest your OpenTelemetry data and indeed requires this data to power the insights that it is able to provide. + +To enable ingestion of OpenTelemetry tracing into the studio please provide the following export location for your tracing data within `opentelemetry.js` to be `http://127.0.0.1:4318/v1/traces` which is the default generated by the OpenTelemetry setup command. +```ts +const exporter = new OTLPTraceExporter({ + // Update this URL to point to where your OTLP compatible collector is listening + // The redwood development studio (`yarn rw exp studio`) can collect your telemetry at `http://127.0.0.1:4318/v1/traces` + url: 'http://127.0.0.1:4318/v1/traces', +}) +``` + +## GraphiQL Auth Impersonation + +### DbAuth + +Requires `SESSION_SECRET` envar for cookie encryption. + +TOML example: + +```toml +[web] + port = 8888 +[experimental.studio] + inMemory = false +[experimental.studio.graphiql] + endpoint = "graphql" +[experimental.studio.graphiql.authImpersonation] + authProvider = "dbAuth" + email = "user@example.com" + userId = "1" +``` + +### Netlify + +Since Netlify does not expose the JWT secret used to sign the token in production, impersonation requires a `jwtSecret` to encode and decode the auth token. + +TOML example: + +```toml +[web] + port = 8888 +[experimental.studio] + inMemory = false +[experimental.studio.graphiql] + endpoint = "graphql" +[experimental.studio.graphiql.authImpersonation] + authProvider = "netlify" + email = "user@example.com" + userId = "1" + jwtSecret = "some-secret-setting" +``` + +### Supabase + +Requires `SUPABASE_JWT_SECRET` envar for JWT signing. + +TOML example: + +```toml +[web] + port = 8888 +[experimental.studio] + inMemory = false +[experimental.studio.graphiql] + endpoint = "graphql" +[experimental.studio.graphiql.authImpersonation] + authProvider = "supabase" + email = "user@example.com" + userId = "1" +``` + +## Future + +Since Studio is experiment, its feature set will change. Some will be added, others improved, and several perhaps removed. + +Some ideas to improve the Studio are: + +* More metric widgets + * time from launch + * count of queries/services/functions + * etc +* Annotations + * add warnings on slow queries + * add warning on possible N+1 +* Charts and visualizations + * Line charts of request over time + * Histograms of executing timings per request +* Track errors + * Capture api-side errors for review + * Perhaps via Envelop GraphQL plugin +* Instrument web side +* ChatGPT UI to ask questions about schema +* Prisma ER diagrams +* Send api logs via Pino transport +* Search + * Prisma + * Tracing + * Errors +* Notification on warnings + * issue to fix like n+1 +* Custom dashboards with specific charts, or service or GraphQL focus +* Intelligence + * anomalies + * trends + * warn on issues before they happen +* More tags and data per request + * Prisma version + * RedwoodJS Version + +## Contributing + +We welcome your [feedback](https://community.redwoodjs.com/t/redwood-studio-experimental/4771) and also your contributions to improve Studio. + +For more [information on contributing](https://github.com/redwoodjs/redwood/blob/main/CONTRIBUTING.md) see: https://github.com/redwoodjs/redwood/blob/main/CONTRIBUTING.md diff --git a/packages/studio/backend/database.ts b/packages/studio/backend/database.ts new file mode 100644 index 000000000000..e134a61d1131 --- /dev/null +++ b/packages/studio/backend/database.ts @@ -0,0 +1,95 @@ +import path from 'path' + +import { open } from 'sqlite' +import type { Database } from 'sqlite' +import sqlite3 from 'sqlite3' + +import { getPaths, getConfig } from '@redwoodjs/project-config' + +let db: Database + +export const getDatabase = async () => { + // Switch between in-memory and file-based database based on toml config + const filename = getConfig().experimental.studio.inMemory + ? ':memory:' + : path.join(getPaths().generated.base, 'studio.db') + + if (db === undefined) { + db = await open({ + filename, + driver: sqlite3.Database, + }) + } + return db +} + +export const setupTables = async () => { + const db = await getDatabase() + + // BIGINT for UnixNano times will break in 239 years (Fri Apr 11 2262 23:47:16 GMT+0000) + const spanTableSQL = `CREATE TABLE IF NOT EXISTS span (id TEXT PRIMARY KEY, trace TEXT NOT NULL, parent TEXT, name TEXT, kind INTEGER, status_code INTEGER, status_message TEXT, start_nano BIGINT, end_nano BIGINT, duration_nano BIGINT, events JSON, attributes JSON, resources, JSON);` + await db.exec(spanTableSQL) +} + +export const setupViews = async () => { + const prismaQueriesView = ` + CREATE VIEW IF NOT EXISTS prisma_queries as SELECT DISTINCT + s.id, + s.trace, + s.parent as parent_id, + p.trace as parent_trace, + s.name, + json_extract(p. "attributes", '$.method') AS method, + json_extract(p. "attributes", '$.model') AS model, + json_extract(p. "attributes", '$.name') AS prisma_name, + s.start_nano, + s.end_nano, + s.duration_nano, + cast((s.duration_nano / 1000000.000) as REAL) as duration_ms, + cast((s.duration_nano / 1000000000.0000) as number) as duration_sec, + json_extract(s. "attributes", '$."db.statement"') AS db_statement + FROM + span s + JOIN span p ON s.trace = p.trace + WHERE + s. "name" = 'prisma:engine:db_query' + AND + p. "name" = 'prisma:client:operation' + ORDER BY s.start_nano desc, s.parent; +` + await db.exec(prismaQueriesView) + + const SQLSpansView = ` + CREATE VIEW IF NOT EXISTS sql_spans AS + SELECT DISTINCT + *, + cast((duration_nano / 1000000.000) as REAL) as duration_ms, + cast((duration_nano / 1000000000.0000) as number) as duration_sec + FROM + span + WHERE + json_extract(attributes, '$."db.statement"') IS NOT NULL + ORDER BY start_nano desc; +` + await db.exec(SQLSpansView) + + const graphQLSpansView = `CREATE VIEW IF NOT EXISTS graphql_spans AS + SELECT + id, + parent, + name, + json_extract(ATTRIBUTES, '$."graphql.resolver.fieldName"') AS field_name, + json_extract(ATTRIBUTES, '$."graphql.resolver.typeName"') AS type_name, + start_nano, + end_nano, + duration_nano + FROM + span + WHERE + field_name IS NOT NULL + OR type_name IS NOT NULL + ORDER BY + start_nano DESC;` + + await db.exec(graphQLSpansView) +} diff --git a/packages/studio/backend/fastify/plugins/withApiProxy.ts b/packages/studio/backend/fastify/plugins/withApiProxy.ts new file mode 100644 index 000000000000..88fa93ecfeab --- /dev/null +++ b/packages/studio/backend/fastify/plugins/withApiProxy.ts @@ -0,0 +1,26 @@ +import httpProxy, { FastifyHttpProxyOptions } from '@fastify/http-proxy' +import { FastifyInstance } from 'fastify' + +export interface ApiProxyOptions { + apiUrl: string + apiHost: string + rewritePrefix?: string +} + +const withApiProxy = async ( + fastify: FastifyInstance, + { apiUrl, apiHost, rewritePrefix }: ApiProxyOptions +) => { + const proxyOpts: FastifyHttpProxyOptions = { + upstream: apiHost, + prefix: apiUrl, + rewritePrefix, + disableCache: true, + } + + fastify.register(httpProxy, proxyOpts) + + return fastify +} + +export default withApiProxy diff --git a/packages/studio/backend/fastify/react.ts b/packages/studio/backend/fastify/react.ts new file mode 100644 index 000000000000..0f67a3ea0786 --- /dev/null +++ b/packages/studio/backend/fastify/react.ts @@ -0,0 +1,10 @@ +import path from 'path' + +import fastifyStatic from '@fastify/static' +import { FastifyInstance } from 'fastify' + +export default async function routes(fastify: FastifyInstance, _options: any) { + fastify.register(fastifyStatic, { + root: path.join(__dirname, '..', '..', 'dist-frontend'), + }) +} diff --git a/packages/studio/backend/fastify/spanIngester.ts b/packages/studio/backend/fastify/spanIngester.ts new file mode 100644 index 000000000000..20ce8ec12e0b --- /dev/null +++ b/packages/studio/backend/fastify/spanIngester.ts @@ -0,0 +1,132 @@ +import { FastifyInstance } from 'fastify' + +import { getDatabase } from '../database' +import type { + RawAttribute, + RestructuredAttributes, + RawEvent, + RestructuredEvent, + RestructuredSpan, + ResourceSpan, +} from '../types' + +function restructureAttributes(rawAttributes: RawAttribute[]) { + const restructuredAttributes: RestructuredAttributes = {} + for (const rawAttribute of rawAttributes) { + // Value is typically under a key such as "boolValue", "stringValue", etc. just take whatever one we find + const keys = Object.keys(rawAttribute.value) + const valueIdentifier = keys.length > 0 ? keys[0] : undefined + if (valueIdentifier === undefined) { + continue + } + switch (valueIdentifier) { + case 'stringValue': + restructuredAttributes[rawAttribute.key] = rawAttribute.value + .stringValue as string + break + case 'intValue': + restructuredAttributes[rawAttribute.key] = parseInt( + rawAttribute.value.intValue as string + ) + break + case 'boolValue': + restructuredAttributes[rawAttribute.key] = rawAttribute.value + .boolValue as boolean + break + default: + // If value is "{}" pass null instead, otherwise just pass whatever it happens to be + restructuredAttributes[rawAttribute.key] = rawAttribute.value.value + ? JSON.stringify(rawAttribute.value.value) + : null + break + } + } + return restructuredAttributes +} + +function restructureEvents(rawEvents: RawEvent[]) { + const restructuredEvents: RestructuredEvent[] = [] + for (const rawEvent of rawEvents) { + const restructuredEvent: RestructuredEvent = { + name: rawEvent.name, + time: rawEvent.timeUnixNano, + attributes: restructureAttributes(rawEvent.attributes), + } + restructuredEvents.push(restructuredEvent) + } + return restructuredEvents +} + +export default async function routes(fastify: FastifyInstance, _options: any) { + fastify.post('/v1/traces', async (request, _reply) => { + const data: { resourceSpans: ResourceSpan[] } = request.body as any + + // TODO: Consider better typing here` + const spans: RestructuredSpan[] = [] + + // TODO: Consider less nesting if possible + for (const resourceSpan of data.resourceSpans) { + const resources = restructureAttributes(resourceSpan.resource.attributes) + for (const scopeSpan of resourceSpan.scopeSpans) { + for (const span of scopeSpan.spans) { + const restructuredSpan: RestructuredSpan = { + // Include the standard properties + trace: span.traceId, + id: span.spanId, + parent: span.parentSpanId, + name: span.name, + kind: span.kind, + statusCode: span.status?.code, + statusMessage: span.status?.message, + startNano: span.startTimeUnixNano, + endNano: span.endTimeUnixNano, + // Compute and store a duration for ease in analytics + durationNano: Number( + BigInt(span.endTimeUnixNano) - BigInt(span.startTimeUnixNano) + ).toString(), + } + + // TODO: Consider better handling of events + if (span.events) { + restructuredSpan.events = restructureEvents(span.events) + } + // Add attributes + if (span.attributes) { + restructuredSpan.attributes = restructureAttributes(span.attributes) + } + if (resources) { + restructuredSpan.resourceAttributes = resources + } + spans.push(restructuredSpan) + } + } + } + + for (const span of spans) { + const db = await getDatabase() + + // Insert the span + const spanInsertStatement = await db.prepare( + 'INSERT INTO span (id, trace, parent, name, kind, status_code, status_message, start_nano, end_nano, duration_nano, events, attributes, resources) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, json(?), json(?), json(?)) RETURNING *;' + ) + const spanInsertResult = await spanInsertStatement.run( + span.id, + span.trace, + span.parent, + span.name, + span.kind, + span.statusCode, + span.statusMessage, + span.startNano, + span.endNano, + span.durationNano, + JSON.stringify(span.events), + JSON.stringify(span.attributes), + JSON.stringify(span.resourceAttributes) + ) + return spanInsertResult + } + + return {} + }) +} diff --git a/packages/studio/backend/fastify/yoga.ts b/packages/studio/backend/fastify/yoga.ts new file mode 100644 index 000000000000..36f4b3d491a5 --- /dev/null +++ b/packages/studio/backend/fastify/yoga.ts @@ -0,0 +1,35 @@ +import { FastifyInstance } from 'fastify' +import type { FastifyRequest, FastifyReply } from 'fastify' +import { YogaServerInstance } from 'graphql-yoga' + +export default async function routes( + fastify: FastifyInstance, + { + yoga, + }: { + yoga: YogaServerInstance< + { + req: FastifyRequest + reply: FastifyReply + }, + {} + > + } +) { + fastify.route({ + url: '/graphql', + method: ['GET', 'POST', 'OPTIONS'], + handler: async (req, reply) => { + const response = await yoga.handleNodeRequest(req, { + req, + reply, + }) + response.headers.forEach((value, key) => { + reply.header(key, value) + }) + reply.status(response.status) + reply.send(response.body) + return reply + }, + }) +} diff --git a/packages/studio/backend/graphql/yoga.ts b/packages/studio/backend/graphql/yoga.ts new file mode 100644 index 000000000000..9b5981794cbc --- /dev/null +++ b/packages/studio/backend/graphql/yoga.ts @@ -0,0 +1,145 @@ +import type { FastifyRequest, FastifyReply, FastifyInstance } from 'fastify' +import { createYoga, createSchema } from 'graphql-yoga' + +import { authProvider, generateAuthHeaders } from '../services/auth' +import { studioConfig, webConfig } from '../services/config' +import { graphQLSpans, graphQLSpanCount } from '../services/graphqlSpans' +import { prismaQuerySpans } from '../services/prismaSpans' +import { traces, trace, traceCount } from '../services/span' +import { sqlSpans, sqlCount } from '../services/sqlSpans' + +export const setupYoga = (fastify: FastifyInstance) => { + const schema = createSchema<{ + req: FastifyRequest + reply: FastifyReply + }>({ + typeDefs: /* GraphQL */ ` + type Trace { + id: String + spans: [Span] + enhancements: TraceEnhancements + } + type TraceEnhancements { + features: [String] + containsError: Boolean + } + type Span { + id: String + trace: String + parent: String + name: String + kind: Int + statusCode: Int + statusMessage: String + startNano: String + endNano: String + durationNano: String + events: String # JSON + attributes: String # JSON + resources: String # JSON + } + + type PrismaQuerySpan { + id: String + trace: String + parent_id: String + parent_trace: String + name: String + method: String + model: String + prisma_name: String + start_nano: String + end_nano: String + duration_nano: String + duration_ms: String + duration_sec: String + db_statement: String + } + + type GraphQLSpan { + id: String + parent: String + name: String + field_name: String + type_name: String + start_nano: String + end_nano: String + duration_nano: String + } + + type GraphiQLConfig { + endpoint: String + authImpersonation: AuthImpersonationConfig + } + + type AuthImpersonationConfig { + authProvider: String + userId: String + email: String + roles: [String] + jwtSecret: String + } + + type StudioConfig { + inMemory: Boolean + graphiql: GraphiQLConfig + } + + type WebConfig { + graphqlEndpoint: String + } + + type AuthHeaders { + authProvider: String + cookie: String + authorization: String + } + + type Query { + traces: [Trace]! + trace(id: String!): Trace + prismaQueries(id: String!): [PrismaQuerySpan]! + authProvider: String + studioConfig: StudioConfig + webConfig: WebConfig + generateAuthHeaders(userId: String): AuthHeaders + sqlSpans: [Span]! + sqlCount: Int! + graphQLSpans: [GraphQLSpan]! + graphQLSpanCount: Int! + traceCount: Int! + } + `, + resolvers: { + Query: { + traces, + trace, + studioConfig, + webConfig, + authProvider, + generateAuthHeaders, + prismaQueries: prismaQuerySpans, + sqlSpans, + sqlCount, + traceCount, + graphQLSpans, + graphQLSpanCount, + }, + }, + }) + + const yoga = createYoga<{ + req: FastifyRequest + reply: FastifyReply + }>({ + schema, + logging: { + debug: (...args) => args.forEach((arg) => fastify.log.debug(arg)), + info: (...args) => args.forEach((arg) => fastify.log.info(arg)), + warn: (...args) => args.forEach((arg) => fastify.log.warn(arg)), + error: (...args) => args.forEach((arg) => fastify.log.error(arg)), + }, + }) + + return yoga +} diff --git a/packages/studio/backend/index.ts b/packages/studio/backend/index.ts new file mode 100644 index 000000000000..1028b80a7c75 --- /dev/null +++ b/packages/studio/backend/index.ts @@ -0,0 +1,89 @@ +import chalk from 'chalk' +import Fastify from 'fastify' +import type { FastifyInstance } from 'fastify' +import open from 'open' + +import { setupTables, setupViews } from './database' +import withApiProxy from './fastify/plugins/withApiProxy' +import reactRoutes from './fastify/react' +import spanRoutes from './fastify/spanIngester' +import yogaRoutes from './fastify/yoga' +import { setupYoga } from './graphql/yoga' +import { getWebConfig } from './lib/config' + +const HOST = 'localhost' +const PORT = 4318 + +let fastify: FastifyInstance + +export const start = async () => { + process.on('SIGTERM', async () => { + await stop() + }) + process.on('SIGINT', async () => { + await stop() + }) + process.on('beforeExit', async () => { + await stop() + }) + + // DB Setup + await setupTables() + await setupViews() + + // Fasitfy Setup + fastify = Fastify({ + logger: { + level: 'info', + timestamp: () => `,"time":"${new Date(Date.now()).toISOString()}"`, + }, + disableRequestLogging: true, + }) + + // Plugins + + // Graphql Proxy - Takes studio "/proxies/graphql" and forwards to the projects graphql endpoint + const webConfig = getWebConfig() + const graphqlEndpoint = + webConfig.apiGraphQLUrl ?? + `http://${webConfig.host}:${webConfig.port}${webConfig.apiUrl}/graphql` + fastify = await withApiProxy(fastify, { + apiHost: `http://${webConfig.host}:${webConfig.port}`, + apiUrl: `/proxies/graphql`, + // Strip the initial scheme://host:port from the graphqlEndpoint + rewritePrefix: '/' + graphqlEndpoint.split('/').slice(3).join('/'), + }) + + // GraphQL + const yogaServer = setupYoga(fastify) + + // Routes + fastify.register(spanRoutes) + fastify.register(yogaRoutes, { yoga: yogaServer }) + fastify.register(reactRoutes) + + fastify.listen({ port: PORT, host: HOST }) + fastify.ready(() => { + console.log( + `${chalk.hex('#ff845e')( + `------------------------------------------------------------------\n 🧪 ${chalk.green( + 'Experimental Feature' + )} 🧪\n------------------------------------------------------------------` + )}` + ) + console.log( + `Studio is an experimental feature, please find documentation and links to provide feedback at:\n -> https://community.redwoodjs.com/t/redwood-studio-experimental/4771` + ) + console.log( + `${chalk.hex('#ff845e')( + '------------------------------------------------------------------' + )}\n` + ) + console.log(`Studio API listening on ${HOST}:${PORT}`) + open(`http://${HOST}:${PORT}`) + }) +} + +const stop = async () => { + await fastify?.close() +} diff --git a/packages/studio/backend/lib/authProviderEncoders/dbAuthEncoder.ts b/packages/studio/backend/lib/authProviderEncoders/dbAuthEncoder.ts new file mode 100644 index 000000000000..416ec642a962 --- /dev/null +++ b/packages/studio/backend/lib/authProviderEncoders/dbAuthEncoder.ts @@ -0,0 +1,29 @@ +import CryptoJS from 'crypto-js' +import { v4 as uuidv4 } from 'uuid' + +import { SESSION_SECRET } from '../envars' + +export const getDBAuthHeader = async (userId?: string) => { + if (!userId) { + throw new Error('Require an unique id to generate session cookie') + } + + if (!SESSION_SECRET) { + throw new Error( + 'dbAuth requires a SESSION_SECRET environment variable that is used to encrypt session cookies. Use `yarn rw g secret` to create one, then add to your `.env` file. DO NOT check this variable in your version control system!!' + ) + } + + const cookie = CryptoJS.AES.encrypt( + // ids muts be integers, so can they be uuids or cuids? + // why this may not work on MongoDB? + JSON.stringify({ id: parseInt(userId) }) + ';' + uuidv4(), + SESSION_SECRET + ).toString() + + return { + authProvider: 'dbAuth', + cookie: `session=${cookie}`, + authorization: `Bearer ${userId}`, + } +} diff --git a/packages/studio/backend/lib/authProviderEncoders/netlifyAuthEncoder.ts b/packages/studio/backend/lib/authProviderEncoders/netlifyAuthEncoder.ts new file mode 100644 index 000000000000..0e6cd6aaa90c --- /dev/null +++ b/packages/studio/backend/lib/authProviderEncoders/netlifyAuthEncoder.ts @@ -0,0 +1,33 @@ +import jwt from 'jsonwebtoken' + +const getExpiryTime = () => { + return Date.now() + 3600 * 1000 +} + +export const getNetlifyAuthHeader = ( + userId?: string, + email?: string, + secret?: string +) => { + const payload = { + exp: getExpiryTime(), + sub: userId ?? 'test-user-id', + email: email ?? 'user@example.com', + app_metadata: { + provider: 'email', + }, + user_metadata: {}, + roles: [], + } + + // in dev, Netlify simply decodes as there is no access to the actual secret used to sign the JWT + if (!secret) { + throw new Error('No secret provided for Netlify auth provider') + } + const token = jwt.sign(payload, secret) + + return { + authProvider: 'netlify', + authorization: `Bearer ${token}`, + } +} diff --git a/packages/studio/backend/lib/authProviderEncoders/supabaseAuthEncoder.ts b/packages/studio/backend/lib/authProviderEncoders/supabaseAuthEncoder.ts new file mode 100644 index 000000000000..8ce443e7a550 --- /dev/null +++ b/packages/studio/backend/lib/authProviderEncoders/supabaseAuthEncoder.ts @@ -0,0 +1,33 @@ +import jwt from 'jsonwebtoken' + +import { SUPABASE_JWT_SECRET } from '../envars' + +const getExpiryTime = () => { + return Date.now() + 3600 * 1000 +} + +export const getSupabaseAuthHeader = (userId?: string, email?: string) => { + if (!SUPABASE_JWT_SECRET) { + throw new Error('SUPABASE_JWT_SECRET env var is not set.') + } + + const payload = { + aud: 'authenticated', + exp: getExpiryTime(), + sub: userId ?? 'test-user-id', + email: email ?? 'user@example.com', + app_metadata: { + provider: 'email', + }, + user_metadata: {}, + role: 'authenticated', + roles: [], + } + + const token = jwt.sign(payload, SUPABASE_JWT_SECRET) + + return { + authProvider: 'supabase', + authorization: `Bearer ${token}`, + } +} diff --git a/packages/studio/backend/lib/config.ts b/packages/studio/backend/lib/config.ts new file mode 100644 index 000000000000..dba4207c6ddf --- /dev/null +++ b/packages/studio/backend/lib/config.ts @@ -0,0 +1,30 @@ +import type { ApiConfig, StudioConfig, WebConfig } from 'backend/types' + +import { getConfig } from '@redwoodjs/project-config' + +export const getApiConfig = (): ApiConfig => { + return getConfig().api +} + +export const getWebConfig = (): WebConfig => { + const web = getConfig().web + const apiUrl = web.apiUrl + + // Construct the graphql url from apiUrl by default + // But if apiGraphQLUrl is specified, use that instead + const studioConfig = getStudioConfig() + const graphql = studioConfig.graphiql?.endpoint ?? 'graphql' + const graphqlEndpoint = + web.apiGraphQLUrl ?? `http://${web.host}:${web.port}${apiUrl}/${graphql}` + + const webConfigWithGraphQlEndpoint = { + ...getConfig().web, + graphqlEndpoint, + } + + return webConfigWithGraphQlEndpoint +} + +export const getStudioConfig = (): StudioConfig => { + return getConfig().experimental.studio +} diff --git a/packages/studio/backend/lib/envars.ts b/packages/studio/backend/lib/envars.ts new file mode 100644 index 000000000000..cf7ed04bfaab --- /dev/null +++ b/packages/studio/backend/lib/envars.ts @@ -0,0 +1,18 @@ +import fs from 'fs' +import path from 'path' + +import dotenv from 'dotenv' + +import { getPaths } from '@redwoodjs/internal' + +const getRedwoodAppEnvVars = () => { + const basePath = getPaths().base + const envPath = path.join(basePath, '.env') + const envFile = fs.readFileSync(envPath, 'utf8') + const buf = Buffer.from(envFile) + + return dotenv.parse(buf) +} + +export const SESSION_SECRET = getRedwoodAppEnvVars().SESSION_SECRET +export const SUPABASE_JWT_SECRET = getRedwoodAppEnvVars().SUPABASE_JWT_SECRET diff --git a/packages/studio/backend/services/auth.ts b/packages/studio/backend/services/auth.ts new file mode 100644 index 000000000000..bde31bad8090 --- /dev/null +++ b/packages/studio/backend/services/auth.ts @@ -0,0 +1,33 @@ +import { getDBAuthHeader } from '../lib/authProviderEncoders/dbAuthEncoder' +import { getNetlifyAuthHeader } from '../lib/authProviderEncoders/netlifyAuthEncoder' +import { getSupabaseAuthHeader } from '../lib/authProviderEncoders/supabaseAuthEncoder' +import { getStudioConfig } from '../lib/config' + +export const authProvider = async (_parent: unknown) => { + return getStudioConfig().graphiql?.authImpersonation?.authProvider +} + +export const generateAuthHeaders = async ( + _parent: unknown, + { userId }: { userId?: string } +) => { + const studioConfig = getStudioConfig() + + const provider = studioConfig.graphiql?.authImpersonation?.authProvider + const impersonateUserId = studioConfig.graphiql?.authImpersonation?.userId + const email = studioConfig.graphiql?.authImpersonation?.email + const secret = studioConfig.graphiql?.authImpersonation?.jwtSecret + + if (provider == 'dbAuth') { + return getDBAuthHeader(userId || impersonateUserId) + } + if (provider == 'netlify') { + return getNetlifyAuthHeader(userId || impersonateUserId, email, secret) + } + + if (provider == 'supabase') { + return getSupabaseAuthHeader(userId || impersonateUserId, email) + } + + return {} +} diff --git a/packages/studio/backend/services/config.ts b/packages/studio/backend/services/config.ts new file mode 100644 index 000000000000..6b751f5c245b --- /dev/null +++ b/packages/studio/backend/services/config.ts @@ -0,0 +1,15 @@ +import type { ApiConfig, StudioConfig, WebConfig } from 'backend/types' + +import { getApiConfig, getStudioConfig, getWebConfig } from '../lib/config' + +export const apiConfig = async (_parent: unknown): Promise => { + return getApiConfig() +} + +export const webConfig = async (_parent: unknown): Promise => { + return getWebConfig() +} + +export const studioConfig = async (_parent: unknown): Promise => { + return getStudioConfig() +} diff --git a/packages/studio/backend/services/graphqlSpans.ts b/packages/studio/backend/services/graphqlSpans.ts new file mode 100644 index 000000000000..6d6071926d7e --- /dev/null +++ b/packages/studio/backend/services/graphqlSpans.ts @@ -0,0 +1,21 @@ +import { getDatabase } from '../database' + +export const graphQLSpans = async (_parent: any) => { + const db = await getDatabase() + + const stmt = await db.prepare(`SELECT * FROM graphql_spans;`) + + const result = await stmt.all() + await stmt.finalize() + + return result +} + +export const graphQLSpanCount = async (_parent: any) => { + const db = await getDatabase() + const stmt = await db.prepare('SELECT COUNT(1) FROM graphql_spans;') + const result = await stmt.get() + await stmt.finalize() + + return result['COUNT(1)'] +} diff --git a/packages/studio/backend/services/prismaSpans.ts b/packages/studio/backend/services/prismaSpans.ts new file mode 100644 index 000000000000..3d1cb4e64bd5 --- /dev/null +++ b/packages/studio/backend/services/prismaSpans.ts @@ -0,0 +1,17 @@ +import { getDatabase } from '../database' + +export const prismaQuerySpans = async ( + _parent: any, + { id }: { id: string } +) => { + const db = await getDatabase() + + const stmt = await db.prepare( + 'SELECT * FROM prisma_queries WHERE trace = ? OR parent_trace = ? ORDER BY start_nano asc;' + ) + + const result = await stmt.all(id, id) + await stmt.finalize() + + return result +} diff --git a/packages/studio/backend/services/span.ts b/packages/studio/backend/services/span.ts new file mode 100644 index 000000000000..26e4963ce454 --- /dev/null +++ b/packages/studio/backend/services/span.ts @@ -0,0 +1,97 @@ +import { getDatabase } from '../database' + +export const traces = async (_parent: unknown) => { + const db = await getDatabase() + const stmt = await db.prepare('SELECT * FROM span;') + const spans = await stmt.all() + await stmt.finalize() + + const traceIds = new Set(spans.map((span) => span.trace)) + + const results: any = [] + for (const traceId of traceIds) { + const traceSpans = spans + .filter((span) => span.trace === traceId) + .map((span) => restructureSpan(span)) + + results.push({ + id: traceId, + spans: traceSpans, + enhancements: buildEnhancements(traceSpans), + }) + } + return results +} + +export const trace = async (_parent: any, { id }: { id: string }) => { + const db = await getDatabase() + const stmt = await db.prepare('SELECT * FROM span WHERE trace=?;') + const spans = await stmt.all(id) + await stmt.finalize() + + const restructuredSpans = spans.map((span) => restructureSpan(span)) + return { + id, + spans: restructuredSpans, + enhancements: buildEnhancements(restructuredSpans), + } +} + +export const traceCount = async (_parent: unknown) => { + const db = await getDatabase() + const stmt = await db.prepare( + 'SELECT COUNT(DISTINCT trace) AS trace_count FROM span;' + ) + const result = await stmt.get() + await stmt.finalize() + + return result['trace_count'] +} + +const buildEnhancements = (spans: any[]) => { + const enhancements = { + features: [] as string[], + containsError: false, + } + spans.forEach((span) => { + if (span.statusCode) { + enhancements.containsError = true + } + if (span.name.startsWith('redwoodjs:api:services')) { + enhancements.features.push('service_function') + } + const attributesKeys = Object.keys(JSON.parse(span.attributes)) + + if (attributesKeys.includes('db.statement')) { + enhancements.features.push('sql') + } + + if ( + attributesKeys.includes('graphql.resolver.fieldName') || + attributesKeys.includes('graphql.resolver.typeName') + ) { + enhancements.features.push('graphql') + } + }) + enhancements.features = Array.from(new Set(enhancements.features)) + return enhancements +} + +const restructureSpan = (span: any) => { + const restructuredSpan = { + id: span.id, + trace: span.trace, + parent: span.parent, + name: span.name, + kind: span.kind, + statusCode: span.status_code, + statusMessage: span.status_message, + startNano: span.start_nano, + endNano: span.end_nano, + durationNano: span.duration_nano, + events: span.events, + attributes: span.attributes, + resources: span.resources, + } + return restructuredSpan +} diff --git a/packages/studio/backend/services/sqlSpans.ts b/packages/studio/backend/services/sqlSpans.ts new file mode 100644 index 000000000000..44602c9f832e --- /dev/null +++ b/packages/studio/backend/services/sqlSpans.ts @@ -0,0 +1,38 @@ +import { getDatabase } from '../database' + +export const sqlSpans = async (_parent: unknown) => { + const db = await getDatabase() + const stmt = await db.prepare('SELECT * FROM sql_spans;') + const spans = await stmt.all() + await stmt.finalize() + + return spans.map((span) => restructureSpan(span)) +} + +export const sqlCount = async (_parent: unknown) => { + const db = await getDatabase() + const stmt = await db.prepare('SELECT COUNT(1) FROM sql_spans;') + const result = await stmt.get() + await stmt.finalize() + + return result['COUNT(1)'] +} + +const restructureSpan = (span: any) => { + const restructuredSpan = { + id: span.id, + trace: span.trace, + parent: span.parent, + name: span.name, + kind: span.kind, + statusCode: span.status_code, + statusMessage: span.status_message, + startNano: span.start_nano, + endNano: span.end_nano, + durationNano: span.duration_nano, + events: span.events, + attributes: span.attributes, + resources: span.resources, + } + return restructuredSpan +} diff --git a/packages/studio/backend/types.ts b/packages/studio/backend/types.ts new file mode 100644 index 000000000000..5a22bb759aea --- /dev/null +++ b/packages/studio/backend/types.ts @@ -0,0 +1,131 @@ +export interface ResourceSpan { + scopeSpans: ScopeSpan[] + resource: { + attributes: RawAttribute[] + } +} + +export interface ScopeSpan { + scope: { + name: string + } + spans: RawSpan[] +} + +export interface RawSpan { + traceId: string + spanId: string + parentSpanId: string + name: string + kind: number + startTimeUnixNano: string + endTimeUnixNano: string + attributes?: RawAttribute[] + events?: RawEvent[] + status?: { + code?: number + message?: string + } +} + +export interface RawAttribute { + key: string + value: { + stringValue?: string + intValue?: string + boolValue?: boolean + value?: any + } +} + +export interface RawEvent { + timeUnixNano: string + name: string + attributes: RawAttribute[] +} + +export interface RestructuredAttributes { + [key: string]: string | number | boolean | null +} + +export interface RestructuredEvent { + name: string + time: string + attributes: RestructuredAttributes +} + +export interface RestructuredSpan { + trace: string + id: string + parent: string + name: string + kind: number + statusCode?: number + statusMessage?: string + startNano: string + endNano: string + durationNano: string + events?: RestructuredEvent[] + attributes?: RestructuredAttributes + resourceAttributes?: RestructuredAttributes +} + +export interface ApiConfig { + title: string + name?: string + host: string + port: number + path: string + // target: TargetEnum.NODE + schemaPath: string + serverConfig: string + debugPort?: number +} + +export interface WebConfig { + title: string + name?: string + host: string + port: number + path: string + // target: TargetEnum.BROWSER + // bundler: BundlerEnum + includeEnvironmentVariables: string[] + /** + * Specify the URL to your api-server. + * This can be an absolute path proxied on the current domain (`/.netlify/functions`), + * or a fully qualified URL (`https://api.example.org:8911/functions`). + * + * Note: This should not include the path to the GraphQL Server. + **/ + apiUrl: string + /** + * Optional: FQDN or absolute path to the GraphQL serverless function, without the trailing slash. + * This will override the apiUrl configuration just for the graphql function + * Example: `./redwood/functions/graphql` or `https://api.redwoodjs.com/graphql` + */ + apiGraphQLUrl?: string + + fastRefresh: boolean + a11y: boolean + sourceMap: boolean + graphqlEndpoint?: string +} + +export interface GraphiQLStudioConfig { + endpoint?: string + authImpersonation?: AuthImpersonationConfig +} + +export interface AuthImpersonationConfig { + authProvider?: string + jwtSecret?: string + userId?: string + email?: string + roles?: string[] +} + +export interface StudioConfig { + inMemory: boolean + graphiql?: GraphiQLStudioConfig +} diff --git a/packages/studio/dist-frontend/assets/Range.es-3e45690c.js b/packages/studio/dist-frontend/assets/Range.es-3e45690c.js new file mode 100644 index 000000000000..72ae07fb3755 --- /dev/null +++ b/packages/studio/dist-frontend/assets/Range.es-3e45690c.js @@ -0,0 +1 @@ +var i=Object.defineProperty,n=(a,t)=>i(a,"name",{value:t,configurable:!0});class h{constructor(t,r){this.containsPosition=e=>this.start.line===e.line?this.start.character<=e.character:this.end.line===e.line?this.end.character>=e.character:this.start.line<=e.line&&this.end.line>=e.line,this.start=t,this.end=r}setStart(t,r){this.start=new s(t,r)}setEnd(t,r){this.end=new s(t,r)}}n(h,"Range");class s{constructor(t,r){this.lessThanOrEqualTo=e=>this.lineR(n,"name",{value:r,configurable:!0});function V(n,r){const e={schema:n,type:null,parentType:null,inputType:null,directiveDef:null,fieldDef:null,argDef:null,argDefs:null,objectFieldDefs:null};return j(r,i=>{var u,c;switch(i.kind){case"Query":case"ShortQuery":e.type=n.getQueryType();break;case"Mutation":e.type=n.getMutationType();break;case"Subscription":e.type=n.getSubscriptionType();break;case"InlineFragment":case"FragmentDefinition":i.type&&(e.type=n.getType(i.type));break;case"Field":case"AliasedField":e.fieldDef=e.type&&i.name?f(n,e.parentType,i.name):null,e.type=(u=e.fieldDef)===null||u===void 0?void 0:u.type;break;case"SelectionSet":e.parentType=e.type?l(e.type):null;break;case"Directive":e.directiveDef=i.name?n.getDirective(i.name):null;break;case"Arguments":const g=i.prevState?i.prevState.kind==="Field"?e.fieldDef:i.prevState.kind==="Directive"?e.directiveDef:i.prevState.kind==="AliasedField"?i.prevState.name&&f(n,e.parentType,i.prevState.name):null:null;e.argDefs=g?g.args:null;break;case"Argument":if(e.argDef=null,e.argDefs){for(let a=0;aa.value===i.name):null;break;case"ListValue":const y=e.inputType?k(e.inputType):null;e.inputType=y instanceof F?y.ofType:null;break;case"ObjectValue":const m=e.inputType?l(e.inputType):null;e.objectFieldDefs=m instanceof b?m.getFields():null;break;case"ObjectField":const p=i.name&&e.objectFieldDefs?e.objectFieldDefs[i.name]:null;e.inputType=p==null?void 0:p.type;break;case"NamedType":e.type=i.name?n.getType(i.name):null;break}}),e}t(V,"getTypeInfo");function f(n,r,e){if(e===D.name&&n.getQueryType()===r)return D;if(e===T.name&&n.getQueryType()===r)return T;if(e===o.name&&h(r))return o;if(r&&r.getFields)return r.getFields()[e]}t(f,"getFieldDef");function v(n,r){for(let e=0;eH(d,"name",{value:m,configurable:!0});function j(d,m){return m.forEach(function(e){e&&typeof e!="string"&&!Array.isArray(e)&&Object.keys(e).forEach(function(u){if(u!=="default"&&!(u in d)){var n=Object.getOwnPropertyDescriptor(e,u);Object.defineProperty(d,u,n.get?n:{enumerable:!0,get:function(){return e[u]}})}})}),Object.freeze(Object.defineProperty(d,Symbol.toStringTag,{value:"Module"}))}L(j,"_mergeNamespaces");var F={exports:{}};(function(d,m){(function(e){e(I.exports)})(function(e){function u(n){return function(o,a){var r=a.line,s=o.getLine(r);function c(i){for(var l,v=a.ch,p=0;;){var b=v<=0?-1:s.lastIndexOf(i[0],v-1);if(b==-1){if(p==1)break;p=1,v=s.length;continue}if(p==1&&bn.lastLine())return null;var g=n.getTokenAt(e.Pos(t,1));if(/\S/.test(g.string)||(g=n.getTokenAt(e.Pos(t,g.end+1))),g.type!="keyword"||g.string!="import")return null;for(var y=t,i=Math.min(n.lastLine(),t+10);y<=i;++y){var l=n.getLine(y),v=l.indexOf(";");if(v!=-1)return{startCh:g.end,end:e.Pos(y,v)}}}L(a,"hasImport");var r=o.line,s=a(r),c;if(!s||a(r-1)||(c=a(r-2))&&c.end.line==r-1)return null;for(var h=s.end;;){var f=a(h.line+1);if(f==null)break;h=f.end}return{from:n.clipPos(e.Pos(r,s.startCh+1)),to:h}}),e.registerHelper("fold","include",function(n,o){function a(f){if(fn.lastLine())return null;var t=n.getTokenAt(e.Pos(f,1));if(/\S/.test(t.string)||(t=n.getTokenAt(e.Pos(f,t.end+1))),t.type=="meta"&&t.string.slice(0,8)=="#include")return t.start+8}L(a,"hasInclude");var r=o.line,s=a(r);if(s==null||a(r-1)!=null)return null;for(var c=r;;){var h=a(c+1);if(h==null)break;++c}return{from:e.Pos(r,s+1),to:n.clipPos(e.Pos(c))}})})})();var S=F.exports,E=j({__proto__:null,default:S},[F.exports]);export{E as b}; diff --git a/packages/studio/dist-frontend/assets/closebrackets.es-1b039fdb.js b/packages/studio/dist-frontend/assets/closebrackets.es-1b039fdb.js new file mode 100644 index 000000000000..3690f3e52d93 --- /dev/null +++ b/packages/studio/dist-frontend/assets/closebrackets.es-1b039fdb.js @@ -0,0 +1,2 @@ +import{a as G}from"./codemirror.es-2fb7d200.js";import"./index-17331a0b.js";var H=Object.defineProperty,h=(P,y)=>H(P,"name",{value:y,configurable:!0});function D(P,y){return y.forEach(function(n){n&&typeof n!="string"&&!Array.isArray(n)&&Object.keys(n).forEach(function(d){if(d!=="default"&&!(d in P)){var o=Object.getOwnPropertyDescriptor(n,d);Object.defineProperty(P,d,o.get?o:{enumerable:!0,get:function(){return n[d]}})}})}),Object.freeze(Object.defineProperty(P,Symbol.toStringTag,{value:"Module"}))}h(D,"_mergeNamespaces");var q={exports:{}};(function(P,y){(function(n){n(G.exports)})(function(n){var d={pairs:`()[]{}''""`,closeBefore:`)]}'":;>`,triples:"",explode:"[]{}"},o=n.Pos;n.defineOption("autoCloseBrackets",!1,function(e,t,a){a&&a!=n.Init&&(e.removeKeyMap(B),e.state.closeBrackets=null),t&&(_(b(t,"pairs")),e.state.closeBrackets=t,e.addKeyMap(B))});function b(e,t){return t=="pairs"&&typeof e=="string"?e:typeof e=="object"&&e[t]!=null?e[t]:d[t]}h(b,"getOption");var B={Backspace:$,Enter:F};function _(e){for(var t=0;t=0;r--){var l=i[r].head;e.replaceRange("",o(l.line,l.ch-1),o(l.line,l.ch+1),"+delete")}}h($,"handleBackspace");function F(e){var t=x(e),a=t&&b(t,"explode");if(!a||e.getOption("disableInput"))return n.Pass;for(var i=e.listSelections(),r=0;r0?{line:l.head.line,ch:l.head.ch+t}:{line:l.head.line-1};a.push({anchor:g,head:g})}e.setSelections(a,r)}h(O,"moveSel");function K(e){var t=n.cmpPos(e.anchor,e.head)>0;return{anchor:new o(e.anchor.line,e.anchor.ch+(t?-1:1)),head:new o(e.head.line,e.head.ch+(t?1:-1))}}h(K,"contractSelection");function L(e,t){var a=x(e);if(!a||e.getOption("disableInput"))return n.Pass;var i=b(a,"pairs"),r=i.indexOf(t);if(r==-1)return n.Pass;for(var f=b(a,"closeBefore"),l=b(a,"triples"),g=i.charAt(r+1)==t,k=e.listSelections(),R=r%2==0,c,E=0;E=0&&e.getRange(s,o(s.line,s.ch+3))==t+t+t?p="skipThree":p="skip";else if(g&&s.ch>1&&l.indexOf(t)>=0&&e.getRange(o(s.line,s.ch-2),s)==t+t){if(s.ch>2&&/\bstring/.test(e.getTokenTypeAt(o(s.line,s.ch-2))))return n.Pass;p="addFour"}else if(g){var z=s.ch==0?" ":e.getRange(o(s.line,s.ch-1),s);if(!n.isWordChar(A)&&z!=t&&!n.isWordChar(z))p="both";else return n.Pass}else if(R&&(A.length===0||/\s/.test(A)||f.indexOf(A)>-1))p="both";else return n.Pass;if(!c)c=p;else if(c!=p)return n.Pass}var S=r%2?i.charAt(r-1):t,w=r%2?t:i.charAt(r+1);e.operation(function(){if(c=="skip")O(e,1);else if(c=="skipThree")O(e,3);else if(c=="surround"){for(var u=e.getSelections(),v=0;vuu(ht,"name",{value:ei,configurable:!0});function Ks(ht,ei){return ei.forEach(function(z){z&&typeof z!="string"&&!Array.isArray(z)&&Object.keys(z).forEach(function(Ne){if(Ne!=="default"&&!(Ne in ht)){var Ce=Object.getOwnPropertyDescriptor(z,Ne);Object.defineProperty(ht,Ne,Ce.get?Ce:{enumerable:!0,get:function(){return z[Ne]}})}})}),Object.freeze(Object.defineProperty(ht,Symbol.toStringTag,{value:"Module"}))}u(Ks,"_mergeNamespaces");var Al={exports:{}};(function(ht,ei){(function(z,Ne){ht.exports=Ne()})(su,function(){var z=navigator.userAgent,Ne=navigator.platform,Ce=/gecko\/\d/i.test(z),Ol=/MSIE \d/.test(z),Nl=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(z),ti=/Edge\/(\d+)/.exec(z),N=Ol||Nl||ti,I=N&&(Ol?document.documentMode||6:+(ti||Nl)[1]),oe=!ti&&/WebKit\//.test(z),_s=oe&&/Qt\/\d+\.\d+/.test(z),ri=!ti&&/Chrome\//.test(z),Te=/Opera\//.test(z),ii=/Apple Computer/.test(navigator.vendor),Xs=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(z),Ys=/PhantomJS/.test(z),hr=ii&&(/Mobile\/\w+/.test(z)||navigator.maxTouchPoints>2),ni=/Android/.test(z),dr=hr||ni||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(z),Se=hr||/Mac/.test(Ne),qs=/\bCrOS\b/.test(z),Zs=/win/i.test(Ne),dt=Te&&z.match(/Version\/(\d*\.\d*)/);dt&&(dt=Number(dt[1])),dt&&dt>=15&&(Te=!1,oe=!0);var Wl=Se&&(_s||Te&&(dt==null||dt<12.11)),gn=Ce||N&&I>=9;function ct(e){return new RegExp("(^|\\s)"+e+"(?:$|\\s)\\s*")}u(ct,"classTest");var pt=u(function(e,t){var i=e.className,r=ct(t).exec(i);if(r){var n=i.slice(r.index+r[0].length);e.className=i.slice(0,r.index)+(n?r[1]+n:"")}},"rmClass");function Be(e){for(var t=e.childNodes.length;t>0;--t)e.removeChild(e.firstChild);return e}u(Be,"removeChildren");function ve(e,t){return Be(e).appendChild(t)}u(ve,"removeChildrenAndAdd");function T(e,t,i,r){var n=document.createElement(e);if(i&&(n.className=i),r&&(n.style.cssText=r),typeof t=="string")n.appendChild(document.createTextNode(t));else if(t)for(var o=0;o=t)return l+(t-o);l+=a-o,l+=i-l%i,o=a+1}}u(me,"countColumn");var Ve=u(function(){this.id=null,this.f=null,this.time=0,this.handler=li(this.onTimeout,this)},"Delayed");Ve.prototype.onTimeout=function(e){e.id=0,e.time<=+new Date?e.f():setTimeout(e.handler,e.time-+new Date)},Ve.prototype.set=function(e,t){this.f=t;var i=+new Date+e;(!this.id||i=t)return r+Math.min(l,t-n);if(n+=o-r,n+=i-n%i,r=o+1,n>=t)return r}}u(si,"findColumn");var ui=[""];function fi(e){for(;ui.length<=e;)ui.push(W(ui)+" ");return ui[e]}u(fi,"spaceStr");function W(e){return e[e.length-1]}u(W,"lst");function vr(e,t){for(var i=[],r=0;r"€"&&(e.toUpperCase()!=e.toLowerCase()||Qs.test(e))}u(hi,"isWordCharBasic");function gr(e,t){return t?t.source.indexOf("\\w")>-1&&hi(e)?!0:t.test(e):hi(e)}u(gr,"isWordChar");function xn(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return!1;return!0}u(xn,"isEmpty");var Js=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/;function di(e){return e.charCodeAt(0)>=768&&Js.test(e)}u(di,"isExtendingChar");function Cn(e,t,i){for(;(i<0?t>0:ti?-1:1;;){if(t==i)return t;var n=(t+i)/2,o=r<0?Math.ceil(n):Math.floor(n);if(o==t)return e(o)?t:i;e(o)?i=o:t=o+r}}u(Et,"findFirst");function Fl(e,t,i,r){if(!e)return r(t,i,"ltr",0);for(var n=!1,o=0;ot||t==i&&l.to==t)&&(r(Math.max(l.from,t),Math.min(l.to,i),l.level==1?"rtl":"ltr",o),n=!0)}n||r(t,i,"ltr")}u(Fl,"iterateBidiSections");var yr=null;function It(e,t,i){var r;yr=null;for(var n=0;nt)return n;o.to==t&&(o.from!=o.to&&i=="before"?r=n:yr=n),o.from==t&&(o.from!=o.to&&i!="before"?r=n:yr=n)}return r??yr}u(It,"getBidiPartAt");var js=function(){var e="bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN",t="nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111";function i(f){return f<=247?e.charAt(f):1424<=f&&f<=1524?"R":1536<=f&&f<=1785?t.charAt(f-1536):1774<=f&&f<=2220?"r":8192<=f&&f<=8203?"w":f==8204?"b":"L"}u(i,"charType");var r=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,n=/[stwN]/,o=/[LRr]/,l=/[Lb1n]/,a=/[1n]/;function s(f,h,d){this.level=f,this.from=h,this.to=d}return u(s,"BidiSpan"),function(f,h){var d=h=="ltr"?"L":"R";if(f.length==0||h=="ltr"&&!r.test(f))return!1;for(var p=f.length,c=[],v=0;v-1&&(r[t]=n.slice(0,o).concat(n.slice(o+1)))}}}u(ge,"off");function U(e,t){var i=ci(e,t);if(i.length)for(var r=Array.prototype.slice.call(arguments,2),n=0;n0}u(be,"hasHandler");function yt(e){e.prototype.on=function(t,i){M(this,t,i)},e.prototype.off=function(t,i){ge(this,t,i)}}u(yt,"eventMixin");function le(e){e.preventDefault?e.preventDefault():e.returnValue=!1}u(le,"e_preventDefault");function wn(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0}u(wn,"e_stopPropagation");function pi(e){return e.defaultPrevented!=null?e.defaultPrevented:e.returnValue==!1}u(pi,"e_defaultPrevented");function Bt(e){le(e),wn(e)}u(Bt,"e_stop");function vi(e){return e.target||e.srcElement}u(vi,"e_target");function Ln(e){var t=e.which;return t==null&&(e.button&1?t=1:e.button&2?t=3:e.button&4&&(t=2)),Se&&e.ctrlKey&&t==1&&(t=3),t}u(Ln,"e_button");var Vs=function(){if(N&&I<9)return!1;var e=T("div");return"draggable"in e||"dragDrop"in e}(),kn;function Il(e){if(kn==null){var t=T("span","​");ve(e,T("span",[t,document.createTextNode("x")])),e.firstChild.offsetHeight!=0&&(kn=t.offsetWidth<=1&&t.offsetHeight>2&&!(N&&I<8))}var i=kn?T("span","​"):T("span"," ",null,"display: inline-block; width: 1px; margin-right: -1px");return i.setAttribute("cm-text",""),i}u(Il,"zeroWidthElement");var Tn;function Bl(e){if(Tn!=null)return Tn;var t=ve(e,document.createTextNode("AخA")),i=gt(t,0,1).getBoundingClientRect(),r=gt(t,1,2).getBoundingClientRect();return Be(e),!i||i.left==i.right?!1:Tn=r.right-i.right<3}u(Bl,"hasBadBidiRects");var Mn=` + +b`.split(/\n/).length!=3?function(e){for(var t=0,i=[],r=e.length;t<=r;){var n=e.indexOf(` +`,t);n==-1&&(n=e.length);var o=e.slice(t,e.charAt(n-1)=="\r"?n-1:n),l=o.indexOf("\r");l!=-1?(i.push(o.slice(0,l)),t+=l+1):(i.push(o),t=n+1)}return i}:function(e){return e.split(/\r\n?|\n/)},$s=window.getSelection?function(e){try{return e.selectionStart!=e.selectionEnd}catch{return!1}}:function(e){var t;try{t=e.ownerDocument.selection.createRange()}catch{}return!t||t.parentElement()!=e?!1:t.compareEndPoints("StartToEnd",t)!=0},eu=function(){var e=T("div");return"oncopy"in e?!0:(e.setAttribute("oncopy","return;"),typeof e.oncopy=="function")}(),Dn=null;function Rl(e){if(Dn!=null)return Dn;var t=ve(e,T("span","x")),i=t.getBoundingClientRect(),r=gt(t,0,1).getBoundingClientRect();return Dn=Math.abs(i.left-r.left)>1}u(Rl,"hasBadZoomedRects");var An={},Rt={};function zl(e,t){arguments.length>2&&(t.dependencies=Array.prototype.slice.call(arguments,2)),An[e]=t}u(zl,"defineMode");function Gl(e,t){Rt[e]=t}u(Gl,"defineMIME");function mr(e){if(typeof e=="string"&&Rt.hasOwnProperty(e))e=Rt[e];else if(e&&typeof e.name=="string"&&Rt.hasOwnProperty(e.name)){var t=Rt[e.name];typeof t=="string"&&(t={name:t}),e=bn(t,e),e.name=t.name}else{if(typeof e=="string"&&/^[\w\-]+\/[\w\-]+\+xml$/.test(e))return mr("application/xml");if(typeof e=="string"&&/^[\w\-]+\/[\w\-]+\+json$/.test(e))return mr("application/json")}return typeof e=="string"?{name:e}:e||{name:"null"}}u(mr,"resolveMode");function gi(e,t){t=mr(t);var i=An[t.name];if(!i)return gi(e,"text/plain");var r=i(e,t);if(zt.hasOwnProperty(t.name)){var n=zt[t.name];for(var o in n)n.hasOwnProperty(o)&&(r.hasOwnProperty(o)&&(r["_"+o]=r[o]),r[o]=n[o])}if(r.name=t.name,t.helperType&&(r.helperType=t.helperType),t.modeProps)for(var l in t.modeProps)r[l]=t.modeProps[l];return r}u(gi,"getMode");var zt={};function Ul(e,t){var i=zt.hasOwnProperty(e)?zt[e]:zt[e]={};je(t,i)}u(Ul,"extendMode");function $e(e,t){if(t===!0)return t;if(e.copyState)return e.copyState(t);var i={};for(var r in t){var n=t[r];n instanceof Array&&(n=n.concat([])),i[r]=n}return i}u($e,"copyState");function yi(e,t){for(var i;e.innerMode&&(i=e.innerMode(t),!(!i||i.mode==e));)t=i.state,e=i.mode;return i||{mode:e,state:t}}u(yi,"innerMode");function On(e,t,i){return e.startState?e.startState(t,i):!0}u(On,"startState");var _=u(function(e,t,i){this.pos=this.start=0,this.string=e,this.tabSize=t||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0,this.lineOracle=i},"StringStream");_.prototype.eol=function(){return this.pos>=this.string.length},_.prototype.sol=function(){return this.pos==this.lineStart},_.prototype.peek=function(){return this.string.charAt(this.pos)||void 0},_.prototype.next=function(){if(this.post},_.prototype.eatSpace=function(){for(var e=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e},_.prototype.skipToEnd=function(){this.pos=this.string.length},_.prototype.skipTo=function(e){var t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0},_.prototype.backUp=function(e){this.pos-=e},_.prototype.column=function(){return this.lastColumnPos0?null:(o&&t!==!1&&(this.pos+=o[0].length),o)}},_.prototype.current=function(){return this.string.slice(this.start,this.pos)},_.prototype.hideFirstChars=function(e,t){this.lineStart+=e;try{return t()}finally{this.lineStart-=e}},_.prototype.lookAhead=function(e){var t=this.lineOracle;return t&&t.lookAhead(e)},_.prototype.baseToken=function(){var e=this.lineOracle;return e&&e.baseToken(this.pos)};function w(e,t){if(t-=e.first,t<0||t>=e.size)throw new Error("There is no line "+(t+e.first)+" in the document.");for(var i=e;!i.lines;)for(var r=0;;++r){var n=i.children[r],o=n.chunkSize();if(t=e.first&&ti?y(i,w(e,i).text.length):Kl(t,w(e,t.line).text.length)}u(A,"clipPos");function Kl(e,t){var i=e.ch;return i==null||i>t?y(e.line,t):i<0?y(e.line,0):e}u(Kl,"clipToLen");function Wn(e,t){for(var i=[],r=0;rthis.maxLookAhead&&(this.maxLookAhead=e),t},Pe.prototype.baseToken=function(e){if(!this.baseTokens)return null;for(;this.baseTokens[this.baseTokenPos]<=e;)this.baseTokenPos+=2;var t=this.baseTokens[this.baseTokenPos+1];return{type:t&&t.replace(/( |^)overlay .*/,""),size:this.baseTokens[this.baseTokenPos]-e}},Pe.prototype.nextLine=function(){this.line++,this.maxLookAhead>0&&this.maxLookAhead--},Pe.fromSaved=function(e,t,i){return t instanceof Si?new Pe(e,$e(e.mode,t.state),i,t.lookAhead):new Pe(e,$e(e.mode,t),i)},Pe.prototype.save=function(e){var t=e!==!1?$e(this.doc.mode,this.state):this.state;return this.maxLookAhead>0?new Si(t,this.maxLookAhead):t};function Hn(e,t,i,r){var n=[e.state.modeGen],o={};Bn(e,t.text,e.doc.mode,i,function(f,h){return n.push(f,h)},o,r);for(var l=i.state,a=u(function(f){i.baseTokens=n;var h=e.state.overlays[f],d=1,p=0;i.state=!0,Bn(e,t.text,h.mode,i,function(c,v){for(var g=d;pc&&n.splice(d,1,c,n[d+1],m),d+=2,p=Math.min(c,m)}if(v)if(h.opaque)n.splice(g,d-g,c,"overlay "+v),d=g+2;else for(;ge.options.maxHighlightLength&&$e(e.doc.mode,r.state),o=Hn(e,t,r);n&&(r.state=n),t.stateAfter=r.save(!n),t.styles=o.styles,o.classes?t.styleClasses=o.classes:t.styleClasses&&(t.styleClasses=null),i===e.doc.highlightFrontier&&(e.doc.modeFrontier=Math.max(e.doc.modeFrontier,++e.doc.highlightFrontier))}return t.styles}u(Pn,"getLineStyles");function Ut(e,t,i){var r=e.doc,n=e.display;if(!r.mode.startState)return new Pe(r,!0,t);var o=Xl(e,t,i),l=o>r.first&&w(r,o-1).stateAfter,a=l?Pe.fromSaved(r,l,o):new Pe(r,On(r.mode),o);return r.iter(o,t,function(s){wi(e,s.text,a);var f=a.line;s.stateAfter=f==t-1||f%5==0||f>=n.viewFrom&&ft.start)return o}throw new Error("Mode "+e.name+" failed to advance stream.")}u(Li,"readToken");var _l=u(function(e,t,i){this.start=e.start,this.end=e.pos,this.string=e.current(),this.type=t||null,this.state=i},"Token");function En(e,t,i,r){var n=e.doc,o=n.mode,l;t=A(n,t);var a=w(n,t.line),s=Ut(e,t.line,i),f=new _(a.text,e.options.tabSize,s),h;for(r&&(h=[]);(r||f.pose.options.maxHighlightLength?(a=!1,l&&wi(e,t,r,h.pos),h.pos=t.length,d=null):d=In(Li(i,h,r.state,p),o),p){var c=p[0].name;c&&(d="m-"+(d?c+" "+d:c))}if(!a||f!=d){for(;sl;--a){if(a<=o.first)return o.first;var s=w(o,a-1),f=s.stateAfter;if(f&&(!i||a+(f instanceof Si?f.lookAhead:0)<=o.modeFrontier))return a;var h=me(s.text,null,e.options.tabSize);(n==null||r>h)&&(n=a-1,r=h)}return n}u(Xl,"findStartLine");function Yl(e,t){if(e.modeFrontier=Math.min(e.modeFrontier,t),!(e.highlightFrontieri;r--){var n=w(e,r).stateAfter;if(n&&(!(n instanceof Si)||r+n.lookAhead=t:o.to>t);(r||(r=[])).push(new Cr(l,o.from,s?null:o.to))}}return r}u(Vl,"markedSpansBefore");function $l(e,t,i){var r;if(e)for(var n=0;n=t:o.to>t);if(a||o.from==t&&l.type=="bookmark"&&(!i||o.marker.insertLeft)){var s=o.from==null||(l.inclusiveLeft?o.from<=t:o.from0&&a)for(var S=0;S0)){var h=[s,1],d=D(f.from,a.from),p=D(f.to,a.to);(d<0||!l.inclusiveLeft&&!d)&&h.push({from:f.from,to:a.from}),(p>0||!l.inclusiveRight&&!p)&&h.push({from:a.to,to:f.to}),n.splice.apply(n,h),s+=h.length-3}}return n}u(ea,"removeReadOnlyRanges");function zn(e){var t=e.markedSpans;if(t){for(var i=0;it)&&(!r||Ti(r,o.marker)<0)&&(r=o.marker)}return r}u(ta,"collapsedSpanAround");function _n(e,t,i,r,n){var o=w(e,t),l=ze&&o.markedSpans;if(l)for(var a=0;a=0&&d<=0||h<=0&&d>=0)&&(h<=0&&(s.marker.inclusiveRight&&n.inclusiveLeft?D(f.to,i)>=0:D(f.to,i)>0)||h>=0&&(s.marker.inclusiveRight&&n.inclusiveLeft?D(f.from,r)<=0:D(f.from,r)<0)))return!0}}}u(_n,"conflictingCollapsedRange");function we(e){for(var t;t=Kn(e);)e=t.find(-1,!0).line;return e}u(we,"visualLine");function ra(e){for(var t;t=Lr(e);)e=t.find(1,!0).line;return e}u(ra,"visualLineEnd");function ia(e){for(var t,i;t=Lr(e);)e=t.find(1,!0).line,(i||(i=[])).push(e);return i}u(ia,"visualLineContinued");function Mi(e,t){var i=w(e,t),r=we(i);return i==r?t:P(r)}u(Mi,"visualLineNo");function Xn(e,t){if(t>e.lastLine())return t;var i=w(e,t),r;if(!Ge(e,i))return t;for(;r=Lr(i);)i=r.find(1,!0).line;return P(i)+1}u(Xn,"visualLineEndNo");function Ge(e,t){var i=ze&&t.markedSpans;if(i){for(var r=void 0,n=0;nt.maxLineLength&&(t.maxLineLength=n,t.maxLine=r)})}u(Ai,"findMaxLine");var _t=u(function(e,t,i){this.text=e,Gn(this,t),this.height=i?i(this):1},"Line");_t.prototype.lineNo=function(){return P(this)},yt(_t);function na(e,t,i,r){e.text=t,e.stateAfter&&(e.stateAfter=null),e.styles&&(e.styles=null),e.order!=null&&(e.order=null),zn(e),Gn(e,i);var n=r?r(e):1;n!=e.height&&Me(e,n)}u(na,"updateLine");function oa(e){e.parent=null,zn(e)}u(oa,"cleanUpLine");var tu={},ru={};function Yn(e,t){if(!e||/^\s*$/.test(e))return null;var i=t.addModeClass?ru:tu;return i[e]||(i[e]=e.replace(/\S+/g,"cm-$&"))}u(Yn,"interpretTokenStyle");function qn(e,t){var i=vt("span",null,null,oe?"padding-right: .1px":null),r={pre:vt("pre",[i],"CodeMirror-line"),content:i,col:0,pos:0,cm:e,trailingSpace:!1,splitSpaces:e.getOption("lineWrapping")};t.measure={};for(var n=0;n<=(t.rest?t.rest.length:0);n++){var o=n?t.rest[n-1]:t.line,l=void 0;r.pos=0,r.addToken=aa,Bl(e.display.measure)&&(l=He(o,e.doc.direction))&&(r.addToken=ua(r.addToken,l)),r.map=[];var a=t!=e.display.externalMeasured&&P(o);fa(o,r,Pn(e,o,a)),o.styleClasses&&(o.styleClasses.bgClass&&(r.bgClass=oi(o.styleClasses.bgClass,r.bgClass||"")),o.styleClasses.textClass&&(r.textClass=oi(o.styleClasses.textClass,r.textClass||""))),r.map.length==0&&r.map.push(0,0,r.content.appendChild(Il(e.display.measure))),n==0?(t.measure.map=r.map,t.measure.cache={}):((t.measure.maps||(t.measure.maps=[])).push(r.map),(t.measure.caches||(t.measure.caches=[])).push({}))}if(oe){var s=r.content.lastChild;(/\bcm-tab\b/.test(s.className)||s.querySelector&&s.querySelector(".cm-tab"))&&(r.content.className="cm-tab-wrap-hack")}return U(e,"renderLine",e,t.line,r.pre),r.pre.className&&(r.textClass=oi(r.pre.className,r.textClass||"")),r}u(qn,"buildLineContent");function la(e){var t=T("span","•","cm-invalidchar");return t.title="\\u"+e.charCodeAt(0).toString(16),t.setAttribute("aria-label",t.title),t}u(la,"defaultSpecialCharPlaceholder");function aa(e,t,i,r,n,o,l){if(t){var a=e.splitSpaces?sa(t,e.trailingSpace):t,s=e.cm.state.specialChars,f=!1,h;if(!s.test(t))e.col+=t.length,h=document.createTextNode(a),e.map.push(e.pos,e.pos+t.length,h),N&&I<9&&(f=!0),e.pos+=t.length;else{h=document.createDocumentFragment();for(var d=0;;){s.lastIndex=d;var p=s.exec(t),c=p?p.index-d:t.length-d;if(c){var v=document.createTextNode(a.slice(d,d+c));N&&I<9?h.appendChild(T("span",[v])):h.appendChild(v),e.map.push(e.pos,e.pos+c,v),e.col+=c,e.pos+=c}if(!p)break;d+=c+1;var g=void 0;if(p[0]==" "){var m=e.cm.options.tabSize,b=m-e.col%m;g=h.appendChild(T("span",fi(b),"cm-tab")),g.setAttribute("role","presentation"),g.setAttribute("cm-text"," "),e.col+=b}else p[0]=="\r"||p[0]==` +`?(g=h.appendChild(T("span",p[0]=="\r"?"␍":"␤","cm-invalidchar")),g.setAttribute("cm-text",p[0]),e.col+=1):(g=e.cm.options.specialCharPlaceholder(p[0]),g.setAttribute("cm-text",p[0]),N&&I<9?h.appendChild(T("span",[g])):h.appendChild(g),e.col+=1);e.map.push(e.pos,e.pos+1,g),e.pos++}}if(e.trailingSpace=a.charCodeAt(t.length-1)==32,i||r||n||f||o||l){var C=i||"";r&&(C+=r),n&&(C+=n);var x=T("span",[h],C,o);if(l)for(var S in l)l.hasOwnProperty(S)&&S!="style"&&S!="class"&&x.setAttribute(S,l[S]);return e.content.appendChild(x)}e.content.appendChild(h)}}u(aa,"buildToken");function sa(e,t){if(e.length>1&&!/ /.test(e))return e;for(var i=t,r="",n=0;nf&&d.from<=f));p++);if(d.to>=h)return e(i,r,n,o,l,a,s);e(i,r.slice(0,d.to-f),n,o,null,a,s),o=null,r=r.slice(d.to-f),f=d.to}}}u(ua,"buildTokenBadBidi");function Zn(e,t,i,r){var n=!r&&i.widgetNode;n&&e.map.push(e.pos,e.pos+t,n),!r&&e.cm.display.input.needsContentAttribute&&(n||(n=e.content.appendChild(document.createElement("span"))),n.setAttribute("cm-marker",i.id)),n&&(e.cm.display.input.setUneditable(n),e.content.appendChild(n)),e.pos+=t,e.trailingSpace=!1}u(Zn,"buildCollapsedSpan");function fa(e,t,i){var r=e.markedSpans,n=e.text,o=0;if(!r){for(var l=1;ls||O.collapsed&&L.to==s&&L.from==s)){if(L.to!=null&&L.to!=s&&c>L.to&&(c=L.to,g=""),O.className&&(v+=" "+O.className),O.css&&(p=(p?p+";":"")+O.css),O.startStyle&&L.from==s&&(m+=" "+O.startStyle),O.endStyle&&L.to==c&&(S||(S=[])).push(O.endStyle,L.to),O.title&&((C||(C={})).title=O.title),O.attributes)for(var E in O.attributes)(C||(C={}))[E]=O.attributes[E];O.collapsed&&(!b||Ti(b.marker,O)<0)&&(b=L)}else L.from>s&&c>L.from&&(c=L.from)}if(S)for(var V=0;V=a)break;for(var he=Math.min(a,c);;){if(h){var de=s+h.length;if(!b){var X=de>he?h.slice(0,he-s):h;t.addToken(t,X,d?d+v:v,m,s+X.length==c?g:"",p,C)}if(de>=he){h=h.slice(he-s),s=he;break}s=de,m=""}h=n.slice(o,o=i[f++]),d=Yn(i[f++],t.cm.options)}}}u(fa,"insertLineContent");function Qn(e,t,i){this.line=t,this.rest=ia(t),this.size=this.rest?P(W(this.rest))-i+1:1,this.node=this.text=null,this.hidden=Ge(e,t)}u(Qn,"LineView");function Tr(e,t,i){for(var r=[],n,o=t;o2&&o.push((s.bottom+f.top)/2-i.top)}}o.push(i.bottom-i.top)}}u(xa,"ensureLineHeights");function ro(e,t,i){if(e.line==t)return{map:e.measure.map,cache:e.measure.cache};if(e.rest){for(var r=0;ri)return{map:e.measure.maps[n],cache:e.measure.caches[n],before:!0}}}u(ro,"mapFromLineView");function Ca(e,t){t=we(t);var i=P(t),r=e.display.externalMeasured=new Qn(e.doc,t,i);r.lineN=i;var n=r.built=qn(e,r);return r.text=n.pre,ve(e.display.lineMeasure,n.pre),r}u(Ca,"updateExternalMeasurement");function io(e,t,i,r){return Ae(e,mt(e,t),i,r)}u(io,"measureChar");function Hi(e,t){if(t>=e.display.viewFrom&&t=i.lineN&&tt)&&(o=s-a,n=o-1,t>=s&&(l="right")),n!=null){if(r=e[f+2],a==s&&i==(r.insertLeft?"left":"right")&&(l=i),i=="left"&&n==0)for(;f&&e[f-2]==e[f-3]&&e[f-1].insertLeft;)r=e[(f-=3)+2],l="left";if(i=="right"&&n==s-a)for(;f=0&&(i=e[n]).left==i.right;n--);return i}u(wa,"getUsefulRect");function La(e,t,i,r){var n=no(t.map,i,r),o=n.node,l=n.start,a=n.end,s=n.collapse,f;if(o.nodeType==3){for(var h=0;h<4;h++){for(;l&&di(t.line.text.charAt(n.coverStart+l));)--l;for(;n.coverStart+a0&&(s=r="right");var d;e.options.lineWrapping&&(d=o.getClientRects()).length>1?f=d[r=="right"?d.length-1:0]:f=o.getBoundingClientRect()}if(N&&I<9&&!l&&(!f||!f.left&&!f.right)){var p=o.parentNode.getClientRects()[0];p?f={left:p.left,right:p.left+Ct(e.display),top:p.top,bottom:p.bottom}:f=Sa}for(var c=f.top-t.rect.top,v=f.bottom-t.rect.top,g=(c+v)/2,m=t.view.measure.heights,b=0;b=r.text.length?(s=r.text.length,f="before"):s<=0&&(s=0,f="after"),!a)return l(f=="before"?s-1:s,f=="before");function h(v,g,m){var b=a[g],C=b.level==1;return l(m?v-1:v,C!=m)}u(h,"getBidi");var d=It(a,s,f),p=yr,c=h(s,d,f=="before");return p!=null&&(c.other=h(s,p,f!="before")),c}u(Le,"cursorCoords");function fo(e,t){var i=0;t=A(e.doc,t),e.options.lineWrapping||(i=Ct(e.display)*t.ch);var r=w(e.doc,t.line),n=Fe(r)+Dr(e.display);return{left:i,right:i,top:n,bottom:n+r.height}}u(fo,"estimateCoords");function Fi(e,t,i,r,n){var o=y(e,t,i);return o.xRel=n,r&&(o.outside=r),o}u(Fi,"PosWithInfo");function Ei(e,t,i){var r=e.doc;if(i+=e.display.viewOffset,i<0)return Fi(r.first,0,null,-1,-1);var n=tt(r,i),o=r.first+r.size-1;if(n>o)return Fi(r.first+r.size-1,w(r,o).text.length,null,1,1);t<0&&(t=0);for(var l=w(r,n);;){var a=Ta(e,l,n,t,i),s=ta(l,a.ch+(a.xRel>0||a.outside>0?1:0));if(!s)return a;var f=s.find(1);if(f.line==n)return f;l=w(r,n=f.line)}}u(Ei,"coordsChar");function ho(e,t,i,r){r-=Pi(t);var n=t.text.length,o=Et(function(l){return Ae(e,i,l-1).bottom<=r},n,0);return n=Et(function(l){return Ae(e,i,l).top>r},o,n),{begin:o,end:n}}u(ho,"wrappedLineExtent");function co(e,t,i,r){i||(i=mt(e,t));var n=Ar(e,t,Ae(e,i,r),"line").top;return ho(e,t,i,n)}u(co,"wrappedLineExtentChar");function Ii(e,t,i,r){return e.bottom<=i?!1:e.top>i?!0:(r?e.left:e.right)>t}u(Ii,"boxIsAfter");function Ta(e,t,i,r,n){n-=Fe(t);var o=mt(e,t),l=Pi(t),a=0,s=t.text.length,f=!0,h=He(t,e.doc.direction);if(h){var d=(e.options.lineWrapping?Da:Ma)(e,t,i,o,h,r,n);f=d.level!=1,a=f?d.from:d.to-1,s=f?d.to:d.from-1}var p=null,c=null,v=Et(function(k){var L=Ae(e,o,k);return L.top+=l,L.bottom+=l,Ii(L,r,n,!1)?(L.top<=n&&L.left<=r&&(p=k,c=L),!0):!1},a,s),g,m,b=!1;if(c){var C=r-c.left=S.bottom?1:0}return v=Cn(t.text,v,1),Fi(i,v,m,b,r-g)}u(Ta,"coordsCharInner");function Ma(e,t,i,r,n,o,l){var a=Et(function(d){var p=n[d],c=p.level!=1;return Ii(Le(e,y(i,c?p.to:p.from,c?"before":"after"),"line",t,r),o,l,!0)},0,n.length-1),s=n[a];if(a>0){var f=s.level!=1,h=Le(e,y(i,f?s.from:s.to,f?"after":"before"),"line",t,r);Ii(h,o,l,!0)&&h.top>l&&(s=n[a-1])}return s}u(Ma,"coordsBidiPart");function Da(e,t,i,r,n,o,l){var a=ho(e,t,r,l),s=a.begin,f=a.end;/\s/.test(t.text.charAt(f-1))&&f--;for(var h=null,d=null,p=0;p=f||c.to<=s)){var v=c.level!=1,g=Ae(e,r,v?Math.min(f,c.to)-1:Math.max(s,c.from)).right,m=gm)&&(h=c,d=m)}}return h||(h=n[n.length-1]),h.fromf&&(h={from:h.from,to:f,level:h.level}),h}u(Da,"coordsBidiPartWrapped");var bt;function xt(e){if(e.cachedTextHeight!=null)return e.cachedTextHeight;if(bt==null){bt=T("pre",null,"CodeMirror-line-like");for(var t=0;t<49;++t)bt.appendChild(document.createTextNode("x")),bt.appendChild(T("br"));bt.appendChild(document.createTextNode("x"))}ve(e.measure,bt);var i=bt.offsetHeight/50;return i>3&&(e.cachedTextHeight=i),Be(e.measure),i||1}u(xt,"textHeight");function Ct(e){if(e.cachedCharWidth!=null)return e.cachedCharWidth;var t=T("span","xxxxxxxxxx"),i=T("pre",[t],"CodeMirror-line-like");ve(e.measure,i);var r=t.getBoundingClientRect(),n=(r.right-r.left)/10;return n>2&&(e.cachedCharWidth=n),n||10}u(Ct,"charWidth");function Bi(e){for(var t=e.display,i={},r={},n=t.gutters.clientLeft,o=t.gutters.firstChild,l=0;o;o=o.nextSibling,++l){var a=e.display.gutterSpecs[l].className;i[a]=o.offsetLeft+o.clientLeft+n,r[a]=o.clientWidth}return{fixedPos:Ri(t),gutterTotalWidth:t.gutters.offsetWidth,gutterLeft:i,gutterWidth:r,wrapperWidth:t.wrapper.clientWidth}}u(Bi,"getDimensions");function Ri(e){return e.scroller.getBoundingClientRect().left-e.sizer.getBoundingClientRect().left}u(Ri,"compensateForHScroll");function po(e){var t=xt(e.display),i=e.options.lineWrapping,r=i&&Math.max(5,e.display.scroller.clientWidth/Ct(e.display)-3);return function(n){if(Ge(e.doc,n))return 0;var o=0;if(n.widgets)for(var l=0;l0&&(f=w(e.doc,s.line).text).length==s.ch){var h=me(f,f.length,e.options.tabSize)-f.length;s=y(s.line,Math.max(0,Math.round((o-to(e.display).left)/Ct(e.display))-h))}return s}u(it,"posFromMouse");function nt(e,t){if(t>=e.display.viewTo||(t-=e.display.viewFrom,t<0))return null;for(var i=e.display.view,r=0;rt)&&(n.updateLineNumbers=t),e.curOp.viewChanged=!0,t>=n.viewTo)ze&&Mi(e.doc,t)n.viewFrom?Ke(e):(n.viewFrom+=r,n.viewTo+=r);else if(t<=n.viewFrom&&i>=n.viewTo)Ke(e);else if(t<=n.viewFrom){var o=Nr(e,i,i+r,1);o?(n.view=n.view.slice(o.index),n.viewFrom=o.lineN,n.viewTo+=r):Ke(e)}else if(i>=n.viewTo){var l=Nr(e,t,t,-1);l?(n.view=n.view.slice(0,l.index),n.viewTo=l.lineN):Ke(e)}else{var a=Nr(e,t,t,-1),s=Nr(e,i,i+r,1);a&&s?(n.view=n.view.slice(0,a.index).concat(Tr(e,a.lineN,s.lineN)).concat(n.view.slice(s.index)),n.viewTo+=r):Ke(e)}var f=n.externalMeasured;f&&(i=n.lineN&&t=r.viewTo)){var o=r.view[nt(e,t)];if(o.node!=null){var l=o.changes||(o.changes=[]);ee(l,i)==-1&&l.push(i)}}}u(Ue,"regLineChange");function Ke(e){e.display.viewFrom=e.display.viewTo=e.doc.first,e.display.view=[],e.display.viewOffset=0}u(Ke,"resetView");function Nr(e,t,i,r){var n=nt(e,t),o,l=e.display.view;if(!ze||i==e.doc.first+e.doc.size)return{index:n,lineN:i};for(var a=e.display.viewFrom,s=0;s0){if(n==l.length-1)return null;o=a+l[n].size-t,n++}else o=a-t;t+=o,i+=o}for(;Mi(e.doc,i)!=i;){if(n==(r<0?0:l.length-1))return null;i+=r*l[n-(r<0?1:0)].size,n+=r}return{index:n,lineN:i}}u(Nr,"viewCuttingPoint");function Aa(e,t,i){var r=e.display,n=r.view;n.length==0||t>=r.viewTo||i<=r.viewFrom?(r.view=Tr(e,t,i),r.viewFrom=t):(r.viewFrom>t?r.view=Tr(e,t,r.viewFrom).concat(r.view):r.viewFromi&&(r.view=r.view.slice(0,nt(e,i)))),r.viewTo=i}u(Aa,"adjustView");function vo(e){for(var t=e.display.view,i=0,r=0;r=e.display.viewTo||s.to().line0?l:e.defaultCharWidth())+"px"}if(r.other){var a=i.appendChild(T("div"," ","CodeMirror-cursor CodeMirror-secondarycursor"));a.style.display="",a.style.left=r.other.left+"px",a.style.top=r.other.top+"px",a.style.height=(r.other.bottom-r.other.top)*.85+"px"}}u(Gi,"drawSelectionCursor");function Wr(e,t){return e.top-t.top||e.left-t.left}u(Wr,"cmpCoords");function Oa(e,t,i){var r=e.display,n=e.doc,o=document.createDocumentFragment(),l=to(e.display),a=l.left,s=Math.max(r.sizerWidth,rt(e)-r.sizer.offsetLeft)-l.right,f=n.direction=="ltr";function h(x,S,k,L){S<0&&(S=0),S=Math.round(S),L=Math.round(L),o.appendChild(T("div",null,"CodeMirror-selected","position: absolute; left: "+x+`px; + top: `+S+"px; width: "+(k??s-x)+`px; + height: `+(L-S)+"px"))}u(h,"add");function d(x,S,k){var L=w(n,x),O=L.text.length,E,V;function R(X,ce){return Or(e,y(x,X),"div",L,ce)}u(R,"coords");function he(X,ce,re){var j=co(e,L,null,X),Y=ce=="ltr"==(re=="after")?"left":"right",G=re=="after"?j.begin:j.end-(/\s/.test(L.text.charAt(j.end-1))?2:1);return R(G,Y)[Y]}u(he,"wrapX");var de=He(L,n.direction);return Fl(de,S||0,k??O,function(X,ce,re,j){var Y=re=="ltr",G=R(X,Y?"left":"right"),pe=R(ce-1,Y?"right":"left"),ur=S==null&&X==0,ft=k==null&&ce==O,ne=j==0,Ie=!de||j==de.length-1;if(pe.top-G.top<=3){var $=(f?ur:ft)&&ne,Ml=(f?ft:ur)&&Ie,Qe=$?a:(Y?G:pe).left,Pt=Ml?s:(Y?pe:G).right;h(Qe,G.top,Pt-Qe,G.bottom)}else{var Ft,se,fr,Dl;Y?(Ft=f&&ur&&ne?a:G.left,se=f?s:he(X,re,"before"),fr=f?a:he(ce,re,"after"),Dl=f&&ft&&Ie?s:pe.right):(Ft=f?he(X,re,"before"):a,se=!f&&ur&&ne?s:G.right,fr=!f&&ft&&Ie?a:pe.left,Dl=f?he(ce,re,"after"):s),h(Ft,G.top,se-Ft,G.bottom),G.bottom0?t.blinker=setInterval(function(){e.hasFocus()||St(e),t.cursorDiv.style.visibility=(i=!i)?"":"hidden"},e.options.cursorBlinkRate):e.options.cursorBlinkRate<0&&(t.cursorDiv.style.visibility="hidden")}}u(Ui,"restartBlink");function yo(e){e.hasFocus()||(e.display.input.focus(),e.state.focused||_i(e))}u(yo,"ensureFocus");function Ki(e){e.state.delayingBlurEvent=!0,setTimeout(function(){e.state.delayingBlurEvent&&(e.state.delayingBlurEvent=!1,e.state.focused&&St(e))},100)}u(Ki,"delayBlurEvent");function _i(e,t){e.state.delayingBlurEvent&&!e.state.draggingText&&(e.state.delayingBlurEvent=!1),e.options.readOnly!="nocursor"&&(e.state.focused||(U(e,"focus",e,t),e.state.focused=!0,Je(e.display.wrapper,"CodeMirror-focused"),!e.curOp&&e.display.selForContextMenu!=e.doc.sel&&(e.display.input.reset(),oe&&setTimeout(function(){return e.display.input.reset(!0)},20)),e.display.input.receivedFocus()),Ui(e))}u(_i,"onFocus");function St(e,t){e.state.delayingBlurEvent||(e.state.focused&&(U(e,"blur",e,t),e.state.focused=!1,pt(e.display.wrapper,"CodeMirror-focused")),clearInterval(e.display.blinker),setTimeout(function(){e.state.focused||(e.display.shift=!1)},150))}u(St,"onBlur");function Hr(e){for(var t=e.display,i=t.lineDiv.offsetTop,r=Math.max(0,t.scroller.getBoundingClientRect().top),n=t.lineDiv.getBoundingClientRect().top,o=0,l=0;l.005||c<-.005)&&(ne.display.sizerWidth){var g=Math.ceil(h/Ct(e.display));g>e.display.maxLineLength&&(e.display.maxLineLength=g,e.display.maxLine=a.line,e.display.maxLineChanged=!0)}}}Math.abs(o)>2&&(t.scroller.scrollTop+=o)}u(Hr,"updateHeightsInViewport");function mo(e){if(e.widgets)for(var t=0;t=l&&(o=tt(t,Fe(w(t,s))-e.wrapper.clientHeight),l=s)}return{from:o,to:Math.max(l,o+1)}}u(Pr,"visibleLines");function Na(e,t){if(!q(e,"scrollCursorIntoView")){var i=e.display,r=i.sizer.getBoundingClientRect(),n=null;if(t.top+r.top<0?n=!0:t.bottom+r.top>(window.innerHeight||document.documentElement.clientHeight)&&(n=!1),n!=null&&!Ys){var o=T("div","​",null,`position: absolute; + top: `+(t.top-i.viewOffset-Dr(e.display))+`px; + height: `+(t.bottom-t.top+De(e)+i.barHeight)+`px; + left: `+t.left+"px; width: "+Math.max(2,t.right-t.left)+"px;");e.display.lineSpace.appendChild(o),o.scrollIntoView(n),e.display.lineSpace.removeChild(o)}}}u(Na,"maybeScrollWindow");function Wa(e,t,i,r){r==null&&(r=0);var n;!e.options.lineWrapping&&t==i&&(i=t.sticky=="before"?y(t.line,t.ch+1,"before"):t,t=t.ch?y(t.line,t.sticky=="before"?t.ch-1:t.ch,"after"):t);for(var o=0;o<5;o++){var l=!1,a=Le(e,t),s=!i||i==t?a:Le(e,i);n={left:Math.min(a.left,s.left),top:Math.min(a.top,s.top)-r,right:Math.max(a.left,s.left),bottom:Math.max(a.bottom,s.bottom)+r};var f=Xi(e,n),h=e.doc.scrollTop,d=e.doc.scrollLeft;if(f.scrollTop!=null&&(jt(e,f.scrollTop),Math.abs(e.doc.scrollTop-h)>1&&(l=!0)),f.scrollLeft!=null&&(ot(e,f.scrollLeft),Math.abs(e.doc.scrollLeft-d)>1&&(l=!0)),!l)break}return n}u(Wa,"scrollPosIntoView");function Ha(e,t){var i=Xi(e,t);i.scrollTop!=null&&jt(e,i.scrollTop),i.scrollLeft!=null&&ot(e,i.scrollLeft)}u(Ha,"scrollIntoView");function Xi(e,t){var i=e.display,r=xt(e.display);t.top<0&&(t.top=0);var n=e.curOp&&e.curOp.scrollTop!=null?e.curOp.scrollTop:i.scroller.scrollTop,o=Wi(e),l={};t.bottom-t.top>o&&(t.bottom=t.top+o);var a=e.doc.height+Ni(i),s=t.topa-r;if(t.topn+o){var h=Math.min(t.top,(f?a:t.bottom)-o);h!=n&&(l.scrollTop=h)}var d=e.options.fixedGutter?0:i.gutters.offsetWidth,p=e.curOp&&e.curOp.scrollLeft!=null?e.curOp.scrollLeft:i.scroller.scrollLeft-d,c=rt(e)-i.gutters.offsetWidth,v=t.right-t.left>c;return v&&(t.right=t.left+c),t.left<10?l.scrollLeft=0:t.leftc+p-3&&(l.scrollLeft=t.right+(v?0:10)-c),l}u(Xi,"calculateScrollPos");function Yi(e,t){t!=null&&(Fr(e),e.curOp.scrollTop=(e.curOp.scrollTop==null?e.doc.scrollTop:e.curOp.scrollTop)+t)}u(Yi,"addToScrollTop");function wt(e){Fr(e);var t=e.getCursor();e.curOp.scrollToPos={from:t,to:t,margin:e.options.cursorScrollMargin}}u(wt,"ensureCursorVisible");function Jt(e,t,i){(t!=null||i!=null)&&Fr(e),t!=null&&(e.curOp.scrollLeft=t),i!=null&&(e.curOp.scrollTop=i)}u(Jt,"scrollToCoords");function Pa(e,t){Fr(e),e.curOp.scrollToPos=t}u(Pa,"scrollToRange");function Fr(e){var t=e.curOp.scrollToPos;if(t){e.curOp.scrollToPos=null;var i=fo(e,t.from),r=fo(e,t.to);bo(e,i,r,t.margin)}}u(Fr,"resolveScrollToPos");function bo(e,t,i,r){var n=Xi(e,{left:Math.min(t.left,i.left),top:Math.min(t.top,i.top)-r,right:Math.max(t.right,i.right),bottom:Math.max(t.bottom,i.bottom)+r});Jt(e,n.scrollLeft,n.scrollTop)}u(bo,"scrollToCoordsRange");function jt(e,t){Math.abs(e.doc.scrollTop-t)<2||(Ce||Qi(e,{top:t}),xo(e,t,!0),Ce&&Qi(e),$t(e,100))}u(jt,"updateScrollTop");function xo(e,t,i){t=Math.max(0,Math.min(e.display.scroller.scrollHeight-e.display.scroller.clientHeight,t)),!(e.display.scroller.scrollTop==t&&!i)&&(e.doc.scrollTop=t,e.display.scrollbars.setScrollTop(t),e.display.scroller.scrollTop!=t&&(e.display.scroller.scrollTop=t))}u(xo,"setScrollTop");function ot(e,t,i,r){t=Math.max(0,Math.min(t,e.display.scroller.scrollWidth-e.display.scroller.clientWidth)),!((i?t==e.doc.scrollLeft:Math.abs(e.doc.scrollLeft-t)<2)&&!r)&&(e.doc.scrollLeft=t,Lo(e),e.display.scroller.scrollLeft!=t&&(e.display.scroller.scrollLeft=t),e.display.scrollbars.setScrollLeft(t))}u(ot,"setScrollLeft");function Vt(e){var t=e.display,i=t.gutters.offsetWidth,r=Math.round(e.doc.height+Ni(e.display));return{clientHeight:t.scroller.clientHeight,viewHeight:t.wrapper.clientHeight,scrollWidth:t.scroller.scrollWidth,clientWidth:t.scroller.clientWidth,viewWidth:t.wrapper.clientWidth,barLeft:e.options.fixedGutter?i:0,docHeight:r,scrollHeight:r+De(e)+t.barHeight,nativeBarWidth:t.nativeBarWidth,gutterWidth:i}}u(Vt,"measureForScrollbars");var Lt=u(function(e,t,i){this.cm=i;var r=this.vert=T("div",[T("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar"),n=this.horiz=T("div",[T("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");r.tabIndex=n.tabIndex=-1,e(r),e(n),M(r,"scroll",function(){r.clientHeight&&t(r.scrollTop,"vertical")}),M(n,"scroll",function(){n.clientWidth&&t(n.scrollLeft,"horizontal")}),this.checkedZeroWidth=!1,N&&I<8&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")},"NativeScrollbars");Lt.prototype.update=function(e){var t=e.scrollWidth>e.clientWidth+1,i=e.scrollHeight>e.clientHeight+1,r=e.nativeBarWidth;if(i){this.vert.style.display="block",this.vert.style.bottom=t?r+"px":"0";var n=e.viewHeight-(t?r:0);this.vert.firstChild.style.height=Math.max(0,e.scrollHeight-e.clientHeight+n)+"px"}else this.vert.scrollTop=0,this.vert.style.display="",this.vert.firstChild.style.height="0";if(t){this.horiz.style.display="block",this.horiz.style.right=i?r+"px":"0",this.horiz.style.left=e.barLeft+"px";var o=e.viewWidth-e.barLeft-(i?r:0);this.horiz.firstChild.style.width=Math.max(0,e.scrollWidth-e.clientWidth+o)+"px"}else this.horiz.style.display="",this.horiz.firstChild.style.width="0";return!this.checkedZeroWidth&&e.clientHeight>0&&(r==0&&this.zeroWidthHack(),this.checkedZeroWidth=!0),{right:i?r:0,bottom:t?r:0}},Lt.prototype.setScrollLeft=function(e){this.horiz.scrollLeft!=e&&(this.horiz.scrollLeft=e),this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz,"horiz")},Lt.prototype.setScrollTop=function(e){this.vert.scrollTop!=e&&(this.vert.scrollTop=e),this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert,"vert")},Lt.prototype.zeroWidthHack=function(){var e=Se&&!Xs?"12px":"18px";this.horiz.style.height=this.vert.style.width=e,this.horiz.style.pointerEvents=this.vert.style.pointerEvents="none",this.disableHoriz=new Ve,this.disableVert=new Ve},Lt.prototype.enableZeroWidthBar=function(e,t,i){e.style.pointerEvents="auto";function r(){var n=e.getBoundingClientRect(),o=i=="vert"?document.elementFromPoint(n.right-1,(n.top+n.bottom)/2):document.elementFromPoint((n.right+n.left)/2,n.bottom-1);o!=e?e.style.pointerEvents="none":t.set(1e3,r)}u(r,"maybeDisable"),t.set(1e3,r)},Lt.prototype.clear=function(){var e=this.horiz.parentNode;e.removeChild(this.horiz),e.removeChild(this.vert)};var Er=u(function(){},"NullScrollbars");Er.prototype.update=function(){return{bottom:0,right:0}},Er.prototype.setScrollLeft=function(){},Er.prototype.setScrollTop=function(){},Er.prototype.clear=function(){};function kt(e,t){t||(t=Vt(e));var i=e.display.barWidth,r=e.display.barHeight;Co(e,t);for(var n=0;n<4&&i!=e.display.barWidth||r!=e.display.barHeight;n++)i!=e.display.barWidth&&e.options.lineWrapping&&Hr(e),Co(e,Vt(e)),i=e.display.barWidth,r=e.display.barHeight}u(kt,"updateScrollbars");function Co(e,t){var i=e.display,r=i.scrollbars.update(t);i.sizer.style.paddingRight=(i.barWidth=r.right)+"px",i.sizer.style.paddingBottom=(i.barHeight=r.bottom)+"px",i.heightForcer.style.borderBottom=r.bottom+"px solid transparent",r.right&&r.bottom?(i.scrollbarFiller.style.display="block",i.scrollbarFiller.style.height=r.bottom+"px",i.scrollbarFiller.style.width=r.right+"px"):i.scrollbarFiller.style.display="",r.bottom&&e.options.coverGutterNextToScrollbar&&e.options.fixedGutter?(i.gutterFiller.style.display="block",i.gutterFiller.style.height=r.bottom+"px",i.gutterFiller.style.width=t.gutterWidth+"px"):i.gutterFiller.style.display=""}u(Co,"updateScrollbarsInner");var Fa={native:Lt,null:Er};function So(e){e.display.scrollbars&&(e.display.scrollbars.clear(),e.display.scrollbars.addClass&&pt(e.display.wrapper,e.display.scrollbars.addClass)),e.display.scrollbars=new Fa[e.options.scrollbarStyle](function(t){e.display.wrapper.insertBefore(t,e.display.scrollbarFiller),M(t,"mousedown",function(){e.state.focused&&setTimeout(function(){return e.display.input.focus()},0)}),t.setAttribute("cm-not-content","true")},function(t,i){i=="horizontal"?ot(e,t):jt(e,t)},e),e.display.scrollbars.addClass&&Je(e.display.wrapper,e.display.scrollbars.addClass)}u(So,"initScrollbars");var iu=0;function lt(e){e.curOp={cm:e,viewChanged:!1,startHeight:e.doc.height,forceUpdate:!1,updateInput:0,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++iu,markArrays:null},ha(e.curOp)}u(lt,"startOperation");function at(e){var t=e.curOp;t&&ca(t,function(i){for(var r=0;r=i.viewTo)||i.maxLineChanged&&t.options.lineWrapping,e.update=e.mustUpdate&&new qi(t,e.mustUpdate&&{top:e.scrollTop,ensure:e.scrollToPos},e.forceUpdate)}u(Ia,"endOperation_R1");function Ba(e){e.updatedDisplay=e.mustUpdate&&Zi(e.cm,e.update)}u(Ba,"endOperation_W1");function Ra(e){var t=e.cm,i=t.display;e.updatedDisplay&&Hr(t),e.barMeasure=Vt(t),i.maxLineChanged&&!t.options.lineWrapping&&(e.adjustWidthTo=io(t,i.maxLine,i.maxLine.text.length).left+3,t.display.sizerWidth=e.adjustWidthTo,e.barMeasure.scrollWidth=Math.max(i.scroller.clientWidth,i.sizer.offsetLeft+e.adjustWidthTo+De(t)+t.display.barWidth),e.maxScrollLeft=Math.max(0,i.sizer.offsetLeft+e.adjustWidthTo-rt(t))),(e.updatedDisplay||e.selectionChanged)&&(e.preparedSelection=i.input.prepareSelection())}u(Ra,"endOperation_R2");function za(e){var t=e.cm;e.adjustWidthTo!=null&&(t.display.sizer.style.minWidth=e.adjustWidthTo+"px",e.maxScrollLeft=e.display.viewTo)){var i=+new Date+e.options.workTime,r=Ut(e,t.highlightFrontier),n=[];t.iter(r.line,Math.min(t.first+t.size,e.display.viewTo+500),function(o){if(r.line>=e.display.viewFrom){var l=o.styles,a=o.text.length>e.options.maxHighlightLength?$e(t.mode,r.state):null,s=Hn(e,o,r,!0);a&&(r.state=a),o.styles=s.styles;var f=o.styleClasses,h=s.classes;h?o.styleClasses=h:f&&(o.styleClasses=null);for(var d=!l||l.length!=o.styles.length||f!=h&&(!f||!h||f.bgClass!=h.bgClass||f.textClass!=h.textClass),p=0;!d&&pi)return $t(e,e.options.workDelay),!0}),t.highlightFrontier=r.line,t.modeFrontier=Math.max(t.modeFrontier,r.line),n.length&&ue(e,function(){for(var o=0;o=i.viewFrom&&t.visible.to<=i.viewTo&&(i.updateLineNumbers==null||i.updateLineNumbers>=i.viewTo)&&i.renderedView==i.view&&vo(e)==0)return!1;ko(e)&&(Ke(e),t.dims=Bi(e));var n=r.first+r.size,o=Math.max(t.visible.from-e.options.viewportMargin,r.first),l=Math.min(n,t.visible.to+e.options.viewportMargin);i.viewFroml&&i.viewTo-l<20&&(l=Math.min(n,i.viewTo)),ze&&(o=Mi(e.doc,o),l=Xn(e.doc,l));var a=o!=i.viewFrom||l!=i.viewTo||i.lastWrapHeight!=t.wrapperHeight||i.lastWrapWidth!=t.wrapperWidth;Aa(e,o,l),i.viewOffset=Fe(w(e.doc,i.viewFrom)),e.display.mover.style.top=i.viewOffset+"px";var s=vo(e);if(!a&&s==0&&!t.force&&i.renderedView==i.view&&(i.updateLineNumbers==null||i.updateLineNumbers>=i.viewTo))return!1;var f=_a(e);return s>4&&(i.lineDiv.style.display="none"),Ya(e,i.updateLineNumbers,t.dims),s>4&&(i.lineDiv.style.display=""),i.renderedView=i.view,Xa(f),Be(i.cursorDiv),Be(i.selectionDiv),i.gutters.style.height=i.sizer.style.minHeight=0,a&&(i.lastWrapHeight=t.wrapperHeight,i.lastWrapWidth=t.wrapperWidth,$t(e,400)),i.updateLineNumbers=null,!0}u(Zi,"updateDisplayIfNeeded");function wo(e,t){for(var i=t.viewport,r=!0;;r=!1){if(!r||!e.options.lineWrapping||t.oldDisplayWidth==rt(e)){if(i&&i.top!=null&&(i={top:Math.min(e.doc.height+Ni(e.display)-Wi(e),i.top)}),t.visible=Pr(e.display,e.doc,i),t.visible.from>=e.display.viewFrom&&t.visible.to<=e.display.viewTo)break}else r&&(t.visible=Pr(e.display,e.doc,i));if(!Zi(e,t))break;Hr(e);var n=Vt(e);Qt(e),kt(e,n),ji(e,n),t.force=!1}t.signal(e,"update",e),(e.display.viewFrom!=e.display.reportedViewFrom||e.display.viewTo!=e.display.reportedViewTo)&&(t.signal(e,"viewportChange",e,e.display.viewFrom,e.display.viewTo),e.display.reportedViewFrom=e.display.viewFrom,e.display.reportedViewTo=e.display.viewTo)}u(wo,"postUpdateDisplay");function Qi(e,t){var i=new qi(e,t);if(Zi(e,i)){Hr(e),wo(e,i);var r=Vt(e);Qt(e),kt(e,r),ji(e,r),i.finish()}}u(Qi,"updateDisplaySimple");function Ya(e,t,i){var r=e.display,n=e.options.lineNumbers,o=r.lineDiv,l=o.firstChild;function a(v){var g=v.nextSibling;return oe&&Se&&e.display.currentWheelTarget==v?v.style.display="none":v.parentNode.removeChild(v),g}u(a,"rm");for(var s=r.view,f=r.viewFrom,h=0;h-1&&(c=!1),Jn(e,d,f,i)),c&&(Be(d.lineNumber),d.lineNumber.appendChild(document.createTextNode(bi(e.options,f)))),l=d.node.nextSibling}f+=d.size}for(;l;)l=a(l)}u(Ya,"patchDisplay");function Ji(e){var t=e.gutters.offsetWidth;e.sizer.style.marginLeft=t+"px",Z(e,"gutterChanged",e)}u(Ji,"updateGutterSpace");function ji(e,t){e.display.sizer.style.minHeight=t.docHeight+"px",e.display.heightForcer.style.top=t.docHeight+"px",e.display.gutters.style.height=t.docHeight+e.display.barHeight+De(e)+"px"}u(ji,"setDocumentHeight");function Lo(e){var t=e.display,i=t.view;if(!(!t.alignWidgets&&(!t.gutters.firstChild||!e.options.fixedGutter))){for(var r=Ri(t)-t.scroller.scrollLeft+e.doc.scrollLeft,n=t.gutters.offsetWidth,o=r+"px",l=0;la.clientWidth,f=a.scrollHeight>a.clientHeight;if(r&&s||n&&f){if(n&&Se&&oe){e:for(var h=t.target,d=l.view;h!=a;h=h.parentNode)for(var p=0;p=0&&D(e,r.to())<=0)return i}return-1};var H=u(function(e,t){this.anchor=e,this.head=t},"Range");H.prototype.from=function(){return xr(this.anchor,this.head)},H.prototype.to=function(){return br(this.anchor,this.head)},H.prototype.empty=function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch};function ke(e,t,i){var r=e&&e.options.selectionsMayTouch,n=t[i];t.sort(function(p,c){return D(p.from(),c.from())}),i=ee(t,n);for(var o=1;o0:s>=0){var f=xr(a.from(),l.from()),h=br(a.to(),l.to()),d=a.empty()?l.from()==l.head:a.from()==a.head;o<=i&&--i,t.splice(--o,2,new H(d?h:f,d?f:h))}}return new xe(t,i)}u(ke,"normalizeSelection");function Xe(e,t){return new xe([new H(e,t||e)],0)}u(Xe,"simpleSelection");function Ye(e){return e.text?y(e.from.line+e.text.length-1,W(e.text).length+(e.text.length==1?e.from.ch:0)):e.to}u(Ye,"changeEnd");function Ao(e,t){if(D(e,t.from)<0)return e;if(D(e,t.to)<=0)return Ye(t);var i=e.line+t.text.length-(t.to.line-t.from.line)-1,r=e.ch;return e.line==t.to.line&&(r+=Ye(t).ch-t.to.ch),y(i,r)}u(Ao,"adjustForChange");function en(e,t){for(var i=[],r=0;r1&&e.remove(a.line+1,v-1),e.insert(a.line+1,b)}Z(e,"change",e,t)}u(rn,"updateDoc");function qe(e,t,i){function r(n,o,l){if(n.linked)for(var a=0;a1&&!e.done[e.done.length-2].ranges)return e.done.pop(),W(e.done)}u(ja,"lastChangeEvent");function Fo(e,t,i,r){var n=e.history;n.undone.length=0;var o=+new Date,l,a;if((n.lastOp==r||n.lastOrigin==t.origin&&t.origin&&(t.origin.charAt(0)=="+"&&n.lastModTime>o-(e.cm?e.cm.options.historyEventDelay:500)||t.origin.charAt(0)=="*"))&&(l=ja(n,n.lastOp==r)))a=W(l.changes),D(t.from,t.to)==0&&D(t.from,a.to)==0?a.to=Ye(t):l.changes.push(nn(e,t));else{var s=W(n.done);for((!s||!s.ranges)&&Br(e.sel,n.done),l={changes:[nn(e,t)],generation:n.generation},n.done.push(l);n.done.length>n.undoDepth;)n.done.shift(),n.done[0].ranges||n.done.shift()}n.done.push(i),n.generation=++n.maxGeneration,n.lastModTime=n.lastSelTime=o,n.lastOp=n.lastSelOp=r,n.lastOrigin=n.lastSelOrigin=t.origin,a||U(e,"historyAdded")}u(Fo,"addChangeToHistory");function Va(e,t,i,r){var n=t.charAt(0);return n=="*"||n=="+"&&i.ranges.length==r.ranges.length&&i.somethingSelected()==r.somethingSelected()&&new Date-e.history.lastSelTime<=(e.cm?e.cm.options.historyEventDelay:500)}u(Va,"selectionEventCanBeMerged");function $a(e,t,i,r){var n=e.history,o=r&&r.origin;i==n.lastSelOp||o&&n.lastSelOrigin==o&&(n.lastModTime==n.lastSelTime&&n.lastOrigin==o||Va(e,o,W(n.done),t))?n.done[n.done.length-1]=t:Br(t,n.done),n.lastSelTime=+new Date,n.lastSelOrigin=o,n.lastSelOp=i,r&&r.clearRedo!==!1&&Po(n.undone)}u($a,"addSelectionToHistory");function Br(e,t){var i=W(t);i&&i.ranges&&i.equals(e)||t.push(e)}u(Br,"pushSelectionToHistory");function Eo(e,t,i,r){var n=t["spans_"+e.id],o=0;e.iter(Math.max(e.first,i),Math.min(e.first+e.size,r),function(l){l.markedSpans&&((n||(n=t["spans_"+e.id]={}))[o]=l.markedSpans),++o})}u(Eo,"attachLocalSpans");function es(e){if(!e)return null;for(var t,i=0;i-1&&(W(a)[d]=f[d],delete f[d])}}return r}u(Tt,"copyHistoryArray");function on(e,t,i,r){if(r){var n=e.anchor;if(i){var o=D(t,n)<0;o!=D(i,n)<0?(n=t,t=i):o!=D(t,i)<0&&(t=i)}return new H(n,t)}else return new H(i||t,t)}u(on,"extendRange");function Rr(e,t,i,r,n){n==null&&(n=e.cm&&(e.cm.display.shift||e.extend)),te(e,new xe([on(e.sel.primary(),t,i,n)],0),r)}u(Rr,"extendSelection");function Bo(e,t,i){for(var r=[],n=e.cm&&(e.cm.display.shift||e.extend),o=0;o=t.ch:a.to>t.ch))){if(n&&(U(s,"beforeCursorEnter"),s.explicitlyCleared))if(o.markedSpans){--l;continue}else break;if(!s.atomic)continue;if(i){var d=s.find(r<0?1:-1),p=void 0;if((r<0?h:f)&&(d=_o(e,d,-r,d&&d.line==t.line?o:null)),d&&d.line==t.line&&(p=D(d,i))&&(r<0?p<0:p>0))return Mt(e,d,t,r,n)}var c=s.find(r<0?-1:1);return(r<0?f:h)&&(c=_o(e,c,r,c.line==t.line?o:null)),c?Mt(e,c,t,r,n):null}}return t}u(Mt,"skipAtomicInner");function Gr(e,t,i,r,n){var o=r||1,l=Mt(e,t,i,o,n)||!n&&Mt(e,t,i,o,!0)||Mt(e,t,i,-o,n)||!n&&Mt(e,t,i,-o,!0);return l||(e.cantEdit=!0,y(e.first,0))}u(Gr,"skipAtomic");function _o(e,t,i,r){return i<0&&t.ch==0?t.line>e.first?A(e,y(t.line-1)):null:i>0&&t.ch==(r||w(e,t.line)).text.length?t.line=0;--n)qo(e,{from:r[n].from,to:r[n].to,text:n?[""]:t.text,origin:t.origin});else qo(e,t)}}u(Dt,"makeChange");function qo(e,t){if(!(t.text.length==1&&t.text[0]==""&&D(t.from,t.to)==0)){var i=en(e,t);Fo(e,t,i,e.cm?e.cm.curOp.id:NaN),rr(e,t,i,ki(e,t));var r=[];qe(e,function(n,o){!o&&ee(r,n.history)==-1&&(jo(n.history,t),r.push(n.history)),rr(n,t,null,ki(n,t))})}}u(qo,"makeChangeInner");function Ur(e,t,i){var r=e.cm&&e.cm.state.suppressEdits;if(!(r&&!i)){for(var n=e.history,o,l=e.sel,a=t=="undo"?n.done:n.undone,s=t=="undo"?n.undone:n.done,f=0;f=0;--c){var v=p(c);if(v)return v.v}}}}u(Ur,"makeChangeFromHistory");function Zo(e,t){if(t!=0&&(e.first+=t,e.sel=new xe(vr(e.sel.ranges,function(n){return new H(y(n.anchor.line+t,n.anchor.ch),y(n.head.line+t,n.head.ch))}),e.sel.primIndex),e.cm)){ae(e.cm,e.first,e.first-t,t);for(var i=e.cm.display,r=i.viewFrom;re.lastLine())){if(t.from.lineo&&(t={from:t.from,to:y(o,w(e,o).text.length),text:[t.text[0]],origin:t.origin}),t.removed=et(e,t.from,t.to),i||(i=en(e,t)),e.cm?is(e.cm,t,r):rn(e,t,r),zr(e,i,We),e.cantEdit&&Gr(e,y(e.firstLine(),0))&&(e.cantEdit=!1)}}u(rr,"makeChangeSingleDoc");function is(e,t,i){var r=e.doc,n=e.display,o=t.from,l=t.to,a=!1,s=o.line;e.options.lineWrapping||(s=P(we(w(r,o.line))),r.iter(s,l.line+1,function(c){if(c==n.maxLine)return a=!0,!0})),r.sel.contains(t.from,t.to)>-1&&Sn(e),rn(r,t,i,po(e)),e.options.lineWrapping||(r.iter(s,o.line+t.text.length,function(c){var v=kr(c);v>n.maxLineLength&&(n.maxLine=c,n.maxLineLength=v,n.maxLineChanged=!0,a=!1)}),a&&(e.curOp.updateMaxLine=!0)),Yl(r,o.line),$t(e,400);var f=t.text.length-(l.line-o.line)-1;t.full?ae(e):o.line==l.line&&t.text.length==1&&!No(e.doc,t)?Ue(e,o.line,"text"):ae(e,o.line,l.line+1,f);var h=be(e,"changes"),d=be(e,"change");if(d||h){var p={from:o,to:l,text:t.text,removed:t.removed,origin:t.origin};d&&Z(e,"change",e,p),h&&(e.curOp.changeObjs||(e.curOp.changeObjs=[])).push(p)}e.display.selForContextMenu=null}u(is,"makeChangeSingleDocInEditor");function At(e,t,i,r,n){var o;r||(r=i),D(r,i)<0&&(o=[r,i],i=o[0],r=o[1]),typeof t=="string"&&(t=e.splitLines(t)),Dt(e,{from:i,to:r,text:t,origin:n})}u(At,"replaceRange");function Qo(e,t,i,r){i1||!(this.children[0]instanceof nr))){var a=[];this.collapse(a),this.children=[new nr(a)],this.children[0].parent=this}},collapse:function(e){for(var t=0;t50){for(var l=n.lines.length%25+25,a=l;a10);e.parent.maybeSpill()}},iterN:function(e,t,i){for(var r=0;re.display.maxLineLength&&(e.display.maxLine=f,e.display.maxLineLength=h,e.display.maxLineChanged=!0)}r!=null&&e&&this.collapsed&&ae(e,r,n+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,e&&Uo(e.doc)),e&&Z(e,"markerCleared",e,this,r,n),t&&at(e),this.parent&&this.parent.clear()}},st.prototype.find=function(e,t){e==null&&this.type=="bookmark"&&(e=1);for(var i,r,n=0;n0||l==0&&o.clearWhenEmpty!==!1)return o;if(o.replacedWith&&(o.collapsed=!0,o.widgetNode=vt("span",[o.replacedWith],"CodeMirror-widget"),r.handleMouseEvents||o.widgetNode.setAttribute("cm-ignore-events","true"),r.insertLeft&&(o.widgetNode.insertLeft=!0)),o.collapsed){if(_n(e,t.line,t,i,o)||t.line!=i.line&&_n(e,i.line,t,i,o))throw new Error("Inserting collapsed marker partially overlapping an existing one");Ql()}o.addToHistory&&Fo(e,{from:t,to:i,origin:"markText"},e.sel,NaN);var a=t.line,s=e.cm,f;if(e.iter(a,i.line+1,function(d){s&&o.collapsed&&!s.options.lineWrapping&&we(d)==s.display.maxLine&&(f=!0),o.collapsed&&a!=t.line&&Me(d,0),jl(d,new Cr(o,a==t.line?t.ch:null,a==i.line?i.ch:null),e.cm&&e.cm.curOp),++a}),o.collapsed&&e.iter(t.line,i.line+1,function(d){Ge(e,d)&&Me(d,0)}),o.clearOnEnter&&M(o,"beforeCursorEnter",function(){return o.clear()}),o.readOnly&&(Zl(),(e.history.done.length||e.history.undone.length)&&e.clearHistory()),o.collapsed&&(o.id=++os,o.atomic=!0),s){if(f&&(s.curOp.updateMaxLine=!0),o.collapsed)ae(s,t.line,i.line+1);else if(o.className||o.startStyle||o.endStyle||o.css||o.attributes||o.title)for(var h=t.line;h<=i.line;h++)Ue(s,h,"text");o.atomic&&Uo(s.doc),Z(s,"markerAdded",s,o)}return o}u(Ot,"markText");var _r=u(function(e,t){this.markers=e,this.primary=t;for(var i=0;i=0;s--)Dt(this,r[s]);a?zo(this,a):this.cm&&wt(this.cm)}),undo:J(function(){Ur(this,"undo")}),redo:J(function(){Ur(this,"redo")}),undoSelection:J(function(){Ur(this,"undo",!0)}),redoSelection:J(function(){Ur(this,"redo",!0)}),setExtending:function(e){this.extend=e},getExtending:function(){return this.extend},historySize:function(){for(var e=this.history,t=0,i=0,r=0;r=e.ch)&&t.push(n.marker.parent||n.marker)}return t},findMarks:function(e,t,i){e=A(this,e),t=A(this,t);var r=[],n=e.line;return this.iter(e.line,t.line+1,function(o){var l=o.markedSpans;if(l)for(var a=0;a=s.to||s.from==null&&n!=e.line||s.from!=null&&n==t.line&&s.from>=t.ch)&&(!i||i(s.marker))&&r.push(s.marker.parent||s.marker)}++n}),r},getAllMarks:function(){var e=[];return this.iter(function(t){var i=t.markedSpans;if(i)for(var r=0;re)return t=e,!0;e-=o,++i}),A(this,y(i,t))},indexFromPos:function(e){e=A(this,e);var t=e.ch;if(e.linet&&(t=e.from),e.to!=null&&e.to-1){t.state.draggingText(e),setTimeout(function(){return t.display.input.focus()},20);return}try{var h=e.dataTransfer.getData("Text");if(h){var d;if(t.state.draggingText&&!t.state.draggingText.copy&&(d=t.listSelections()),zr(t.doc,Xe(i,i)),d)for(var p=0;p=0;a--)At(e.doc,"",r[a].from,r[a].to,"+delete");wt(e)})}u(Wt,"deleteNearSelection");function sn(e,t,i){var r=Cn(e.text,t+i,i);return r<0||r>e.text.length?null:r}u(sn,"moveCharLogically");function un(e,t,i){var r=sn(e,t.ch,i);return r==null?null:new y(t.line,r,i<0?"after":"before")}u(un,"moveLogically");function fn(e,t,i,r,n){if(e){t.doc.direction=="rtl"&&(n=-n);var o=He(i,t.doc.direction);if(o){var l=n<0?W(o):o[0],a=n<0==(l.level==1),s=a?"after":"before",f;if(l.level>0||t.doc.direction=="rtl"){var h=mt(t,i);f=n<0?i.text.length-1:0;var d=Ae(t,h,f).top;f=Et(function(p){return Ae(t,h,p).top==d},n<0==(l.level==1)?l.from:l.to-1,f),s=="before"&&(f=sn(i,f,1))}else f=n<0?l.to:l.from;return new y(r,f,s)}}return new y(r,n<0?i.text.length:0,n<0?"before":"after")}u(fn,"endOfLine");function bs(e,t,i,r){var n=He(t,e.doc.direction);if(!n)return un(t,i,r);i.ch>=t.text.length?(i.ch=t.text.length,i.sticky="before"):i.ch<=0&&(i.ch=0,i.sticky="after");var o=It(n,i.ch,i.sticky),l=n[o];if(e.doc.direction=="ltr"&&l.level%2==0&&(r>0?l.to>i.ch:l.from=l.from&&p>=h.begin)){var c=d?"before":"after";return new y(i.line,p,c)}}var v=u(function(b,C,x){for(var S=u(function(E,V){return V?new y(i.line,a(E,1),"before"):new y(i.line,E,"after")},"getRes");b>=0&&b0==(k.level!=1),O=L?x.begin:a(x.end,-1);if(k.from<=O&&O0?h.end:a(h.begin,-1);return m!=null&&!(r>0&&m==t.text.length)&&(g=v(r>0?0:n.length-1,r,f(m)),g)?g:null}u(bs,"moveVisually");var Zr={selectAll:Xo,singleSelection:function(e){return e.setSelection(e.getCursor("anchor"),e.getCursor("head"),We)},killLine:function(e){return Wt(e,function(t){if(t.empty()){var i=w(e.doc,t.head.line).text.length;return t.head.ch==i&&t.head.line0)n=new y(n.line,n.ch+1),e.replaceRange(o.charAt(n.ch-1)+o.charAt(n.ch-2),y(n.line,n.ch-2),n,"+transpose");else if(n.line>e.doc.first){var l=w(e.doc,n.line-1).text;l&&(n=new y(n.line,1),e.replaceRange(o.charAt(0)+e.doc.lineSeparator()+l.charAt(l.length-1),y(n.line-1,l.length-1),n,"+transpose"))}}i.push(new H(n,n))}e.setSelections(i)})},newlineAndIndent:function(e){return ue(e,function(){for(var t=e.listSelections(),i=t.length-1;i>=0;i--)e.replaceRange(e.doc.lineSeparator(),t[i].anchor,t[i].head,"+input");t=e.listSelections();for(var r=0;re&&D(t,this.pos)==0&&i==this.button};var Jr,jr;function Ls(e,t){var i=+new Date;return jr&&jr.compare(i,e,t)?(Jr=jr=null,"triple"):Jr&&Jr.compare(i,e,t)?(jr=new cl(i,e,t),Jr=null,"double"):(Jr=new cl(i,e,t),jr=null,"single")}u(Ls,"clickRepeat");function pl(e){var t=this,i=t.display;if(!(q(t,e)||i.activeTouch&&i.input.supportsTouch())){if(i.input.ensurePolled(),i.shift=e.shiftKey,Ee(i,e)){oe||(i.scroller.draggable=!1,setTimeout(function(){return i.scroller.draggable=!0},100));return}if(!hn(t,e)){var r=it(t,e),n=Ln(e),o=r?Ls(r,n):"single";window.focus(),n==1&&t.state.selectingText&&t.state.selectingText(e),!(r&&ks(t,n,r,o,e))&&(n==1?r?Ms(t,r,o,e):vi(e)==i.scroller&&le(e):n==2?(r&&Rr(t.doc,r),setTimeout(function(){return i.input.focus()},20)):n==3&&(gn?t.display.input.onContextMenu(e):Ki(t)))}}}u(pl,"onMouseDown");function ks(e,t,i,r,n){var o="Click";return r=="double"?o="Double"+o:r=="triple"&&(o="Triple"+o),o=(t==1?"Left":t==2?"Middle":"Right")+o,lr(e,il(o,n),n,function(l){if(typeof l=="string"&&(l=Zr[l]),!l)return!1;var a=!1;try{e.isReadOnly()&&(e.state.suppressEdits=!0),a=l(e,i)!=ai}finally{e.state.suppressEdits=!1}return a})}u(ks,"handleMappedButton");function Ts(e,t,i){var r=e.getOption("configureMouse"),n=r?r(e,t,i):{};if(n.unit==null){var o=qs?i.shiftKey&&i.metaKey:i.altKey;n.unit=o?"rectangle":t=="single"?"char":t=="double"?"word":"line"}return(n.extend==null||e.doc.extend)&&(n.extend=e.doc.extend||i.shiftKey),n.addNew==null&&(n.addNew=Se?i.metaKey:i.ctrlKey),n.moveOnDrag==null&&(n.moveOnDrag=!(Se?i.altKey:i.ctrlKey)),n}u(Ts,"configureMouse");function Ms(e,t,i,r){N?setTimeout(li(yo,e),0):e.curOp.focus=ye();var n=Ts(e,i,r),o=e.doc.sel,l;e.options.dragDrop&&Vs&&!e.isReadOnly()&&i=="single"&&(l=o.contains(t))>-1&&(D((l=o.ranges[l]).from(),t)<0||t.xRel>0)&&(D(l.to(),t)>0||t.xRel<0)?Ds(e,r,t,n):As(e,r,t,n)}u(Ms,"leftButtonDown");function Ds(e,t,i,r){var n=e.display,o=!1,l=Q(e,function(f){oe&&(n.scroller.draggable=!1),e.state.draggingText=!1,e.state.delayingBlurEvent&&(e.hasFocus()?e.state.delayingBlurEvent=!1:Ki(e)),ge(n.wrapper.ownerDocument,"mouseup",l),ge(n.wrapper.ownerDocument,"mousemove",a),ge(n.scroller,"dragstart",s),ge(n.scroller,"drop",l),o||(le(f),r.addNew||Rr(e.doc,i,null,null,r.extend),oe&&!ii||N&&I==9?setTimeout(function(){n.wrapper.ownerDocument.body.focus({preventScroll:!0}),n.input.focus()},20):n.input.focus())}),a=u(function(f){o=o||Math.abs(t.clientX-f.clientX)+Math.abs(t.clientY-f.clientY)>=10},"mouseMove"),s=u(function(){return o=!0},"dragStart");oe&&(n.scroller.draggable=!0),e.state.draggingText=l,l.copy=!r.moveOnDrag,M(n.wrapper.ownerDocument,"mouseup",l),M(n.wrapper.ownerDocument,"mousemove",a),M(n.scroller,"dragstart",s),M(n.scroller,"drop",l),e.state.delayingBlurEvent=!0,setTimeout(function(){return n.input.focus()},20),n.scroller.dragDrop&&n.scroller.dragDrop()}u(Ds,"leftButtonStartDrag");function vl(e,t,i){if(i=="char")return new H(t,t);if(i=="word")return e.findWordAt(t);if(i=="line")return new H(y(t.line,0),A(e.doc,y(t.line+1,0)));var r=i(e,t);return new H(r.from,r.to)}u(vl,"rangeForUnit");function As(e,t,i,r){N&&Ki(e);var n=e.display,o=e.doc;le(t);var l,a,s=o.sel,f=s.ranges;if(r.addNew&&!r.extend?(a=o.sel.contains(i),a>-1?l=f[a]:l=new H(i,i)):(l=o.sel.primary(),a=o.sel.primIndex),r.unit=="rectangle")r.addNew||(l=new H(i,i)),i=it(e,t,!0,!0),a=-1;else{var h=vl(e,i,r.unit);r.extend?l=on(l,h.anchor,h.head,r.extend):l=h}r.addNew?a==-1?(a=f.length,te(o,ke(e,f.concat([l]),a),{scroll:!1,origin:"*mouse"})):f.length>1&&f[a].empty()&&r.unit=="char"&&!r.extend?(te(o,ke(e,f.slice(0,a).concat(f.slice(a+1)),0),{scroll:!1,origin:"*mouse"}),s=o.sel):ln(o,a,l,yn):(a=0,te(o,new xe([l],0),yn),s=o.sel);var d=i;function p(x){if(D(d,x)!=0)if(d=x,r.unit=="rectangle"){for(var S=[],k=e.options.tabSize,L=me(w(o,i.line).text,i.ch,k),O=me(w(o,x.line).text,x.ch,k),E=Math.min(L,O),V=Math.max(L,O),R=Math.min(i.line,x.line),he=Math.min(e.lastLine(),Math.max(i.line,x.line));R<=he;R++){var de=w(o,R).text,X=si(de,E,k);E==V?S.push(new H(y(R,X),y(R,X))):de.length>X&&S.push(new H(y(R,X),y(R,si(de,V,k))))}S.length||S.push(new H(i,i)),te(o,ke(e,s.ranges.slice(0,a).concat(S),a),{origin:"*mouse",scroll:!1}),e.scrollIntoView(x)}else{var ce=l,re=vl(e,x,r.unit),j=ce.anchor,Y;D(re.anchor,j)>0?(Y=re.head,j=xr(ce.from(),re.anchor)):(Y=re.anchor,j=br(ce.to(),re.head));var G=s.ranges.slice(0);G[a]=Os(e,new H(A(o,j),Y)),te(o,ke(e,G,a),yn)}}u(p,"extendTo");var c=n.wrapper.getBoundingClientRect(),v=0;function g(x){var S=++v,k=it(e,x,!0,r.unit=="rectangle");if(k)if(D(k,d)!=0){e.curOp.focus=ye(),p(k);var L=Pr(n,o);(k.line>=L.to||k.linec.bottom?20:0;O&&setTimeout(Q(e,function(){v==S&&(n.scroller.scrollTop+=O,g(x))}),50)}}u(g,"extend");function m(x){e.state.selectingText=!1,v=1/0,x&&(le(x),n.input.focus()),ge(n.wrapper.ownerDocument,"mousemove",b),ge(n.wrapper.ownerDocument,"mouseup",C),o.history.lastSelOrigin=null}u(m,"done");var b=Q(e,function(x){x.buttons===0||!Ln(x)?m(x):g(x)}),C=Q(e,m);e.state.selectingText=C,M(n.wrapper.ownerDocument,"mousemove",b),M(n.wrapper.ownerDocument,"mouseup",C)}u(As,"leftButtonSelect");function Os(e,t){var i=t.anchor,r=t.head,n=w(e.doc,i.line);if(D(i,r)==0&&i.sticky==r.sticky)return t;var o=He(n);if(!o)return t;var l=It(o,i.ch,i.sticky),a=o[l];if(a.from!=i.ch&&a.to!=i.ch)return t;var s=l+(a.from==i.ch==(a.level!=1)?0:1);if(s==0||s==o.length)return t;var f;if(r.line!=i.line)f=(r.line-i.line)*(e.doc.direction=="ltr"?1:-1)>0;else{var h=It(o,r.ch,r.sticky),d=h-l||(r.ch-i.ch)*(a.level==1?-1:1);h==s-1||h==s?f=d<0:f=d>0}var p=o[s+(f?-1:0)],c=f==(p.level==1),v=c?p.from:p.to,g=c?"after":"before";return i.ch==v&&i.sticky==g?t:new H(new y(i.line,v,g),r)}u(Os,"bidiSimplify");function gl(e,t,i,r){var n,o;if(t.touches)n=t.touches[0].clientX,o=t.touches[0].clientY;else try{n=t.clientX,o=t.clientY}catch{return!1}if(n>=Math.floor(e.display.gutters.getBoundingClientRect().right))return!1;r&&le(t);var l=e.display,a=l.lineDiv.getBoundingClientRect();if(o>a.bottom||!be(e,i))return pi(t);o-=a.top-l.viewOffset;for(var s=0;s=n){var h=tt(e.doc,o),d=e.display.gutterSpecs[s];return U(e,i,e,h,d.className,t),pi(t)}}}u(gl,"gutterEvent");function hn(e,t){return gl(e,t,"gutterClick",!0)}u(hn,"clickInGutter");function yl(e,t){Ee(e.display,t)||Ns(e,t)||q(e,t,"contextmenu")||gn||e.display.input.onContextMenu(t)}u(yl,"onContextMenu");function Ns(e,t){return be(e,"gutterContextMenu")?gl(e,t,"gutterContextMenu",!1):!1}u(Ns,"contextMenuInGutter");function ml(e){e.display.wrapper.className=e.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+e.options.theme.replace(/(^|\s)\s*/g," cm-s-"),Zt(e)}u(ml,"themeChanged");var ar={toString:function(){return"CodeMirror.Init"}},Ws={},dn={};function Hs(e){var t=e.optionHandlers;function i(r,n,o,l){e.defaults[r]=n,o&&(t[r]=l?function(a,s,f){f!=ar&&o(a,s,f)}:o)}u(i,"option"),e.defineOption=i,e.Init=ar,i("value","",function(r,n){return r.setValue(n)},!0),i("mode",null,function(r,n){r.doc.modeOption=n,tn(r)},!0),i("indentUnit",2,tn,!0),i("indentWithTabs",!1),i("smartIndent",!0),i("tabSize",4,function(r){tr(r),Zt(r),ae(r)},!0),i("lineSeparator",null,function(r,n){if(r.doc.lineSep=n,!!n){var o=[],l=r.doc.first;r.doc.iter(function(s){for(var f=0;;){var h=s.text.indexOf(n,f);if(h==-1)break;f=h+n.length,o.push(y(l,h))}l++});for(var a=o.length-1;a>=0;a--)At(r.doc,n,o[a],y(o[a].line,o[a].ch+n.length))}}),i("specialChars",/[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b\u200e\u200f\u2028\u2029\ufeff\ufff9-\ufffc]/g,function(r,n,o){r.state.specialChars=new RegExp(n.source+(n.test(" ")?"":"| "),"g"),o!=ar&&r.refresh()}),i("specialCharPlaceholder",la,function(r){return r.refresh()},!0),i("electricChars",!0),i("inputStyle",dr?"contenteditable":"textarea",function(){throw new Error("inputStyle can not (yet) be changed in a running editor")},!0),i("spellcheck",!1,function(r,n){return r.getInputField().spellcheck=n},!0),i("autocorrect",!1,function(r,n){return r.getInputField().autocorrect=n},!0),i("autocapitalize",!1,function(r,n){return r.getInputField().autocapitalize=n},!0),i("rtlMoveVisually",!Zs),i("wholeLineUpdateBefore",!0),i("theme","default",function(r){ml(r),er(r)},!0),i("keyMap","default",function(r,n,o){var l=qr(n),a=o!=ar&&qr(o);a&&a.detach&&a.detach(r,l),l.attach&&l.attach(r,a||null)}),i("extraKeys",null),i("configureMouse",null),i("lineWrapping",!1,Fs,!0),i("gutters",[],function(r,n){r.display.gutterSpecs=Vi(n,r.options.lineNumbers),er(r)},!0),i("fixedGutter",!0,function(r,n){r.display.gutters.style.left=n?Ri(r.display)+"px":"0",r.refresh()},!0),i("coverGutterNextToScrollbar",!1,function(r){return kt(r)},!0),i("scrollbarStyle","native",function(r){So(r),kt(r),r.display.scrollbars.setScrollTop(r.doc.scrollTop),r.display.scrollbars.setScrollLeft(r.doc.scrollLeft)},!0),i("lineNumbers",!1,function(r,n){r.display.gutterSpecs=Vi(r.options.gutters,n),er(r)},!0),i("firstLineNumber",1,er,!0),i("lineNumberFormatter",function(r){return r},er,!0),i("showCursorWhenSelecting",!1,Qt,!0),i("resetSelectionOnContextMenu",!0),i("lineWiseCopyCut",!0),i("pasteLinesPerSelection",!0),i("selectionsMayTouch",!1),i("readOnly",!1,function(r,n){n=="nocursor"&&(St(r),r.display.input.blur()),r.display.input.readOnlyChanged(n)}),i("screenReaderLabel",null,function(r,n){n=n===""?null:n,r.display.input.screenReaderLabelChanged(n)}),i("disableInput",!1,function(r,n){n||r.display.input.reset()},!0),i("dragDrop",!0,Ps),i("allowDropFileTypes",null),i("cursorBlinkRate",530),i("cursorScrollMargin",0),i("cursorHeight",1,Qt,!0),i("singleCursorHeightPerLine",!0,Qt,!0),i("workTime",100),i("workDelay",100),i("flattenSpans",!0,tr,!0),i("addModeClass",!1,tr,!0),i("pollInterval",100),i("undoDepth",200,function(r,n){return r.doc.history.undoDepth=n}),i("historyEventDelay",1250),i("viewportMargin",10,function(r){return r.refresh()},!0),i("maxHighlightLength",1e4,tr,!0),i("moveInputWithCursor",!0,function(r,n){n||r.display.input.resetPosition()}),i("tabindex",null,function(r,n){return r.display.input.getField().tabIndex=n||""}),i("autofocus",null),i("direction","ltr",function(r,n){return r.doc.setDirection(n)},!0),i("phrases",null)}u(Hs,"defineOptions");function Ps(e,t,i){var r=i&&i!=ar;if(!t!=!r){var n=e.display.dragFunctions,o=t?M:ge;o(e.display.scroller,"dragstart",n.start),o(e.display.scroller,"dragenter",n.enter),o(e.display.scroller,"dragover",n.over),o(e.display.scroller,"dragleave",n.leave),o(e.display.scroller,"drop",n.drop)}}u(Ps,"dragDropChanged");function Fs(e){e.options.lineWrapping?(Je(e.display.wrapper,"CodeMirror-wrap"),e.display.sizer.style.minWidth="",e.display.sizerWidth=null):(pt(e.display.wrapper,"CodeMirror-wrap"),Ai(e)),zi(e),ae(e),Zt(e),setTimeout(function(){return kt(e)},100)}u(Fs,"wrappingChanged");function B(e,t){var i=this;if(!(this instanceof B))return new B(e,t);this.options=t=t?je(t):{},je(Ws,t,!1);var r=t.value;typeof r=="string"?r=new fe(r,t.mode,null,t.lineSeparator,t.direction):t.mode&&(r.modeOption=t.mode),this.doc=r;var n=new B.inputStyles[t.inputStyle](this),o=this.display=new qa(e,r,n,t);o.wrapper.CodeMirror=this,ml(this),t.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap"),So(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:-1,cutIncoming:-1,selectingText:!1,draggingText:!1,highlight:new Ve,keySeq:null,specialChars:null},t.autofocus&&!dr&&o.input.focus(),N&&I<11&&setTimeout(function(){return i.display.input.reset(!0)},20),Es(this),ps(),lt(this),this.curOp.forceUpdate=!0,Wo(this,r),t.autofocus&&!dr||this.hasFocus()?setTimeout(function(){i.hasFocus()&&!i.state.focused&&_i(i)},20):St(this);for(var l in dn)dn.hasOwnProperty(l)&&dn[l](this,t[l],ar);ko(this),t.finishInit&&t.finishInit(this);for(var a=0;a20*20}u(l,"farAway"),M(t.scroller,"touchstart",function(s){if(!q(e,s)&&!o(s)&&!hn(e,s)){t.input.ensurePolled(),clearTimeout(i);var f=+new Date;t.activeTouch={start:f,moved:!1,prev:f-r.end<=300?r:null},s.touches.length==1&&(t.activeTouch.left=s.touches[0].pageX,t.activeTouch.top=s.touches[0].pageY)}}),M(t.scroller,"touchmove",function(){t.activeTouch&&(t.activeTouch.moved=!0)}),M(t.scroller,"touchend",function(s){var f=t.activeTouch;if(f&&!Ee(t,s)&&f.left!=null&&!f.moved&&new Date-f.start<300){var h=e.coordsChar(t.activeTouch,"page"),d;!f.prev||l(f,f.prev)?d=new H(h,h):!f.prev.prev||l(f,f.prev.prev)?d=e.findWordAt(h):d=new H(y(h.line,0),A(e.doc,y(h.line+1,0))),e.setSelection(d.anchor,d.head),e.focus(),le(s)}n()}),M(t.scroller,"touchcancel",n),M(t.scroller,"scroll",function(){t.scroller.clientHeight&&(jt(e,t.scroller.scrollTop),ot(e,t.scroller.scrollLeft,!0),U(e,"scroll",e))}),M(t.scroller,"mousewheel",function(s){return Do(e,s)}),M(t.scroller,"DOMMouseScroll",function(s){return Do(e,s)}),M(t.wrapper,"scroll",function(){return t.wrapper.scrollTop=t.wrapper.scrollLeft=0}),t.dragFunctions={enter:function(s){q(e,s)||Bt(s)},over:function(s){q(e,s)||(ds(e,s),Bt(s))},start:function(s){return hs(e,s)},drop:Q(e,fs),leave:function(s){q(e,s)||el(e)}};var a=t.input.getField();M(a,"keyup",function(s){return hl.call(e,s)}),M(a,"keydown",Q(e,fl)),M(a,"keypress",Q(e,dl)),M(a,"focus",function(s){return _i(e,s)}),M(a,"blur",function(s){return St(e,s)})}u(Es,"registerEventHandlers");var bl=[];B.defineInitHook=function(e){return bl.push(e)};function sr(e,t,i,r){var n=e.doc,o;i==null&&(i="add"),i=="smart"&&(n.mode.indent?o=Ut(e,t).state:i="prev");var l=e.options.tabSize,a=w(n,t),s=me(a.text,null,l);a.stateAfter&&(a.stateAfter=null);var f=a.text.match(/^\s*/)[0],h;if(!r&&!/\S/.test(a.text))h=0,i="not";else if(i=="smart"&&(h=n.mode.indent(o,a.text.slice(f.length),a.text),h==ai||h>150)){if(!r)return;i="prev"}i=="prev"?t>n.first?h=me(w(n,t-1).text,null,l):h=0:i=="add"?h=s+e.options.indentUnit:i=="subtract"?h=s-e.options.indentUnit:typeof i=="number"&&(h=s+i),h=Math.max(0,h);var d="",p=0;if(e.options.indentWithTabs)for(var c=Math.floor(h/l);c;--c)p+=l,d+=" ";if(pl,s=Mn(t),f=null;if(a&&r.ranges.length>1)if(Oe&&Oe.text.join(` +`)==t){if(r.ranges.length%Oe.text.length==0){f=[];for(var h=0;h=0;p--){var c=r.ranges[p],v=c.from(),g=c.to();c.empty()&&(i&&i>0?v=y(v.line,v.ch-i):e.state.overwrite&&!a?g=y(g.line,Math.min(w(o,g.line).text.length,g.ch+W(s).length)):a&&Oe&&Oe.lineWise&&Oe.text.join(` +`)==s.join(` +`)&&(v=g=y(v.line,0)));var m={from:v,to:g,text:f?f[p%f.length]:s,origin:n||(a?"paste":e.state.cutIncoming>l?"cut":"+input")};Dt(e.doc,m),Z(e,"inputRead",e,m)}t&&!a&&Cl(e,t),wt(e),e.curOp.updateInput<2&&(e.curOp.updateInput=d),e.curOp.typing=!0,e.state.pasteIncoming=e.state.cutIncoming=-1}u(cn,"applyTextInput");function xl(e,t){var i=e.clipboardData&&e.clipboardData.getData("Text");if(i)return e.preventDefault(),!t.isReadOnly()&&!t.options.disableInput&&ue(t,function(){return cn(t,i,0,null,"paste")}),!0}u(xl,"handlePaste");function Cl(e,t){if(!(!e.options.electricChars||!e.options.smartIndent))for(var i=e.doc.sel,r=i.ranges.length-1;r>=0;r--){var n=i.ranges[r];if(!(n.head.ch>100||r&&i.ranges[r-1].head.line==n.head.line)){var o=e.getModeAt(n.head),l=!1;if(o.electricChars){for(var a=0;a-1){l=sr(e,n.head.line,"smart");break}}else o.electricInput&&o.electricInput.test(w(e.doc,n.head.line).text.slice(0,n.head.ch))&&(l=sr(e,n.head.line,"smart"));l&&Z(e,"electricInput",e,n.head.line)}}}u(Cl,"triggerElectric");function Sl(e){for(var t=[],i=[],r=0;ro&&(sr(this,a.head.line,r,!0),o=a.head.line,l==this.doc.sel.primIndex&&wt(this));else{var s=a.from(),f=a.to(),h=Math.max(o,s.line);o=Math.min(this.lastLine(),f.line-(f.ch?0:1))+1;for(var d=h;d0&&ln(this.doc,l,new H(s,p[l].to()),We)}}}),getTokenAt:function(r,n){return En(this,r,n)},getLineTokens:function(r,n){return En(this,y(r),n,!0)},getTokenTypeAt:function(r){r=A(this.doc,r);var n=Pn(this,w(this.doc,r.line)),o=0,l=(n.length-1)/2,a=r.ch,s;if(a==0)s=n[2];else for(;;){var f=o+l>>1;if((f?n[f*2-1]:0)>=a)l=f;else if(n[f*2+1]s&&(r=s,l=!0),a=w(this.doc,r)}else a=r;return Ar(this,a,{top:0,left:0},n||"page",o||l).top+(l?this.doc.height-Fe(a):0)},defaultTextHeight:function(){return xt(this.display)},defaultCharWidth:function(){return Ct(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(r,n,o,l,a){var s=this.display;r=Le(this,A(this.doc,r));var f=r.bottom,h=r.left;if(n.style.position="absolute",n.setAttribute("cm-ignore-events","true"),this.display.input.setUneditable(n),s.sizer.appendChild(n),l=="over")f=r.top;else if(l=="above"||l=="near"){var d=Math.max(s.wrapper.clientHeight,this.doc.height),p=Math.max(s.sizer.clientWidth,s.lineSpace.clientWidth);(l=="above"||r.bottom+n.offsetHeight>d)&&r.top>n.offsetHeight?f=r.top-n.offsetHeight:r.bottom+n.offsetHeight<=d&&(f=r.bottom),h+n.offsetWidth>p&&(h=p-n.offsetWidth)}n.style.top=f+"px",n.style.left=n.style.right="",a=="right"?(h=s.sizer.clientWidth-n.offsetWidth,n.style.right="0px"):(a=="left"?h=0:a=="middle"&&(h=(s.sizer.clientWidth-n.offsetWidth)/2),n.style.left=h+"px"),o&&Ha(this,{left:h,top:f,right:h+n.offsetWidth,bottom:f+n.offsetHeight})},triggerOnKeyDown:ie(fl),triggerOnKeyPress:ie(dl),triggerOnKeyUp:hl,triggerOnMouseDown:ie(pl),execCommand:function(r){if(Zr.hasOwnProperty(r))return Zr[r].call(null,this)},triggerElectric:ie(function(r){Cl(this,r)}),findPosH:function(r,n,o,l){var a=1;n<0&&(a=-1,n=-n);for(var s=A(this.doc,r),f=0;f0&&h(o.charAt(l-1));)--l;for(;a.5||this.options.lineWrapping)&&zi(this),U(this,"refresh",this)}),swapDoc:ie(function(r){var n=this.doc;return n.cm=null,this.state.selectingText&&this.state.selectingText(),Wo(this,r),Zt(this),this.display.input.reset(),Jt(this,r.scrollLeft,r.scrollTop),this.curOp.forceScroll=!0,Z(this,"swapDoc",this,n),n}),phrase:function(r){var n=this.options.phrases;return n&&Object.prototype.hasOwnProperty.call(n,r)?n[r]:r},getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},yt(e),e.registerHelper=function(r,n,o){i.hasOwnProperty(r)||(i[r]=e[r]={_global:[]}),i[r][n]=o},e.registerGlobalHelper=function(r,n,o,l){e.registerHelper(r,n,l),i[r]._global.push({pred:o,val:l})}}u(Is,"addEditorMethods");function pn(e,t,i,r,n){var o=t,l=i,a=w(e,t.line),s=n&&e.direction=="rtl"?-i:i;function f(){var C=t.line+s;return C=e.first+e.size?!1:(t=new y(C,t.ch,t.sticky),a=w(e,C))}u(f,"findNextLine");function h(C){var x;if(r=="codepoint"){var S=a.text.charCodeAt(t.ch+(i>0?0:-1));if(isNaN(S))x=null;else{var k=i>0?S>=55296&&S<56320:S>=56320&&S<57343;x=new y(t.line,Math.max(0,Math.min(a.text.length,t.ch+i*(k?2:1))),-i)}}else n?x=bs(e.cm,a,t,i):x=un(a,t,i);if(x==null)if(!C&&f())t=fn(n,e.cm,a,t.line,s);else return!1;else t=x;return!0}if(u(h,"moveOnce"),r=="char"||r=="codepoint")h();else if(r=="column")h(!0);else if(r=="word"||r=="group")for(var d=null,p=r=="group",c=e.cm&&e.cm.getHelper(t,"wordChars"),v=!0;!(i<0&&!h(!v));v=!1){var g=a.text.charAt(t.ch)||` +`,m=gr(g,c)?"w":p&&g==` +`?"n":!p||/\s/.test(g)?null:"p";if(p&&!v&&!m&&(m="s"),d&&d!=m){i<0&&(i=1,h(),t.sticky="after");break}if(m&&(d=m),i>0&&!h(!v))break}var b=Gr(e,t,o,l,!0);return xi(o,b)&&(b.hitSide=!0),b}u(pn,"findPosH");function kl(e,t,i,r){var n=e.doc,o=t.left,l;if(r=="page"){var a=Math.min(e.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight),s=Math.max(a-.5*xt(e.display),3);l=(i>0?t.bottom:t.top)+i*s}else r=="line"&&(l=i>0?t.bottom+3:t.top-3);for(var f;f=Ei(e,o,l),!!f.outside;){if(i<0?l<=0:l>=n.height){f.hitSide=!0;break}l+=i*5}return f}u(kl,"findPosV");var F=u(function(e){this.cm=e,this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null,this.polling=new Ve,this.composing=null,this.gracePeriod=!1,this.readDOMTimeout=null},"ContentEditableInput");F.prototype.init=function(e){var t=this,i=this,r=i.cm,n=i.div=e.lineDiv;n.contentEditable=!0,wl(n,r.options.spellcheck,r.options.autocorrect,r.options.autocapitalize);function o(a){for(var s=a.target;s;s=s.parentNode){if(s==n)return!0;if(/\bCodeMirror-(?:line)?widget\b/.test(s.className))break}return!1}u(o,"belongsToInput"),M(n,"paste",function(a){!o(a)||q(r,a)||xl(a,r)||I<=11&&setTimeout(Q(r,function(){return t.updateFromDOM()}),20)}),M(n,"compositionstart",function(a){t.composing={data:a.data,done:!1}}),M(n,"compositionupdate",function(a){t.composing||(t.composing={data:a.data,done:!1})}),M(n,"compositionend",function(a){t.composing&&(a.data!=t.composing.data&&t.readFromDOMSoon(),t.composing.done=!0)}),M(n,"touchstart",function(){return i.forceCompositionEnd()}),M(n,"input",function(){t.composing||t.readFromDOMSoon()});function l(a){if(!(!o(a)||q(r,a))){if(r.somethingSelected())Vr({lineWise:!1,text:r.getSelections()}),a.type=="cut"&&r.replaceSelection("",null,"cut");else if(r.options.lineWiseCopyCut){var s=Sl(r);Vr({lineWise:!0,text:s.text}),a.type=="cut"&&r.operation(function(){r.setSelections(s.ranges,0,We),r.replaceSelection("",null,"cut")})}else return;if(a.clipboardData){a.clipboardData.clearData();var f=Oe.text.join(` +`);if(a.clipboardData.setData("Text",f),a.clipboardData.getData("Text")==f){a.preventDefault();return}}var h=Ll(),d=h.firstChild;r.display.lineSpace.insertBefore(h,r.display.lineSpace.firstChild),d.value=Oe.text.join(` +`);var p=ye();cr(d),setTimeout(function(){r.display.lineSpace.removeChild(h),p.focus(),p==n&&i.showPrimarySelection()},50)}}u(l,"onCopyCut"),M(n,"copy",l),M(n,"cut",l)},F.prototype.screenReaderLabelChanged=function(e){e?this.div.setAttribute("aria-label",e):this.div.removeAttribute("aria-label")},F.prototype.prepareSelection=function(){var e=go(this.cm,!1);return e.focus=ye()==this.div,e},F.prototype.showSelection=function(e,t){!e||!this.cm.display.view.length||((e.focus||t)&&this.showPrimarySelection(),this.showMultipleSelections(e))},F.prototype.getSelection=function(){return this.cm.display.wrapper.ownerDocument.getSelection()},F.prototype.showPrimarySelection=function(){var e=this.getSelection(),t=this.cm,i=t.doc.sel.primary(),r=i.from(),n=i.to();if(t.display.viewTo==t.display.viewFrom||r.line>=t.display.viewTo||n.line=t.display.viewFrom&&Tl(t,r)||{node:a[0].measure.map[2],offset:0},f=n.linee.firstLine()&&(r=y(r.line-1,w(e.doc,r.line-1).length)),n.ch==w(e.doc,n.line).text.length&&n.linet.viewTo-1)return!1;var o,l,a;r.line==t.viewFrom||(o=nt(e,r.line))==0?(l=P(t.view[0].line),a=t.view[0].node):(l=P(t.view[o].line),a=t.view[o-1].node.nextSibling);var s=nt(e,n.line),f,h;if(s==t.view.length-1?(f=t.viewTo-1,h=t.lineDiv.lastChild):(f=P(t.view[s+1].line)-1,h=t.view[s+1].node.previousSibling),!a)return!1;for(var d=e.doc.splitLines(Rs(e,a,h,l,f)),p=et(e.doc,y(l,0),y(f,w(e.doc,f).text.length));d.length>1&&p.length>1;)if(W(d)==W(p))d.pop(),p.pop(),f--;else if(d[0]==p[0])d.shift(),p.shift(),l++;else break;for(var c=0,v=0,g=d[0],m=p[0],b=Math.min(g.length,m.length);cr.ch&&C.charCodeAt(C.length-v-1)==x.charCodeAt(x.length-v-1);)c--,v++;d[d.length-1]=C.slice(0,C.length-v).replace(/^\u200b+/,""),d[0]=d[0].slice(c).replace(/\u200b+$/,"");var k=y(l,c),L=y(f,p.length?W(p).length-v:0);if(d.length>1||d[0]||D(k,L))return At(e.doc,d,k,L,"+input"),!0},F.prototype.ensurePolled=function(){this.forceCompositionEnd()},F.prototype.reset=function(){this.forceCompositionEnd()},F.prototype.forceCompositionEnd=function(){this.composing&&(clearTimeout(this.readDOMTimeout),this.composing=null,this.updateFromDOM(),this.div.blur(),this.div.focus())},F.prototype.readFromDOMSoon=function(){var e=this;this.readDOMTimeout==null&&(this.readDOMTimeout=setTimeout(function(){if(e.readDOMTimeout=null,e.composing)if(e.composing.done)e.composing=null;else return;e.updateFromDOM()},80))},F.prototype.updateFromDOM=function(){var e=this;(this.cm.isReadOnly()||!this.pollContent())&&ue(this.cm,function(){return ae(e.cm)})},F.prototype.setUneditable=function(e){e.contentEditable="false"},F.prototype.onKeyPress=function(e){e.charCode==0||this.composing||(e.preventDefault(),this.cm.isReadOnly()||Q(this.cm,cn)(this.cm,String.fromCharCode(e.charCode==null?e.keyCode:e.charCode),0))},F.prototype.readOnlyChanged=function(e){this.div.contentEditable=String(e!="nocursor")},F.prototype.onContextMenu=function(){},F.prototype.resetPosition=function(){},F.prototype.needsContentAttribute=!0;function Tl(e,t){var i=Hi(e,t.line);if(!i||i.hidden)return null;var r=w(e.doc,t.line),n=ro(i,r,t.line),o=He(r,e.doc.direction),l="left";if(o){var a=It(o,t.ch);l=a%2?"right":"left"}var s=no(n.map,t.ch,l);return s.offset=s.collapse=="right"?s.end:s.start,s}u(Tl,"posToDOM");function Bs(e){for(var t=e;t;t=t.parentNode)if(/CodeMirror-gutter-wrapper/.test(t.className))return!0;return!1}u(Bs,"isInGutter");function Ht(e,t){return t&&(e.bad=!0),e}u(Ht,"badPos");function Rs(e,t,i,r,n){var o="",l=!1,a=e.doc.lineSeparator(),s=!1;function f(c){return function(v){return v.id==c}}u(f,"recognizeMarker");function h(){l&&(o+=a,s&&(o+=a),l=s=!1)}u(h,"close");function d(c){c&&(h(),o+=c)}u(d,"addText");function p(c){if(c.nodeType==1){var v=c.getAttribute("cm-text");if(v){d(v);return}var g=c.getAttribute("cm-marker"),m;if(g){var b=e.findMarks(y(r,0),y(n+1,0),f(+g));b.length&&(m=b[0].find(0))&&d(et(e.doc,m.from,m.to).join(a));return}if(c.getAttribute("contenteditable")=="false")return;var C=/^(pre|div|p|li|table|br)$/i.test(c.nodeName);if(!/^br$/i.test(c.nodeName)&&c.textContent.length==0)return;C&&h();for(var x=0;x=9&&t.hasSelection&&(t.hasSelection=null),i.poll()}),M(n,"paste",function(l){q(r,l)||xl(l,r)||(r.state.pasteIncoming=+new Date,i.fastPoll())});function o(l){if(!q(r,l)){if(r.somethingSelected())Vr({lineWise:!1,text:r.getSelections()});else if(r.options.lineWiseCopyCut){var a=Sl(r);Vr({lineWise:!0,text:a.text}),l.type=="cut"?r.setSelections(a.ranges,null,We):(i.prevInput="",n.value=a.text.join(` +`),cr(n))}else return;l.type=="cut"&&(r.state.cutIncoming=+new Date)}}u(o,"prepareCopyCut"),M(n,"cut",o),M(n,"copy",o),M(e.scroller,"paste",function(l){if(!(Ee(e,l)||q(r,l))){if(!n.dispatchEvent){r.state.pasteIncoming=+new Date,i.focus();return}var a=new Event("paste");a.clipboardData=l.clipboardData,n.dispatchEvent(a)}}),M(e.lineSpace,"selectstart",function(l){Ee(e,l)||le(l)}),M(n,"compositionstart",function(){var l=r.getCursor("from");i.composing&&i.composing.range.clear(),i.composing={start:l,range:r.markText(l,r.getCursor("to"),{className:"CodeMirror-composing"})}}),M(n,"compositionend",function(){i.composing&&(i.poll(),i.composing.range.clear(),i.composing=null)})},K.prototype.createField=function(e){this.wrapper=Ll(),this.textarea=this.wrapper.firstChild},K.prototype.screenReaderLabelChanged=function(e){e?this.textarea.setAttribute("aria-label",e):this.textarea.removeAttribute("aria-label")},K.prototype.prepareSelection=function(){var e=this.cm,t=e.display,i=e.doc,r=go(e);if(e.options.moveInputWithCursor){var n=Le(e,i.sel.primary().head,"div"),o=t.wrapper.getBoundingClientRect(),l=t.lineDiv.getBoundingClientRect();r.teTop=Math.max(0,Math.min(t.wrapper.clientHeight-10,n.top+l.top-o.top)),r.teLeft=Math.max(0,Math.min(t.wrapper.clientWidth-10,n.left+l.left-o.left))}return r},K.prototype.showSelection=function(e){var t=this.cm,i=t.display;ve(i.cursorDiv,e.cursors),ve(i.selectionDiv,e.selection),e.teTop!=null&&(this.wrapper.style.top=e.teTop+"px",this.wrapper.style.left=e.teLeft+"px")},K.prototype.reset=function(e){if(!(this.contextMenuPending||this.composing)){var t=this.cm;if(t.somethingSelected()){this.prevInput="";var i=t.getSelection();this.textarea.value=i,t.state.focused&&cr(this.textarea),N&&I>=9&&(this.hasSelection=i)}else e||(this.prevInput=this.textarea.value="",N&&I>=9&&(this.hasSelection=null))}},K.prototype.getField=function(){return this.textarea},K.prototype.supportsTouch=function(){return!1},K.prototype.focus=function(){if(this.cm.options.readOnly!="nocursor"&&(!dr||ye()!=this.textarea))try{this.textarea.focus()}catch{}},K.prototype.blur=function(){this.textarea.blur()},K.prototype.resetPosition=function(){this.wrapper.style.top=this.wrapper.style.left=0},K.prototype.receivedFocus=function(){this.slowPoll()},K.prototype.slowPoll=function(){var e=this;this.pollingFast||this.polling.set(this.cm.options.pollInterval,function(){e.poll(),e.cm.state.focused&&e.slowPoll()})},K.prototype.fastPoll=function(){var e=!1,t=this;t.pollingFast=!0;function i(){var r=t.poll();!r&&!e?(e=!0,t.polling.set(60,i)):(t.pollingFast=!1,t.slowPoll())}u(i,"p"),t.polling.set(20,i)},K.prototype.poll=function(){var e=this,t=this.cm,i=this.textarea,r=this.prevInput;if(this.contextMenuPending||!t.state.focused||$s(i)&&!r&&!this.composing||t.isReadOnly()||t.options.disableInput||t.state.keySeq)return!1;var n=i.value;if(n==r&&!t.somethingSelected())return!1;if(N&&I>=9&&this.hasSelection===n||Se&&/[\uf700-\uf7ff]/.test(n))return t.display.input.reset(),!1;if(t.doc.sel==t.display.selForContextMenu){var o=n.charCodeAt(0);if(o==8203&&!r&&(r="​"),o==8666)return this.reset(),this.cm.execCommand("undo")}for(var l=0,a=Math.min(r.length,n.length);l1e3||n.indexOf(` +`)>-1?i.value=e.prevInput="":e.prevInput=n,e.composing&&(e.composing.range.clear(),e.composing.range=t.markText(e.composing.start,t.getCursor("to"),{className:"CodeMirror-composing"}))}),!0},K.prototype.ensurePolled=function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)},K.prototype.onKeyPress=function(){N&&I>=9&&(this.hasSelection=null),this.fastPoll()},K.prototype.onContextMenu=function(e){var t=this,i=t.cm,r=i.display,n=t.textarea;t.contextMenuPending&&t.contextMenuPending();var o=it(i,e),l=r.scroller.scrollTop;if(!o||Te)return;var a=i.options.resetSelectionOnContextMenu;a&&i.doc.sel.contains(o)==-1&&Q(i,te)(i.doc,Xe(o),We);var s=n.style.cssText,f=t.wrapper.style.cssText,h=t.wrapper.offsetParent.getBoundingClientRect();t.wrapper.style.cssText="position: static",n.style.cssText=`position: absolute; width: 30px; height: 30px; + top: `+(e.clientY-h.top-5)+"px; left: "+(e.clientX-h.left-5)+`px; + z-index: 1000; background: `+(N?"rgba(255, 255, 255, .05)":"transparent")+`; + outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);`;var d;oe&&(d=window.scrollY),r.input.focus(),oe&&window.scrollTo(null,d),r.input.reset(),i.somethingSelected()||(n.value=t.prevInput=" "),t.contextMenuPending=c,r.selForContextMenu=i.doc.sel,clearTimeout(r.detectingSelectAll);function p(){if(n.selectionStart!=null){var g=i.somethingSelected(),m="​"+(g?n.value:"");n.value="⇚",n.value=m,t.prevInput=g?"":"​",n.selectionStart=1,n.selectionEnd=m.length,r.selForContextMenu=i.doc.sel}}u(p,"prepareSelectAllHack");function c(){if(t.contextMenuPending==c&&(t.contextMenuPending=!1,t.wrapper.style.cssText=f,n.style.cssText=s,N&&I<9&&r.scrollbars.setScrollTop(r.scroller.scrollTop=l),n.selectionStart!=null)){(!N||N&&I<9)&&p();var g=0,m=u(function(){r.selForContextMenu==i.doc.sel&&n.selectionStart==0&&n.selectionEnd>0&&t.prevInput=="​"?Q(i,Xo)(i):g++<10?r.detectingSelectAll=setTimeout(m,500):(r.selForContextMenu=null,r.input.reset())},"poll");r.detectingSelectAll=setTimeout(m,200)}}if(u(c,"rehide"),N&&I>=9&&p(),gn){Bt(e);var v=u(function(){ge(window,"mouseup",v),setTimeout(c,20)},"mouseup");M(window,"mouseup",v)}else setTimeout(c,50)},K.prototype.readOnlyChanged=function(e){e||this.reset(),this.textarea.disabled=e=="nocursor",this.textarea.readOnly=!!e},K.prototype.setUneditable=function(){},K.prototype.needsContentAttribute=!1;function Gs(e,t){if(t=t?je(t):{},t.value=e.value,!t.tabindex&&e.tabIndex&&(t.tabindex=e.tabIndex),!t.placeholder&&e.placeholder&&(t.placeholder=e.placeholder),t.autofocus==null){var i=ye();t.autofocus=i==e||e.getAttribute("autofocus")!=null&&i==document.body}function r(){e.value=a.getValue()}u(r,"save");var n;if(e.form&&(M(e.form,"submit",r),!t.leaveSubmitMethodAlone)){var o=e.form;n=o.submit;try{var l=o.submit=function(){r(),o.submit=n,o.submit(),o.submit=l}}catch{}}t.finishInit=function(s){s.save=r,s.getTextArea=function(){return e},s.toTextArea=function(){s.toTextArea=isNaN,r(),e.parentNode.removeChild(s.getWrapperElement()),e.style.display="",e.form&&(ge(e.form,"submit",r),!t.leaveSubmitMethodAlone&&typeof e.form.submit=="function"&&(e.form.submit=n))}},e.style.display="none";var a=B(function(s){return e.parentNode.insertBefore(s,e.nextSibling)},t);return a}u(Gs,"fromTextArea");function Us(e){e.off=ge,e.on=M,e.wheelEventPixels=Za,e.Doc=fe,e.splitLines=Mn,e.countColumn=me,e.findColumn=si,e.isWordChar=hi,e.Pass=ai,e.signal=U,e.Line=_t,e.changeEnd=Ye,e.scrollbarModel=Fa,e.Pos=y,e.cmpPos=D,e.modes=An,e.mimeModes=Rt,e.resolveMode=mr,e.getMode=gi,e.modeExtensions=zt,e.extendMode=Ul,e.copyState=$e,e.startState=On,e.innerMode=yi,e.commands=Zr,e.keyMap=Ze,e.keyName=nl,e.isModifierKey=rl,e.lookupKey=Nt,e.normalizeKeyMap=ms,e.StringStream=_,e.SharedTextMarker=_r,e.TextMarker=st,e.LineWidget=Kr,e.e_preventDefault=le,e.e_stopPropagation=wn,e.e_stop=Bt,e.addClass=Je,e.contains=Re,e.rmClass=pt,e.keyNames=ut}u(Us,"addLegacyProps"),Hs(B),Is(B);var au="iter insert remove copy getEditor constructor".split(" ");for(var vn in fe.prototype)fe.prototype.hasOwnProperty(vn)&&ee(au,vn)<0&&(B.prototype[vn]=function(e){return function(){return e.apply(this.doc,arguments)}}(fe.prototype[vn]));return yt(fe),B.inputStyles={textarea:K,contenteditable:F},B.defineMode=function(e){!B.defaults.mode&&e!="null"&&(B.defaults.mode=e),zl.apply(this,arguments)},B.defineMIME=Gl,B.defineMode("null",function(){return{token:function(e){return e.skipToEnd()}}}),B.defineMIME("text/plain","null"),B.defineExtension=function(e,t){B.prototype[e]=t},B.defineDocExtension=function(e,t){fe.prototype[e]=t},B.fromTextArea=Gs,Us(B),B.version="5.65.3",B})})(Al);var fu=Al.exports,du=Ks({__proto__:null,default:fu},[Al.exports]);export{fu as C,Al as a,du as c}; diff --git a/packages/studio/dist-frontend/assets/comment.es-9ab73430.js b/packages/studio/dist-frontend/assets/comment.es-9ab73430.js new file mode 100644 index 000000000000..c4a2ab5e2f1d --- /dev/null +++ b/packages/studio/dist-frontend/assets/comment.es-9ab73430.js @@ -0,0 +1,2 @@ +import{a as G}from"./codemirror.es-2fb7d200.js";import"./index-17331a0b.js";var H=Object.defineProperty,M=(O,A)=>H(O,"name",{value:A,configurable:!0});function q(O,A){return A.forEach(function(s){s&&typeof s!="string"&&!Array.isArray(s)&&Object.keys(s).forEach(function(b){if(b!=="default"&&!(b in O)){var d=Object.getOwnPropertyDescriptor(s,b);Object.defineProperty(O,b,d.get?d:{enumerable:!0,get:function(){return s[b]}})}})}),Object.freeze(Object.defineProperty(O,Symbol.toStringTag,{value:"Module"}))}M(q,"_mergeNamespaces");var w={exports:{}};(function(O,A){(function(s){s(G.exports)})(function(s){var b={},d=/[^\s\u00a0]/,m=s.Pos,F=s.cmpPos;function N(t){var a=t.search(d);return a==-1?0:a}M(N,"firstNonWS"),s.commands.toggleComment=function(t){t.toggleComment()},s.defineExtension("toggleComment",function(t){t||(t=b);for(var a=this,n=1/0,e=this.listSelections(),g=null,c=e.length-1;c>=0;c--){var l=e[c].from(),r=e[c].to();l.line>=n||(r.line>=n&&(r=m(n,0)),n=l.line,g==null?a.uncomment(l,r,t)?g="un":(a.lineComment(l,r,t),g="line"):g=="un"?a.uncomment(l,r,t):a.lineComment(l,r,t))}});function $(t,a,n){return/\bstring\b/.test(t.getTokenTypeAt(m(a.line,0)))&&!/^[\'\"\`]/.test(n)}M($,"probablyInsideString");function j(t,a){var n=t.getMode();return n.useInnerComments===!1||!n.innerMode?n:t.getModeAt(a)}M(j,"getMode"),s.defineExtension("lineComment",function(t,a,n){n||(n=b);var e=this,g=j(e,t),c=e.getLine(t.line);if(!(c==null||$(e,t,c))){var l=n.lineComment||g.lineComment;if(!l){(n.blockCommentStart||g.blockCommentStart)&&(n.fullLines=!0,e.blockComment(t,a,n));return}var r=Math.min(a.ch!=0||a.line==t.line?a.line+1:a.line,e.lastLine()+1),C=n.padding==null?" ":n.padding,f=n.commentBlankLines||t.line==a.line;e.operation(function(){if(n.indent){for(var v=null,i=t.line;ih.length)&&(v=h)}for(var i=t.line;ir||e.operation(function(){if(n.fullLines!=!1){var f=d.test(e.getLine(r));e.replaceRange(C+l,m(r)),e.replaceRange(c+C,m(t.line,0));var v=n.blockCommentLead||g.blockCommentLead;if(v!=null)for(var i=t.line+1;i<=r;++i)(i!=r||f)&&e.replaceRange(v+C,m(i,0))}else{var u=F(e.getCursor("to"),a)==0,h=!e.somethingSelected();e.replaceRange(l,a),u&&e.setSelection(h?a:e.getCursor("from"),a),e.replaceRange(c,t)}})}}),s.defineExtension("uncomment",function(t,a,n){n||(n=b);var e=this,g=j(e,t),c=Math.min(a.ch!=0||a.line==t.line?a.line:a.line-1,e.lastLine()),l=Math.min(t.line,c),r=n.lineComment||g.lineComment,C=[],f=n.padding==null?" ":n.padding,v;e:{if(!r)break e;for(var i=l;i<=c;++i){var u=e.getLine(i),h=u.indexOf(r);if(h>-1&&!/comment/.test(e.getTokenTypeAt(m(i,h+1)))&&(h=-1),h==-1&&d.test(u)||h>-1&&d.test(u.slice(0,h)))break e;C.push(u)}if(e.operation(function(){for(var L=l;L<=c;++L){var p=C[L-l],x=p.indexOf(r),k=x+r.length;x<0||(p.slice(k,k+f.length)==f&&(k+=f.length),v=!0,e.replaceRange("",m(L,x),m(L,k)))}}),v)return!0}var o=n.blockCommentStart||g.blockCommentStart,S=n.blockCommentEnd||g.blockCommentEnd;if(!o||!S)return!1;var W=n.blockCommentLead||g.blockCommentLead,E=e.getLine(l),_=E.indexOf(o);if(_==-1)return!1;var I=c==l?E:e.getLine(c),y=I.indexOf(S,c==l?_+o.length:0),z=m(l,_+1),B=m(c,y+1);if(y==-1||!/comment/.test(e.getTokenTypeAt(z))||!/comment/.test(e.getTokenTypeAt(B))||e.getRange(z,B,` +`).indexOf(S)>-1)return!1;var R=E.lastIndexOf(o,t.ch),T=R==-1?-1:E.slice(0,t.ch).indexOf(S,R+o.length);if(R!=-1&&T!=-1&&T+S.length!=t.ch)return!1;T=I.indexOf(S,a.ch);var D=I.slice(a.ch).lastIndexOf(o,T-a.ch);return R=T==-1||D==-1?-1:a.ch+D,T!=-1&&R!=-1&&R!=a.ch?!1:(e.operation(function(){e.replaceRange("",m(c,y-(f&&I.slice(y-f.length,y)==f?f.length:0)),m(c,y+S.length));var L=_+o.length;if(f&&E.slice(L,L+f.length)==f&&(L+=f.length),e.replaceRange("",m(l,_),m(l,L)),W)for(var p=l+1;p<=c;++p){var x=e.getLine(p),k=x.indexOf(W);if(!(k==-1||d.test(x.slice(0,k)))){var P=k+W.length;f&&x.slice(P,P+f.length)==f&&(P+=f.length),e.replaceRange("",m(p,k),m(p,P))}}}),!0)})})})();var J=w.exports,U=q({__proto__:null,default:J},[w.exports]);export{U as c}; diff --git a/packages/studio/dist-frontend/assets/dialog.es-aa8a9c34.js b/packages/studio/dist-frontend/assets/dialog.es-aa8a9c34.js new file mode 100644 index 000000000000..689c689155f0 --- /dev/null +++ b/packages/studio/dist-frontend/assets/dialog.es-aa8a9c34.js @@ -0,0 +1 @@ +import{a as _}from"./codemirror.es-2fb7d200.js";import"./index-17331a0b.js";var O=Object.defineProperty,m=(g,v)=>O(g,"name",{value:v,configurable:!0});function N(g,v){return v.forEach(function(e){e&&typeof e!="string"&&!Array.isArray(e)&&Object.keys(e).forEach(function(c){if(c!=="default"&&!(c in g)){var d=Object.getOwnPropertyDescriptor(e,c);Object.defineProperty(g,c,d.get?d:{enumerable:!0,get:function(){return e[c]}})}})}),Object.freeze(Object.defineProperty(g,Symbol.toStringTag,{value:"Module"}))}m(N,"_mergeNamespaces");var b={exports:{}};(function(g,v){(function(e){e(_.exports)})(function(e){function c(f,u,n){var o=f.getWrapperElement(),l;return l=o.appendChild(document.createElement("div")),n?l.className="CodeMirror-dialog CodeMirror-dialog-bottom":l.className="CodeMirror-dialog CodeMirror-dialog-top",typeof u=="string"?l.innerHTML=u:l.appendChild(u),e.addClass(o,"dialog-opened"),l}m(c,"dialogDiv");function d(f,u){f.state.currentNotificationClose&&f.state.currentNotificationClose(),f.state.currentNotificationClose=u}m(d,"closeNotification"),e.defineExtension("openDialog",function(f,u,n){n||(n={}),d(this,null);var o=c(this,f,n.bottom),l=!1,r=this;function i(t){if(typeof t=="string")a.value=t;else{if(l)return;l=!0,e.rmClass(o.parentNode,"dialog-opened"),o.parentNode.removeChild(o),r.focus(),n.onClose&&n.onClose(o)}}m(i,"close");var a=o.getElementsByTagName("input")[0],s;return a?(a.focus(),n.value&&(a.value=n.value,n.selectValueOnOpen!==!1&&a.select()),n.onInput&&e.on(a,"input",function(t){n.onInput(t,a.value,i)}),n.onKeyUp&&e.on(a,"keyup",function(t){n.onKeyUp(t,a.value,i)}),e.on(a,"keydown",function(t){n&&n.onKeyDown&&n.onKeyDown(t,a.value,i)||((t.keyCode==27||n.closeOnEnter!==!1&&t.keyCode==13)&&(a.blur(),e.e_stop(t),i()),t.keyCode==13&&u(a.value,t))}),n.closeOnBlur!==!1&&e.on(o,"focusout",function(t){t.relatedTarget!==null&&i()})):(s=o.getElementsByTagName("button")[0])&&(e.on(s,"click",function(){i(),r.focus()}),n.closeOnBlur!==!1&&e.on(s,"blur",i),s.focus()),i}),e.defineExtension("openConfirm",function(f,u,n){d(this,null);var o=c(this,f,n&&n.bottom),l=o.getElementsByTagName("button"),r=!1,i=this,a=1;function s(){r||(r=!0,e.rmClass(o.parentNode,"dialog-opened"),o.parentNode.removeChild(o),i.focus())}m(s,"close"),l[0].focus();for(var t=0;tA(F,"name",{value:y,configurable:!0});function P(F,y){return y.forEach(function(a){a&&typeof a!="string"&&!Array.isArray(a)&&Object.keys(a).forEach(function(s){if(s!=="default"&&!(s in F)){var h=Object.getOwnPropertyDescriptor(a,s);Object.defineProperty(F,s,h.get?h:{enumerable:!0,get:function(){return a[s]}})}})}),Object.freeze(Object.defineProperty(F,Symbol.toStringTag,{value:"Module"}))}u(P,"_mergeNamespaces");var N={exports:{}},V={exports:{}};(function(F,y){(function(a){a(T.exports)})(function(a){function s(e,r,f,i){if(f&&f.call){var p=f;f=null}else var p=c(e,f,"rangeFinder");typeof r=="number"&&(r=a.Pos(r,0));var m=c(e,f,"minFoldSize");function w(l){var o=p(e,r);if(!o||o.to.line-o.from.linee.firstLine();)r=a.Pos(r.line-1,0),d=w(!1);if(!(!d||d.cleared||i==="unfold")){var t=h(e,f,d);a.on(t,"mousedown",function(l){n.clear(),a.e_preventDefault(l)});var n=e.markText(d.from,d.to,{replacedWith:t,clearOnEnter:c(e,f,"clearOnEnter"),__isFold:!0});n.on("clear",function(l,o){a.signal(e,"unfold",e,l,o)}),a.signal(e,"fold",e,d.from,d.to)}}u(s,"doFold");function h(e,r,f){var i=c(e,r,"widget");if(typeof i=="function"&&(i=i(f.from,f.to)),typeof i=="string"){var p=document.createTextNode(i);i=document.createElement("span"),i.appendChild(p),i.className="CodeMirror-foldmarker"}else i&&(i=i.cloneNode(!0));return i}u(h,"makeWidget"),a.newFoldFunction=function(e,r){return function(f,i){s(f,i,{rangeFinder:e,widget:r})}},a.defineExtension("foldCode",function(e,r,f){s(this,e,r,f)}),a.defineExtension("isFolded",function(e){for(var r=this.findMarksAt(e),f=0;f=v){if(E&&O&&E.test(O.className))return;k=e(o.indicatorOpen)}}!k&&!O||t.setGutterMarker(S,o.gutter,k)})}u(r,"updateFoldInfo");function f(t){return new RegExp("(^|\\s)"+t+"(?:$|\\s)\\s*")}u(f,"classTest");function i(t){var n=t.getViewport(),l=t.state.foldGutter;l&&(t.operation(function(){r(t,n.from,n.to)}),l.from=n.from,l.to=n.to)}u(i,"updateInViewport");function p(t,n,l){var o=t.state.foldGutter;if(o){var g=o.options;if(l==g.gutter){var v=c(t,n);v?v.clear():t.foldCode(s(n,0),g)}}}u(p,"onGutterClick");function m(t){var n=t.state.foldGutter;if(n){var l=n.options;n.from=n.to=0,clearTimeout(n.changeUpdate),n.changeUpdate=setTimeout(function(){i(t)},l.foldOnChangeTimeSpan||600)}}u(m,"onChange");function w(t){var n=t.state.foldGutter;if(n){var l=n.options;clearTimeout(n.changeUpdate),n.changeUpdate=setTimeout(function(){var o=t.getViewport();n.from==n.to||o.from-n.to>20||n.from-o.to>20?i(t):t.operation(function(){o.fromn.to&&(r(t,n.to,o.to),n.to=o.to)})},l.updateViewportTimeSpan||400)}}u(w,"onViewportChange");function d(t,n){var l=t.state.foldGutter;if(l){var o=n.line;o>=l.from&&on(t,"name",{value:a,configurable:!0});function i(t,a){const r=[];let e=t;for(;e!=null&&e.kind;)r.push(e),e=e.prevState;for(let o=r.length-1;o>=0;o--)a(r[o])}f(i,"forEachState");export{i as f}; diff --git a/packages/studio/dist-frontend/assets/hint.es-5cae9ee4.js b/packages/studio/dist-frontend/assets/hint.es-5cae9ee4.js new file mode 100644 index 000000000000..5b7db027f8ec --- /dev/null +++ b/packages/studio/dist-frontend/assets/hint.es-5cae9ee4.js @@ -0,0 +1 @@ +import{C as r}from"./codemirror.es-2fb7d200.js";import"./show-hint.es-add0cd11.js";import{g}from"./index-17331a0b.js";import{P as m}from"./Range.es-3e45690c.js";r.registerHelper("hint","graphql",(o,a)=>{const{schema:i,externalFragments:c}=a;if(!i)return;const s=o.getCursor(),e=o.getTokenAt(s),l=e.type!==null&&/"|\w/.test(e.string[0])?e.start:e.end,p=new m(s.line,l),t={list:g(i,o.getValue(),p,e,c).map(n=>({text:n.label,type:n.type,description:n.documentation,isDeprecated:n.isDeprecated,deprecationReason:n.deprecationReason})),from:{line:s.line,ch:l},to:{line:s.line,ch:e.end}};return t!=null&&t.list&&t.list.length>0&&(t.from=r.Pos(t.from.line,t.from.ch),t.to=r.Pos(t.to.line,t.to.ch),r.signal(o,"hasCompletion",o,t,e)),t}); diff --git a/packages/studio/dist-frontend/assets/hint.es2-8cb6b09d.js b/packages/studio/dist-frontend/assets/hint.es2-8cb6b09d.js new file mode 100644 index 000000000000..6664ad3209c0 --- /dev/null +++ b/packages/studio/dist-frontend/assets/hint.es2-8cb6b09d.js @@ -0,0 +1 @@ +import{C as u}from"./codemirror.es-2fb7d200.js";import{f as j}from"./forEachState.es-1e367fb2.js";import{r as g,t as b,w as O,D as d,u as D,q as N}from"./index-17331a0b.js";var M=Object.defineProperty,p=(i,n)=>M(i,"name",{value:n,configurable:!0});function f(i,n,t){const r=x(t,m(n.string));if(!r)return;const e=n.type!==null&&/"|\w/.test(n.string[0])?n.start:n.end;return{list:r,from:{line:i.line,ch:e},to:{line:i.line,ch:n.end}}}p(f,"hintList");function x(i,n){if(!n)return y(i,l=>!l.isDeprecated);const t=i.map(l=>({proximity:T(m(l.text),n),entry:l}));return y(y(t,l=>l.proximity<=2),l=>!l.entry.isDeprecated).sort((l,o)=>(l.entry.isDeprecated?1:0)-(o.entry.isDeprecated?1:0)||l.proximity-o.proximity||l.entry.text.length-o.entry.text.length).map(l=>l.entry)}p(x,"filterAndSortList");function y(i,n){const t=i.filter(n);return t.length===0?i:t}p(y,"filterNonEmpty");function m(i){return i.toLowerCase().replace(/\W/g,"")}p(m,"normalizeText");function T(i,n){let t=v(n,i);return i.length>n.length&&(t-=i.length-n.length-1,t+=i.indexOf(n)===0?0:.5),t}p(T,"getProximity");function v(i,n){let t,r;const e=[],l=i.length,o=n.length;for(t=0;t<=l;t++)e[t]=[t];for(r=1;r<=o;r++)e[0][r]=r;for(t=1;t<=l;t++)for(r=1;r<=o;r++){const c=i[t-1]===n[r-1]?0:1;e[t][r]=Math.min(e[t-1][r]+1,e[t][r-1]+1,e[t-1][r-1]+c),t>1&&r>1&&i[t-1]===n[r-2]&&i[t-2]===n[r-1]&&(e[t][r]=Math.min(e[t][r],e[t-2][r-2]+c))}return e[l][o]}p(v,"lexicalDistance");u.registerHelper("hint","graphql-variables",(i,n)=>{const t=i.getCursor(),r=i.getTokenAt(t),e=L(t,r,n);return e!=null&&e.list&&e.list.length>0&&(e.from=u.Pos(e.from.line,e.from.ch),e.to=u.Pos(e.to.line,e.to.ch),u.signal(i,"hasCompletion",i,e,r)),e});function L(i,n,t){const r=n.state.kind==="Invalid"?n.state.prevState:n.state,{kind:e,step:l}=r;if(e==="Document"&&l===0)return f(i,n,[{text:"{"}]);const{variableToType:o}=t;if(!o)return;const c=V(o,n.state);if(e==="Document"||e==="Variable"&&l===0){const a=Object.keys(o);return f(i,n,a.map(s=>({text:`"${s}": `,type:o[s]})))}if((e==="ObjectValue"||e==="ObjectField"&&l===0)&&c.fields){const a=Object.keys(c.fields).map(s=>c.fields[s]);return f(i,n,a.map(s=>({text:`"${s.name}": `,type:s.type,description:s.description})))}if(e==="StringValue"||e==="NumberValue"||e==="BooleanValue"||e==="NullValue"||e==="ListValue"&&l===1||e==="ObjectField"&&l===2||e==="Variable"&&l===2){const a=c.type?g(c.type):void 0;if(a instanceof b)return f(i,n,[{text:"{"}]);if(a instanceof O){const s=a.getValues();return f(i,n,s.map(h=>({text:`"${h.name}"`,type:a,description:h.description})))}if(a===d)return f(i,n,[{text:"true",type:d,description:"Not false."},{text:"false",type:d,description:"Not true."}])}}p(L,"getVariablesHint");function V(i,n){const t={type:null,fields:null};return j(n,r=>{if(r.kind==="Variable")t.type=i[r.name];else if(r.kind==="ListValue"){const e=t.type?D(t.type):void 0;t.type=e instanceof N?e.ofType:null}else if(r.kind==="ObjectValue"){const e=t.type?g(t.type):void 0;t.fields=e instanceof b?e.getFields():null}else if(r.kind==="ObjectField"){const e=r.name&&t.fields?t.fields[r.name]:null;t.type=e==null?void 0:e.type}}),t}p(V,"getTypeInfo"); diff --git a/packages/studio/dist-frontend/assets/index-17331a0b.js b/packages/studio/dist-frontend/assets/index-17331a0b.js new file mode 100644 index 000000000000..f125d036fef8 --- /dev/null +++ b/packages/studio/dist-frontend/assets/index-17331a0b.js @@ -0,0 +1,770 @@ +var Xj=Object.defineProperty;var Zj=(e,t,n)=>t in e?Xj(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var mD=(e,t,n)=>(Zj(e,typeof t!="symbol"?t+"":t,n),n);function e8(e,t){for(var n=0;nr[i]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const o of i)if(o.type==="childList")for(const a of o.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&r(a)}).observe(document,{childList:!0,subtree:!0});function n(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerPolicy&&(o.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?o.credentials="include":i.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(i){if(i.ep)return;i.ep=!0;const o=n(i);fetch(i.href,o)}})();var vD=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function sF(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var ad={},t8={get exports(){return ad},set exports(e){ad=e}},Zg={},g={},n8={get exports(){return g},set exports(e){g=e}},ze={};/** + * @license React + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var hp=Symbol.for("react.element"),r8=Symbol.for("react.portal"),i8=Symbol.for("react.fragment"),o8=Symbol.for("react.strict_mode"),a8=Symbol.for("react.profiler"),s8=Symbol.for("react.provider"),l8=Symbol.for("react.context"),u8=Symbol.for("react.forward_ref"),c8=Symbol.for("react.suspense"),f8=Symbol.for("react.memo"),d8=Symbol.for("react.lazy"),gD=Symbol.iterator;function p8(e){return e===null||typeof e!="object"?null:(e=gD&&e[gD]||e["@@iterator"],typeof e=="function"?e:null)}var lF={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},uF=Object.assign,cF={};function _c(e,t,n){this.props=e,this.context=t,this.refs=cF,this.updater=n||lF}_c.prototype.isReactComponent={};_c.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};_c.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function fF(){}fF.prototype=_c.prototype;function a_(e,t,n){this.props=e,this.context=t,this.refs=cF,this.updater=n||lF}var s_=a_.prototype=new fF;s_.constructor=a_;uF(s_,_c.prototype);s_.isPureReactComponent=!0;var yD=Array.isArray,dF=Object.prototype.hasOwnProperty,l_={current:null},pF={key:!0,ref:!0,__self:!0,__source:!0};function hF(e,t,n){var r,i={},o=null,a=null;if(t!=null)for(r in t.ref!==void 0&&(a=t.ref),t.key!==void 0&&(o=""+t.key),t)dF.call(t,r)&&!pF.hasOwnProperty(r)&&(i[r]=t[r]);var s=arguments.length-2;if(s===1)i.children=n;else if(10&&o[o.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!o||u[1]>o[0]&&u[1]=N8){var t=console[e]||console.log;return t.apply(console,arguments)}}}(function(e){e.debug=uh("debug"),e.log=uh("log"),e.warn=uh("warn"),e.error=uh("error")})(ce||(ce={}));function Xr(e){try{return e()}catch{}}const TD=Xr(function(){return globalThis})||Xr(function(){return window})||Xr(function(){return self})||Xr(function(){return global})||Xr(function(){return Xr.constructor("return this")()});var wD="__",_D=[wD,wD].join("DEV");function I8(){try{return Boolean(__DEV__)}catch{return Object.defineProperty(TD,_D,{value:Xr(function(){return"production"})!=="production",enumerable:!1,configurable:!0,writable:!0}),TD[_D]}}const mE=I8();function xa(e){try{return e()}catch{}}var Z1=xa(function(){return globalThis})||xa(function(){return window})||xa(function(){return self})||xa(function(){return global})||xa(function(){return xa.constructor("return this")()}),eb=!1;function x8(){Z1&&!xa(function(){return"production"})&&!xa(function(){return process})&&(Object.defineProperty(Z1,"process",{value:{env:{NODE_ENV:"production"}},configurable:!0,enumerable:!1,writable:!0}),eb=!0)}x8();function SD(){eb&&(delete Z1.process,eb=!1)}const D8="16.6.0",O8=Object.freeze({major:16,minor:6,patch:0,preReleaseTag:null});function Fe(e,t){if(!Boolean(e))throw new Error(t)}function Pr(e){return typeof(e==null?void 0:e.then)=="function"}function Mr(e){return typeof e=="object"&&e!==null}function Kt(e,t){if(!Boolean(e))throw new Error(t??"Unexpected invariant triggered.")}const C8=/\r\n|[\n\r]/g;function hv(e,t){let n=0,r=1;for(const i of e.body.matchAll(C8)){if(typeof i.index=="number"||Kt(!1),i.index>=t)break;n=i.index+i[0].length,r+=1}return{line:r,column:t+1-n}}function gF(e){return c_(e.source,hv(e.source,e.start))}function c_(e,t){const n=e.locationOffset.column-1,r="".padStart(n)+e.body,i=t.line-1,o=e.locationOffset.line-1,a=t.line+o,s=t.line===1?n:0,l=t.column+s,u=`${e.name}:${a}:${l} +`,c=r.split(/\r\n|[\n\r]/g),f=c[i];if(f.length>120){const d=Math.floor(l/80),p=l%80,m=[];for(let v=0;v["|",v]),["|","^".padStart(p)],["|",m[d+1]]])}return u+ND([[`${a-1} |`,c[i-1]],[`${a} |`,f],["|","^".padStart(l)],[`${a+1} |`,c[i+1]]])}function ND(e){const t=e.filter(([r,i])=>i!==void 0),n=Math.max(...t.map(([r])=>r.length));return t.map(([r,i])=>r.padStart(n)+(i?" "+i:"")).join(` +`)}function k8(e){const t=e[0];return t==null||"kind"in t||"length"in t?{nodes:t,source:e[1],positions:e[2],path:e[3],originalError:e[4],extensions:e[5]}:t}let K=class yF extends Error{constructor(t,...n){var r,i,o;const{nodes:a,source:s,positions:l,path:u,originalError:c,extensions:f}=k8(n);super(t),this.name="GraphQLError",this.path=u??void 0,this.originalError=c??void 0,this.nodes=ID(Array.isArray(a)?a:a?[a]:void 0);const d=ID((r=this.nodes)===null||r===void 0?void 0:r.map(m=>m.loc).filter(m=>m!=null));this.source=s??(d==null||(i=d[0])===null||i===void 0?void 0:i.source),this.positions=l??(d==null?void 0:d.map(m=>m.start)),this.locations=l&&s?l.map(m=>hv(s,m)):d==null?void 0:d.map(m=>hv(m.source,m.start));const p=Mr(c==null?void 0:c.extensions)?c==null?void 0:c.extensions:void 0;this.extensions=(o=f??p)!==null&&o!==void 0?o:Object.create(null),Object.defineProperties(this,{message:{writable:!0,enumerable:!0},name:{enumerable:!1},nodes:{enumerable:!1},source:{enumerable:!1},positions:{enumerable:!1},originalError:{enumerable:!1}}),c!=null&&c.stack?Object.defineProperty(this,"stack",{value:c.stack,writable:!0,configurable:!0}):Error.captureStackTrace?Error.captureStackTrace(this,yF):Object.defineProperty(this,"stack",{value:Error().stack,writable:!0,configurable:!0})}get[Symbol.toStringTag](){return"GraphQLError"}toString(){let t=this.message;if(this.nodes)for(const n of this.nodes)n.loc&&(t+=` + +`+gF(n.loc));else if(this.source&&this.locations)for(const n of this.locations)t+=` + +`+c_(this.source,n);return t}toJSON(){const t={message:this.message};return this.locations!=null&&(t.locations=this.locations),this.path!=null&&(t.path=this.path),this.extensions!=null&&Object.keys(this.extensions).length>0&&(t.extensions=this.extensions),t}};function ID(e){return e===void 0||e.length===0?void 0:e}function A8(e){return e.toString()}function F8(e){return e.toJSON()}function fn(e,t,n){return new K(`Syntax Error: ${n}`,{source:e,positions:[t]})}let EF=class{constructor(t,n,r){this.start=t.start,this.end=n.end,this.startToken=t,this.endToken=n,this.source=r}get[Symbol.toStringTag](){return"Location"}toJSON(){return{start:this.start,end:this.end}}},f_=class{constructor(t,n,r,i,o,a){this.kind=t,this.start=n,this.end=r,this.line=i,this.column=o,this.value=a,this.prev=null,this.next=null}get[Symbol.toStringTag](){return"Token"}toJSON(){return{kind:this.kind,value:this.value,line:this.line,column:this.column}}};const bF={Name:[],Document:["definitions"],OperationDefinition:["name","variableDefinitions","directives","selectionSet"],VariableDefinition:["variable","type","defaultValue","directives"],Variable:["name"],SelectionSet:["selections"],Field:["alias","name","arguments","directives","selectionSet"],Argument:["name","value"],FragmentSpread:["name","directives"],InlineFragment:["typeCondition","directives","selectionSet"],FragmentDefinition:["name","variableDefinitions","typeCondition","directives","selectionSet"],IntValue:[],FloatValue:[],StringValue:[],BooleanValue:[],NullValue:[],EnumValue:[],ListValue:["values"],ObjectValue:["fields"],ObjectField:["name","value"],Directive:["name","arguments"],NamedType:["name"],ListType:["type"],NonNullType:["type"],SchemaDefinition:["description","directives","operationTypes"],OperationTypeDefinition:["type"],ScalarTypeDefinition:["description","name","directives"],ObjectTypeDefinition:["description","name","interfaces","directives","fields"],FieldDefinition:["description","name","arguments","type","directives"],InputValueDefinition:["description","name","type","defaultValue","directives"],InterfaceTypeDefinition:["description","name","interfaces","directives","fields"],UnionTypeDefinition:["description","name","directives","types"],EnumTypeDefinition:["description","name","directives","values"],EnumValueDefinition:["description","name","directives"],InputObjectTypeDefinition:["description","name","directives","fields"],DirectiveDefinition:["description","name","arguments","locations"],SchemaExtension:["directives","operationTypes"],ScalarTypeExtension:["name","directives"],ObjectTypeExtension:["name","interfaces","directives","fields"],InterfaceTypeExtension:["name","interfaces","directives","fields"],UnionTypeExtension:["name","directives","types"],EnumTypeExtension:["name","directives","values"],InputObjectTypeExtension:["name","directives","fields"]},R8=new Set(Object.keys(bF));function tb(e){const t=e==null?void 0:e.kind;return typeof t=="string"&&R8.has(t)}var dn;(function(e){e.QUERY="query",e.MUTATION="mutation",e.SUBSCRIPTION="subscription"})(dn||(dn={}));var pe;(function(e){e.QUERY="QUERY",e.MUTATION="MUTATION",e.SUBSCRIPTION="SUBSCRIPTION",e.FIELD="FIELD",e.FRAGMENT_DEFINITION="FRAGMENT_DEFINITION",e.FRAGMENT_SPREAD="FRAGMENT_SPREAD",e.INLINE_FRAGMENT="INLINE_FRAGMENT",e.VARIABLE_DEFINITION="VARIABLE_DEFINITION",e.SCHEMA="SCHEMA",e.SCALAR="SCALAR",e.OBJECT="OBJECT",e.FIELD_DEFINITION="FIELD_DEFINITION",e.ARGUMENT_DEFINITION="ARGUMENT_DEFINITION",e.INTERFACE="INTERFACE",e.UNION="UNION",e.ENUM="ENUM",e.ENUM_VALUE="ENUM_VALUE",e.INPUT_OBJECT="INPUT_OBJECT",e.INPUT_FIELD_DEFINITION="INPUT_FIELD_DEFINITION"})(pe||(pe={}));var D;(function(e){e.NAME="Name",e.DOCUMENT="Document",e.OPERATION_DEFINITION="OperationDefinition",e.VARIABLE_DEFINITION="VariableDefinition",e.SELECTION_SET="SelectionSet",e.FIELD="Field",e.ARGUMENT="Argument",e.FRAGMENT_SPREAD="FragmentSpread",e.INLINE_FRAGMENT="InlineFragment",e.FRAGMENT_DEFINITION="FragmentDefinition",e.VARIABLE="Variable",e.INT="IntValue",e.FLOAT="FloatValue",e.STRING="StringValue",e.BOOLEAN="BooleanValue",e.NULL="NullValue",e.ENUM="EnumValue",e.LIST="ListValue",e.OBJECT="ObjectValue",e.OBJECT_FIELD="ObjectField",e.DIRECTIVE="Directive",e.NAMED_TYPE="NamedType",e.LIST_TYPE="ListType",e.NON_NULL_TYPE="NonNullType",e.SCHEMA_DEFINITION="SchemaDefinition",e.OPERATION_TYPE_DEFINITION="OperationTypeDefinition",e.SCALAR_TYPE_DEFINITION="ScalarTypeDefinition",e.OBJECT_TYPE_DEFINITION="ObjectTypeDefinition",e.FIELD_DEFINITION="FieldDefinition",e.INPUT_VALUE_DEFINITION="InputValueDefinition",e.INTERFACE_TYPE_DEFINITION="InterfaceTypeDefinition",e.UNION_TYPE_DEFINITION="UnionTypeDefinition",e.ENUM_TYPE_DEFINITION="EnumTypeDefinition",e.ENUM_VALUE_DEFINITION="EnumValueDefinition",e.INPUT_OBJECT_TYPE_DEFINITION="InputObjectTypeDefinition",e.DIRECTIVE_DEFINITION="DirectiveDefinition",e.SCHEMA_EXTENSION="SchemaExtension",e.SCALAR_TYPE_EXTENSION="ScalarTypeExtension",e.OBJECT_TYPE_EXTENSION="ObjectTypeExtension",e.INTERFACE_TYPE_EXTENSION="InterfaceTypeExtension",e.UNION_TYPE_EXTENSION="UnionTypeExtension",e.ENUM_TYPE_EXTENSION="EnumTypeExtension",e.INPUT_OBJECT_TYPE_EXTENSION="InputObjectTypeExtension"})(D||(D={}));function nb(e){return e===9||e===32}function sd(e){return e>=48&&e<=57}function TF(e){return e>=97&&e<=122||e>=65&&e<=90}function d_(e){return TF(e)||e===95}function wF(e){return TF(e)||sd(e)||e===95}function L8(e){var t;let n=Number.MAX_SAFE_INTEGER,r=null,i=-1;for(let a=0;as===0?a:a.slice(n)).slice((t=r)!==null&&t!==void 0?t:0,i+1)}function $8(e){let t=0;for(;t1&&r.slice(1).every(p=>p.length===0||nb(p.charCodeAt(0))),a=n.endsWith('\\"""'),s=e.endsWith('"')&&!a,l=e.endsWith("\\"),u=s||l,c=!(t!=null&&t.minimize)&&(!i||e.length>70||u||o||a);let f="";const d=i&&nb(e.charCodeAt(0));return(c&&!d||o)&&(f+=` +`),f+=n,(c||u)&&(f+=` +`),'"""'+f+'"""'}var Z;(function(e){e.SOF="",e.EOF="",e.BANG="!",e.DOLLAR="$",e.AMP="&",e.PAREN_L="(",e.PAREN_R=")",e.SPREAD="...",e.COLON=":",e.EQUALS="=",e.AT="@",e.BRACKET_L="[",e.BRACKET_R="]",e.BRACE_L="{",e.PIPE="|",e.BRACE_R="}",e.NAME="Name",e.INT="Int",e.FLOAT="Float",e.STRING="String",e.BLOCK_STRING="BlockString",e.COMMENT="Comment"})(Z||(Z={}));let p_=class{constructor(t){const n=new f_(Z.SOF,0,0,0,0);this.source=t,this.lastToken=n,this.token=n,this.line=1,this.lineStart=0}get[Symbol.toStringTag](){return"Lexer"}advance(){return this.lastToken=this.token,this.token=this.lookahead()}lookahead(){let t=this.token;if(t.kind!==Z.EOF)do if(t.next)t=t.next;else{const n=M8(this,t.end);t.next=n,n.prev=t,t=n}while(t.kind===Z.COMMENT);return t}};function SF(e){return e===Z.BANG||e===Z.DOLLAR||e===Z.AMP||e===Z.PAREN_L||e===Z.PAREN_R||e===Z.SPREAD||e===Z.COLON||e===Z.EQUALS||e===Z.AT||e===Z.BRACKET_L||e===Z.BRACKET_R||e===Z.BRACE_L||e===Z.PIPE||e===Z.BRACE_R}function Sc(e){return e>=0&&e<=55295||e>=57344&&e<=1114111}function ey(e,t){return NF(e.charCodeAt(t))&&IF(e.charCodeAt(t+1))}function NF(e){return e>=55296&&e<=56319}function IF(e){return e>=56320&&e<=57343}function fl(e,t){const n=e.source.body.codePointAt(t);if(n===void 0)return Z.EOF;if(n>=32&&n<=126){const r=String.fromCodePoint(n);return r==='"'?`'"'`:`"${r}"`}return"U+"+n.toString(16).toUpperCase().padStart(4,"0")}function nn(e,t,n,r,i){const o=e.line,a=1+n-e.lineStart;return new f_(t,n,r,o,a,i)}function M8(e,t){const n=e.source.body,r=n.length;let i=t;for(;i=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:-1}function z8(e,t){const n=e.source.body;switch(n.charCodeAt(t+1)){case 34:return{value:'"',size:2};case 92:return{value:"\\",size:2};case 47:return{value:"/",size:2};case 98:return{value:"\b",size:2};case 102:return{value:"\f",size:2};case 110:return{value:` +`,size:2};case 114:return{value:"\r",size:2};case 116:return{value:" ",size:2}}throw fn(e.source,t,`Invalid character escape sequence: "${n.slice(t,t+2)}".`)}function Q8(e,t){const n=e.source.body,r=n.length;let i=e.lineStart,o=t+3,a=o,s="";const l=[];for(;oxF?"["+X8(e)+"]":"{ "+n.map(([i,o])=>i+": "+ty(o,t)).join(", ")+" }"}function K8(e,t){if(e.length===0)return"[]";if(t.length>xF)return"[Array]";const n=Math.min(H8,e.length),r=e.length-n,i=[];for(let o=0;o1&&i.push(`... ${r} more items`),"["+i.join(", ")+"]"}function X8(e){const t=Object.prototype.toString.call(e).replace(/^\[object /,"").replace(/]$/,"");if(t==="Object"&&typeof e.constructor=="function"){const n=e.constructor.name;if(typeof n=="string"&&n!=="")return n}return t}const Hi=function(t,n){return t instanceof n};let mp=class{constructor(t,n="GraphQL request",r={line:1,column:1}){typeof t=="string"||Fe(!1,`Body must be a string. Received: ${ee(t)}.`),this.body=t,this.name=n,this.locationOffset=r,this.locationOffset.line>0||Fe(!1,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||Fe(!1,"column in locationOffset is 1-indexed and must be positive.")}get[Symbol.toStringTag](){return"Source"}};function DF(e){return Hi(e,mp)}function qr(e,t){return new ny(e,t).parseDocument()}function OF(e,t){const n=new ny(e,t);n.expectToken(Z.SOF);const r=n.parseValueLiteral(!1);return n.expectToken(Z.EOF),r}function Z8(e,t){const n=new ny(e,t);n.expectToken(Z.SOF);const r=n.parseConstValueLiteral();return n.expectToken(Z.EOF),r}function e7(e,t){const n=new ny(e,t);n.expectToken(Z.SOF);const r=n.parseTypeReference();return n.expectToken(Z.EOF),r}let ny=class{constructor(t,n={}){const r=DF(t)?t:new mp(t);this._lexer=new p_(r),this._options=n,this._tokenCounter=0}parseName(){const t=this.expectToken(Z.NAME);return this.node(t,{kind:D.NAME,value:t.value})}parseDocument(){return this.node(this._lexer.token,{kind:D.DOCUMENT,definitions:this.many(Z.SOF,this.parseDefinition,Z.EOF)})}parseDefinition(){if(this.peek(Z.BRACE_L))return this.parseOperationDefinition();const t=this.peekDescription(),n=t?this._lexer.lookahead():this._lexer.token;if(n.kind===Z.NAME){switch(n.value){case"schema":return this.parseSchemaDefinition();case"scalar":return this.parseScalarTypeDefinition();case"type":return this.parseObjectTypeDefinition();case"interface":return this.parseInterfaceTypeDefinition();case"union":return this.parseUnionTypeDefinition();case"enum":return this.parseEnumTypeDefinition();case"input":return this.parseInputObjectTypeDefinition();case"directive":return this.parseDirectiveDefinition()}if(t)throw fn(this._lexer.source,this._lexer.token.start,"Unexpected description, descriptions are supported only on type definitions.");switch(n.value){case"query":case"mutation":case"subscription":return this.parseOperationDefinition();case"fragment":return this.parseFragmentDefinition();case"extend":return this.parseTypeSystemExtension()}}throw this.unexpected(n)}parseOperationDefinition(){const t=this._lexer.token;if(this.peek(Z.BRACE_L))return this.node(t,{kind:D.OPERATION_DEFINITION,operation:dn.QUERY,name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet()});const n=this.parseOperationType();let r;return this.peek(Z.NAME)&&(r=this.parseName()),this.node(t,{kind:D.OPERATION_DEFINITION,operation:n,name:r,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseOperationType(){const t=this.expectToken(Z.NAME);switch(t.value){case"query":return dn.QUERY;case"mutation":return dn.MUTATION;case"subscription":return dn.SUBSCRIPTION}throw this.unexpected(t)}parseVariableDefinitions(){return this.optionalMany(Z.PAREN_L,this.parseVariableDefinition,Z.PAREN_R)}parseVariableDefinition(){return this.node(this._lexer.token,{kind:D.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(Z.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(Z.EQUALS)?this.parseConstValueLiteral():void 0,directives:this.parseConstDirectives()})}parseVariable(){const t=this._lexer.token;return this.expectToken(Z.DOLLAR),this.node(t,{kind:D.VARIABLE,name:this.parseName()})}parseSelectionSet(){return this.node(this._lexer.token,{kind:D.SELECTION_SET,selections:this.many(Z.BRACE_L,this.parseSelection,Z.BRACE_R)})}parseSelection(){return this.peek(Z.SPREAD)?this.parseFragment():this.parseField()}parseField(){const t=this._lexer.token,n=this.parseName();let r,i;return this.expectOptionalToken(Z.COLON)?(r=n,i=this.parseName()):i=n,this.node(t,{kind:D.FIELD,alias:r,name:i,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(Z.BRACE_L)?this.parseSelectionSet():void 0})}parseArguments(t){const n=t?this.parseConstArgument:this.parseArgument;return this.optionalMany(Z.PAREN_L,n,Z.PAREN_R)}parseArgument(t=!1){const n=this._lexer.token,r=this.parseName();return this.expectToken(Z.COLON),this.node(n,{kind:D.ARGUMENT,name:r,value:this.parseValueLiteral(t)})}parseConstArgument(){return this.parseArgument(!0)}parseFragment(){const t=this._lexer.token;this.expectToken(Z.SPREAD);const n=this.expectOptionalKeyword("on");return!n&&this.peek(Z.NAME)?this.node(t,{kind:D.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1)}):this.node(t,{kind:D.INLINE_FRAGMENT,typeCondition:n?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentDefinition(){const t=this._lexer.token;return this.expectKeyword("fragment"),this._options.allowLegacyFragmentVariables===!0?this.node(t,{kind:D.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()}):this.node(t,{kind:D.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentName(){if(this._lexer.token.value==="on")throw this.unexpected();return this.parseName()}parseValueLiteral(t){const n=this._lexer.token;switch(n.kind){case Z.BRACKET_L:return this.parseList(t);case Z.BRACE_L:return this.parseObject(t);case Z.INT:return this.advanceLexer(),this.node(n,{kind:D.INT,value:n.value});case Z.FLOAT:return this.advanceLexer(),this.node(n,{kind:D.FLOAT,value:n.value});case Z.STRING:case Z.BLOCK_STRING:return this.parseStringLiteral();case Z.NAME:switch(this.advanceLexer(),n.value){case"true":return this.node(n,{kind:D.BOOLEAN,value:!0});case"false":return this.node(n,{kind:D.BOOLEAN,value:!1});case"null":return this.node(n,{kind:D.NULL});default:return this.node(n,{kind:D.ENUM,value:n.value})}case Z.DOLLAR:if(t)if(this.expectToken(Z.DOLLAR),this._lexer.token.kind===Z.NAME){const r=this._lexer.token.value;throw fn(this._lexer.source,n.start,`Unexpected variable "$${r}" in constant value.`)}else throw this.unexpected(n);return this.parseVariable();default:throw this.unexpected()}}parseConstValueLiteral(){return this.parseValueLiteral(!0)}parseStringLiteral(){const t=this._lexer.token;return this.advanceLexer(),this.node(t,{kind:D.STRING,value:t.value,block:t.kind===Z.BLOCK_STRING})}parseList(t){const n=()=>this.parseValueLiteral(t);return this.node(this._lexer.token,{kind:D.LIST,values:this.any(Z.BRACKET_L,n,Z.BRACKET_R)})}parseObject(t){const n=()=>this.parseObjectField(t);return this.node(this._lexer.token,{kind:D.OBJECT,fields:this.any(Z.BRACE_L,n,Z.BRACE_R)})}parseObjectField(t){const n=this._lexer.token,r=this.parseName();return this.expectToken(Z.COLON),this.node(n,{kind:D.OBJECT_FIELD,name:r,value:this.parseValueLiteral(t)})}parseDirectives(t){const n=[];for(;this.peek(Z.AT);)n.push(this.parseDirective(t));return n}parseConstDirectives(){return this.parseDirectives(!0)}parseDirective(t){const n=this._lexer.token;return this.expectToken(Z.AT),this.node(n,{kind:D.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(t)})}parseTypeReference(){const t=this._lexer.token;let n;if(this.expectOptionalToken(Z.BRACKET_L)){const r=this.parseTypeReference();this.expectToken(Z.BRACKET_R),n=this.node(t,{kind:D.LIST_TYPE,type:r})}else n=this.parseNamedType();return this.expectOptionalToken(Z.BANG)?this.node(t,{kind:D.NON_NULL_TYPE,type:n}):n}parseNamedType(){return this.node(this._lexer.token,{kind:D.NAMED_TYPE,name:this.parseName()})}peekDescription(){return this.peek(Z.STRING)||this.peek(Z.BLOCK_STRING)}parseDescription(){if(this.peekDescription())return this.parseStringLiteral()}parseSchemaDefinition(){const t=this._lexer.token,n=this.parseDescription();this.expectKeyword("schema");const r=this.parseConstDirectives(),i=this.many(Z.BRACE_L,this.parseOperationTypeDefinition,Z.BRACE_R);return this.node(t,{kind:D.SCHEMA_DEFINITION,description:n,directives:r,operationTypes:i})}parseOperationTypeDefinition(){const t=this._lexer.token,n=this.parseOperationType();this.expectToken(Z.COLON);const r=this.parseNamedType();return this.node(t,{kind:D.OPERATION_TYPE_DEFINITION,operation:n,type:r})}parseScalarTypeDefinition(){const t=this._lexer.token,n=this.parseDescription();this.expectKeyword("scalar");const r=this.parseName(),i=this.parseConstDirectives();return this.node(t,{kind:D.SCALAR_TYPE_DEFINITION,description:n,name:r,directives:i})}parseObjectTypeDefinition(){const t=this._lexer.token,n=this.parseDescription();this.expectKeyword("type");const r=this.parseName(),i=this.parseImplementsInterfaces(),o=this.parseConstDirectives(),a=this.parseFieldsDefinition();return this.node(t,{kind:D.OBJECT_TYPE_DEFINITION,description:n,name:r,interfaces:i,directives:o,fields:a})}parseImplementsInterfaces(){return this.expectOptionalKeyword("implements")?this.delimitedMany(Z.AMP,this.parseNamedType):[]}parseFieldsDefinition(){return this.optionalMany(Z.BRACE_L,this.parseFieldDefinition,Z.BRACE_R)}parseFieldDefinition(){const t=this._lexer.token,n=this.parseDescription(),r=this.parseName(),i=this.parseArgumentDefs();this.expectToken(Z.COLON);const o=this.parseTypeReference(),a=this.parseConstDirectives();return this.node(t,{kind:D.FIELD_DEFINITION,description:n,name:r,arguments:i,type:o,directives:a})}parseArgumentDefs(){return this.optionalMany(Z.PAREN_L,this.parseInputValueDef,Z.PAREN_R)}parseInputValueDef(){const t=this._lexer.token,n=this.parseDescription(),r=this.parseName();this.expectToken(Z.COLON);const i=this.parseTypeReference();let o;this.expectOptionalToken(Z.EQUALS)&&(o=this.parseConstValueLiteral());const a=this.parseConstDirectives();return this.node(t,{kind:D.INPUT_VALUE_DEFINITION,description:n,name:r,type:i,defaultValue:o,directives:a})}parseInterfaceTypeDefinition(){const t=this._lexer.token,n=this.parseDescription();this.expectKeyword("interface");const r=this.parseName(),i=this.parseImplementsInterfaces(),o=this.parseConstDirectives(),a=this.parseFieldsDefinition();return this.node(t,{kind:D.INTERFACE_TYPE_DEFINITION,description:n,name:r,interfaces:i,directives:o,fields:a})}parseUnionTypeDefinition(){const t=this._lexer.token,n=this.parseDescription();this.expectKeyword("union");const r=this.parseName(),i=this.parseConstDirectives(),o=this.parseUnionMemberTypes();return this.node(t,{kind:D.UNION_TYPE_DEFINITION,description:n,name:r,directives:i,types:o})}parseUnionMemberTypes(){return this.expectOptionalToken(Z.EQUALS)?this.delimitedMany(Z.PIPE,this.parseNamedType):[]}parseEnumTypeDefinition(){const t=this._lexer.token,n=this.parseDescription();this.expectKeyword("enum");const r=this.parseName(),i=this.parseConstDirectives(),o=this.parseEnumValuesDefinition();return this.node(t,{kind:D.ENUM_TYPE_DEFINITION,description:n,name:r,directives:i,values:o})}parseEnumValuesDefinition(){return this.optionalMany(Z.BRACE_L,this.parseEnumValueDefinition,Z.BRACE_R)}parseEnumValueDefinition(){const t=this._lexer.token,n=this.parseDescription(),r=this.parseEnumValueName(),i=this.parseConstDirectives();return this.node(t,{kind:D.ENUM_VALUE_DEFINITION,description:n,name:r,directives:i})}parseEnumValueName(){if(this._lexer.token.value==="true"||this._lexer.token.value==="false"||this._lexer.token.value==="null")throw fn(this._lexer.source,this._lexer.token.start,`${ch(this._lexer.token)} is reserved and cannot be used for an enum value.`);return this.parseName()}parseInputObjectTypeDefinition(){const t=this._lexer.token,n=this.parseDescription();this.expectKeyword("input");const r=this.parseName(),i=this.parseConstDirectives(),o=this.parseInputFieldsDefinition();return this.node(t,{kind:D.INPUT_OBJECT_TYPE_DEFINITION,description:n,name:r,directives:i,fields:o})}parseInputFieldsDefinition(){return this.optionalMany(Z.BRACE_L,this.parseInputValueDef,Z.BRACE_R)}parseTypeSystemExtension(){const t=this._lexer.lookahead();if(t.kind===Z.NAME)switch(t.value){case"schema":return this.parseSchemaExtension();case"scalar":return this.parseScalarTypeExtension();case"type":return this.parseObjectTypeExtension();case"interface":return this.parseInterfaceTypeExtension();case"union":return this.parseUnionTypeExtension();case"enum":return this.parseEnumTypeExtension();case"input":return this.parseInputObjectTypeExtension()}throw this.unexpected(t)}parseSchemaExtension(){const t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("schema");const n=this.parseConstDirectives(),r=this.optionalMany(Z.BRACE_L,this.parseOperationTypeDefinition,Z.BRACE_R);if(n.length===0&&r.length===0)throw this.unexpected();return this.node(t,{kind:D.SCHEMA_EXTENSION,directives:n,operationTypes:r})}parseScalarTypeExtension(){const t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("scalar");const n=this.parseName(),r=this.parseConstDirectives();if(r.length===0)throw this.unexpected();return this.node(t,{kind:D.SCALAR_TYPE_EXTENSION,name:n,directives:r})}parseObjectTypeExtension(){const t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");const n=this.parseName(),r=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),o=this.parseFieldsDefinition();if(r.length===0&&i.length===0&&o.length===0)throw this.unexpected();return this.node(t,{kind:D.OBJECT_TYPE_EXTENSION,name:n,interfaces:r,directives:i,fields:o})}parseInterfaceTypeExtension(){const t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");const n=this.parseName(),r=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),o=this.parseFieldsDefinition();if(r.length===0&&i.length===0&&o.length===0)throw this.unexpected();return this.node(t,{kind:D.INTERFACE_TYPE_EXTENSION,name:n,interfaces:r,directives:i,fields:o})}parseUnionTypeExtension(){const t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("union");const n=this.parseName(),r=this.parseConstDirectives(),i=this.parseUnionMemberTypes();if(r.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:D.UNION_TYPE_EXTENSION,name:n,directives:r,types:i})}parseEnumTypeExtension(){const t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("enum");const n=this.parseName(),r=this.parseConstDirectives(),i=this.parseEnumValuesDefinition();if(r.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:D.ENUM_TYPE_EXTENSION,name:n,directives:r,values:i})}parseInputObjectTypeExtension(){const t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("input");const n=this.parseName(),r=this.parseConstDirectives(),i=this.parseInputFieldsDefinition();if(r.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:D.INPUT_OBJECT_TYPE_EXTENSION,name:n,directives:r,fields:i})}parseDirectiveDefinition(){const t=this._lexer.token,n=this.parseDescription();this.expectKeyword("directive"),this.expectToken(Z.AT);const r=this.parseName(),i=this.parseArgumentDefs(),o=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");const a=this.parseDirectiveLocations();return this.node(t,{kind:D.DIRECTIVE_DEFINITION,description:n,name:r,arguments:i,repeatable:o,locations:a})}parseDirectiveLocations(){return this.delimitedMany(Z.PIPE,this.parseDirectiveLocation)}parseDirectiveLocation(){const t=this._lexer.token,n=this.parseName();if(Object.prototype.hasOwnProperty.call(pe,n.value))return n;throw this.unexpected(t)}node(t,n){return this._options.noLocation!==!0&&(n.loc=new EF(t,this._lexer.lastToken,this._lexer.source)),n}peek(t){return this._lexer.token.kind===t}expectToken(t){const n=this._lexer.token;if(n.kind===t)return this.advanceLexer(),n;throw fn(this._lexer.source,n.start,`Expected ${CF(t)}, found ${ch(n)}.`)}expectOptionalToken(t){return this._lexer.token.kind===t?(this.advanceLexer(),!0):!1}expectKeyword(t){const n=this._lexer.token;if(n.kind===Z.NAME&&n.value===t)this.advanceLexer();else throw fn(this._lexer.source,n.start,`Expected "${t}", found ${ch(n)}.`)}expectOptionalKeyword(t){const n=this._lexer.token;return n.kind===Z.NAME&&n.value===t?(this.advanceLexer(),!0):!1}unexpected(t){const n=t??this._lexer.token;return fn(this._lexer.source,n.start,`Unexpected ${ch(n)}.`)}any(t,n,r){this.expectToken(t);const i=[];for(;!this.expectOptionalToken(r);)i.push(n.call(this));return i}optionalMany(t,n,r){if(this.expectOptionalToken(t)){const i=[];do i.push(n.call(this));while(!this.expectOptionalToken(r));return i}return[]}many(t,n,r){this.expectToken(t);const i=[];do i.push(n.call(this));while(!this.expectOptionalToken(r));return i}delimitedMany(t,n){this.expectOptionalToken(t);const r=[];do r.push(n.call(this));while(this.expectOptionalToken(t));return r}advanceLexer(){const{maxTokens:t}=this._options,n=this._lexer.advance();if(t!==void 0&&n.kind!==Z.EOF&&(++this._tokenCounter,this._tokenCounter>t))throw fn(this._lexer.source,n.start,`Document contains more that ${t} tokens. Parsing aborted.`)}};function ch(e){const t=e.value;return CF(e.kind)+(t!=null?` "${t}"`:"")}function CF(e){return SF(e)?`"${e}"`:e}const t7=5;function ra(e,t){const[n,r]=t?[e,t]:[void 0,e];let i=" Did you mean ";n&&(i+=n+" ");const o=r.map(l=>`"${l}"`);switch(o.length){case 0:return"";case 1:return i+o[0]+"?";case 2:return i+o[0]+" or "+o[1]+"?"}const a=o.slice(0,t7),s=a.pop();return i+a.join(", ")+", or "+s+"?"}function DD(e){return e}function ia(e,t){const n=Object.create(null);for(const r of e)n[t(r)]=r;return n}function Va(e,t,n){const r=Object.create(null);for(const i of e)r[t(i)]=n(i);return r}function qo(e,t){const n=Object.create(null);for(const r of Object.keys(e))n[r]=t(e[r],r);return n}function vp(e,t){let n=0,r=0;for(;n0);let s=0;do++r,s=s*10+o-rb,o=t.charCodeAt(r);while(fh(o)&&s>0);if(as)return 1}else{if(io)return 1;++n,++r}}return e.length-t.length}const rb=48,n7=57;function fh(e){return!isNaN(e)&&rb<=e&&e<=n7}function gs(e,t){const n=Object.create(null),r=new r7(e),i=Math.floor(e.length*.4)+1;for(const o of t){const a=r.measure(o,i);a!==void 0&&(n[o]=a)}return Object.keys(n).sort((o,a)=>{const s=n[o]-n[a];return s!==0?s:vp(o,a)})}let r7=class{constructor(t){this._input=t,this._inputLowerCase=t.toLowerCase(),this._inputArray=OD(this._inputLowerCase),this._rows=[new Array(t.length+1).fill(0),new Array(t.length+1).fill(0),new Array(t.length+1).fill(0)]}measure(t,n){if(this._input===t)return 0;const r=t.toLowerCase();if(this._inputLowerCase===r)return 1;let i=OD(r),o=this._inputArray;if(i.lengthn)return;const l=this._rows;for(let c=0;c<=s;c++)l[0][c]=c;for(let c=1;c<=a;c++){const f=l[(c-1)%3],d=l[c%3];let p=d[0]=c;for(let m=1;m<=s;m++){const v=i[c-1]===o[m-1]?0:1;let b=Math.min(f[m]+1,d[m-1]+1,f[m-1]+v);if(c>1&&m>1&&i[c-1]===o[m-2]&&i[c-2]===o[m-1]){const E=l[(c-2)%3][m-2];b=Math.min(b,E+1)}bn)return}const u=l[a%3][s];return u<=n?u:void 0}};function OD(e){const t=e.length,n=new Array(t);for(let r=0;re.value},Variable:{leave:e=>"$"+e.name},Document:{leave:e=>ge(e.definitions,` + +`)},OperationDefinition:{leave(e){const t=Ue("(",ge(e.variableDefinitions,", "),")"),n=ge([e.operation,ge([e.name,t]),ge(e.directives," ")]," ");return(n==="query"?"":n+" ")+e.selectionSet}},VariableDefinition:{leave:({variable:e,type:t,defaultValue:n,directives:r})=>e+": "+t+Ue(" = ",n)+Ue(" ",ge(r," "))},SelectionSet:{leave:({selections:e})=>bi(e)},Field:{leave({alias:e,name:t,arguments:n,directives:r,selectionSet:i}){const o=Ue("",e,": ")+t;let a=o+Ue("(",ge(n,", "),")");return a.length>u7&&(a=o+Ue(`( +`,sm(ge(n,` +`)),` +)`)),ge([a,ge(r," "),i]," ")}},Argument:{leave:({name:e,value:t})=>e+": "+t},FragmentSpread:{leave:({name:e,directives:t})=>"..."+e+Ue(" ",ge(t," "))},InlineFragment:{leave:({typeCondition:e,directives:t,selectionSet:n})=>ge(["...",Ue("on ",e),ge(t," "),n]," ")},FragmentDefinition:{leave:({name:e,typeCondition:t,variableDefinitions:n,directives:r,selectionSet:i})=>`fragment ${e}${Ue("(",ge(n,", "),")")} on ${t} ${Ue("",ge(r," ")," ")}`+i},IntValue:{leave:({value:e})=>e},FloatValue:{leave:({value:e})=>e},StringValue:{leave:({value:e,block:t})=>t?_F(e):i7(e)},BooleanValue:{leave:({value:e})=>e?"true":"false"},NullValue:{leave:()=>"null"},EnumValue:{leave:({value:e})=>e},ListValue:{leave:({values:e})=>"["+ge(e,", ")+"]"},ObjectValue:{leave:({fields:e})=>"{"+ge(e,", ")+"}"},ObjectField:{leave:({name:e,value:t})=>e+": "+t},Directive:{leave:({name:e,arguments:t})=>"@"+e+Ue("(",ge(t,", "),")")},NamedType:{leave:({name:e})=>e},ListType:{leave:({type:e})=>"["+e+"]"},NonNullType:{leave:({type:e})=>e+"!"},SchemaDefinition:{leave:({description:e,directives:t,operationTypes:n})=>Ue("",e,` +`)+ge(["schema",ge(t," "),bi(n)]," ")},OperationTypeDefinition:{leave:({operation:e,type:t})=>e+": "+t},ScalarTypeDefinition:{leave:({description:e,name:t,directives:n})=>Ue("",e,` +`)+ge(["scalar",t,ge(n," ")]," ")},ObjectTypeDefinition:{leave:({description:e,name:t,interfaces:n,directives:r,fields:i})=>Ue("",e,` +`)+ge(["type",t,Ue("implements ",ge(n," & ")),ge(r," "),bi(i)]," ")},FieldDefinition:{leave:({description:e,name:t,arguments:n,type:r,directives:i})=>Ue("",e,` +`)+t+(CD(n)?Ue(`( +`,sm(ge(n,` +`)),` +)`):Ue("(",ge(n,", "),")"))+": "+r+Ue(" ",ge(i," "))},InputValueDefinition:{leave:({description:e,name:t,type:n,defaultValue:r,directives:i})=>Ue("",e,` +`)+ge([t+": "+n,Ue("= ",r),ge(i," ")]," ")},InterfaceTypeDefinition:{leave:({description:e,name:t,interfaces:n,directives:r,fields:i})=>Ue("",e,` +`)+ge(["interface",t,Ue("implements ",ge(n," & ")),ge(r," "),bi(i)]," ")},UnionTypeDefinition:{leave:({description:e,name:t,directives:n,types:r})=>Ue("",e,` +`)+ge(["union",t,ge(n," "),Ue("= ",ge(r," | "))]," ")},EnumTypeDefinition:{leave:({description:e,name:t,directives:n,values:r})=>Ue("",e,` +`)+ge(["enum",t,ge(n," "),bi(r)]," ")},EnumValueDefinition:{leave:({description:e,name:t,directives:n})=>Ue("",e,` +`)+ge([t,ge(n," ")]," ")},InputObjectTypeDefinition:{leave:({description:e,name:t,directives:n,fields:r})=>Ue("",e,` +`)+ge(["input",t,ge(n," "),bi(r)]," ")},DirectiveDefinition:{leave:({description:e,name:t,arguments:n,repeatable:r,locations:i})=>Ue("",e,` +`)+"directive @"+t+(CD(n)?Ue(`( +`,sm(ge(n,` +`)),` +)`):Ue("(",ge(n,", "),")"))+(r?" repeatable":"")+" on "+ge(i," | ")},SchemaExtension:{leave:({directives:e,operationTypes:t})=>ge(["extend schema",ge(e," "),bi(t)]," ")},ScalarTypeExtension:{leave:({name:e,directives:t})=>ge(["extend scalar",e,ge(t," ")]," ")},ObjectTypeExtension:{leave:({name:e,interfaces:t,directives:n,fields:r})=>ge(["extend type",e,Ue("implements ",ge(t," & ")),ge(n," "),bi(r)]," ")},InterfaceTypeExtension:{leave:({name:e,interfaces:t,directives:n,fields:r})=>ge(["extend interface",e,Ue("implements ",ge(t," & ")),ge(n," "),bi(r)]," ")},UnionTypeExtension:{leave:({name:e,directives:t,types:n})=>ge(["extend union",e,ge(t," "),Ue("= ",ge(n," | "))]," ")},EnumTypeExtension:{leave:({name:e,directives:t,values:n})=>ge(["extend enum",e,ge(t," "),bi(n)]," ")},InputObjectTypeExtension:{leave:({name:e,directives:t,fields:n})=>ge(["extend input",e,ge(t," "),bi(n)]," ")}};function ge(e,t=""){var n;return(n=e==null?void 0:e.filter(r=>r).join(t))!==null&&n!==void 0?n:""}function bi(e){return Ue(`{ +`,sm(ge(e,` +`)),` +}`)}function Ue(e,t,n=""){return t!=null&&t!==""?e+t+n:""}function sm(e){return Ue(" ",e.replace(/\n/g,` + `))}function CD(e){var t;return(t=e==null?void 0:e.some(n=>n.includes(` +`)))!==null&&t!==void 0?t:!1}function mv(e,t){switch(e.kind){case D.NULL:return null;case D.INT:return parseInt(e.value,10);case D.FLOAT:return parseFloat(e.value);case D.STRING:case D.ENUM:case D.BOOLEAN:return e.value;case D.LIST:return e.values.map(n=>mv(n,t));case D.OBJECT:return Va(e.fields,n=>n.name.value,n=>mv(n.value,t));case D.VARIABLE:return t==null?void 0:t[e.name.value]}}function zr(e){if(e!=null||Fe(!1,"Must provide name."),typeof e=="string"||Fe(!1,"Expected name to be a string."),e.length===0)throw new K("Expected name to be a non-empty string.");for(let t=1;ta(mv(s,l)),this.extensions=gi(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(o=t.extensionASTNodes)!==null&&o!==void 0?o:[],t.specifiedByURL==null||typeof t.specifiedByURL=="string"||Fe(!1,`${this.name} must provide "specifiedByURL" as a string, but got: ${ee(t.specifiedByURL)}.`),t.serialize==null||typeof t.serialize=="function"||Fe(!1,`${this.name} must provide "serialize" function. If this custom Scalar is also used as an input type, ensure "parseValue" and "parseLiteral" functions are also provided.`),t.parseLiteral&&(typeof t.parseValue=="function"&&typeof t.parseLiteral=="function"||Fe(!1,`${this.name} must provide both "parseValue" and "parseLiteral" functions.`))}get[Symbol.toStringTag](){return"GraphQLScalarType"}toConfig(){return{name:this.name,description:this.description,specifiedByURL:this.specifiedByURL,serialize:this.serialize,parseValue:this.parseValue,parseLiteral:this.parseLiteral,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},Ir=class{constructor(t){var n;this.name=zr(t.name),this.description=t.description,this.isTypeOf=t.isTypeOf,this.extensions=gi(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(n=t.extensionASTNodes)!==null&&n!==void 0?n:[],this._fields=()=>PF(t),this._interfaces=()=>$F(t),t.isTypeOf==null||typeof t.isTypeOf=="function"||Fe(!1,`${this.name} must provide "isTypeOf" as a function, but got: ${ee(t.isTypeOf)}.`)}get[Symbol.toStringTag](){return"GraphQLObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}getInterfaces(){return typeof this._interfaces=="function"&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:VF(this.getFields()),isTypeOf:this.isTypeOf,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function $F(e){var t;const n=v_((t=e.interfaces)!==null&&t!==void 0?t:[]);return Array.isArray(n)||Fe(!1,`${e.name} interfaces must be an Array or a function which returns an Array.`),n}function PF(e){const t=g_(e.fields);return Su(t)||Fe(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),qo(t,(n,r)=>{var i;Su(n)||Fe(!1,`${e.name}.${r} field config must be an object.`),n.resolve==null||typeof n.resolve=="function"||Fe(!1,`${e.name}.${r} field resolver must be a function if provided, but got: ${ee(n.resolve)}.`);const o=(i=n.args)!==null&&i!==void 0?i:{};return Su(o)||Fe(!1,`${e.name}.${r} args must be an object with argument names as keys.`),{name:zr(r),description:n.description,type:n.type,args:MF(o),resolve:n.resolve,subscribe:n.subscribe,deprecationReason:n.deprecationReason,extensions:gi(n.extensions),astNode:n.astNode}})}function MF(e){return Object.entries(e).map(([t,n])=>({name:zr(t),description:n.description,type:n.type,defaultValue:n.defaultValue,deprecationReason:n.deprecationReason,extensions:gi(n.extensions),astNode:n.astNode}))}function Su(e){return Mr(e)&&!Array.isArray(e)}function VF(e){return qo(e,t=>({description:t.description,type:t.type,args:jF(t.args),resolve:t.resolve,subscribe:t.subscribe,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}function jF(e){return Va(e,t=>t.name,t=>({description:t.description,type:t.type,defaultValue:t.defaultValue,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}function ys(e){return _e(e.type)&&e.defaultValue===void 0}let Eo=class{constructor(t){var n;this.name=zr(t.name),this.description=t.description,this.resolveType=t.resolveType,this.extensions=gi(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(n=t.extensionASTNodes)!==null&&n!==void 0?n:[],this._fields=PF.bind(void 0,t),this._interfaces=$F.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||Fe(!1,`${this.name} must provide "resolveType" as a function, but got: ${ee(t.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLInterfaceType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}getInterfaces(){return typeof this._interfaces=="function"&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:VF(this.getFields()),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},Wu=class{constructor(t){var n;this.name=zr(t.name),this.description=t.description,this.resolveType=t.resolveType,this.extensions=gi(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(n=t.extensionASTNodes)!==null&&n!==void 0?n:[],this._types=S7.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||Fe(!1,`${this.name} must provide "resolveType" as a function, but got: ${ee(t.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLUnionType"}getTypes(){return typeof this._types=="function"&&(this._types=this._types()),this._types}toConfig(){return{name:this.name,description:this.description,types:this.getTypes(),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function S7(e){const t=v_(e.types);return Array.isArray(t)||Fe(!1,`Must provide Array of types or a function which returns such an array for Union ${e.name}.`),t}let Io=class{constructor(t){var n;this.name=zr(t.name),this.description=t.description,this.extensions=gi(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(n=t.extensionASTNodes)!==null&&n!==void 0?n:[],this._values=N7(this.name,t.values),this._valueLookup=new Map(this._values.map(r=>[r.value,r])),this._nameLookup=ia(this._values,r=>r.name)}get[Symbol.toStringTag](){return"GraphQLEnumType"}getValues(){return this._values}getValue(t){return this._nameLookup[t]}serialize(t){const n=this._valueLookup.get(t);if(n===void 0)throw new K(`Enum "${this.name}" cannot represent value: ${ee(t)}`);return n.name}parseValue(t){if(typeof t!="string"){const r=ee(t);throw new K(`Enum "${this.name}" cannot represent non-string value: ${r}.`+dh(this,r))}const n=this.getValue(t);if(n==null)throw new K(`Value "${t}" does not exist in "${this.name}" enum.`+dh(this,t));return n.value}parseLiteral(t,n){if(t.kind!==D.ENUM){const i=ot(t);throw new K(`Enum "${this.name}" cannot represent non-enum value: ${i}.`+dh(this,i),{nodes:t})}const r=this.getValue(t.value);if(r==null){const i=ot(t);throw new K(`Value "${i}" does not exist in "${this.name}" enum.`+dh(this,i),{nodes:t})}return r.value}toConfig(){const t=Va(this.getValues(),n=>n.name,n=>({description:n.description,value:n.value,deprecationReason:n.deprecationReason,extensions:n.extensions,astNode:n.astNode}));return{name:this.name,description:this.description,values:t,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function dh(e,t){const n=e.getValues().map(i=>i.name),r=gs(t,n);return ra("the enum value",r)}function N7(e,t){return Su(t)||Fe(!1,`${e} values must be an object with value names as keys.`),Object.entries(t).map(([n,r])=>(Su(r)||Fe(!1,`${e}.${n} must refer to an object with a "value" key representing an internal value but got: ${ee(r)}.`),{name:kF(n),description:r.description,value:r.value!==void 0?r.value:n,deprecationReason:r.deprecationReason,extensions:gi(r.extensions),astNode:r.astNode}))}let dl=class{constructor(t){var n;this.name=zr(t.name),this.description=t.description,this.extensions=gi(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(n=t.extensionASTNodes)!==null&&n!==void 0?n:[],this._fields=I7.bind(void 0,t)}get[Symbol.toStringTag](){return"GraphQLInputObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}toConfig(){const t=qo(this.getFields(),n=>({description:n.description,type:n.type,defaultValue:n.defaultValue,deprecationReason:n.deprecationReason,extensions:n.extensions,astNode:n.astNode}));return{name:this.name,description:this.description,fields:t,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function I7(e){const t=g_(e.fields);return Su(t)||Fe(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),qo(t,(n,r)=>(!("resolve"in n)||Fe(!1,`${e.name}.${r} field has a resolve property, but Input Types cannot define resolvers.`),{name:zr(r),description:n.description,type:n.type,defaultValue:n.defaultValue,deprecationReason:n.deprecationReason,extensions:gi(n.extensions),astNode:n.astNode}))}function iy(e){return _e(e.type)&&e.defaultValue===void 0}function vv(e,t){return e===t?!0:_e(e)&&_e(t)||ut(e)&&ut(t)?vv(e.ofType,t.ofType):!1}function nl(e,t,n){return t===n?!0:_e(n)?_e(t)?nl(e,t.ofType,n.ofType):!1:_e(t)?nl(e,t.ofType,n):ut(n)?ut(t)?nl(e,t.ofType,n.ofType):!1:ut(t)?!1:ui(n)&&(je(t)||Le(t))&&e.isSubType(n,t)}function gv(e,t,n){return t===n?!0:ui(t)?ui(n)?e.getPossibleTypes(t).some(r=>e.isSubType(n,r)):e.isSubType(t,n):ui(n)?e.isSubType(n,t):!1}const lm=2147483647,um=-2147483648,UF=new No({name:"Int",description:"The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.",serialize(e){const t=Ep(e);if(typeof t=="boolean")return t?1:0;let n=t;if(typeof t=="string"&&t!==""&&(n=Number(t)),typeof n!="number"||!Number.isInteger(n))throw new K(`Int cannot represent non-integer value: ${ee(t)}`);if(n>lm||nlm||elm||te.name===t)}function Ep(e){if(Mr(e)){if(typeof e.valueOf=="function"){const t=e.valueOf();if(!Mr(t))return t}if(typeof e.toJSON=="function")return e.toJSON()}return e}function ay(e){return Hi(e,xo)}function x7(e){if(!ay(e))throw new Error(`Expected ${ee(e)} to be a GraphQL directive.`);return e}let xo=class{constructor(t){var n,r;this.name=zr(t.name),this.description=t.description,this.locations=t.locations,this.isRepeatable=(n=t.isRepeatable)!==null&&n!==void 0?n:!1,this.extensions=gi(t.extensions),this.astNode=t.astNode,Array.isArray(t.locations)||Fe(!1,`@${t.name} locations must be an Array.`);const i=(r=t.args)!==null&&r!==void 0?r:{};Mr(i)&&!Array.isArray(i)||Fe(!1,`@${t.name} args must be an object with argument names as keys.`),this.args=MF(i)}get[Symbol.toStringTag](){return"GraphQLDirective"}toConfig(){return{name:this.name,description:this.description,locations:this.locations,args:jF(this.args),isRepeatable:this.isRepeatable,extensions:this.extensions,astNode:this.astNode}}toString(){return"@"+this.name}toJSON(){return this.toString()}};const b_=new xo({name:"include",description:"Directs the executor to include this field or fragment only when the `if` argument is true.",locations:[pe.FIELD,pe.FRAGMENT_SPREAD,pe.INLINE_FRAGMENT],args:{if:{type:new Ae(In),description:"Included when true."}}}),T_=new xo({name:"skip",description:"Directs the executor to skip this field or fragment when the `if` argument is true.",locations:[pe.FIELD,pe.FRAGMENT_SPREAD,pe.INLINE_FRAGMENT],args:{if:{type:new Ae(In),description:"Skipped when true."}}}),w_="No longer supported",sy=new xo({name:"deprecated",description:"Marks an element of a GraphQL schema as no longer supported.",locations:[pe.FIELD_DEFINITION,pe.ARGUMENT_DEFINITION,pe.INPUT_FIELD_DEFINITION,pe.ENUM_VALUE],args:{reason:{type:Bt,description:"Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax, as specified by [CommonMark](https://commonmark.org/).",defaultValue:w_}}}),__=new xo({name:"specifiedBy",description:"Exposes a URL that specifies the behavior of this scalar.",locations:[pe.SCALAR],args:{url:{type:new Ae(Bt),description:"The URL that specifies the behavior of this scalar."}}}),Es=Object.freeze([b_,T_,sy,__]);function S_(e){return Es.some(({name:t})=>t===e.name)}function N_(e){return typeof e=="object"&&typeof(e==null?void 0:e[Symbol.iterator])=="function"}function Go(e,t){if(_e(t)){const n=Go(e,t.ofType);return(n==null?void 0:n.kind)===D.NULL?null:n}if(e===null)return{kind:D.NULL};if(e===void 0)return null;if(ut(t)){const n=t.ofType;if(N_(e)){const r=[];for(const i of e){const o=Go(i,n);o!=null&&r.push(o)}return{kind:D.LIST,values:r}}return Go(e,n)}if(st(t)){if(!Mr(e))return null;const n=[];for(const r of Object.values(t.getFields())){const i=Go(e[r.name],r.type);i&&n.push({kind:D.OBJECT_FIELD,name:{kind:D.NAME,value:r.name},value:i})}return{kind:D.OBJECT,fields:n}}if(di(t)){const n=t.serialize(e);if(n==null)return null;if(typeof n=="boolean")return{kind:D.BOOLEAN,value:n};if(typeof n=="number"&&Number.isFinite(n)){const r=String(n);return kD.test(r)?{kind:D.INT,value:r}:{kind:D.FLOAT,value:r}}if(typeof n=="string")return Lt(t)?{kind:D.ENUM,value:n}:t===E_&&kD.test(n)?{kind:D.INT,value:n}:{kind:D.STRING,value:n};throw new TypeError(`Cannot convert value to AST: ${ee(n)}.`)}Kt(!1,"Unexpected input type: "+ee(t))}const kD=/^-?(?:0|[1-9][0-9]*)$/,ly=new Ir({name:"__Schema",description:"A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.",fields:()=>({description:{type:Bt,resolve:e=>e.description},types:{description:"A list of all types supported by this server.",type:new Ae(new Nn(new Ae(ri))),resolve(e){return Object.values(e.getTypeMap())}},queryType:{description:"The type that query operations will be rooted at.",type:new Ae(ri),resolve:e=>e.getQueryType()},mutationType:{description:"If this server supports mutation, the type that mutation operations will be rooted at.",type:ri,resolve:e=>e.getMutationType()},subscriptionType:{description:"If this server support subscription, the type that subscription operations will be rooted at.",type:ri,resolve:e=>e.getSubscriptionType()},directives:{description:"A list of all directives supported by this server.",type:new Ae(new Nn(new Ae(I_))),resolve:e=>e.getDirectives()}})}),I_=new Ir({name:"__Directive",description:`A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document. + +In some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.`,fields:()=>({name:{type:new Ae(Bt),resolve:e=>e.name},description:{type:Bt,resolve:e=>e.description},isRepeatable:{type:new Ae(In),resolve:e=>e.isRepeatable},locations:{type:new Ae(new Nn(new Ae(x_))),resolve:e=>e.locations},args:{type:new Ae(new Nn(new Ae(bp))),args:{includeDeprecated:{type:In,defaultValue:!1}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter(n=>n.deprecationReason==null)}}})}),x_=new Io({name:"__DirectiveLocation",description:"A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.",values:{QUERY:{value:pe.QUERY,description:"Location adjacent to a query operation."},MUTATION:{value:pe.MUTATION,description:"Location adjacent to a mutation operation."},SUBSCRIPTION:{value:pe.SUBSCRIPTION,description:"Location adjacent to a subscription operation."},FIELD:{value:pe.FIELD,description:"Location adjacent to a field."},FRAGMENT_DEFINITION:{value:pe.FRAGMENT_DEFINITION,description:"Location adjacent to a fragment definition."},FRAGMENT_SPREAD:{value:pe.FRAGMENT_SPREAD,description:"Location adjacent to a fragment spread."},INLINE_FRAGMENT:{value:pe.INLINE_FRAGMENT,description:"Location adjacent to an inline fragment."},VARIABLE_DEFINITION:{value:pe.VARIABLE_DEFINITION,description:"Location adjacent to a variable definition."},SCHEMA:{value:pe.SCHEMA,description:"Location adjacent to a schema definition."},SCALAR:{value:pe.SCALAR,description:"Location adjacent to a scalar definition."},OBJECT:{value:pe.OBJECT,description:"Location adjacent to an object type definition."},FIELD_DEFINITION:{value:pe.FIELD_DEFINITION,description:"Location adjacent to a field definition."},ARGUMENT_DEFINITION:{value:pe.ARGUMENT_DEFINITION,description:"Location adjacent to an argument definition."},INTERFACE:{value:pe.INTERFACE,description:"Location adjacent to an interface definition."},UNION:{value:pe.UNION,description:"Location adjacent to a union definition."},ENUM:{value:pe.ENUM,description:"Location adjacent to an enum definition."},ENUM_VALUE:{value:pe.ENUM_VALUE,description:"Location adjacent to an enum value definition."},INPUT_OBJECT:{value:pe.INPUT_OBJECT,description:"Location adjacent to an input object type definition."},INPUT_FIELD_DEFINITION:{value:pe.INPUT_FIELD_DEFINITION,description:"Location adjacent to an input object field definition."}}}),ri=new Ir({name:"__Type",description:"The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name, description and optional `specifiedByURL`, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.",fields:()=>({kind:{type:new Ae(C_),resolve(e){if(hr(e))return dt.SCALAR;if(Le(e))return dt.OBJECT;if(je(e))return dt.INTERFACE;if(Zt(e))return dt.UNION;if(Lt(e))return dt.ENUM;if(st(e))return dt.INPUT_OBJECT;if(ut(e))return dt.LIST;if(_e(e))return dt.NON_NULL;Kt(!1,`Unexpected type: "${ee(e)}".`)}},name:{type:Bt,resolve:e=>"name"in e?e.name:void 0},description:{type:Bt,resolve:e=>"description"in e?e.description:void 0},specifiedByURL:{type:Bt,resolve:e=>"specifiedByURL"in e?e.specifiedByURL:void 0},fields:{type:new Nn(new Ae(D_)),args:{includeDeprecated:{type:In,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(Le(e)||je(e)){const n=Object.values(e.getFields());return t?n:n.filter(r=>r.deprecationReason==null)}}},interfaces:{type:new Nn(new Ae(ri)),resolve(e){if(Le(e)||je(e))return e.getInterfaces()}},possibleTypes:{type:new Nn(new Ae(ri)),resolve(e,t,n,{schema:r}){if(ui(e))return r.getPossibleTypes(e)}},enumValues:{type:new Nn(new Ae(O_)),args:{includeDeprecated:{type:In,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(Lt(e)){const n=e.getValues();return t?n:n.filter(r=>r.deprecationReason==null)}}},inputFields:{type:new Nn(new Ae(bp)),args:{includeDeprecated:{type:In,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(st(e)){const n=Object.values(e.getFields());return t?n:n.filter(r=>r.deprecationReason==null)}}},ofType:{type:ri,resolve:e=>"ofType"in e?e.ofType:void 0}})}),D_=new Ir({name:"__Field",description:"Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.",fields:()=>({name:{type:new Ae(Bt),resolve:e=>e.name},description:{type:Bt,resolve:e=>e.description},args:{type:new Ae(new Nn(new Ae(bp))),args:{includeDeprecated:{type:In,defaultValue:!1}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter(n=>n.deprecationReason==null)}},type:{type:new Ae(ri),resolve:e=>e.type},isDeprecated:{type:new Ae(In),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:Bt,resolve:e=>e.deprecationReason}})}),bp=new Ir({name:"__InputValue",description:"Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.",fields:()=>({name:{type:new Ae(Bt),resolve:e=>e.name},description:{type:Bt,resolve:e=>e.description},type:{type:new Ae(ri),resolve:e=>e.type},defaultValue:{type:Bt,description:"A GraphQL-formatted string representing the default value for this input value.",resolve(e){const{type:t,defaultValue:n}=e,r=Go(n,t);return r?ot(r):null}},isDeprecated:{type:new Ae(In),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:Bt,resolve:e=>e.deprecationReason}})}),O_=new Ir({name:"__EnumValue",description:"One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.",fields:()=>({name:{type:new Ae(Bt),resolve:e=>e.name},description:{type:Bt,resolve:e=>e.description},isDeprecated:{type:new Ae(In),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:Bt,resolve:e=>e.deprecationReason}})});var dt;(function(e){e.SCALAR="SCALAR",e.OBJECT="OBJECT",e.INTERFACE="INTERFACE",e.UNION="UNION",e.ENUM="ENUM",e.INPUT_OBJECT="INPUT_OBJECT",e.LIST="LIST",e.NON_NULL="NON_NULL"})(dt||(dt={}));const C_=new Io({name:"__TypeKind",description:"An enum describing what kind of type a given `__Type` is.",values:{SCALAR:{value:dt.SCALAR,description:"Indicates this type is a scalar."},OBJECT:{value:dt.OBJECT,description:"Indicates this type is an object. `fields` and `interfaces` are valid fields."},INTERFACE:{value:dt.INTERFACE,description:"Indicates this type is an interface. `fields`, `interfaces`, and `possibleTypes` are valid fields."},UNION:{value:dt.UNION,description:"Indicates this type is a union. `possibleTypes` is a valid field."},ENUM:{value:dt.ENUM,description:"Indicates this type is an enum. `enumValues` is a valid field."},INPUT_OBJECT:{value:dt.INPUT_OBJECT,description:"Indicates this type is an input object. `inputFields` is a valid field."},LIST:{value:dt.LIST,description:"Indicates this type is a list. `ofType` is a valid field."},NON_NULL:{value:dt.NON_NULL,description:"Indicates this type is a non-null. `ofType` is a valid field."}}}),Yu={name:"__schema",type:new Ae(ly),description:"Access the current type schema of this server.",args:[],resolve:(e,t,n,{schema:r})=>r,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},Ju={name:"__type",type:ri,description:"Request the type information of a single type.",args:[{name:"name",description:void 0,type:new Ae(Bt),defaultValue:void 0,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0}],resolve:(e,{name:t},n,{schema:r})=>r.getType(t),deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},Ku={name:"__typename",type:new Ae(Bt),description:"The name of the current Object type at runtime.",args:[],resolve:(e,t,n,{parentType:r})=>r.name,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},Tp=Object.freeze([ly,I_,x_,ri,D_,bp,O_,C_]);function kl(e){return Tp.some(({name:t})=>e.name===t)}function yv(e){return Hi(e,Ic)}function k_(e){if(!yv(e))throw new Error(`Expected ${ee(e)} to be a GraphQL schema.`);return e}let Ic=class{constructor(t){var n,r;this.__validationErrors=t.assumeValid===!0?[]:void 0,Mr(t)||Fe(!1,"Must provide configuration object."),!t.types||Array.isArray(t.types)||Fe(!1,`"types" must be Array if provided but got: ${ee(t.types)}.`),!t.directives||Array.isArray(t.directives)||Fe(!1,`"directives" must be Array if provided but got: ${ee(t.directives)}.`),this.description=t.description,this.extensions=gi(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(n=t.extensionASTNodes)!==null&&n!==void 0?n:[],this._queryType=t.query,this._mutationType=t.mutation,this._subscriptionType=t.subscription,this._directives=(r=t.directives)!==null&&r!==void 0?r:Es;const i=new Set(t.types);if(t.types!=null)for(const o of t.types)i.delete(o),Di(o,i);this._queryType!=null&&Di(this._queryType,i),this._mutationType!=null&&Di(this._mutationType,i),this._subscriptionType!=null&&Di(this._subscriptionType,i);for(const o of this._directives)if(ay(o))for(const a of o.args)Di(a.type,i);Di(ly,i),this._typeMap=Object.create(null),this._subTypeMap=Object.create(null),this._implementationsMap=Object.create(null);for(const o of i){if(o==null)continue;const a=o.name;if(a||Fe(!1,"One of the provided types for building the Schema is missing a name."),this._typeMap[a]!==void 0)throw new Error(`Schema must contain uniquely named types but contains multiple types named "${a}".`);if(this._typeMap[a]=o,je(o)){for(const s of o.getInterfaces())if(je(s)){let l=this._implementationsMap[s.name];l===void 0&&(l=this._implementationsMap[s.name]={objects:[],interfaces:[]}),l.interfaces.push(o)}}else if(Le(o)){for(const s of o.getInterfaces())if(je(s)){let l=this._implementationsMap[s.name];l===void 0&&(l=this._implementationsMap[s.name]={objects:[],interfaces:[]}),l.objects.push(o)}}}}get[Symbol.toStringTag](){return"GraphQLSchema"}getQueryType(){return this._queryType}getMutationType(){return this._mutationType}getSubscriptionType(){return this._subscriptionType}getRootType(t){switch(t){case dn.QUERY:return this.getQueryType();case dn.MUTATION:return this.getMutationType();case dn.SUBSCRIPTION:return this.getSubscriptionType()}}getTypeMap(){return this._typeMap}getType(t){return this.getTypeMap()[t]}getPossibleTypes(t){return Zt(t)?t.getTypes():this.getImplementations(t).objects}getImplementations(t){const n=this._implementationsMap[t.name];return n??{objects:[],interfaces:[]}}isSubType(t,n){let r=this._subTypeMap[t.name];if(r===void 0){if(r=Object.create(null),Zt(t))for(const i of t.getTypes())r[i.name]=!0;else{const i=this.getImplementations(t);for(const o of i.objects)r[o.name]=!0;for(const o of i.interfaces)r[o.name]=!0}this._subTypeMap[t.name]=r}return r[n.name]!==void 0}getDirectives(){return this._directives}getDirective(t){return this.getDirectives().find(n=>n.name===t)}toConfig(){return{description:this.description,query:this.getQueryType(),mutation:this.getMutationType(),subscription:this.getSubscriptionType(),types:Object.values(this.getTypeMap()),directives:this.getDirectives(),extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes,assumeValid:this.__validationErrors!==void 0}}};function Di(e,t){const n=At(e);if(!t.has(n)){if(t.add(n),Zt(n))for(const r of n.getTypes())Di(r,t);else if(Le(n)||je(n)){for(const r of n.getInterfaces())Di(r,t);for(const r of Object.values(n.getFields())){Di(r.type,t);for(const i of r.args)Di(i.type,t)}}else if(st(n))for(const r of Object.values(n.getFields()))Di(r.type,t)}return t}function uy(e){if(k_(e),e.__validationErrors)return e.__validationErrors;const t=new D7(e);O7(t),C7(t),k7(t);const n=t.getErrors();return e.__validationErrors=n,n}function A_(e){const t=uy(e);if(t.length!==0)throw new Error(t.map(n=>n.message).join(` + +`))}let D7=class{constructor(t){this._errors=[],this.schema=t}reportError(t,n){const r=Array.isArray(n)?n.filter(Boolean):n;this._errors.push(new K(t,{nodes:r}))}getErrors(){return this._errors}};function O7(e){const t=e.schema,n=t.getQueryType();if(!n)e.reportError("Query root type must be provided.",t.astNode);else if(!Le(n)){var r;e.reportError(`Query root type must be Object type, it cannot be ${ee(n)}.`,(r=gE(t,dn.QUERY))!==null&&r!==void 0?r:n.astNode)}const i=t.getMutationType();if(i&&!Le(i)){var o;e.reportError(`Mutation root type must be Object type if provided, it cannot be ${ee(i)}.`,(o=gE(t,dn.MUTATION))!==null&&o!==void 0?o:i.astNode)}const a=t.getSubscriptionType();if(a&&!Le(a)){var s;e.reportError(`Subscription root type must be Object type if provided, it cannot be ${ee(a)}.`,(s=gE(t,dn.SUBSCRIPTION))!==null&&s!==void 0?s:a.astNode)}}function gE(e,t){var n;return(n=[e.astNode,...e.extensionASTNodes].flatMap(r=>{var i;return(i=r==null?void 0:r.operationTypes)!==null&&i!==void 0?i:[]}).find(r=>r.operation===t))===null||n===void 0?void 0:n.type}function C7(e){for(const n of e.schema.getDirectives()){if(!ay(n)){e.reportError(`Expected directive but got: ${ee(n)}.`,n==null?void 0:n.astNode);continue}pl(e,n);for(const r of n.args)if(pl(e,r),Kn(r.type)||e.reportError(`The type of @${n.name}(${r.name}:) must be Input Type but got: ${ee(r.type)}.`,r.astNode),ys(r)&&r.deprecationReason!=null){var t;e.reportError(`Required argument @${n.name}(${r.name}:) cannot be deprecated.`,[F_(r.astNode),(t=r.astNode)===null||t===void 0?void 0:t.type])}}}function pl(e,t){t.name.startsWith("__")&&e.reportError(`Name "${t.name}" must not begin with "__", which is reserved by GraphQL introspection.`,t.astNode)}function k7(e){const t=P7(e),n=e.schema.getTypeMap();for(const r of Object.values(n)){if(!Cl(r)){e.reportError(`Expected GraphQL named type but got: ${ee(r)}.`,r.astNode);continue}kl(r)||pl(e,r),Le(r)||je(r)?(AD(e,r),FD(e,r)):Zt(r)?R7(e,r):Lt(r)?L7(e,r):st(r)&&($7(e,r),t(r))}}function AD(e,t){const n=Object.values(t.getFields());n.length===0&&e.reportError(`Type ${t.name} must define one or more fields.`,[t.astNode,...t.extensionASTNodes]);for(const a of n){if(pl(e,a),!Ko(a.type)){var r;e.reportError(`The type of ${t.name}.${a.name} must be Output Type but got: ${ee(a.type)}.`,(r=a.astNode)===null||r===void 0?void 0:r.type)}for(const s of a.args){const l=s.name;if(pl(e,s),!Kn(s.type)){var i;e.reportError(`The type of ${t.name}.${a.name}(${l}:) must be Input Type but got: ${ee(s.type)}.`,(i=s.astNode)===null||i===void 0?void 0:i.type)}if(ys(s)&&s.deprecationReason!=null){var o;e.reportError(`Required argument ${t.name}.${a.name}(${l}:) cannot be deprecated.`,[F_(s.astNode),(o=s.astNode)===null||o===void 0?void 0:o.type])}}}}function FD(e,t){const n=Object.create(null);for(const r of t.getInterfaces()){if(!je(r)){e.reportError(`Type ${ee(t)} must only implement Interface types, it cannot implement ${ee(r)}.`,Pf(t,r));continue}if(t===r){e.reportError(`Type ${t.name} cannot implement itself because it would create a circular reference.`,Pf(t,r));continue}if(n[r.name]){e.reportError(`Type ${t.name} can only implement ${r.name} once.`,Pf(t,r));continue}n[r.name]=!0,F7(e,t,r),A7(e,t,r)}}function A7(e,t,n){const r=t.getFields();for(const l of Object.values(n.getFields())){const u=l.name,c=r[u];if(!c){e.reportError(`Interface field ${n.name}.${u} expected but ${t.name} does not provide it.`,[l.astNode,t.astNode,...t.extensionASTNodes]);continue}if(!nl(e.schema,c.type,l.type)){var i,o;e.reportError(`Interface field ${n.name}.${u} expects type ${ee(l.type)} but ${t.name}.${u} is type ${ee(c.type)}.`,[(i=l.astNode)===null||i===void 0?void 0:i.type,(o=c.astNode)===null||o===void 0?void 0:o.type])}for(const f of l.args){const d=f.name,p=c.args.find(m=>m.name===d);if(!p){e.reportError(`Interface field argument ${n.name}.${u}(${d}:) expected but ${t.name}.${u} does not provide it.`,[f.astNode,c.astNode]);continue}if(!vv(f.type,p.type)){var a,s;e.reportError(`Interface field argument ${n.name}.${u}(${d}:) expects type ${ee(f.type)} but ${t.name}.${u}(${d}:) is type ${ee(p.type)}.`,[(a=f.astNode)===null||a===void 0?void 0:a.type,(s=p.astNode)===null||s===void 0?void 0:s.type])}}for(const f of c.args){const d=f.name;!l.args.find(m=>m.name===d)&&ys(f)&&e.reportError(`Object field ${t.name}.${u} includes required argument ${d} that is missing from the Interface field ${n.name}.${u}.`,[f.astNode,l.astNode])}}}function F7(e,t,n){const r=t.getInterfaces();for(const i of n.getInterfaces())r.includes(i)||e.reportError(i===t?`Type ${t.name} cannot implement ${n.name} because it would create a circular reference.`:`Type ${t.name} must implement ${i.name} because it is implemented by ${n.name}.`,[...Pf(n,i),...Pf(t,n)])}function R7(e,t){const n=t.getTypes();n.length===0&&e.reportError(`Union type ${t.name} must define one or more member types.`,[t.astNode,...t.extensionASTNodes]);const r=Object.create(null);for(const i of n){if(r[i.name]){e.reportError(`Union type ${t.name} can only include type ${i.name} once.`,RD(t,i.name));continue}r[i.name]=!0,Le(i)||e.reportError(`Union type ${t.name} can only include Object types, it cannot include ${ee(i)}.`,RD(t,String(i)))}}function L7(e,t){const n=t.getValues();n.length===0&&e.reportError(`Enum type ${t.name} must define one or more values.`,[t.astNode,...t.extensionASTNodes]);for(const r of n)pl(e,r)}function $7(e,t){const n=Object.values(t.getFields());n.length===0&&e.reportError(`Input Object type ${t.name} must define one or more fields.`,[t.astNode,...t.extensionASTNodes]);for(const o of n){if(pl(e,o),!Kn(o.type)){var r;e.reportError(`The type of ${t.name}.${o.name} must be Input Type but got: ${ee(o.type)}.`,(r=o.astNode)===null||r===void 0?void 0:r.type)}if(iy(o)&&o.deprecationReason!=null){var i;e.reportError(`Required input field ${t.name}.${o.name} cannot be deprecated.`,[F_(o.astNode),(i=o.astNode)===null||i===void 0?void 0:i.type])}}}function P7(e){const t=Object.create(null),n=[],r=Object.create(null);return i;function i(o){if(t[o.name])return;t[o.name]=!0,r[o.name]=n.length;const a=Object.values(o.getFields());for(const s of a)if(_e(s.type)&&st(s.type.ofType)){const l=s.type.ofType,u=r[l.name];if(n.push(s),u===void 0)i(l);else{const c=n.slice(u),f=c.map(d=>d.name).join(".");e.reportError(`Cannot reference Input Object "${l.name}" within itself through a series of non-null fields: "${f}".`,c.map(d=>d.astNode))}n.pop()}r[o.name]=void 0}}function Pf(e,t){const{astNode:n,extensionASTNodes:r}=e;return(n!=null?[n,...r]:r).flatMap(o=>{var a;return(a=o.interfaces)!==null&&a!==void 0?a:[]}).filter(o=>o.name.value===t.name)}function RD(e,t){const{astNode:n,extensionASTNodes:r}=e;return(n!=null?[n,...r]:r).flatMap(o=>{var a;return(a=o.types)!==null&&a!==void 0?a:[]}).filter(o=>o.name.value===t)}function F_(e){var t;return e==null||(t=e.directives)===null||t===void 0?void 0:t.find(n=>n.name.value===sy.name)}function cr(e,t){switch(t.kind){case D.LIST_TYPE:{const n=cr(e,t.type);return n&&new Nn(n)}case D.NON_NULL_TYPE:{const n=cr(e,t.type);return n&&new Ae(n)}case D.NAMED_TYPE:return e.getType(t.name.value)}}let wp=class{constructor(t,n,r){this._schema=t,this._typeStack=[],this._parentTypeStack=[],this._inputTypeStack=[],this._fieldDefStack=[],this._defaultValueStack=[],this._directive=null,this._argument=null,this._enumValue=null,this._getFieldDef=r??M7,n&&(Kn(n)&&this._inputTypeStack.push(n),pn(n)&&this._parentTypeStack.push(n),Ko(n)&&this._typeStack.push(n))}get[Symbol.toStringTag](){return"TypeInfo"}getType(){if(this._typeStack.length>0)return this._typeStack[this._typeStack.length-1]}getParentType(){if(this._parentTypeStack.length>0)return this._parentTypeStack[this._parentTypeStack.length-1]}getInputType(){if(this._inputTypeStack.length>0)return this._inputTypeStack[this._inputTypeStack.length-1]}getParentInputType(){if(this._inputTypeStack.length>1)return this._inputTypeStack[this._inputTypeStack.length-2]}getFieldDef(){if(this._fieldDefStack.length>0)return this._fieldDefStack[this._fieldDefStack.length-1]}getDefaultValue(){if(this._defaultValueStack.length>0)return this._defaultValueStack[this._defaultValueStack.length-1]}getDirective(){return this._directive}getArgument(){return this._argument}getEnumValue(){return this._enumValue}enter(t){const n=this._schema;switch(t.kind){case D.SELECTION_SET:{const i=At(this.getType());this._parentTypeStack.push(pn(i)?i:void 0);break}case D.FIELD:{const i=this.getParentType();let o,a;i&&(o=this._getFieldDef(n,i,t),o&&(a=o.type)),this._fieldDefStack.push(o),this._typeStack.push(Ko(a)?a:void 0);break}case D.DIRECTIVE:this._directive=n.getDirective(t.name.value);break;case D.OPERATION_DEFINITION:{const i=n.getRootType(t.operation);this._typeStack.push(Le(i)?i:void 0);break}case D.INLINE_FRAGMENT:case D.FRAGMENT_DEFINITION:{const i=t.typeCondition,o=i?cr(n,i):At(this.getType());this._typeStack.push(Ko(o)?o:void 0);break}case D.VARIABLE_DEFINITION:{const i=cr(n,t.type);this._inputTypeStack.push(Kn(i)?i:void 0);break}case D.ARGUMENT:{var r;let i,o;const a=(r=this.getDirective())!==null&&r!==void 0?r:this.getFieldDef();a&&(i=a.args.find(s=>s.name===t.name.value),i&&(o=i.type)),this._argument=i,this._defaultValueStack.push(i?i.defaultValue:void 0),this._inputTypeStack.push(Kn(o)?o:void 0);break}case D.LIST:{const i=ry(this.getInputType()),o=ut(i)?i.ofType:i;this._defaultValueStack.push(void 0),this._inputTypeStack.push(Kn(o)?o:void 0);break}case D.OBJECT_FIELD:{const i=At(this.getInputType());let o,a;st(i)&&(a=i.getFields()[t.name.value],a&&(o=a.type)),this._defaultValueStack.push(a?a.defaultValue:void 0),this._inputTypeStack.push(Kn(o)?o:void 0);break}case D.ENUM:{const i=At(this.getInputType());let o;Lt(i)&&(o=i.getValue(t.value)),this._enumValue=o;break}}}leave(t){switch(t.kind){case D.SELECTION_SET:this._parentTypeStack.pop();break;case D.FIELD:this._fieldDefStack.pop(),this._typeStack.pop();break;case D.DIRECTIVE:this._directive=null;break;case D.OPERATION_DEFINITION:case D.INLINE_FRAGMENT:case D.FRAGMENT_DEFINITION:this._typeStack.pop();break;case D.VARIABLE_DEFINITION:this._inputTypeStack.pop();break;case D.ARGUMENT:this._argument=null,this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case D.LIST:case D.OBJECT_FIELD:this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case D.ENUM:this._enumValue=null;break}}};function M7(e,t,n){const r=n.name.value;if(r===Yu.name&&e.getQueryType()===t)return Yu;if(r===Ju.name&&e.getQueryType()===t)return Ju;if(r===Ku.name&&pn(t))return Ku;if(Le(t)||je(t))return t.getFields()[r]}function cy(e,t){return{enter(...n){const r=n[0];e.enter(r);const i=Hu(t,r.kind).enter;if(i){const o=i.apply(t,n);return o!==void 0&&(e.leave(r),tb(o)&&e.enter(o)),o}},leave(...n){const r=n[0],i=Hu(t,r.kind).leave;let o;return i&&(o=i.apply(t,n)),e.leave(r),o}}}function V7(e){return R_(e)||L_(e)||$_(e)}function R_(e){return e.kind===D.OPERATION_DEFINITION||e.kind===D.FRAGMENT_DEFINITION}function ib(e){return e.kind===D.FIELD||e.kind===D.FRAGMENT_SPREAD||e.kind===D.INLINE_FRAGMENT}function BF(e){return e.kind===D.VARIABLE||e.kind===D.INT||e.kind===D.FLOAT||e.kind===D.STRING||e.kind===D.BOOLEAN||e.kind===D.NULL||e.kind===D.ENUM||e.kind===D.LIST||e.kind===D.OBJECT}function ob(e){return BF(e)&&(e.kind===D.LIST?e.values.some(ob):e.kind===D.OBJECT?e.fields.some(t=>ob(t.value)):e.kind!==D.VARIABLE)}function j7(e){return e.kind===D.NAMED_TYPE||e.kind===D.LIST_TYPE||e.kind===D.NON_NULL_TYPE}function L_(e){return e.kind===D.SCHEMA_DEFINITION||xc(e)||e.kind===D.DIRECTIVE_DEFINITION}function xc(e){return e.kind===D.SCALAR_TYPE_DEFINITION||e.kind===D.OBJECT_TYPE_DEFINITION||e.kind===D.INTERFACE_TYPE_DEFINITION||e.kind===D.UNION_TYPE_DEFINITION||e.kind===D.ENUM_TYPE_DEFINITION||e.kind===D.INPUT_OBJECT_TYPE_DEFINITION}function $_(e){return e.kind===D.SCHEMA_EXTENSION||fy(e)}function fy(e){return e.kind===D.SCALAR_TYPE_EXTENSION||e.kind===D.OBJECT_TYPE_EXTENSION||e.kind===D.INTERFACE_TYPE_EXTENSION||e.kind===D.UNION_TYPE_EXTENSION||e.kind===D.ENUM_TYPE_EXTENSION||e.kind===D.INPUT_OBJECT_TYPE_EXTENSION}function qF(e){return{Document(t){for(const n of t.definitions)if(!R_(n)){const r=n.kind===D.SCHEMA_DEFINITION||n.kind===D.SCHEMA_EXTENSION?"schema":'"'+n.name.value+'"';e.reportError(new K(`The ${r} definition is not executable.`,{nodes:n}))}return!1}}}function zF(e){return{Field(t){const n=e.getParentType();if(n&&!e.getFieldDef()){const i=e.getSchema(),o=t.name.value;let a=ra("to use an inline fragment on",U7(i,n,o));a===""&&(a=ra(B7(n,o))),e.reportError(new K(`Cannot query field "${o}" on type "${n.name}".`+a,{nodes:t}))}}}}function U7(e,t,n){if(!ui(t))return[];const r=new Set,i=Object.create(null);for(const a of e.getPossibleTypes(t))if(a.getFields()[n]){r.add(a),i[a.name]=1;for(const s of a.getInterfaces()){var o;s.getFields()[n]&&(r.add(s),i[s.name]=((o=i[s.name])!==null&&o!==void 0?o:0)+1)}}return[...r].sort((a,s)=>{const l=i[s.name]-i[a.name];return l!==0?l:je(a)&&e.isSubType(a,s)?-1:je(s)&&e.isSubType(s,a)?1:vp(a.name,s.name)}).map(a=>a.name)}function B7(e,t){if(Le(e)||je(e)){const n=Object.keys(e.getFields());return gs(t,n)}return[]}function QF(e){return{InlineFragment(t){const n=t.typeCondition;if(n){const r=cr(e.getSchema(),n);if(r&&!pn(r)){const i=ot(n);e.reportError(new K(`Fragment cannot condition on non composite type "${i}".`,{nodes:n}))}}},FragmentDefinition(t){const n=cr(e.getSchema(),t.typeCondition);if(n&&!pn(n)){const r=ot(t.typeCondition);e.reportError(new K(`Fragment "${t.name.value}" cannot condition on non composite type "${r}".`,{nodes:t.typeCondition}))}}}}function GF(e){return{...HF(e),Argument(t){const n=e.getArgument(),r=e.getFieldDef(),i=e.getParentType();if(!n&&r&&i){const o=t.name.value,a=r.args.map(l=>l.name),s=gs(o,a);e.reportError(new K(`Unknown argument "${o}" on field "${i.name}.${r.name}".`+ra(s),{nodes:t}))}}}}function HF(e){const t=Object.create(null),n=e.getSchema(),r=n?n.getDirectives():Es;for(const a of r)t[a.name]=a.args.map(s=>s.name);const i=e.getDocument().definitions;for(const a of i)if(a.kind===D.DIRECTIVE_DEFINITION){var o;const s=(o=a.arguments)!==null&&o!==void 0?o:[];t[a.name.value]=s.map(l=>l.name.value)}return{Directive(a){const s=a.name.value,l=t[s];if(a.arguments&&l)for(const u of a.arguments){const c=u.name.value;if(!l.includes(c)){const f=gs(c,l);e.reportError(new K(`Unknown argument "${c}" on directive "@${s}".`+ra(f),{nodes:u}))}}return!1}}}function P_(e){const t=Object.create(null),n=e.getSchema(),r=n?n.getDirectives():Es;for(const o of r)t[o.name]=o.locations;const i=e.getDocument().definitions;for(const o of i)o.kind===D.DIRECTIVE_DEFINITION&&(t[o.name.value]=o.locations.map(a=>a.value));return{Directive(o,a,s,l,u){const c=o.name.value,f=t[c];if(!f){e.reportError(new K(`Unknown directive "@${c}".`,{nodes:o}));return}const d=q7(u);d&&!f.includes(d)&&e.reportError(new K(`Directive "@${c}" may not be used on ${d}.`,{nodes:o}))}}}function q7(e){const t=e[e.length-1];switch("kind"in t||Kt(!1),t.kind){case D.OPERATION_DEFINITION:return z7(t.operation);case D.FIELD:return pe.FIELD;case D.FRAGMENT_SPREAD:return pe.FRAGMENT_SPREAD;case D.INLINE_FRAGMENT:return pe.INLINE_FRAGMENT;case D.FRAGMENT_DEFINITION:return pe.FRAGMENT_DEFINITION;case D.VARIABLE_DEFINITION:return pe.VARIABLE_DEFINITION;case D.SCHEMA_DEFINITION:case D.SCHEMA_EXTENSION:return pe.SCHEMA;case D.SCALAR_TYPE_DEFINITION:case D.SCALAR_TYPE_EXTENSION:return pe.SCALAR;case D.OBJECT_TYPE_DEFINITION:case D.OBJECT_TYPE_EXTENSION:return pe.OBJECT;case D.FIELD_DEFINITION:return pe.FIELD_DEFINITION;case D.INTERFACE_TYPE_DEFINITION:case D.INTERFACE_TYPE_EXTENSION:return pe.INTERFACE;case D.UNION_TYPE_DEFINITION:case D.UNION_TYPE_EXTENSION:return pe.UNION;case D.ENUM_TYPE_DEFINITION:case D.ENUM_TYPE_EXTENSION:return pe.ENUM;case D.ENUM_VALUE_DEFINITION:return pe.ENUM_VALUE;case D.INPUT_OBJECT_TYPE_DEFINITION:case D.INPUT_OBJECT_TYPE_EXTENSION:return pe.INPUT_OBJECT;case D.INPUT_VALUE_DEFINITION:{const n=e[e.length-3];return"kind"in n||Kt(!1),n.kind===D.INPUT_OBJECT_TYPE_DEFINITION?pe.INPUT_FIELD_DEFINITION:pe.ARGUMENT_DEFINITION}default:Kt(!1,"Unexpected kind: "+ee(t.kind))}}function z7(e){switch(e){case dn.QUERY:return pe.QUERY;case dn.MUTATION:return pe.MUTATION;case dn.SUBSCRIPTION:return pe.SUBSCRIPTION}}function WF(e){return{FragmentSpread(t){const n=t.name.value;e.getFragment(n)||e.reportError(new K(`Unknown fragment "${n}".`,{nodes:t.name}))}}}function M_(e){const t=e.getSchema(),n=t?t.getTypeMap():Object.create(null),r=Object.create(null);for(const o of e.getDocument().definitions)xc(o)&&(r[o.name.value]=!0);const i=[...Object.keys(n),...Object.keys(r)];return{NamedType(o,a,s,l,u){const c=o.name.value;if(!n[c]&&!r[c]){var f;const d=(f=u[2])!==null&&f!==void 0?f:s,p=d!=null&&Q7(d);if(p&&LD.includes(c))return;const m=gs(c,p?LD.concat(i):i);e.reportError(new K(`Unknown type "${c}".`+ra(m),{nodes:o}))}}}}const LD=[...yp,...Tp].map(e=>e.name);function Q7(e){return"kind"in e&&(L_(e)||$_(e))}function YF(e){let t=0;return{Document(n){t=n.definitions.filter(r=>r.kind===D.OPERATION_DEFINITION).length},OperationDefinition(n){!n.name&&t>1&&e.reportError(new K("This anonymous operation must be the only defined operation.",{nodes:n}))}}}function JF(e){var t,n,r;const i=e.getSchema(),o=(t=(n=(r=i==null?void 0:i.astNode)!==null&&r!==void 0?r:i==null?void 0:i.getQueryType())!==null&&n!==void 0?n:i==null?void 0:i.getMutationType())!==null&&t!==void 0?t:i==null?void 0:i.getSubscriptionType();let a=0;return{SchemaDefinition(s){if(o){e.reportError(new K("Cannot define a new schema within a schema extension.",{nodes:s}));return}a>0&&e.reportError(new K("Must provide only one schema definition.",{nodes:s})),++a}}}function KF(e){const t=Object.create(null),n=[],r=Object.create(null);return{OperationDefinition:()=>!1,FragmentDefinition(o){return i(o),!1}};function i(o){if(t[o.name.value])return;const a=o.name.value;t[a]=!0;const s=e.getFragmentSpreads(o.selectionSet);if(s.length!==0){r[a]=n.length;for(const l of s){const u=l.name.value,c=r[u];if(n.push(l),c===void 0){const f=e.getFragment(u);f&&i(f)}else{const f=n.slice(c),d=f.slice(0,-1).map(p=>'"'+p.name.value+'"').join(", ");e.reportError(new K(`Cannot spread fragment "${u}" within itself`+(d!==""?` via ${d}.`:"."),{nodes:f}))}n.pop()}r[a]=void 0}}}function XF(e){let t=Object.create(null);return{OperationDefinition:{enter(){t=Object.create(null)},leave(n){const r=e.getRecursiveVariableUsages(n);for(const{node:i}of r){const o=i.name.value;t[o]!==!0&&e.reportError(new K(n.name?`Variable "$${o}" is not defined by operation "${n.name.value}".`:`Variable "$${o}" is not defined.`,{nodes:[i,n]}))}}},VariableDefinition(n){t[n.variable.name.value]=!0}}}function ZF(e){const t=[],n=[];return{OperationDefinition(r){return t.push(r),!1},FragmentDefinition(r){return n.push(r),!1},Document:{leave(){const r=Object.create(null);for(const i of t)for(const o of e.getRecursivelyReferencedFragments(i))r[o.name.value]=!0;for(const i of n){const o=i.name.value;r[o]!==!0&&e.reportError(new K(`Fragment "${o}" is never used.`,{nodes:i}))}}}}}function eR(e){let t=[];return{OperationDefinition:{enter(){t=[]},leave(n){const r=Object.create(null),i=e.getRecursiveVariableUsages(n);for(const{node:o}of i)r[o.name.value]=!0;for(const o of t){const a=o.variable.name.value;r[a]!==!0&&e.reportError(new K(n.name?`Variable "$${a}" is never used in operation "${n.name.value}".`:`Variable "$${a}" is never used.`,{nodes:o}))}}},VariableDefinition(n){t.push(n)}}}function dy(e){switch(e.kind){case D.OBJECT:return{...e,fields:G7(e.fields)};case D.LIST:return{...e,values:e.values.map(dy)};case D.INT:case D.FLOAT:case D.STRING:case D.BOOLEAN:case D.NULL:case D.ENUM:case D.VARIABLE:return e}}function G7(e){return e.map(t=>({...t,value:dy(t.value)})).sort((t,n)=>vp(t.name.value,n.name.value))}function tR(e){return Array.isArray(e)?e.map(([t,n])=>`subfields "${t}" conflict because `+tR(n)).join(" and "):e}function nR(e){const t=new K7,n=new Map;return{SelectionSet(r){const i=H7(e,n,t,e.getParentType(),r);for(const[[o,a],s,l]of i){const u=tR(a);e.reportError(new K(`Fields "${o}" conflict because ${u}. Use different aliases on the fields to fetch both if this was intentional.`,{nodes:s.concat(l)}))}}}}function H7(e,t,n,r,i){const o=[],[a,s]=Tv(e,t,r,i);if(Y7(e,o,t,n,a),s.length!==0)for(let l=0;l1)for(let s=0;s({kind:D.OBJECT_FIELD,name:i.name,value:i.value}))};return ot(dy(r))}function ab(e,t){return ut(e)?ut(t)?ab(e.ofType,t.ofType):!0:ut(t)?!0:_e(e)?_e(t)?ab(e.ofType,t.ofType):!0:_e(t)?!0:di(e)||di(t)?e!==t:!1}function Tv(e,t,n,r){const i=t.get(r);if(i)return i;const o=Object.create(null),a=Object.create(null);iR(e,n,r,o,a);const s=[o,Object.keys(a)];return t.set(r,s),s}function sb(e,t,n){const r=t.get(n.selectionSet);if(r)return r;const i=cr(e.getSchema(),n.typeCondition);return Tv(e,t,i,n.selectionSet)}function iR(e,t,n,r,i){for(const o of n.selections)switch(o.kind){case D.FIELD:{const a=o.name.value;let s;(Le(t)||je(t))&&(s=t.getFields()[a]);const l=o.alias?o.alias.value:a;r[l]||(r[l]=[]),r[l].push([t,o,s]);break}case D.FRAGMENT_SPREAD:i[o.name.value]=!0;break;case D.INLINE_FRAGMENT:{const a=o.typeCondition,s=a?cr(e.getSchema(),a):t;iR(e,s,o.selectionSet,r,i);break}}}function J7(e,t,n,r){if(e.length>0)return[[t,e.map(([i])=>i)],[n,...e.map(([,i])=>i).flat()],[r,...e.map(([,,i])=>i).flat()]]}let K7=class{constructor(){this._data=new Map}has(t,n,r){var i;const[o,a]=to.name.value));for(const o of r.args)if(!i.has(o.name)&&ys(o)){const a=ee(o.type);e.reportError(new K(`Field "${r.name}" argument "${o.name}" of type "${a}" is required, but it was not provided.`,{nodes:t}))}}}}}function lR(e){var t;const n=Object.create(null),r=e.getSchema(),i=(t=r==null?void 0:r.getDirectives())!==null&&t!==void 0?t:Es;for(const s of i)n[s.name]=ia(s.args.filter(ys),l=>l.name);const o=e.getDocument().definitions;for(const s of o)if(s.kind===D.DIRECTIVE_DEFINITION){var a;const l=(a=s.arguments)!==null&&a!==void 0?a:[];n[s.name.value]=ia(l.filter(nU),u=>u.name.value)}return{Directive:{leave(s){const l=s.name.value,u=n[l];if(u){var c;const f=(c=s.arguments)!==null&&c!==void 0?c:[],d=new Set(f.map(p=>p.name.value));for(const[p,m]of Object.entries(u))if(!d.has(p)){const v=Nc(m.type)?ee(m.type):ot(m.type);e.reportError(new K(`Directive "@${l}" argument "${p}" of type "${v}" is required, but it was not provided.`,{nodes:s}))}}}}}}function nU(e){return e.type.kind===D.NON_NULL_TYPE&&e.defaultValue==null}function uR(e){return{Field(t){const n=e.getType(),r=t.selectionSet;if(n){if(di(At(n))){if(r){const i=t.name.value,o=ee(n);e.reportError(new K(`Field "${i}" must not have a selection since type "${o}" has no subfields.`,{nodes:r}))}}else if(!r){const i=t.name.value,o=ee(n);e.reportError(new K(`Field "${i}" of type "${o}" must have a selection of subfields. Did you mean "${i} { ... }"?`,{nodes:t}))}}}}}function cR(e){return e.map(t=>typeof t=="number"?"["+t.toString()+"]":"."+t).join("")}function Xu(e,t,n){return{prev:e,key:t,typename:n}}function Rr(e){const t=[];let n=e;for(;n;)t.push(n.key),n=n.prev;return t.reverse()}function fR(e,t,n=rU){return mf(e,t,n,void 0)}function rU(e,t,n){let r="Invalid value "+ee(t);throw e.length>0&&(r+=` at "value${cR(e)}"`),n.message=r+": "+n.message,n}function mf(e,t,n,r){if(_e(t)){if(e!=null)return mf(e,t.ofType,n,r);n(Rr(r),e,new K(`Expected non-nullable type "${ee(t)}" not to be null.`));return}if(e==null)return null;if(ut(t)){const i=t.ofType;return N_(e)?Array.from(e,(o,a)=>{const s=Xu(r,a,void 0);return mf(o,i,n,s)}):[mf(e,i,n,r)]}if(st(t)){if(!Mr(e)){n(Rr(r),e,new K(`Expected type "${t.name}" to be an object.`));return}const i={},o=t.getFields();for(const a of Object.values(o)){const s=e[a.name];if(s===void 0){if(a.defaultValue!==void 0)i[a.name]=a.defaultValue;else if(_e(a.type)){const l=ee(a.type);n(Rr(r),e,new K(`Field "${a.name}" of required type "${l}" was not provided.`))}continue}i[a.name]=mf(s,a.type,n,Xu(r,a.name,t.name))}for(const a of Object.keys(e))if(!o[a]){const s=gs(a,Object.keys(t.getFields()));n(Rr(r),e,new K(`Field "${a}" is not defined by type "${t.name}".`+ra(s)))}return i}if(di(t)){let i;try{i=t.parseValue(e)}catch(o){o instanceof K?n(Rr(r),e,o):n(Rr(r),e,new K(`Expected type "${t.name}". `+o.message,{originalError:o}));return}return i===void 0&&n(Rr(r),e,new K(`Expected type "${t.name}".`)),i}Kt(!1,"Unexpected input type: "+ee(t))}function ho(e,t,n){if(e){if(e.kind===D.VARIABLE){const r=e.name.value;if(n==null||n[r]===void 0)return;const i=n[r];return i===null&&_e(t)?void 0:i}if(_e(t))return e.kind===D.NULL?void 0:ho(e,t.ofType,n);if(e.kind===D.NULL)return null;if(ut(t)){const r=t.ofType;if(e.kind===D.LIST){const o=[];for(const a of e.values)if(PD(a,n)){if(_e(r))return;o.push(null)}else{const s=ho(a,r,n);if(s===void 0)return;o.push(s)}return o}const i=ho(e,r,n);return i===void 0?void 0:[i]}if(st(t)){if(e.kind!==D.OBJECT)return;const r=Object.create(null),i=ia(e.fields,o=>o.name.value);for(const o of Object.values(t.getFields())){const a=i[o.name];if(!a||PD(a.value,n)){if(o.defaultValue!==void 0)r[o.name]=o.defaultValue;else if(_e(o.type))return;continue}const s=ho(a.value,o.type,n);if(s===void 0)return;r[o.name]=s}return r}if(di(t)){let r;try{r=t.parseLiteral(e,n)}catch{return}return r===void 0?void 0:r}Kt(!1,"Unexpected input type: "+ee(t))}}function PD(e,t){return e.kind===D.VARIABLE&&(t==null||t[e.name.value]===void 0)}function dR(e,t,n,r){const i=[],o=r==null?void 0:r.maxErrors;try{const a=iU(e,t,n,s=>{if(o!=null&&i.length>=o)throw new K("Too many errors processing variables, error limit reached. Execution aborted.");i.push(s)});if(i.length===0)return{coerced:a}}catch(a){i.push(a)}return{errors:i}}function iU(e,t,n,r){const i={};for(const o of t){const a=o.variable.name.value,s=cr(e,o.type);if(!Kn(s)){const u=ot(o.type);r(new K(`Variable "$${a}" expected value of type "${u}" which cannot be used as an input type.`,{nodes:o.type}));continue}if(!pR(n,a)){if(o.defaultValue)i[a]=ho(o.defaultValue,s);else if(_e(s)){const u=ee(s);r(new K(`Variable "$${a}" of required type "${u}" was not provided.`,{nodes:o}))}continue}const l=n[a];if(l===null&&_e(s)){const u=ee(s);r(new K(`Variable "$${a}" of non-null type "${u}" must not be null.`,{nodes:o}));continue}i[a]=fR(l,s,(u,c,f)=>{let d=`Variable "$${a}" got invalid value `+ee(c);u.length>0&&(d+=` at "${a}${cR(u)}"`),r(new K(d+"; "+f.message,{nodes:o,originalError:f.originalError}))})}return i}function py(e,t,n){var r;const i={},o=(r=t.arguments)!==null&&r!==void 0?r:[],a=ia(o,s=>s.name.value);for(const s of e.args){const l=s.name,u=s.type,c=a[l];if(!c){if(s.defaultValue!==void 0)i[l]=s.defaultValue;else if(_e(u))throw new K(`Argument "${l}" of required type "${ee(u)}" was not provided.`,{nodes:t});continue}const f=c.value;let d=f.kind===D.NULL;if(f.kind===D.VARIABLE){const m=f.name.value;if(n==null||!pR(n,m)){if(s.defaultValue!==void 0)i[l]=s.defaultValue;else if(_e(u))throw new K(`Argument "${l}" of required type "${ee(u)}" was provided the variable "$${m}" which was not provided a runtime value.`,{nodes:f});continue}d=n[m]==null}if(d&&_e(u))throw new K(`Argument "${l}" of non-null type "${ee(u)}" must not be null.`,{nodes:f});const p=ho(f,u,n);if(p===void 0)throw new K(`Argument "${l}" has invalid value ${ot(f)}.`,{nodes:f});i[l]=p}return i}function ld(e,t,n){var r;const i=(r=t.directives)===null||r===void 0?void 0:r.find(o=>o.name.value===e.name);if(i)return py(e,i,n)}function pR(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function j_(e,t,n,r,i){const o=new Map;return wv(e,t,n,r,i,o,new Set),o}function oU(e,t,n,r,i){const o=new Map,a=new Set;for(const s of i)s.selectionSet&&wv(e,t,n,r,s.selectionSet,o,a);return o}function wv(e,t,n,r,i,o,a){for(const s of i.selections)switch(s.kind){case D.FIELD:{if(!yE(n,s))continue;const l=aU(s),u=o.get(l);u!==void 0?u.push(s):o.set(l,[s]);break}case D.INLINE_FRAGMENT:{if(!yE(n,s)||!MD(e,s,r))continue;wv(e,t,n,r,s.selectionSet,o,a);break}case D.FRAGMENT_SPREAD:{const l=s.name.value;if(a.has(l)||!yE(n,s))continue;a.add(l);const u=t[l];if(!u||!MD(e,u,r))continue;wv(e,t,n,r,u.selectionSet,o,a);break}}}function yE(e,t){const n=ld(T_,t,e);if((n==null?void 0:n.if)===!0)return!1;const r=ld(b_,t,e);return(r==null?void 0:r.if)!==!1}function MD(e,t,n){const r=t.typeCondition;if(!r)return!0;const i=cr(e,r);return i===n?!0:ui(i)?e.isSubType(i,n):!1}function aU(e){return e.alias?e.alias.value:e.name.value}function hR(e){return{OperationDefinition(t){if(t.operation==="subscription"){const n=e.getSchema(),r=n.getSubscriptionType();if(r){const i=t.name?t.name.value:null,o=Object.create(null),a=e.getDocument(),s=Object.create(null);for(const u of a.definitions)u.kind===D.FRAGMENT_DEFINITION&&(s[u.name.value]=u);const l=j_(n,s,o,r,t.selectionSet);if(l.size>1){const f=[...l.values()].slice(1).flat();e.reportError(new K(i!=null?`Subscription "${i}" must select only one top level field.`:"Anonymous Subscription must select only one top level field.",{nodes:f}))}for(const u of l.values())u[0].name.value.startsWith("__")&&e.reportError(new K(i!=null?`Subscription "${i}" must not select an introspection top level field.`:"Anonymous Subscription must not select an introspection top level field.",{nodes:u}))}}}}}function U_(e,t){const n=new Map;for(const r of e){const i=t(r),o=n.get(i);o===void 0?n.set(i,[r]):o.push(r)}return n}function mR(e){return{DirectiveDefinition(r){var i;const o=(i=r.arguments)!==null&&i!==void 0?i:[];return n(`@${r.name.value}`,o)},InterfaceTypeDefinition:t,InterfaceTypeExtension:t,ObjectTypeDefinition:t,ObjectTypeExtension:t};function t(r){var i;const o=r.name.value,a=(i=r.fields)!==null&&i!==void 0?i:[];for(const l of a){var s;const u=l.name.value,c=(s=l.arguments)!==null&&s!==void 0?s:[];n(`${o}.${u}`,c)}return!1}function n(r,i){const o=U_(i,a=>a.name.value);for(const[a,s]of o)s.length>1&&e.reportError(new K(`Argument "${r}(${a}:)" can only be defined once.`,{nodes:s.map(l=>l.name)}));return!1}}function B_(e){return{Field:t,Directive:t};function t(n){var r;const i=(r=n.arguments)!==null&&r!==void 0?r:[],o=U_(i,a=>a.name.value);for(const[a,s]of o)s.length>1&&e.reportError(new K(`There can be only one argument named "${a}".`,{nodes:s.map(l=>l.name)}))}}function vR(e){const t=Object.create(null),n=e.getSchema();return{DirectiveDefinition(r){const i=r.name.value;if(n!=null&&n.getDirective(i)){e.reportError(new K(`Directive "@${i}" already exists in the schema. It cannot be redefined.`,{nodes:r.name}));return}return t[i]?e.reportError(new K(`There can be only one directive named "@${i}".`,{nodes:[t[i],r.name]})):t[i]=r.name,!1}}}function q_(e){const t=Object.create(null),n=e.getSchema(),r=n?n.getDirectives():Es;for(const s of r)t[s.name]=!s.isRepeatable;const i=e.getDocument().definitions;for(const s of i)s.kind===D.DIRECTIVE_DEFINITION&&(t[s.name.value]=!s.repeatable);const o=Object.create(null),a=Object.create(null);return{enter(s){if(!("directives"in s)||!s.directives)return;let l;if(s.kind===D.SCHEMA_DEFINITION||s.kind===D.SCHEMA_EXTENSION)l=o;else if(xc(s)||fy(s)){const u=s.name.value;l=a[u],l===void 0&&(a[u]=l=Object.create(null))}else l=Object.create(null);for(const u of s.directives){const c=u.name.value;t[c]&&(l[c]?e.reportError(new K(`The directive "@${c}" can only be used once at this location.`,{nodes:[l[c],u]})):l[c]=u)}}}}function gR(e){const t=e.getSchema(),n=t?t.getTypeMap():Object.create(null),r=Object.create(null);return{EnumTypeDefinition:i,EnumTypeExtension:i};function i(o){var a;const s=o.name.value;r[s]||(r[s]=Object.create(null));const l=(a=o.values)!==null&&a!==void 0?a:[],u=r[s];for(const c of l){const f=c.name.value,d=n[s];Lt(d)&&d.getValue(f)?e.reportError(new K(`Enum value "${s}.${f}" already exists in the schema. It cannot also be defined in this type extension.`,{nodes:c.name})):u[f]?e.reportError(new K(`Enum value "${s}.${f}" can only be defined once.`,{nodes:[u[f],c.name]})):u[f]=c.name}return!1}}function yR(e){const t=e.getSchema(),n=t?t.getTypeMap():Object.create(null),r=Object.create(null);return{InputObjectTypeDefinition:i,InputObjectTypeExtension:i,InterfaceTypeDefinition:i,InterfaceTypeExtension:i,ObjectTypeDefinition:i,ObjectTypeExtension:i};function i(o){var a;const s=o.name.value;r[s]||(r[s]=Object.create(null));const l=(a=o.fields)!==null&&a!==void 0?a:[],u=r[s];for(const c of l){const f=c.name.value;sU(n[s],f)?e.reportError(new K(`Field "${s}.${f}" already exists in the schema. It cannot also be defined in this type extension.`,{nodes:c.name})):u[f]?e.reportError(new K(`Field "${s}.${f}" can only be defined once.`,{nodes:[u[f],c.name]})):u[f]=c.name}return!1}}function sU(e,t){return Le(e)||je(e)||st(e)?e.getFields()[t]!=null:!1}function ER(e){const t=Object.create(null);return{OperationDefinition:()=>!1,FragmentDefinition(n){const r=n.name.value;return t[r]?e.reportError(new K(`There can be only one fragment named "${r}".`,{nodes:[t[r],n.name]})):t[r]=n.name,!1}}}function z_(e){const t=[];let n=Object.create(null);return{ObjectValue:{enter(){t.push(n),n=Object.create(null)},leave(){const r=t.pop();r||Kt(!1),n=r}},ObjectField(r){const i=r.name.value;n[i]?e.reportError(new K(`There can be only one input field named "${i}".`,{nodes:[n[i],r.name]})):n[i]=r.name}}}function bR(e){const t=Object.create(null);return{OperationDefinition(n){const r=n.name;return r&&(t[r.value]?e.reportError(new K(`There can be only one operation named "${r.value}".`,{nodes:[t[r.value],r]})):t[r.value]=r),!1},FragmentDefinition:()=>!1}}function TR(e){const t=e.getSchema(),n=Object.create(null),r=t?{query:t.getQueryType(),mutation:t.getMutationType(),subscription:t.getSubscriptionType()}:{};return{SchemaDefinition:i,SchemaExtension:i};function i(o){var a;const s=(a=o.operationTypes)!==null&&a!==void 0?a:[];for(const l of s){const u=l.operation,c=n[u];r[u]?e.reportError(new K(`Type for ${u} already defined in the schema. It cannot be redefined.`,{nodes:l})):c?e.reportError(new K(`There can be only one ${u} type in schema.`,{nodes:[c,l]})):n[u]=l}return!1}}function wR(e){const t=Object.create(null),n=e.getSchema();return{ScalarTypeDefinition:r,ObjectTypeDefinition:r,InterfaceTypeDefinition:r,UnionTypeDefinition:r,EnumTypeDefinition:r,InputObjectTypeDefinition:r};function r(i){const o=i.name.value;if(n!=null&&n.getType(o)){e.reportError(new K(`Type "${o}" already exists in the schema. It cannot also be defined in this type definition.`,{nodes:i.name}));return}return t[o]?e.reportError(new K(`There can be only one type named "${o}".`,{nodes:[t[o],i.name]})):t[o]=i.name,!1}}function _R(e){return{OperationDefinition(t){var n;const r=(n=t.variableDefinitions)!==null&&n!==void 0?n:[],i=U_(r,o=>o.variable.name.value);for(const[o,a]of i)a.length>1&&e.reportError(new K(`There can be only one variable named "$${o}".`,{nodes:a.map(s=>s.variable.name)}))}}}function SR(e){return{ListValue(t){const n=ry(e.getParentInputType());if(!ut(n))return Rs(e,t),!1},ObjectValue(t){const n=At(e.getInputType());if(!st(n))return Rs(e,t),!1;const r=ia(t.fields,i=>i.name.value);for(const i of Object.values(n.getFields()))if(!r[i.name]&&iy(i)){const a=ee(i.type);e.reportError(new K(`Field "${n.name}.${i.name}" of required type "${a}" was not provided.`,{nodes:t}))}},ObjectField(t){const n=At(e.getParentInputType());if(!e.getInputType()&&st(n)){const i=gs(t.name.value,Object.keys(n.getFields()));e.reportError(new K(`Field "${t.name.value}" is not defined by type "${n.name}".`+ra(i),{nodes:t}))}},NullValue(t){const n=e.getInputType();_e(n)&&e.reportError(new K(`Expected value of type "${ee(n)}", found ${ot(t)}.`,{nodes:t}))},EnumValue:t=>Rs(e,t),IntValue:t=>Rs(e,t),FloatValue:t=>Rs(e,t),StringValue:t=>Rs(e,t),BooleanValue:t=>Rs(e,t)}}function Rs(e,t){const n=e.getInputType();if(!n)return;const r=At(n);if(!di(r)){const i=ee(n);e.reportError(new K(`Expected value of type "${i}", found ${ot(t)}.`,{nodes:t}));return}try{if(r.parseLiteral(t,void 0)===void 0){const o=ee(n);e.reportError(new K(`Expected value of type "${o}", found ${ot(t)}.`,{nodes:t}))}}catch(i){const o=ee(n);i instanceof K?e.reportError(i):e.reportError(new K(`Expected value of type "${o}", found ${ot(t)}; `+i.message,{nodes:t,originalError:i}))}}function NR(e){return{VariableDefinition(t){const n=cr(e.getSchema(),t.type);if(n!==void 0&&!Kn(n)){const r=t.variable.name.value,i=ot(t.type);e.reportError(new K(`Variable "$${r}" cannot be non-input type "${i}".`,{nodes:t.type}))}}}}function IR(e){let t=Object.create(null);return{OperationDefinition:{enter(){t=Object.create(null)},leave(n){const r=e.getRecursiveVariableUsages(n);for(const{node:i,type:o,defaultValue:a}of r){const s=i.name.value,l=t[s];if(l&&o){const u=e.getSchema(),c=cr(u,l.type);if(c&&!lU(u,c,l.defaultValue,o,a)){const f=ee(c),d=ee(o);e.reportError(new K(`Variable "$${s}" of type "${f}" used in position expecting type "${d}".`,{nodes:[l,i]}))}}}}},VariableDefinition(n){t[n.variable.name.value]=n}}}function lU(e,t,n,r,i){if(_e(r)&&!_e(t)){if(!(n!=null&&n.kind!==D.NULL)&&!(i!==void 0))return!1;const s=r.ofType;return nl(e,t,s)}return nl(e,t,r)}const xR=Object.freeze([qF,bR,YF,hR,M_,QF,NR,uR,zF,ER,WF,ZF,oR,KF,_R,XF,eR,P_,q_,GF,B_,SR,sR,IR,nR,z_]),uU=Object.freeze([JF,TR,wR,gR,yR,mR,vR,M_,P_,q_,aR,HF,B_,z_,lR]);let DR=class{constructor(t,n){this._ast=t,this._fragments=void 0,this._fragmentSpreads=new Map,this._recursivelyReferencedFragments=new Map,this._onError=n}get[Symbol.toStringTag](){return"ASTValidationContext"}reportError(t){this._onError(t)}getDocument(){return this._ast}getFragment(t){let n;if(this._fragments)n=this._fragments;else{n=Object.create(null);for(const r of this.getDocument().definitions)r.kind===D.FRAGMENT_DEFINITION&&(n[r.name.value]=r);this._fragments=n}return n[t]}getFragmentSpreads(t){let n=this._fragmentSpreads.get(t);if(!n){n=[];const r=[t];let i;for(;i=r.pop();)for(const o of i.selections)o.kind===D.FRAGMENT_SPREAD?n.push(o):o.selectionSet&&r.push(o.selectionSet);this._fragmentSpreads.set(t,n)}return n}getRecursivelyReferencedFragments(t){let n=this._recursivelyReferencedFragments.get(t);if(!n){n=[];const r=Object.create(null),i=[t.selectionSet];let o;for(;o=i.pop();)for(const a of this.getFragmentSpreads(o)){const s=a.name.value;if(r[s]!==!0){r[s]=!0;const l=this.getFragment(s);l&&(n.push(l),i.push(l.selectionSet))}}this._recursivelyReferencedFragments.set(t,n)}return n}},cU=class extends DR{constructor(t,n,r){super(t,r),this._schema=n}get[Symbol.toStringTag](){return"SDLValidationContext"}getSchema(){return this._schema}},OR=class extends DR{constructor(t,n,r,i){super(n,i),this._schema=t,this._typeInfo=r,this._variableUsages=new Map,this._recursiveVariableUsages=new Map}get[Symbol.toStringTag](){return"ValidationContext"}getSchema(){return this._schema}getVariableUsages(t){let n=this._variableUsages.get(t);if(!n){const r=[],i=new wp(this._schema);Ht(t,cy(i,{VariableDefinition:()=>!1,Variable(o){r.push({node:o,type:i.getInputType(),defaultValue:i.getDefaultValue()})}})),n=r,this._variableUsages.set(t,n)}return n}getRecursiveVariableUsages(t){let n=this._recursiveVariableUsages.get(t);if(!n){n=this.getVariableUsages(t);for(const r of this.getRecursivelyReferencedFragments(t))n=n.concat(this.getVariableUsages(r));this._recursiveVariableUsages.set(t,n)}return n}getType(){return this._typeInfo.getType()}getParentType(){return this._typeInfo.getParentType()}getInputType(){return this._typeInfo.getInputType()}getParentInputType(){return this._typeInfo.getParentInputType()}getFieldDef(){return this._typeInfo.getFieldDef()}getDirective(){return this._typeInfo.getDirective()}getArgument(){return this._typeInfo.getArgument()}getEnumValue(){return this._typeInfo.getEnumValue()}};function CR(e,t,n=xR,r,i=new wp(e)){var o;const a=(o=r==null?void 0:r.maxErrors)!==null&&o!==void 0?o:100;t||Fe(!1,"Must provide document."),A_(e);const s=Object.freeze({}),l=[],u=new OR(e,t,i,f=>{if(l.length>=a)throw l.push(new K("Too many validation errors, error limit reached. Validation aborted.")),s;l.push(f)}),c=h_(n.map(f=>f(u)));try{Ht(t,cy(i,c))}catch(f){if(f!==s)throw f}return l}function kR(e,t,n=uU){const r=[],i=new cU(e,t,a=>{r.push(a)}),o=n.map(a=>a(i));return Ht(e,h_(o)),r}function fU(e){const t=kR(e);if(t.length!==0)throw new Error(t.map(n=>n.message).join(` + +`))}function dU(e,t){const n=kR(e,t);if(n.length!==0)throw new Error(n.map(r=>r.message).join(` + +`))}function pU(e){let t;return function(r,i,o){t===void 0&&(t=new WeakMap);let a=t.get(r);a===void 0&&(a=new WeakMap,t.set(r,a));let s=a.get(i);s===void 0&&(s=new WeakMap,a.set(i,s));let l=s.get(o);return l===void 0&&(l=e(r,i,o),s.set(o,l)),l}}function hU(e){return Promise.all(Object.values(e)).then(t=>{const n=Object.create(null);for(const[r,i]of Object.keys(e).entries())n[i]=t[r];return n})}function mU(e,t,n){let r=n;for(const i of e)r=Pr(r)?r.then(o=>t(o,i)):t(r,i);return r}function vU(e){return e instanceof Error?e:new gU(e)}let gU=class extends Error{constructor(t){super("Unexpected error value: "+ee(t)),this.name="NonErrorThrown",this.thrownValue=t}};function Zu(e,t,n){var r;const i=vU(e);return yU(i)?i:new K(i.message,{nodes:(r=i.nodes)!==null&&r!==void 0?r:t,source:i.source,positions:i.positions,path:n,originalError:i})}function yU(e){return Array.isArray(e.path)}const EU=pU((e,t,n)=>oU(e.schema,e.fragments,e.variableValues,t,n));function hy(e){arguments.length<2||Fe(!1,"graphql@16 dropped long-deprecated support for positional arguments, please pass an object instead.");const{schema:t,document:n,variableValues:r,rootValue:i}=e;FR(t,n,r);const o=RR(e);if(!("schema"in o))return{errors:o};try{const{operation:a}=o,s=bU(o,a,i);return Pr(s)?s.then(l=>ph(l,o.errors),l=>(o.errors.push(l),ph(null,o.errors))):ph(s,o.errors)}catch(a){return o.errors.push(a),ph(null,o.errors)}}function AR(e){const t=hy(e);if(Pr(t))throw new Error("GraphQL execution failed to complete synchronously.");return t}function ph(e,t){return t.length===0?{data:e}:{errors:t,data:e}}function FR(e,t,n){t||Fe(!1,"Must provide document."),A_(e),n==null||Mr(n)||Fe(!1,"Variables must be provided as an Object where each property is a variable value. Perhaps look to see if an unparsed JSON string was provided.")}function RR(e){var t,n;const{schema:r,document:i,rootValue:o,contextValue:a,variableValues:s,operationName:l,fieldResolver:u,typeResolver:c,subscribeFieldResolver:f}=e;let d;const p=Object.create(null);for(const b of i.definitions)switch(b.kind){case D.OPERATION_DEFINITION:if(l==null){if(d!==void 0)return[new K("Must provide operation name if query contains multiple operations.")];d=b}else((t=b.name)===null||t===void 0?void 0:t.value)===l&&(d=b);break;case D.FRAGMENT_DEFINITION:p[b.name.value]=b;break}if(!d)return l!=null?[new K(`Unknown operation named "${l}".`)]:[new K("Must provide an operation.")];const m=(n=d.variableDefinitions)!==null&&n!==void 0?n:[],v=dR(r,m,s??{},{maxErrors:50});return v.errors?v.errors:{schema:r,fragments:p,rootValue:o,contextValue:a,operation:d,variableValues:v.coerced,fieldResolver:u??ub,typeResolver:c??PR,subscribeFieldResolver:f??ub,errors:[]}}function bU(e,t,n){const r=e.schema.getRootType(t.operation);if(r==null)throw new K(`Schema is not configured to execute ${t.operation} operation.`,{nodes:t});const i=j_(e.schema,e.fragments,e.variableValues,r,t.selectionSet),o=void 0;switch(t.operation){case dn.QUERY:return _v(e,r,n,o,i);case dn.MUTATION:return TU(e,r,n,o,i);case dn.SUBSCRIPTION:return _v(e,r,n,o,i)}}function TU(e,t,n,r,i){return mU(i.entries(),(o,[a,s])=>{const l=Xu(r,a,t.name),u=LR(e,t,n,s,l);return u===void 0?o:Pr(u)?u.then(c=>(o[a]=c,o)):(o[a]=u,o)},Object.create(null))}function _v(e,t,n,r,i){const o=Object.create(null);let a=!1;for(const[s,l]of i.entries()){const u=Xu(r,s,t.name),c=LR(e,t,n,l,u);c!==void 0&&(o[s]=c,Pr(c)&&(a=!0))}return a?hU(o):o}function LR(e,t,n,r,i){var o;const a=MR(e.schema,t,r[0]);if(!a)return;const s=a.type,l=(o=a.resolve)!==null&&o!==void 0?o:e.fieldResolver,u=$R(e,a,r,t,i);try{const c=py(a,r[0],e.variableValues),f=e.contextValue,d=l(n,c,f,u);let p;return Pr(d)?p=d.then(m=>ud(e,s,r,u,i,m)):p=ud(e,s,r,u,i,d),Pr(p)?p.then(void 0,m=>{const v=Zu(m,r,Rr(i));return Sv(v,s,e)}):p}catch(c){const f=Zu(c,r,Rr(i));return Sv(f,s,e)}}function $R(e,t,n,r,i){return{fieldName:t.name,fieldNodes:n,returnType:t.type,parentType:r,path:i,schema:e.schema,fragments:e.fragments,rootValue:e.rootValue,operation:e.operation,variableValues:e.variableValues}}function Sv(e,t,n){if(_e(t))throw e;return n.errors.push(e),null}function ud(e,t,n,r,i,o){if(o instanceof Error)throw o;if(_e(t)){const a=ud(e,t.ofType,n,r,i,o);if(a===null)throw new Error(`Cannot return null for non-nullable field ${r.parentType.name}.${r.fieldName}.`);return a}if(o==null)return null;if(ut(t))return wU(e,t,n,r,i,o);if(di(t))return _U(t,o);if(ui(t))return SU(e,t,n,r,i,o);if(Le(t))return lb(e,t,n,r,i,o);Kt(!1,"Cannot complete value of unexpected output type: "+ee(t))}function wU(e,t,n,r,i,o){if(!N_(o))throw new K(`Expected Iterable, but did not find one for field "${r.parentType.name}.${r.fieldName}".`);const a=t.ofType;let s=!1;const l=Array.from(o,(u,c)=>{const f=Xu(i,c,void 0);try{let d;return Pr(u)?d=u.then(p=>ud(e,a,n,r,f,p)):d=ud(e,a,n,r,f,u),Pr(d)?(s=!0,d.then(void 0,p=>{const m=Zu(p,n,Rr(f));return Sv(m,a,e)})):d}catch(d){const p=Zu(d,n,Rr(f));return Sv(p,a,e)}});return s?Promise.all(l):l}function _U(e,t){const n=e.serialize(t);if(n==null)throw new Error(`Expected \`${ee(e)}.serialize(${ee(t)})\` to return non-nullable value, returned: ${ee(n)}`);return n}function SU(e,t,n,r,i,o){var a;const s=(a=t.resolveType)!==null&&a!==void 0?a:e.typeResolver,l=e.contextValue,u=s(o,l,r,t);return Pr(u)?u.then(c=>lb(e,VD(c,e,t,n,r,o),n,r,i,o)):lb(e,VD(u,e,t,n,r,o),n,r,i,o)}function VD(e,t,n,r,i,o){if(e==null)throw new K(`Abstract type "${n.name}" must resolve to an Object type at runtime for field "${i.parentType.name}.${i.fieldName}". Either the "${n.name}" type should provide a "resolveType" function or each possible type should provide an "isTypeOf" function.`,r);if(Le(e))throw new K("Support for returning GraphQLObjectType from resolveType was removed in graphql-js@16.0.0 please return type name instead.");if(typeof e!="string")throw new K(`Abstract type "${n.name}" must resolve to an Object type at runtime for field "${i.parentType.name}.${i.fieldName}" with value ${ee(o)}, received "${ee(e)}".`);const a=t.schema.getType(e);if(a==null)throw new K(`Abstract type "${n.name}" was resolved to a type "${e}" that does not exist inside the schema.`,{nodes:r});if(!Le(a))throw new K(`Abstract type "${n.name}" was resolved to a non-object type "${e}".`,{nodes:r});if(!t.schema.isSubType(n,a))throw new K(`Runtime Object type "${a.name}" is not a possible type for "${n.name}".`,{nodes:r});return a}function lb(e,t,n,r,i,o){const a=EU(e,t,n);if(t.isTypeOf){const s=t.isTypeOf(o,e.contextValue,r);if(Pr(s))return s.then(l=>{if(!l)throw jD(t,o,n);return _v(e,t,o,i,a)});if(!s)throw jD(t,o,n)}return _v(e,t,o,i,a)}function jD(e,t,n){return new K(`Expected value of type "${e.name}" but got: ${ee(t)}.`,{nodes:n})}const PR=function(e,t,n,r){if(Mr(e)&&typeof e.__typename=="string")return e.__typename;const i=n.schema.getPossibleTypes(r),o=[];for(let a=0;a{for(let s=0;st(VR(e)))}function IU(e){const t=VR(e);if(Pr(t))throw new Error("GraphQL execution failed to complete synchronously.");return t}function VR(e){arguments.length<2||Fe(!1,"graphql@16 dropped long-deprecated support for positional arguments, please pass an object instead.");const{schema:t,source:n,rootValue:r,contextValue:i,variableValues:o,operationName:a,fieldResolver:s,typeResolver:l}=e,u=uy(t);if(u.length>0)return{errors:u};let c;try{c=qr(n)}catch(d){return{errors:[d]}}const f=CR(t,c);return f.length>0?{errors:f}:hy({schema:t,document:c,rootValue:r,contextValue:i,variableValues:o,operationName:a,fieldResolver:s,typeResolver:l})}function jR(e){return typeof(e==null?void 0:e[Symbol.asyncIterator])=="function"}function xU(e,t){const n=e[Symbol.asyncIterator]();async function r(i){if(i.done)return i;try{return{value:await t(i.value),done:!1}}catch(o){if(typeof n.return=="function")try{await n.return()}catch{}throw o}}return{async next(){return r(await n.next())},async return(){return typeof n.return=="function"?r(await n.return()):{value:void 0,done:!0}},async throw(i){if(typeof n.throw=="function")return r(await n.throw(i));throw i},[Symbol.asyncIterator](){return this}}}async function DU(e){arguments.length<2||Fe(!1,"graphql@16 dropped long-deprecated support for positional arguments, please pass an object instead.");const t=await UR(e);return jR(t)?xU(t,r=>hy({...e,rootValue:r})):t}function OU(e){const t=e[0];return t&&"document"in t?t:{schema:t,document:e[1],rootValue:e[2],contextValue:e[3],variableValues:e[4],operationName:e[5],subscribeFieldResolver:e[6]}}async function UR(...e){const t=OU(e),{schema:n,document:r,variableValues:i}=t;FR(n,r,i);const o=RR(t);if(!("schema"in o))return{errors:o};try{const a=await CU(o);if(!jR(a))throw new Error(`Subscription field must return Async Iterable. Received: ${ee(a)}.`);return a}catch(a){if(a instanceof K)return{errors:[a]};throw a}}async function CU(e){const{schema:t,fragments:n,operation:r,variableValues:i,rootValue:o}=e,a=t.getSubscriptionType();if(a==null)throw new K("Schema is not configured to execute subscription operation.",{nodes:r});const s=j_(t,n,i,a,r.selectionSet),[l,u]=[...s.entries()][0],c=MR(t,a,u[0]);if(!c){const m=u[0].name.value;throw new K(`The subscription field "${m}" is not defined.`,{nodes:u})}const f=Xu(void 0,l,a.name),d=$R(e,c,u,a,f);try{var p;const m=py(c,u[0],i),v=e.contextValue,E=await((p=c.subscribe)!==null&&p!==void 0?p:e.subscribeFieldResolver)(o,m,v,d);if(E instanceof Error)throw E;return E}catch(m){throw Zu(m,u,Rr(f))}}function kU(e){return{Field(t){const n=e.getFieldDef(),r=n==null?void 0:n.deprecationReason;if(n&&r!=null){const i=e.getParentType();i!=null||Kt(!1),e.reportError(new K(`The field ${i.name}.${n.name} is deprecated. ${r}`,{nodes:t}))}},Argument(t){const n=e.getArgument(),r=n==null?void 0:n.deprecationReason;if(n&&r!=null){const i=e.getDirective();if(i!=null)e.reportError(new K(`Directive "@${i.name}" argument "${n.name}" is deprecated. ${r}`,{nodes:t}));else{const o=e.getParentType(),a=e.getFieldDef();o!=null&&a!=null||Kt(!1),e.reportError(new K(`Field "${o.name}.${a.name}" argument "${n.name}" is deprecated. ${r}`,{nodes:t}))}}},ObjectField(t){const n=At(e.getParentInputType());if(st(n)){const r=n.getFields()[t.name.value],i=r==null?void 0:r.deprecationReason;i!=null&&e.reportError(new K(`The input field ${n.name}.${r.name} is deprecated. ${i}`,{nodes:t}))}},EnumValue(t){const n=e.getEnumValue(),r=n==null?void 0:n.deprecationReason;if(n&&r!=null){const i=At(e.getInputType());i!=null||Kt(!1),e.reportError(new K(`The enum value "${i.name}.${n.name}" is deprecated. ${r}`,{nodes:t}))}}}}function AU(e){return{Field(t){const n=At(e.getType());n&&kl(n)&&e.reportError(new K(`GraphQL introspection has been disabled, but the requested query contained the field "${t.name.value}".`,{nodes:t}))}}}function Q_(e){const t={descriptions:!0,specifiedByUrl:!1,directiveIsRepeatable:!1,schemaDescription:!1,inputValueDeprecation:!1,...e},n=t.descriptions?"description":"",r=t.specifiedByUrl?"specifiedByURL":"",i=t.directiveIsRepeatable?"isRepeatable":"",o=t.schemaDescription?n:"";function a(s){return t.inputValueDeprecation?s:""}return` + query IntrospectionQuery { + __schema { + ${o} + queryType { name } + mutationType { name } + subscriptionType { name } + types { + ...FullType + } + directives { + name + ${n} + ${i} + locations + args${a("(includeDeprecated: true)")} { + ...InputValue + } + } + } + } + + fragment FullType on __Type { + kind + name + ${n} + ${r} + fields(includeDeprecated: true) { + name + ${n} + args${a("(includeDeprecated: true)")} { + ...InputValue + } + type { + ...TypeRef + } + isDeprecated + deprecationReason + } + inputFields${a("(includeDeprecated: true)")} { + ...InputValue + } + interfaces { + ...TypeRef + } + enumValues(includeDeprecated: true) { + name + ${n} + isDeprecated + deprecationReason + } + possibleTypes { + ...TypeRef + } + } + + fragment InputValue on __InputValue { + name + ${n} + type { ...TypeRef } + defaultValue + ${a("isDeprecated")} + ${a("deprecationReason")} + } + + fragment TypeRef on __Type { + kind + name + ofType { + kind + name + ofType { + kind + name + ofType { + kind + name + ofType { + kind + name + ofType { + kind + name + ofType { + kind + name + ofType { + kind + name + } + } + } + } + } + } + } + } + `}function FU(e,t){let n=null;for(const i of e.definitions)if(i.kind===D.OPERATION_DEFINITION){var r;if(t==null){if(n)return null;n=i}else if(((r=i.name)===null||r===void 0?void 0:r.value)===t)return i}return n}function RU(e,t){if(t.operation==="query"){const n=e.getQueryType();if(!n)throw new K("Schema does not define the required query root type.",{nodes:t});return n}if(t.operation==="mutation"){const n=e.getMutationType();if(!n)throw new K("Schema is not configured for mutations.",{nodes:t});return n}if(t.operation==="subscription"){const n=e.getSubscriptionType();if(!n)throw new K("Schema is not configured for subscriptions.",{nodes:t});return n}throw new K("Can only have query, mutation and subscription operations.",{nodes:t})}function LU(e,t){const n={specifiedByUrl:!0,directiveIsRepeatable:!0,schemaDescription:!0,inputValueDeprecation:!0,...t},r=qr(Q_(n)),i=AR({schema:e,document:r});return!i.errors&&i.data||Kt(!1),i.data}function BR(e,t){Mr(e)&&Mr(e.__schema)||Fe(!1,`Invalid or incomplete introspection result. Ensure that you are passing "data" property of introspection response and no "errors" was returned alongside: ${ee(e)}.`);const n=e.__schema,r=Va(n.types,N=>N.name,N=>d(N));for(const N of[...yp,...Tp])r[N.name]&&(r[N.name]=N);const i=n.queryType?c(n.queryType):null,o=n.mutationType?c(n.mutationType):null,a=n.subscriptionType?c(n.subscriptionType):null,s=n.directives?n.directives.map(A):[];return new Ic({description:n.description,query:i,mutation:o,subscription:a,types:Object.values(r),directives:s,assumeValid:t==null?void 0:t.assumeValid});function l(N){if(N.kind===dt.LIST){const C=N.ofType;if(!C)throw new Error("Decorated type deeper than introspection query.");return new Nn(l(C))}if(N.kind===dt.NON_NULL){const C=N.ofType;if(!C)throw new Error("Decorated type deeper than introspection query.");const U=l(C);return new Ae(LF(U))}return u(N)}function u(N){const C=N.name;if(!C)throw new Error(`Unknown type reference: ${ee(N)}.`);const U=r[C];if(!U)throw new Error(`Invalid or incomplete schema, unknown type: ${C}. Ensure that a full introspection query is used in order to build a client schema.`);return U}function c(N){return AF(u(N))}function f(N){return FF(u(N))}function d(N){if(N!=null&&N.name!=null&&N.kind!=null)switch(N.kind){case dt.SCALAR:return p(N);case dt.OBJECT:return v(N);case dt.INTERFACE:return b(N);case dt.UNION:return E(N);case dt.ENUM:return y(N);case dt.INPUT_OBJECT:return T(N)}const C=ee(N);throw new Error(`Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema: ${C}.`)}function p(N){return new No({name:N.name,description:N.description,specifiedByURL:N.specifiedByURL})}function m(N){if(N.interfaces===null&&N.kind===dt.INTERFACE)return[];if(!N.interfaces){const C=ee(N);throw new Error(`Introspection result missing interfaces: ${C}.`)}return N.interfaces.map(f)}function v(N){return new Ir({name:N.name,description:N.description,interfaces:()=>m(N),fields:()=>w(N)})}function b(N){return new Eo({name:N.name,description:N.description,interfaces:()=>m(N),fields:()=>w(N)})}function E(N){if(!N.possibleTypes){const C=ee(N);throw new Error(`Introspection result missing possibleTypes: ${C}.`)}return new Wu({name:N.name,description:N.description,types:()=>N.possibleTypes.map(c)})}function y(N){if(!N.enumValues){const C=ee(N);throw new Error(`Introspection result missing enumValues: ${C}.`)}return new Io({name:N.name,description:N.description,values:Va(N.enumValues,C=>C.name,C=>({description:C.description,deprecationReason:C.deprecationReason}))})}function T(N){if(!N.inputFields){const C=ee(N);throw new Error(`Introspection result missing inputFields: ${C}.`)}return new dl({name:N.name,description:N.description,fields:()=>_(N.inputFields)})}function w(N){if(!N.fields)throw new Error(`Introspection result missing fields: ${ee(N)}.`);return Va(N.fields,C=>C.name,S)}function S(N){const C=l(N.type);if(!Ko(C)){const U=ee(C);throw new Error(`Introspection must provide output type for fields, but received: ${U}.`)}if(!N.args){const U=ee(N);throw new Error(`Introspection result missing field args: ${U}.`)}return{description:N.description,deprecationReason:N.deprecationReason,type:C,args:_(N.args)}}function _(N){return Va(N,C=>C.name,I)}function I(N){const C=l(N.type);if(!Kn(C)){const G=ee(C);throw new Error(`Introspection must provide input type for arguments, but received: ${G}.`)}const U=N.defaultValue!=null?ho(OF(N.defaultValue),C):void 0;return{description:N.description,type:C,defaultValue:U,deprecationReason:N.deprecationReason}}function A(N){if(!N.args){const C=ee(N);throw new Error(`Introspection result missing directive args: ${C}.`)}if(!N.locations){const C=ee(N);throw new Error(`Introspection result missing directive locations: ${C}.`)}return new xo({name:N.name,description:N.description,isRepeatable:N.isRepeatable,locations:N.locations.slice(),args:_(N.args)})}}function $U(e,t,n){k_(e),t!=null&&t.kind===D.DOCUMENT||Fe(!1,"Must provide valid Document AST."),(n==null?void 0:n.assumeValid)!==!0&&(n==null?void 0:n.assumeValidSDL)!==!0&&dU(t,e);const r=e.toConfig(),i=qR(r,t,n);return r===i?e:new Ic(i)}function qR(e,t,n){var r,i,o,a;const s=[],l=Object.create(null),u=[];let c;const f=[];for(const x of t.definitions)if(x.kind===D.SCHEMA_DEFINITION)c=x;else if(x.kind===D.SCHEMA_EXTENSION)f.push(x);else if(xc(x))s.push(x);else if(fy(x)){const M=x.name.value,L=l[M];l[M]=L?L.concat([x]):[x]}else x.kind===D.DIRECTIVE_DEFINITION&&u.push(x);if(Object.keys(l).length===0&&s.length===0&&u.length===0&&f.length===0&&c==null)return e;const d=Object.create(null);for(const x of e.types)d[x.name]=y(x);for(const x of s){var p;const M=x.name.value;d[M]=(p=UD[M])!==null&&p!==void 0?p:X(x)}const m={query:e.query&&b(e.query),mutation:e.mutation&&b(e.mutation),subscription:e.subscription&&b(e.subscription),...c&&U([c]),...U(f)};return{description:(r=c)===null||r===void 0||(i=r.description)===null||i===void 0?void 0:i.value,...m,types:Object.values(d),directives:[...e.directives.map(E),...u.map(P)],extensions:Object.create(null),astNode:(o=c)!==null&&o!==void 0?o:e.astNode,extensionASTNodes:e.extensionASTNodes.concat(f),assumeValid:(a=n==null?void 0:n.assumeValid)!==null&&a!==void 0?a:!1};function v(x){return ut(x)?new Nn(v(x.ofType)):_e(x)?new Ae(v(x.ofType)):b(x)}function b(x){return d[x.name]}function E(x){const M=x.toConfig();return new xo({...M,args:qo(M.args,C)})}function y(x){if(kl(x)||oy(x))return x;if(hr(x))return S(x);if(Le(x))return _(x);if(je(x))return I(x);if(Zt(x))return A(x);if(Lt(x))return w(x);if(st(x))return T(x);Kt(!1,"Unexpected type: "+ee(x))}function T(x){var M;const L=x.toConfig(),R=(M=l[L.name])!==null&&M!==void 0?M:[];return new dl({...L,fields:()=>({...qo(L.fields,J=>({...J,type:v(J.type)})),...H(R)}),extensionASTNodes:L.extensionASTNodes.concat(R)})}function w(x){var M;const L=x.toConfig(),R=(M=l[x.name])!==null&&M!==void 0?M:[];return new Io({...L,values:{...L.values,...F(R)},extensionASTNodes:L.extensionASTNodes.concat(R)})}function S(x){var M;const L=x.toConfig(),R=(M=l[L.name])!==null&&M!==void 0?M:[];let J=L.specifiedByURL;for(const se of R){var ae;J=(ae=BD(se))!==null&&ae!==void 0?ae:J}return new No({...L,specifiedByURL:J,extensionASTNodes:L.extensionASTNodes.concat(R)})}function _(x){var M;const L=x.toConfig(),R=(M=l[L.name])!==null&&M!==void 0?M:[];return new Ir({...L,interfaces:()=>[...x.getInterfaces().map(b),...z(R)],fields:()=>({...qo(L.fields,N),...V(R)}),extensionASTNodes:L.extensionASTNodes.concat(R)})}function I(x){var M;const L=x.toConfig(),R=(M=l[L.name])!==null&&M!==void 0?M:[];return new Eo({...L,interfaces:()=>[...x.getInterfaces().map(b),...z(R)],fields:()=>({...qo(L.fields,N),...V(R)}),extensionASTNodes:L.extensionASTNodes.concat(R)})}function A(x){var M;const L=x.toConfig(),R=(M=l[L.name])!==null&&M!==void 0?M:[];return new Wu({...L,types:()=>[...x.getTypes().map(b),...B(R)],extensionASTNodes:L.extensionASTNodes.concat(R)})}function N(x){return{...x,type:v(x.type),args:x.args&&qo(x.args,C)}}function C(x){return{...x,type:v(x.type)}}function U(x){const M={};for(const R of x){var L;const J=(L=R.operationTypes)!==null&&L!==void 0?L:[];for(const ae of J)M[ae.operation]=G(ae.type)}return M}function G(x){var M;const L=x.name.value,R=(M=UD[L])!==null&&M!==void 0?M:d[L];if(R===void 0)throw new Error(`Unknown type: "${L}".`);return R}function Y(x){return x.kind===D.LIST_TYPE?new Nn(Y(x.type)):x.kind===D.NON_NULL_TYPE?new Ae(Y(x.type)):G(x)}function P(x){var M;return new xo({name:x.name.value,description:(M=x.description)===null||M===void 0?void 0:M.value,locations:x.locations.map(({value:L})=>L),isRepeatable:x.repeatable,args:j(x.arguments),astNode:x})}function V(x){const M=Object.create(null);for(const J of x){var L;const ae=(L=J.fields)!==null&&L!==void 0?L:[];for(const se of ae){var R;M[se.name.value]={type:Y(se.type),description:(R=se.description)===null||R===void 0?void 0:R.value,args:j(se.arguments),deprecationReason:hh(se),astNode:se}}}return M}function j(x){const M=x??[],L=Object.create(null);for(const J of M){var R;const ae=Y(J.type);L[J.name.value]={type:ae,description:(R=J.description)===null||R===void 0?void 0:R.value,defaultValue:ho(J.defaultValue,ae),deprecationReason:hh(J),astNode:J}}return L}function H(x){const M=Object.create(null);for(const J of x){var L;const ae=(L=J.fields)!==null&&L!==void 0?L:[];for(const se of ae){var R;const $e=Y(se.type);M[se.name.value]={type:$e,description:(R=se.description)===null||R===void 0?void 0:R.value,defaultValue:ho(se.defaultValue,$e),deprecationReason:hh(se),astNode:se}}}return M}function F(x){const M=Object.create(null);for(const J of x){var L;const ae=(L=J.values)!==null&&L!==void 0?L:[];for(const se of ae){var R;M[se.name.value]={description:(R=se.description)===null||R===void 0?void 0:R.value,deprecationReason:hh(se),astNode:se}}}return M}function z(x){return x.flatMap(M=>{var L,R;return(L=(R=M.interfaces)===null||R===void 0?void 0:R.map(G))!==null&&L!==void 0?L:[]})}function B(x){return x.flatMap(M=>{var L,R;return(L=(R=M.types)===null||R===void 0?void 0:R.map(G))!==null&&L!==void 0?L:[]})}function X(x){var M;const L=x.name.value,R=(M=l[L])!==null&&M!==void 0?M:[];switch(x.kind){case D.OBJECT_TYPE_DEFINITION:{var J;const Oe=[x,...R];return new Ir({name:L,description:(J=x.description)===null||J===void 0?void 0:J.value,interfaces:()=>z(Oe),fields:()=>V(Oe),astNode:x,extensionASTNodes:R})}case D.INTERFACE_TYPE_DEFINITION:{var ae;const Oe=[x,...R];return new Eo({name:L,description:(ae=x.description)===null||ae===void 0?void 0:ae.value,interfaces:()=>z(Oe),fields:()=>V(Oe),astNode:x,extensionASTNodes:R})}case D.ENUM_TYPE_DEFINITION:{var se;const Oe=[x,...R];return new Io({name:L,description:(se=x.description)===null||se===void 0?void 0:se.value,values:F(Oe),astNode:x,extensionASTNodes:R})}case D.UNION_TYPE_DEFINITION:{var $e;const Oe=[x,...R];return new Wu({name:L,description:($e=x.description)===null||$e===void 0?void 0:$e.value,types:()=>B(Oe),astNode:x,extensionASTNodes:R})}case D.SCALAR_TYPE_DEFINITION:{var tn;return new No({name:L,description:(tn=x.description)===null||tn===void 0?void 0:tn.value,specifiedByURL:BD(x),astNode:x,extensionASTNodes:R})}case D.INPUT_OBJECT_TYPE_DEFINITION:{var An;const Oe=[x,...R];return new dl({name:L,description:(An=x.description)===null||An===void 0?void 0:An.value,fields:()=>H(Oe),astNode:x,extensionASTNodes:R})}}}}const UD=ia([...yp,...Tp],e=>e.name);function hh(e){const t=ld(sy,e);return t==null?void 0:t.reason}function BD(e){const t=ld(__,e);return t==null?void 0:t.url}function zR(e,t){e!=null&&e.kind===D.DOCUMENT||Fe(!1,"Must provide valid Document AST."),(t==null?void 0:t.assumeValid)!==!0&&(t==null?void 0:t.assumeValidSDL)!==!0&&fU(e);const r=qR({description:void 0,types:[],directives:[],extensions:Object.create(null),extensionASTNodes:[],assumeValid:!1},e,t);if(r.astNode==null)for(const o of r.types)switch(o.name){case"Query":r.query=o;break;case"Mutation":r.mutation=o;break;case"Subscription":r.subscription=o;break}const i=[...r.directives,...Es.filter(o=>r.directives.every(a=>a.name!==o.name))];return new Ic({...r,directives:i})}function PU(e,t){const n=qr(e,{noLocation:t==null?void 0:t.noLocation,allowLegacyFragmentVariables:t==null?void 0:t.allowLegacyFragmentVariables});return zR(n,{assumeValidSDL:t==null?void 0:t.assumeValidSDL,assumeValid:t==null?void 0:t.assumeValid})}function MU(e){const t=e.toConfig(),n=Va(EE(t.types),d=>d.name,f);return new Ic({...t,types:Object.values(n),directives:EE(t.directives).map(a),query:o(t.query),mutation:o(t.mutation),subscription:o(t.subscription)});function r(d){return ut(d)?new Nn(r(d.ofType)):_e(d)?new Ae(r(d.ofType)):i(d)}function i(d){return n[d.name]}function o(d){return d&&i(d)}function a(d){const p=d.toConfig();return new xo({...p,locations:QR(p.locations,m=>m),args:s(p.args)})}function s(d){return mh(d,p=>({...p,type:r(p.type)}))}function l(d){return mh(d,p=>({...p,type:r(p.type),args:p.args&&s(p.args)}))}function u(d){return mh(d,p=>({...p,type:r(p.type)}))}function c(d){return EE(d).map(i)}function f(d){if(hr(d)||kl(d))return d;if(Le(d)){const p=d.toConfig();return new Ir({...p,interfaces:()=>c(p.interfaces),fields:()=>l(p.fields)})}if(je(d)){const p=d.toConfig();return new Eo({...p,interfaces:()=>c(p.interfaces),fields:()=>l(p.fields)})}if(Zt(d)){const p=d.toConfig();return new Wu({...p,types:()=>c(p.types)})}if(Lt(d)){const p=d.toConfig();return new Io({...p,values:mh(p.values,m=>m)})}if(st(d)){const p=d.toConfig();return new dl({...p,fields:()=>u(p.fields)})}Kt(!1,"Unexpected type: "+ee(d))}}function mh(e,t){const n=Object.create(null);for(const r of Object.keys(e).sort(vp))n[r]=t(e[r]);return n}function EE(e){return QR(e,t=>t.name)}function QR(e,t){return e.slice().sort((n,r)=>{const i=t(n),o=t(r);return vp(i,o)})}function VU(e){return GR(e,t=>!S_(t),UU)}function jU(e){return GR(e,S_,kl)}function UU(e){return!oy(e)&&!kl(e)}function GR(e,t,n){const r=e.getDirectives().filter(t),i=Object.values(e.getTypeMap()).filter(n);return[BU(e),...r.map(o=>JU(o)),...i.map(o=>HR(o))].filter(Boolean).join(` + +`)}function BU(e){if(e.description==null&&qU(e))return;const t=[],n=e.getQueryType();n&&t.push(` query: ${n.name}`);const r=e.getMutationType();r&&t.push(` mutation: ${r.name}`);const i=e.getSubscriptionType();return i&&t.push(` subscription: ${i.name}`),pi(e)+`schema { +${t.join(` +`)} +}`}function qU(e){const t=e.getQueryType();if(t&&t.name!=="Query")return!1;const n=e.getMutationType();if(n&&n.name!=="Mutation")return!1;const r=e.getSubscriptionType();return!(r&&r.name!=="Subscription")}function HR(e){if(hr(e))return zU(e);if(Le(e))return QU(e);if(je(e))return GU(e);if(Zt(e))return HU(e);if(Lt(e))return WU(e);if(st(e))return YU(e);Kt(!1,"Unexpected type: "+ee(e))}function zU(e){return pi(e)+`scalar ${e.name}`+KU(e)}function WR(e){const t=e.getInterfaces();return t.length?" implements "+t.map(n=>n.name).join(" & "):""}function QU(e){return pi(e)+`type ${e.name}`+WR(e)+YR(e)}function GU(e){return pi(e)+`interface ${e.name}`+WR(e)+YR(e)}function HU(e){const t=e.getTypes(),n=t.length?" = "+t.join(" | "):"";return pi(e)+"union "+e.name+n}function WU(e){const t=e.getValues().map((n,r)=>pi(n," ",!r)+" "+n.name+H_(n.deprecationReason));return pi(e)+`enum ${e.name}`+G_(t)}function YU(e){const t=Object.values(e.getFields()).map((n,r)=>pi(n," ",!r)+" "+cb(n));return pi(e)+`input ${e.name}`+G_(t)}function YR(e){const t=Object.values(e.getFields()).map((n,r)=>pi(n," ",!r)+" "+n.name+JR(n.args," ")+": "+String(n.type)+H_(n.deprecationReason));return G_(t)}function G_(e){return e.length!==0?` { +`+e.join(` +`)+` +}`:""}function JR(e,t=""){return e.length===0?"":e.every(n=>!n.description)?"("+e.map(cb).join(", ")+")":`( +`+e.map((n,r)=>pi(n," "+t,!r)+" "+t+cb(n)).join(` +`)+` +`+t+")"}function cb(e){const t=Go(e.defaultValue,e.type);let n=e.name+": "+String(e.type);return t&&(n+=` = ${ot(t)}`),n+H_(e.deprecationReason)}function JU(e){return pi(e)+"directive @"+e.name+JR(e.args)+(e.isRepeatable?" repeatable":"")+" on "+e.locations.join(" | ")}function H_(e){return e==null?"":e!==w_?` @deprecated(reason: ${ot({kind:D.STRING,value:e})})`:" @deprecated"}function KU(e){return e.specifiedByURL==null?"":` @specifiedBy(url: ${ot({kind:D.STRING,value:e.specifiedByURL})})`}function pi(e,t="",n=!0){const{description:r}=e;if(r==null)return"";const i=ot({kind:D.STRING,value:r,block:P8(r)});return(t&&!n?` +`+t:t)+i.replace(/\n/g,` +`+t)+` +`}function XU(e){const t=[];for(const n of e)t.push(...n.definitions);return{kind:D.DOCUMENT,definitions:t}}function ZU(e){const t=[],n=Object.create(null);for(const i of e.definitions)switch(i.kind){case D.OPERATION_DEFINITION:t.push(i);break;case D.FRAGMENT_DEFINITION:n[i.name.value]=qD(i.selectionSet);break}const r=Object.create(null);for(const i of t){const o=new Set;for(const s of qD(i.selectionSet))KR(o,n,s);const a=i.name?i.name.value:"";r[a]={kind:D.DOCUMENT,definitions:e.definitions.filter(s=>s===i||s.kind===D.FRAGMENT_DEFINITION&&o.has(s.name.value))}}return r}function KR(e,t,n){if(!e.has(n)){e.add(n);const r=t[n];if(r!==void 0)for(const i of r)KR(e,t,i)}}function qD(e){const t=[];return Ht(e,{FragmentSpread(n){t.push(n.name.value)}}),t}function eB(e){const t=DF(e)?e:new mp(e),n=t.body,r=new p_(t);let i="",o=!1;for(;r.advance().kind!==Z.EOF;){const a=r.token,s=a.kind,l=!SF(a.kind);o&&(l||a.kind===Z.SPREAD)&&(i+=" ");const u=n.slice(a.start,a.end);s===Z.BLOCK_STRING?i+=_F(a.value,{minimize:!0}):i+=u,o=l}return i}function tB(e){const t=XR(e);if(t)throw t;return e}function XR(e){if(typeof e=="string"||Fe(!1,"Expected name to be a string."),e.startsWith("__"))return new K(`Name "${e}" must not begin with "__", which is reserved by GraphQL introspection.`);try{zr(e)}catch(t){return t}}var Ut;(function(e){e.TYPE_REMOVED="TYPE_REMOVED",e.TYPE_CHANGED_KIND="TYPE_CHANGED_KIND",e.TYPE_REMOVED_FROM_UNION="TYPE_REMOVED_FROM_UNION",e.VALUE_REMOVED_FROM_ENUM="VALUE_REMOVED_FROM_ENUM",e.REQUIRED_INPUT_FIELD_ADDED="REQUIRED_INPUT_FIELD_ADDED",e.IMPLEMENTED_INTERFACE_REMOVED="IMPLEMENTED_INTERFACE_REMOVED",e.FIELD_REMOVED="FIELD_REMOVED",e.FIELD_CHANGED_KIND="FIELD_CHANGED_KIND",e.REQUIRED_ARG_ADDED="REQUIRED_ARG_ADDED",e.ARG_REMOVED="ARG_REMOVED",e.ARG_CHANGED_KIND="ARG_CHANGED_KIND",e.DIRECTIVE_REMOVED="DIRECTIVE_REMOVED",e.DIRECTIVE_ARG_REMOVED="DIRECTIVE_ARG_REMOVED",e.REQUIRED_DIRECTIVE_ARG_ADDED="REQUIRED_DIRECTIVE_ARG_ADDED",e.DIRECTIVE_REPEATABLE_REMOVED="DIRECTIVE_REPEATABLE_REMOVED",e.DIRECTIVE_LOCATION_REMOVED="DIRECTIVE_LOCATION_REMOVED"})(Ut||(Ut={}));var Fi;(function(e){e.VALUE_ADDED_TO_ENUM="VALUE_ADDED_TO_ENUM",e.TYPE_ADDED_TO_UNION="TYPE_ADDED_TO_UNION",e.OPTIONAL_INPUT_FIELD_ADDED="OPTIONAL_INPUT_FIELD_ADDED",e.OPTIONAL_ARG_ADDED="OPTIONAL_ARG_ADDED",e.IMPLEMENTED_INTERFACE_ADDED="IMPLEMENTED_INTERFACE_ADDED",e.ARG_DEFAULT_VALUE_CHANGE="ARG_DEFAULT_VALUE_CHANGE"})(Fi||(Fi={}));function nB(e,t){return ZR(e,t).filter(n=>n.type in Ut)}function rB(e,t){return ZR(e,t).filter(n=>n.type in Fi)}function ZR(e,t){return[...oB(e,t),...iB(e,t)]}function iB(e,t){const n=[],r=oa(e.getDirectives(),t.getDirectives());for(const i of r.removed)n.push({type:Ut.DIRECTIVE_REMOVED,description:`${i.name} was removed.`});for(const[i,o]of r.persisted){const a=oa(i.args,o.args);for(const s of a.added)ys(s)&&n.push({type:Ut.REQUIRED_DIRECTIVE_ARG_ADDED,description:`A required arg ${s.name} on directive ${i.name} was added.`});for(const s of a.removed)n.push({type:Ut.DIRECTIVE_ARG_REMOVED,description:`${s.name} was removed from ${i.name}.`});i.isRepeatable&&!o.isRepeatable&&n.push({type:Ut.DIRECTIVE_REPEATABLE_REMOVED,description:`Repeatable flag was removed from ${i.name}.`});for(const s of i.locations)o.locations.includes(s)||n.push({type:Ut.DIRECTIVE_LOCATION_REMOVED,description:`${s} was removed from ${i.name}.`})}return n}function oB(e,t){const n=[],r=oa(Object.values(e.getTypeMap()),Object.values(t.getTypeMap()));for(const i of r.removed)n.push({type:Ut.TYPE_REMOVED,description:oy(i)?`Standard scalar ${i.name} was removed because it is not referenced anymore.`:`${i.name} was removed.`});for(const[i,o]of r.persisted)Lt(i)&&Lt(o)?n.push(...lB(i,o)):Zt(i)&&Zt(o)?n.push(...sB(i,o)):st(i)&&st(o)?n.push(...aB(i,o)):Le(i)&&Le(o)?n.push(...QD(i,o),...zD(i,o)):je(i)&&je(o)?n.push(...QD(i,o),...zD(i,o)):i.constructor!==o.constructor&&n.push({type:Ut.TYPE_CHANGED_KIND,description:`${i.name} changed from ${GD(i)} to ${GD(o)}.`});return n}function aB(e,t){const n=[],r=oa(Object.values(e.getFields()),Object.values(t.getFields()));for(const i of r.added)iy(i)?n.push({type:Ut.REQUIRED_INPUT_FIELD_ADDED,description:`A required field ${i.name} on input type ${e.name} was added.`}):n.push({type:Fi.OPTIONAL_INPUT_FIELD_ADDED,description:`An optional field ${i.name} on input type ${e.name} was added.`});for(const i of r.removed)n.push({type:Ut.FIELD_REMOVED,description:`${e.name}.${i.name} was removed.`});for(const[i,o]of r.persisted)Mf(i.type,o.type)||n.push({type:Ut.FIELD_CHANGED_KIND,description:`${e.name}.${i.name} changed type from ${String(i.type)} to ${String(o.type)}.`});return n}function sB(e,t){const n=[],r=oa(e.getTypes(),t.getTypes());for(const i of r.added)n.push({type:Fi.TYPE_ADDED_TO_UNION,description:`${i.name} was added to union type ${e.name}.`});for(const i of r.removed)n.push({type:Ut.TYPE_REMOVED_FROM_UNION,description:`${i.name} was removed from union type ${e.name}.`});return n}function lB(e,t){const n=[],r=oa(e.getValues(),t.getValues());for(const i of r.added)n.push({type:Fi.VALUE_ADDED_TO_ENUM,description:`${i.name} was added to enum type ${e.name}.`});for(const i of r.removed)n.push({type:Ut.VALUE_REMOVED_FROM_ENUM,description:`${i.name} was removed from enum type ${e.name}.`});return n}function zD(e,t){const n=[],r=oa(e.getInterfaces(),t.getInterfaces());for(const i of r.added)n.push({type:Fi.IMPLEMENTED_INTERFACE_ADDED,description:`${i.name} added to interfaces implemented by ${e.name}.`});for(const i of r.removed)n.push({type:Ut.IMPLEMENTED_INTERFACE_REMOVED,description:`${e.name} no longer implements interface ${i.name}.`});return n}function QD(e,t){const n=[],r=oa(Object.values(e.getFields()),Object.values(t.getFields()));for(const i of r.removed)n.push({type:Ut.FIELD_REMOVED,description:`${e.name}.${i.name} was removed.`});for(const[i,o]of r.persisted)n.push(...uB(e,i,o)),vf(i.type,o.type)||n.push({type:Ut.FIELD_CHANGED_KIND,description:`${e.name}.${i.name} changed type from ${String(i.type)} to ${String(o.type)}.`});return n}function uB(e,t,n){const r=[],i=oa(t.args,n.args);for(const o of i.removed)r.push({type:Ut.ARG_REMOVED,description:`${e.name}.${t.name} arg ${o.name} was removed.`});for(const[o,a]of i.persisted)if(!Mf(o.type,a.type))r.push({type:Ut.ARG_CHANGED_KIND,description:`${e.name}.${t.name} arg ${o.name} has changed type from ${String(o.type)} to ${String(a.type)}.`});else if(o.defaultValue!==void 0)if(a.defaultValue===void 0)r.push({type:Fi.ARG_DEFAULT_VALUE_CHANGE,description:`${e.name}.${t.name} arg ${o.name} defaultValue was removed.`});else{const l=HD(o.defaultValue,o.type),u=HD(a.defaultValue,a.type);l!==u&&r.push({type:Fi.ARG_DEFAULT_VALUE_CHANGE,description:`${e.name}.${t.name} arg ${o.name} has changed defaultValue from ${l} to ${u}.`})}for(const o of i.added)ys(o)?r.push({type:Ut.REQUIRED_ARG_ADDED,description:`A required arg ${o.name} on ${e.name}.${t.name} was added.`}):r.push({type:Fi.OPTIONAL_ARG_ADDED,description:`An optional arg ${o.name} on ${e.name}.${t.name} was added.`});return r}function vf(e,t){return ut(e)?ut(t)&&vf(e.ofType,t.ofType)||_e(t)&&vf(e,t.ofType):_e(e)?_e(t)&&vf(e.ofType,t.ofType):Cl(t)&&e.name===t.name||_e(t)&&vf(e,t.ofType)}function Mf(e,t){return ut(e)?ut(t)&&Mf(e.ofType,t.ofType):_e(e)?_e(t)&&Mf(e.ofType,t.ofType)||!_e(t)&&Mf(e.ofType,t):Cl(t)&&e.name===t.name}function GD(e){if(hr(e))return"a Scalar type";if(Le(e))return"an Object type";if(je(e))return"an Interface type";if(Zt(e))return"a Union type";if(Lt(e))return"an Enum type";if(st(e))return"an Input type";Kt(!1,"Unexpected type: "+ee(e))}function HD(e,t){const n=Go(e,t);return n!=null||Kt(!1),ot(dy(n))}function oa(e,t){const n=[],r=[],i=[],o=ia(e,({name:s})=>s),a=ia(t,({name:s})=>s);for(const s of e){const l=a[s.name];l===void 0?r.push(s):i.push([s,l])}for(const s of t)o[s.name]===void 0&&n.push(s);return{added:n,persisted:i,removed:r}}const cB=Object.freeze(Object.defineProperty({__proto__:null,BREAK:Qo,get BreakingChangeType(){return Ut},DEFAULT_DEPRECATION_REASON:w_,get DangerousChangeType(){return Fi},get DirectiveLocation(){return pe},ExecutableDefinitionsRule:qF,FieldsOnCorrectTypeRule:zF,FragmentsOnCompositeTypesRule:QF,GRAPHQL_MAX_INT:lm,GRAPHQL_MIN_INT:um,GraphQLBoolean:In,GraphQLDeprecatedDirective:sy,GraphQLDirective:xo,GraphQLEnumType:Io,GraphQLError:K,GraphQLFloat:y_,GraphQLID:E_,GraphQLIncludeDirective:b_,GraphQLInputObjectType:dl,GraphQLInt:UF,GraphQLInterfaceType:Eo,GraphQLList:Nn,GraphQLNonNull:Ae,GraphQLObjectType:Ir,GraphQLScalarType:No,GraphQLSchema:Ic,GraphQLSkipDirective:T_,GraphQLSpecifiedByDirective:__,GraphQLString:Bt,GraphQLUnionType:Wu,get Kind(){return D},KnownArgumentNamesRule:GF,KnownDirectivesRule:P_,KnownFragmentNamesRule:WF,KnownTypeNamesRule:M_,Lexer:p_,Location:EF,LoneAnonymousOperationRule:YF,LoneSchemaDefinitionRule:JF,NoDeprecatedCustomRule:kU,NoFragmentCyclesRule:KF,NoSchemaIntrospectionCustomRule:AU,NoUndefinedVariablesRule:XF,NoUnusedFragmentsRule:ZF,NoUnusedVariablesRule:eR,get OperationTypeNode(){return dn},OverlappingFieldsCanBeMergedRule:nR,PossibleFragmentSpreadsRule:oR,PossibleTypeExtensionsRule:aR,ProvidedRequiredArgumentsRule:sR,ScalarLeafsRule:uR,SchemaMetaFieldDef:Yu,SingleFieldSubscriptionsRule:hR,Source:mp,Token:f_,get TokenKind(){return Z},TypeInfo:wp,get TypeKind(){return dt},TypeMetaFieldDef:Ju,TypeNameMetaFieldDef:Ku,UniqueArgumentDefinitionNamesRule:mR,UniqueArgumentNamesRule:B_,UniqueDirectiveNamesRule:vR,UniqueDirectivesPerLocationRule:q_,UniqueEnumValueNamesRule:gR,UniqueFieldDefinitionNamesRule:yR,UniqueFragmentNamesRule:ER,UniqueInputFieldNamesRule:z_,UniqueOperationNamesRule:bR,UniqueOperationTypesRule:TR,UniqueTypeNamesRule:wR,UniqueVariableNamesRule:_R,ValidationContext:OR,ValuesOfCorrectTypeRule:SR,VariablesAreInputTypesRule:NR,VariablesInAllowedPositionRule:IR,__Directive:I_,__DirectiveLocation:x_,__EnumValue:O_,__Field:D_,__InputValue:bp,__Schema:ly,__Type:ri,__TypeKind:C_,assertAbstractType:RF,assertCompositeType:T7,assertDirective:x7,assertEnumType:h7,assertEnumValueName:kF,assertInputObjectType:m7,assertInputType:y7,assertInterfaceType:FF,assertLeafType:b7,assertListType:v7,assertName:zr,assertNamedType:_7,assertNonNullType:g7,assertNullableType:LF,assertObjectType:AF,assertOutputType:E7,assertScalarType:d7,assertSchema:k_,assertType:f7,assertUnionType:p7,assertValidName:tB,assertValidSchema:A_,assertWrappingType:w7,astFromValue:Go,buildASTSchema:zR,buildClientSchema:BR,buildSchema:PU,coerceInputValue:fR,concatAST:XU,createSourceEventStream:UR,defaultFieldResolver:ub,defaultTypeResolver:PR,doTypesOverlap:gv,execute:hy,executeSync:AR,extendSchema:$U,findBreakingChanges:nB,findDangerousChanges:rB,formatError:F8,getArgumentValues:py,getDirectiveValues:ld,getEnterLeaveForKind:Hu,getIntrospectionQuery:Q_,getLocation:hv,getNamedType:At,getNullableType:ry,getOperationAST:FU,getOperationRootType:RU,getVariableValues:dR,getVisitFn:l7,graphql:NU,graphqlSync:IU,introspectionFromSchema:LU,introspectionTypes:Tp,isAbstractType:ui,isCompositeType:pn,isConstValueNode:ob,isDefinitionNode:V7,isDirective:ay,isEnumType:Lt,isEqualType:vv,isExecutableDefinitionNode:R_,isInputObjectType:st,isInputType:Kn,isInterfaceType:je,isIntrospectionType:kl,isLeafType:di,isListType:ut,isNamedType:Cl,isNonNullType:_e,isNullableType:m_,isObjectType:Le,isOutputType:Ko,isRequiredArgument:ys,isRequiredInputField:iy,isScalarType:hr,isSchema:yv,isSelectionNode:ib,isSpecifiedDirective:S_,isSpecifiedScalarType:oy,isType:Nc,isTypeDefinitionNode:xc,isTypeExtensionNode:fy,isTypeNode:j7,isTypeSubTypeOf:nl,isTypeSystemDefinitionNode:L_,isTypeSystemExtensionNode:$_,isUnionType:Zt,isValidNameError:XR,isValueNode:BF,isWrappingType:gp,lexicographicSortSchema:MU,locatedError:Zu,parse:qr,parseConstValue:Z8,parseType:e7,parseValue:OF,print:ot,printError:A8,printIntrospectionSchema:jU,printLocation:gF,printSchema:VU,printSourceLocation:c_,printType:HR,resolveObjMapThunk:g_,resolveReadonlyArrayThunk:v_,responsePathAsArray:Rr,separateOperations:ZU,specifiedDirectives:Es,specifiedRules:xR,specifiedScalarTypes:yp,stripIgnoredCharacters:eB,subscribe:DU,syntaxError:fn,typeFromAST:cr,validate:CR,validateSchema:uy,valueFromAST:ho,valueFromASTUntyped:mv,version:D8,versionInfo:O8,visit:Ht,visitInParallel:h_,visitWithTypeInfo:cy},Symbol.toStringTag,{value:"Module"}));function fB(){return SD()}function dB(){__DEV__?ce(typeof mE=="boolean",mE):ce(typeof mE=="boolean",39)}fB();dB();function my(e,t){var n=e.directives;return!n||!n.length?!0:mB(n).every(function(r){var i=r.directive,o=r.ifArgument,a=!1;return o.value.kind==="Variable"?(a=t&&t[o.value.name.value],__DEV__?ce(a!==void 0,"Invalid variable referenced in @".concat(i.name.value," directive.")):ce(a!==void 0,40)):a=o.value.value,i.name.value==="skip"?!a:a})}function W_(e,t,n){var r=new Set(e),i=r.size;return Ht(t,{Directive:function(o){if(r.delete(o.name.value)&&(!n||!r.size))return Qo}}),n?!r.size:r.size"u"&&(__DEV__?ce(r.length===1,"Found ".concat(r.length," fragments. `fragmentName` must be provided when there is not exactly 1 fragment.")):ce(r.length===1,45),n=r[0].name.value);var i=W(W({},e),{definitions:pv([{kind:"OperationDefinition",operation:"query",selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:n}}]}}],e.definitions,!0)});return i}function Y_(e){e===void 0&&(e=[]);var t={};return e.forEach(function(n){t[n.name.value]=n}),t}function J_(e,t){switch(e.kind){case"InlineFragment":return e;case"FragmentSpread":{var n=e.name.value;if(typeof t=="function")return t(n);var r=t&&t[n];return __DEV__?ce(r,"No fragment named ".concat(n)):ce(r,46),r||null}default:return null}}function qt(e){return e!==null&&typeof e=="object"}function Nu(e){return{__ref:String(e)}}function lt(e){return Boolean(e&&typeof e=="object"&&typeof e.__ref=="string")}function gB(e){return qt(e)&&e.kind==="Document"&&Array.isArray(e.definitions)}function yB(e){return e.kind==="StringValue"}function EB(e){return e.kind==="BooleanValue"}function bB(e){return e.kind==="IntValue"}function TB(e){return e.kind==="FloatValue"}function wB(e){return e.kind==="Variable"}function _B(e){return e.kind==="ObjectValue"}function SB(e){return e.kind==="ListValue"}function NB(e){return e.kind==="EnumValue"}function IB(e){return e.kind==="NullValue"}function ec(e,t,n,r){if(bB(n)||TB(n))e[t.value]=Number(n.value);else if(EB(n)||yB(n))e[t.value]=n.value;else if(_B(n)){var i={};n.fields.map(function(a){return ec(i,a.name,a.value,r)}),e[t.value]=i}else if(wB(n)){var o=(r||{})[n.name.value];e[t.value]=o}else if(SB(n))e[t.value]=n.values.map(function(a){var s={};return ec(s,t,a,r),s[t.value]});else if(NB(n))e[t.value]=n.value;else if(IB(n))e[t.value]=null;else throw __DEV__?new it('The inline argument "'.concat(t.value,'" of kind "').concat(n.kind,'"')+"is not supported. Use variables instead of inline arguments to overcome this limitation."):new it(55)}function xB(e,t){var n=null;e.directives&&(n={},e.directives.forEach(function(i){n[i.name.value]={},i.arguments&&i.arguments.forEach(function(o){var a=o.name,s=o.value;return ec(n[i.name.value],a,s,t)})}));var r=null;return e.arguments&&e.arguments.length&&(r={},e.arguments.forEach(function(i){var o=i.name,a=i.value;return ec(r,o,a,t)})),K_(e.name.value,r,n)}var DB=["connection","include","skip","client","rest","export"],K_=Object.assign(function(e,t,n){if(t&&n&&n.connection&&n.connection.key)if(n.connection.filter&&n.connection.filter.length>0){var r=n.connection.filter?n.connection.filter:[];r.sort();var i={};return r.forEach(function(s){i[s]=t[s]}),"".concat(n.connection.key,"(").concat(Gc(i),")")}else return n.connection.key;var o=e;if(t){var a=Gc(t);o+="(".concat(a,")")}return n&&Object.keys(n).forEach(function(s){DB.indexOf(s)===-1&&(n[s]&&Object.keys(n[s]).length?o+="@".concat(s,"(").concat(Gc(n[s]),")"):o+="@".concat(s))}),o},{setStringify:function(e){var t=Gc;return Gc=e,t}}),Gc=function(t){return JSON.stringify(t,OB)};function OB(e,t){return qt(t)&&!Array.isArray(t)&&(t=Object.keys(t).sort().reduce(function(n,r){return n[r]=t[r],n},{})),t}function vy(e,t){if(e.arguments&&e.arguments.length){var n={};return e.arguments.forEach(function(r){var i=r.name,o=r.value;return ec(n,i,o,t)}),n}return null}function hl(e){return e.alias?e.alias.value:e.name.value}function fb(e,t,n){if(typeof e.__typename=="string")return e.__typename;for(var r=0,i=t.selections;r0}var WD={kind:D.FIELD,name:{kind:D.NAME,value:"__typename"}};function tL(e,t){return!e||e.selectionSet.selections.every(function(n){return n.kind===D.FRAGMENT_SPREAD&&tL(t[n.name.value],t)})}function AB(e){return tL(_p(e)||kB(e),Y_(X_(e)))?null:e}function FB(e){var t=new Set,n=[];return e.forEach(function(r){r.name?t.add(r.name):r.test&&n.push(r.test)}),function(r){return t.has(r.name.value)||n.some(function(i){return i(r)})}}function YD(e){var t=new Map;return function(r){r===void 0&&(r=e);var i=t.get(r);return i||t.set(r,i={variables:new Set,fragmentSpreads:new Set}),i}}function nL(e,t){for(var n=YD(""),r=YD(""),i=function(y){for(var T=0,w=void 0;T=0;--a)t.definitions[a].kind===D.OPERATION_DEFINITION&&++o;var s=FB(e),l=e.some(function(y){return y.remove}),u=function(y){return l&&y&&y.some(s)},c=new Map,f=!1,d={enter:function(y){if(u(y.directives))return f=!0,null}},p=Ht(t,{Field:d,InlineFragment:d,VariableDefinition:{enter:function(){return!1}},Variable:{enter:function(y,T,w,S,_){var I=i(_);I&&I.variables.add(y.name.value)}},FragmentSpread:{enter:function(y,T,w,S,_){if(u(y.directives))return f=!0,null;var I=i(_);I&&I.fragmentSpreads.add(y.name.value)}},FragmentDefinition:{enter:function(y,T,w,S){c.set(JSON.stringify(S),y)},leave:function(y,T,w,S){var _=c.get(JSON.stringify(S));if(y===_)return y;if(o>0&&y.selectionSet.selections.every(function(I){return I.kind===D.FIELD&&I.name.value==="__typename"}))return r(y.name.value).removed=!0,f=!0,null}},Directive:{leave:function(y){if(s(y))return f=!0,null}}});if(!f)return t;var m=function(y){return y.transitiveVars||(y.transitiveVars=new Set(y.variables),y.removed||y.fragmentSpreads.forEach(function(T){m(r(T)).transitiveVars.forEach(function(w){y.transitiveVars.add(w)})})),y},v=new Set;p.definitions.forEach(function(y){y.kind===D.OPERATION_DEFINITION?m(n(y.name&&y.name.value)).fragmentSpreads.forEach(function(T){v.add(T)}):y.kind===D.FRAGMENT_DEFINITION&&o===0&&!r(y.name.value).removed&&v.add(y.name.value)}),v.forEach(function(y){m(r(y)).fragmentSpreads.forEach(function(T){v.add(T)})});var b=function(y){return!!(!v.has(y)||r(y).removed)},E={enter:function(y){if(b(y.name.value))return null}};return AB(Ht(p,{FragmentSpread:E,FragmentDefinition:E,OperationDefinition:{leave:function(y){if(y.variableDefinitions){var T=m(n(y.name&&y.name.value)).transitiveVars;if(T.size1)for(var r=new rs,i=1;i=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function UB(e,t){if(e){if(typeof e=="string")return KD(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return KD(e,t)}}function KD(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1,s=!1,l=arguments[1],u=l;return new o(function(c){return i.subscribe({next:function(f){var d=!s;if(s=!0,!d||a)try{u=r(u,f)}catch(p){return c.error(p)}else u=f},error:function(f){c.error(f)},complete:function(){if(!s&&!a)return c.error(new TypeError("Cannot reduce an empty sequence"));c.next(u),c.complete()}})})},t.concat=function(){for(var r=this,i=arguments.length,o=new Array(i),a=0;a=0&&s.splice(d,1),u()}});s.push(f)},error:function(c){a.error(c)},complete:function(){u()}});function u(){l.closed&&s.length===0&&a.complete()}return function(){s.forEach(function(c){return c.unsubscribe()}),l.unsubscribe()}})},t[pb]=function(){return this},e.from=function(r){var i=typeof this=="function"?this:e;if(r==null)throw new TypeError(r+" is not an object");var o=Nv(r,pb);if(o){var a=o.call(r);if(Object(a)!==a)throw new TypeError(a+" is not an object");return qB(a)&&a.constructor===i?a:new i(function(s){return a.subscribe(s)})}if(oS("iterator")&&(o=Nv(r,BB),o))return new i(function(s){cm(function(){if(!s.closed){for(var l=jB(o.call(r)),u;!(u=l()).done;){var c=u.value;if(s.next(c),s.closed)return}s.complete()}})});if(Array.isArray(r))return new i(function(s){cm(function(){if(!s.closed){for(var l=0;l=0})||!1,ZB=KB&&!XB;function lL(e){function t(n){Object.defineProperty(e,n,{value:_t})}return sS&&Symbol.species&&t(Symbol.species),t("@@species"),e}function tO(e){return e&&typeof e.then=="function"}var gf=function(e){Gi(t,e);function t(n){var r=e.call(this,function(i){return r.addObserver(i),function(){return r.removeObserver(i)}})||this;return r.observers=new Set,r.promise=new Promise(function(i,o){r.resolve=i,r.reject=o}),r.handlers={next:function(i){r.sub!==null&&(r.latest=["next",i],r.notify("next",i),Vf(r.observers,"next",i))},error:function(i){var o=r.sub;o!==null&&(o&&setTimeout(function(){return o.unsubscribe()}),r.sub=null,r.latest=["error",i],r.reject(i),r.notify("error",i),Vf(r.observers,"error",i))},complete:function(){var i=r,o=i.sub,a=i.sources,s=a===void 0?[]:a;if(o!==null){var l=s.shift();l?tO(l)?l.then(function(u){return r.sub=u.subscribe(r.handlers)}):r.sub=l.subscribe(r.handlers):(o&&setTimeout(function(){return o.unsubscribe()}),r.sub=null,r.latest&&r.latest[0]==="next"?r.resolve(r.latest[1]):r.resolve(),r.notify("complete"),Vf(r.observers,"complete"))}}},r.nextResultListeners=new Set,r.cancel=function(i){r.reject(i),r.sources=[],r.handlers.complete()},r.promise.catch(function(i){}),typeof n=="function"&&(n=[new _t(n)]),tO(n)?n.then(function(i){return r.start(i)},r.handlers.error):r.start(n),r}return t.prototype.start=function(n){this.sub===void 0&&(this.sources=Array.from(n),this.handlers.complete())},t.prototype.deliverLastMessage=function(n){if(this.latest){var r=this.latest[0],i=n[r];i&&i.call(n,this.latest[1]),this.sub===null&&r==="next"&&n.complete&&n.complete()}},t.prototype.addObserver=function(n){this.observers.has(n)||(this.deliverLastMessage(n),this.observers.add(n))},t.prototype.removeObserver=function(n){this.observers.delete(n)&&this.observers.size<1&&this.handlers.complete()},t.prototype.notify=function(n,r){var i=this.nextResultListeners;i.size&&(this.nextResultListeners=new Set,i.forEach(function(o){return o(n,r)}))},t.prototype.beforeNext=function(n){var r=!1;this.nextResultListeners.add(function(i,o){r||(r=!0,n(i,o))})},t}(_t);lL(gf);function Iu(e){return"incremental"in e}function eq(e){return"hasNext"in e&&"data"in e}function tq(e){return Iu(e)||eq(e)}function uL(e,t){var n=e,r=new rs;return Iu(t)&&xr(t.incremental)&&t.incremental.forEach(function(i){for(var o=i.data,a=i.path,s=a.length-1;s>=0;--s){var l=a[s],u=!isNaN(+l),c=u?[]:{};c[l]=o,o=c}n=r.merge(n,o)}),n}function fm(e){var t=vb(e);return xr(t)}function vb(e){var t=xr(e.errors)?e.errors.slice(0):[];return Iu(e)&&xr(e.incremental)&&e.incremental.forEach(function(n){n.errors&&t.push.apply(t,n.errors)}),t}function Sp(){for(var e=[],t=0;t")}function dm(e,t){return Sp(e,t,t.variables&&{variables:W(W({},e&&e.variables),t.variables)})}function rO(e){return new _t(function(t){t.error(e)})}var yb=function(e,t,n){var r=new Error(n);throw r.name="ServerError",r.response=e,r.statusCode=e.status,r.result=t,r};function rq(e){for(var t=["query","operationName","variables","extensions","context"],n=0,r=Object.keys(e);n-1;){if(y=void 0,A=[c.slice(0,E),c.slice(E+u.length)],y=A[0],c=A[1],y.trim()){if(T=y.indexOf(`\r +\r +`),w=Eq(y.slice(0,T)),S=w["content-type"],S&&S.toLowerCase().indexOf("application/json")===-1)throw new Error("Unsupported patch content type: application/json is required.");_=y.slice(T);try{I=cL(e,_.replace(`\r +`,"")),(Object.keys(I).length>1||"data"in I||"incremental"in I||"errors"in I)&&((r=t.next)===null||r===void 0||r.call(t,I))}catch(C){lS(C,t)}}E=c.indexOf(u)}return[3,1];case 3:return(i=t.complete)===null||i===void 0||i.call(t),[2]}})})}function Eq(e){var t={};return e.split(` +`).forEach(function(n){var r=n.indexOf(":");if(r>-1){var i=n.slice(0,r).trim().toLowerCase(),o=n.slice(r+1).trim();t[i]=o}}),t}function cL(e,t){if(e.status>=300){var n=function(){try{return JSON.parse(t)}catch{return t}};yb(e,n(),"Response not successful: Received status code ".concat(e.status))}try{return JSON.parse(t)}catch(i){var r=i;throw r.name="ServerParseError",r.response=e,r.statusCode=e.status,r.bodyText=t,r}}function lS(e,t){var n,r;e.name!=="AbortError"&&(e.result&&e.result.errors&&e.result.data&&((n=t.next)===null||n===void 0||n.call(t,e.result)),(r=t.error)===null||r===void 0||r.call(t,e))}function bq(e,t,n){Tq(t)(e).then(function(r){var i,o;(i=n.next)===null||i===void 0||i.call(n,r),(o=n.complete)===null||o===void 0||o.call(n)}).catch(function(r){return lS(r,n)})}function Tq(e){return function(t){return t.text().then(function(n){return cL(t,n)}).then(function(n){return t.status>=300&&yb(t,n,"Response not successful: Received status code ".concat(t.status)),!Array.isArray(n)&&!aO.call(n,"data")&&!aO.call(n,"errors")&&yb(t,n,"Server response was missing for query '".concat(Array.isArray(e)?e.map(function(r){return r.operationName}):e.operationName,"'.")),n})}}var bb=function(e,t){var n;try{n=JSON.stringify(e)}catch(i){var r=__DEV__?new it("Network request failed. ".concat(t," is not serializable: ").concat(i.message)):new it(24);throw r.parseError=i,r}return n},wq={includeQuery:!0,includeExtensions:!1,preserveHeaderCase:!1},_q={accept:"*/*","content-type":"application/json"},Sq={method:"POST"},Nq={http:wq,headers:_q,options:Sq},Iq=function(e,t){return t(e)};function xq(e,t){for(var n=[],r=2;r"u")throw __DEV__?new it(` +"fetch" has not been found globally and no fetcher has been configured. To fix this, install a fetch package (like https://www.npmjs.com/package/cross-fetch), instantiate the fetcher, and pass it into your HttpLink constructor. For example: + +import fetch from 'cross-fetch'; +import { ApolloClient, HttpLink } from '@apollo/client'; +const client = new ApolloClient({ + link: new HttpLink({ uri: '/graphql', fetch }) +}); + `):new it(23)},Cq=function(){if(typeof AbortController>"u")return{controller:!1,signal:!1};var e=new AbortController,t=e.signal;return{controller:e,signal:t}},kq=function(e,t){var n=e.getContext(),r=n.uri;return r||(typeof t=="function"?t(e):t||"/graphql")};function Aq(e,t){var n=[],r=function(f,d){n.push("".concat(f,"=").concat(encodeURIComponent(d)))};if("query"in t&&r("query",t.query),t.operationName&&r("operationName",t.operationName),t.variables){var i=void 0;try{i=bb(t.variables,"Variables map")}catch(f){return{parseError:f}}r("variables",i)}if(t.extensions){var o=void 0;try{o=bb(t.extensions,"Extensions map")}catch(f){return{parseError:f}}r("extensions",o)}var a="",s=e,l=e.indexOf("#");l!==-1&&(a=e.substr(l),s=e.substr(0,l));var u=s.indexOf("?")===-1?"?":"&",c=s+u+n.join("&")+a;return{newURI:c}}var sO=Xr(function(){return fetch}),Fq=function(e){e===void 0&&(e={});var t=e.uri,n=t===void 0?"/graphql":t,r=e.fetch,i=e.print,o=i===void 0?Iq:i,a=e.includeExtensions,s=e.preserveHeaderCase,l=e.useGETForQueries,u=e.includeUnusedVariables,c=u===void 0?!1:u,f=ns(e,["uri","fetch","print","includeExtensions","preserveHeaderCase","useGETForQueries","includeUnusedVariables"]);__DEV__&&Oq(r||sO);var d={http:{includeExtensions:a,preserveHeaderCase:s},options:f.fetchOptions,credentials:f.credentials,headers:f.headers};return new Np(function(p){var m=kq(p,n),v=p.getContext(),b={};if(v.clientAwareness){var E=v.clientAwareness,y=E.name,T=E.version;y&&(b["apollographql-client-name"]=y),T&&(b["apollographql-client-version"]=T)}var w=W(W({},b),v.headers),S={http:v.http,options:v.fetchOptions,credentials:v.credentials,headers:w},_=xq(p,o,Nq,d,S),I=_.options,A=_.body;if(A.variables&&!c){var N=new Set(Object.keys(A.variables));Ht(p.query,{Variable:function(F,z,B){B&&B.kind!=="VariableDefinition"&&N.delete(F.name.value)}}),N.size&&(A.variables=W({},A.variables),N.forEach(function(F){delete A.variables[F]}))}var C;if(!I.signal){var U=Cq(),G=U.controller,Y=U.signal;C=G,C&&(I.signal=Y)}var P=function(F){return F.kind==="OperationDefinition"&&F.operation==="mutation"};if(l&&!p.query.definitions.some(P)&&(I.method="GET"),W_(["defer"],p.query)&&(I.headers=I.headers||{},I.headers.accept="multipart/mixed; deferSpec=20220824, application/json"),I.method==="GET"){var V=Aq(m,A),j=V.newURI,H=V.parseError;if(H)return rO(H);m=j}else try{I.body=bb(A,"Payload")}catch(F){return rO(F)}return new _t(function(F){var z=r||Xr(function(){return fetch})||sO;return z(m,I).then(function(B){var X;p.setContext({response:B});var x=(X=B.headers)===null||X===void 0?void 0:X.get("content-type");return x!==null&&/^multipart\/mixed/i.test(x)?yq(B,F):bq(B,p,F)}).catch(function(B){return lS(B,F)}),function(){C&&C.abort()}})})},Rq=function(e){Gi(t,e);function t(n){n===void 0&&(n={});var r=e.call(this,Fq(n).request)||this;return r.options=n,r}return t}(Np),fL=Object.prototype,lO=fL.toString,Lq=fL.hasOwnProperty,uO=Function.prototype.toString,Tb=new Map;function jt(e,t){try{return wb(e,t)}finally{Tb.clear()}}function wb(e,t){if(e===t)return!0;var n=lO.call(e),r=lO.call(t);if(n!==r)return!1;switch(n){case"[object Array]":if(e.length!==t.length)return!1;case"[object Object]":{if(fO(e,t))return!0;var i=cO(e),o=cO(t),a=i.length;if(a!==o.length)return!1;for(var s=0;s=0&&e.indexOf(t,n)===n}function fO(e,t){var n=Tb.get(e);if(n){if(n.has(t))return!0}else Tb.set(e,n=new Set);return n.add(t),!1}var Vq=function(){return Object.create(null)},dL=Array.prototype,jq=dL.forEach,Uq=dL.slice,Ip=function(){function e(t,n){t===void 0&&(t=!0),n===void 0&&(n=Vq),this.weakness=t,this.makeData=n}return e.prototype.lookup=function(){for(var t=[],n=0;nthis.max;)this.delete(this.oldest.key)},e.prototype.delete=function(t){var n=this.map.get(t);return n?(n===this.newest&&(this.newest=n.older),n===this.oldest&&(this.oldest=n.newer),n.newer&&(n.newer.older=n.older),n.older&&(n.older.newer=n.newer),this.map.delete(t),this.dispose(n.value,t),!0):!1},e}(),by=new Ey,_E,Wq=Object.prototype.hasOwnProperty,uS=(_E=Array.from,_E===void 0?function(e){var t=[];return e.forEach(function(n){return t.push(n)}),t}:_E);function Iv(e){var t=e.unsubscribe;typeof t=="function"&&(e.unsubscribe=void 0,t())}var fd=[],Yq=100;function nc(e,t){if(!e)throw new Error(t||"assertion failure")}function Jq(e,t){var n=e.length;return n>0&&n===t.length&&e[n-1]===t[n-1]}function pL(e){switch(e.length){case 0:throw new Error("unknown value");case 1:return e[0];case 2:throw e[1]}}function Kq(e){return e.slice(0)}var Xq=function(){function e(t){this.fn=t,this.parents=new Set,this.childValues=new Map,this.dirtyChildren=null,this.dirty=!0,this.recomputing=!1,this.value=[],this.deps=null,++e.count}return e.prototype.peek=function(){if(this.value.length===1&&!is(this))return mO(this),this.value[0]},e.prototype.recompute=function(t){return nc(!this.recomputing,"already recomputing"),mO(this),is(this)?Zq(this,t):pL(this.value)},e.prototype.setDirty=function(){this.dirty||(this.dirty=!0,this.value.length=0,hL(this),Iv(this))},e.prototype.dispose=function(){var t=this;this.setDirty(),EL(this),cS(this,function(n,r){n.setDirty(),bL(n,t)})},e.prototype.forget=function(){this.dispose()},e.prototype.dependOn=function(t){t.add(this),this.deps||(this.deps=fd.pop()||new Set),this.deps.add(t)},e.prototype.forgetDeps=function(){var t=this;this.deps&&(uS(this.deps).forEach(function(n){return n.delete(t)}),this.deps.clear(),fd.push(this.deps),this.deps=null)},e.count=0,e}();function mO(e){var t=by.getValue();if(t)return e.parents.add(t),t.childValues.has(e)||t.childValues.set(e,[]),is(e)?vL(t,e):gL(t,e),t}function Zq(e,t){return EL(e),by.withValue(e,ez,[e,t]),nz(e,t)&&tz(e),pL(e.value)}function ez(e,t){e.recomputing=!0,e.value.length=0;try{e.value[0]=e.fn.apply(null,t)}catch(n){e.value[1]=n}e.recomputing=!1}function is(e){return e.dirty||!!(e.dirtyChildren&&e.dirtyChildren.size)}function tz(e){e.dirty=!1,!is(e)&&mL(e)}function hL(e){cS(e,vL)}function mL(e){cS(e,gL)}function cS(e,t){var n=e.parents.size;if(n)for(var r=uS(e.parents),i=0;i0&&e.childValues.forEach(function(t,n){bL(e,n)}),e.forgetDeps(),nc(e.dirtyChildren===null)}function bL(e,t){t.parents.delete(e),e.childValues.delete(t),yL(e,t)}function nz(e,t){if(typeof e.subscribe=="function")try{Iv(e),e.unsubscribe=e.subscribe.apply(null,t)}catch{return e.setDirty(),!1}return!0}var rz={setDirty:!0,dispose:!0,forget:!0};function TL(e){var t=new Map,n=e&&e.subscribe;function r(i){var o=by.getValue();if(o){var a=t.get(i);a||t.set(i,a=new Set),o.dependOn(a),typeof n=="function"&&(Iv(a),a.unsubscribe=n(i))}}return r.dirty=function(o,a){var s=t.get(o);if(s){var l=a&&Wq.call(rz,a)?a:"setDirty";uS(s).forEach(function(u){return u[l]()}),t.delete(o),Iv(s)}},r}function wL(){var e=new Ip(typeof WeakMap=="function");return function(){return e.lookupArray(arguments)}}wL();var SE=new Set;function xv(e,t){t===void 0&&(t=Object.create(null));var n=new Hq(t.max||Math.pow(2,16),function(u){return u.dispose()}),r=t.keyArgs,i=t.makeCacheKey||wL(),o=function(){var u=i.apply(null,r?r.apply(null,arguments):arguments);if(u===void 0)return e.apply(null,arguments);var c=n.get(u);c||(n.set(u,c=new Xq(e)),c.subscribe=t.subscribe,c.forget=function(){return n.delete(u)});var f=c.recompute(Array.prototype.slice.call(arguments));return n.set(u,c),SE.add(n),by.hasValue()||(SE.forEach(function(d){return d.clean()}),SE.clear()),f};Object.defineProperty(o,"size",{get:function(){return n.map.size},configurable:!1,enumerable:!1});function a(u){var c=n.get(u);c&&c.setDirty()}o.dirtyKey=a,o.dirty=function(){a(i.apply(null,arguments))};function s(u){var c=n.get(u);if(c)return c.peek()}o.peekKey=s,o.peek=function(){return s(i.apply(null,arguments))};function l(u){return n.delete(u)}return o.forgetKey=l,o.forget=function(){return l(i.apply(null,arguments))},o.makeCacheKey=i,o.getKey=r?function(){return i.apply(null,r.apply(null,arguments))}:i,Object.freeze(o)}var iz=function(){function e(){this.getFragmentDoc=xv(vB)}return e.prototype.batch=function(t){var n=this,r=typeof t.optimistic=="string"?t.optimistic:t.optimistic===!1?null:void 0,i;return this.performTransaction(function(){return i=t.update(n)},r),i},e.prototype.recordOptimisticTransaction=function(t,n){this.performTransaction(t,n)},e.prototype.transformDocument=function(t){return t},e.prototype.transformForLink=function(t){return t},e.prototype.identify=function(t){},e.prototype.gc=function(){return[]},e.prototype.modify=function(t){return!1},e.prototype.readQuery=function(t,n){return n===void 0&&(n=!!t.optimistic),this.read(W(W({},t),{rootId:t.id||"ROOT_QUERY",optimistic:n}))},e.prototype.readFragment=function(t,n){return n===void 0&&(n=!!t.optimistic),this.read(W(W({},t),{query:this.getFragmentDoc(t.fragment,t.fragmentName),rootId:t.id,optimistic:n}))},e.prototype.writeQuery=function(t){var n=t.id,r=t.data,i=ns(t,["id","data"]);return this.write(Object.assign(i,{dataId:n||"ROOT_QUERY",result:r}))},e.prototype.writeFragment=function(t){var n=t.id,r=t.data,i=t.fragment,o=t.fragmentName,a=ns(t,["id","data","fragment","fragmentName"]);return this.write(Object.assign(a,{query:this.getFragmentDoc(i,o),dataId:n,result:r}))},e.prototype.updateQuery=function(t,n){return this.batch({update:function(r){var i=r.readQuery(t),o=n(i);return o==null?i:(r.writeQuery(W(W({},t),{data:o})),o)}})},e.prototype.updateFragment=function(t,n){return this.batch({update:function(r){var i=r.readFragment(t),o=n(i);return o==null?i:(r.writeFragment(W(W({},t),{data:o})),o)}})},e}(),_L=function(e){Gi(t,e);function t(n,r,i,o){var a,s=e.call(this,n)||this;if(s.message=n,s.path=r,s.query=i,s.variables=o,Array.isArray(s.path)){s.missing=s.message;for(var l=s.path.length-1;l>=0;--l)s.missing=(a={},a[s.path[l]]=s.missing,a)}else s.missing=s.path;return s.__proto__=t.prototype,s}return t}(Error),Tn=Object.prototype.hasOwnProperty;function Yc(e){return e==null}function SL(e,t){var n=e.__typename,r=e.id,i=e._id;if(typeof n=="string"&&(t&&(t.keyObject=Yc(r)?Yc(i)?void 0:{_id:i}:{id:r}),Yc(r)&&!Yc(i)&&(r=i),!Yc(r)))return"".concat(n,":").concat(typeof r=="number"||typeof r=="string"?r:JSON.stringify(r))}var NL={dataIdFromObject:SL,addTypename:!0,resultCaching:!0,canonizeResults:!1};function oz(e){return Sp(NL,e)}function IL(e){var t=e.canonizeResults;return t===void 0?NL.canonizeResults:t}function az(e,t){return lt(t)?e.get(t.__ref,"__typename"):t&&t.__typename}var xL=/^[_a-z][_0-9a-z]*/i;function os(e){var t=e.match(xL);return t?t[0]:e}function _b(e,t,n){return qt(t)?zt(t)?t.every(function(r){return _b(e,r,n)}):e.selections.every(function(r){if(ml(r)&&my(r,n)){var i=hl(r);return Tn.call(t,i)&&(!r.selectionSet||_b(r.selectionSet,t[i],n))}return!0}):!1}function eu(e){return qt(e)&&!lt(e)&&!zt(e)}function sz(){return new rs}function DL(e,t){var n=Y_(X_(e));return{fragmentMap:n,lookupFragment:function(r){var i=n[r];return!i&&t&&(i=t.lookup(r)),i||null}}}var pm=Object.create(null),NE=function(){return pm},vO=Object.create(null),dd=function(){function e(t,n){var r=this;this.policies=t,this.group=n,this.data=Object.create(null),this.rootIds=Object.create(null),this.refs=Object.create(null),this.getFieldValue=function(i,o){return cd(lt(i)?r.get(i.__ref,o):i&&i[o])},this.canRead=function(i){return lt(i)?r.has(i.__ref):typeof i=="object"},this.toReference=function(i,o){if(typeof i=="string")return Nu(i);if(lt(i))return i;var a=r.policies.identify(i)[0];if(a){var s=Nu(a);return o&&r.merge(a,i),s}}}return e.prototype.toObject=function(){return W({},this.data)},e.prototype.has=function(t){return this.lookup(t,!0)!==void 0},e.prototype.get=function(t,n){if(this.group.depend(t,n),Tn.call(this.data,t)){var r=this.data[t];if(r&&Tn.call(r,n))return r[n]}if(n==="__typename"&&Tn.call(this.policies.rootTypenamesById,t))return this.policies.rootTypenamesById[t];if(this instanceof _a)return this.parent.get(t,n)},e.prototype.lookup=function(t,n){if(n&&this.group.depend(t,"__exists"),Tn.call(this.data,t))return this.data[t];if(this instanceof _a)return this.parent.lookup(t,n);if(this.policies.rootTypenamesById[t])return Object.create(null)},e.prototype.merge=function(t,n){var r=this,i;lt(t)&&(t=t.__ref),lt(n)&&(n=n.__ref);var o=typeof t=="string"?this.lookup(i=t):t,a=typeof n=="string"?this.lookup(i=n):n;if(a){__DEV__?ce(typeof i=="string","store.merge expects a string ID"):ce(typeof i=="string",1);var s=new rs(uz).merge(o,a);if(this.data[i]=s,s!==o&&(delete this.refs[i],this.group.caching)){var l=Object.create(null);o||(l.__exists=1),Object.keys(a).forEach(function(u){if(!o||o[u]!==s[u]){l[u]=1;var c=os(u);c!==u&&!r.policies.hasKeyArgs(s.__typename,c)&&(l[c]=1),s[u]===void 0&&!(r instanceof _a)&&delete s[u]}}),l.__typename&&!(o&&o.__typename)&&this.policies.rootTypenamesById[i]===s.__typename&&delete l.__typename,Object.keys(l).forEach(function(u){return r.group.dirty(i,u)})}}},e.prototype.modify=function(t,n){var r=this,i=this.lookup(t);if(i){var o=Object.create(null),a=!1,s=!0,l={DELETE:pm,INVALIDATE:vO,isReference:lt,toReference:this.toReference,canRead:this.canRead,readField:function(u,c){return r.policies.readField(typeof u=="string"?{fieldName:u,from:c||Nu(t)}:u,{store:r})}};if(Object.keys(i).forEach(function(u){var c=os(u),f=i[u];if(f!==void 0){var d=typeof n=="function"?n:n[u]||n[c];if(d){var p=d===NE?pm:d(cd(f),W(W({},l),{fieldName:c,storeFieldName:u,storage:r.getStorage(t,u)}));p===vO?r.group.dirty(t,u):(p===pm&&(p=void 0),p!==f&&(o[u]=p,a=!0,f=p))}f!==void 0&&(s=!1)}}),a)return this.merge(t,o),s&&(this instanceof _a?this.data[t]=void 0:delete this.data[t],this.group.dirty(t,"__exists")),!0}return!1},e.prototype.delete=function(t,n,r){var i,o=this.lookup(t);if(o){var a=this.getFieldValue(o,"__typename"),s=n&&r?this.policies.getStoreFieldName({typename:a,fieldName:n,args:r}):n;return this.modify(t,s?(i={},i[s]=NE,i):NE)}return!1},e.prototype.evict=function(t,n){var r=!1;return t.id&&(Tn.call(this.data,t.id)&&(r=this.delete(t.id,t.fieldName,t.args)),this instanceof _a&&this!==n&&(r=this.parent.evict(t,n)||r),(t.fieldName||r)&&this.group.dirty(t.id,t.fieldName||"__exists")),r},e.prototype.clear=function(){this.replace(null)},e.prototype.extract=function(){var t=this,n=this.toObject(),r=[];return this.getRootIdSet().forEach(function(i){Tn.call(t.policies.rootTypenamesById,i)||r.push(i)}),r.length&&(n.__META={extraRootIds:r.sort()}),n},e.prototype.replace=function(t){var n=this;if(Object.keys(this.data).forEach(function(o){t&&Tn.call(t,o)||n.delete(o)}),t){var r=t.__META,i=ns(t,["__META"]);Object.keys(i).forEach(function(o){n.merge(o,i[o])}),r&&r.extraRootIds.forEach(this.retain,this)}},e.prototype.retain=function(t){return this.rootIds[t]=(this.rootIds[t]||0)+1},e.prototype.release=function(t){if(this.rootIds[t]>0){var n=--this.rootIds[t];return n||delete this.rootIds[t],n}return 0},e.prototype.getRootIdSet=function(t){return t===void 0&&(t=new Set),Object.keys(this.rootIds).forEach(t.add,t),this instanceof _a?this.parent.getRootIdSet(t):Object.keys(this.policies.rootTypenamesById).forEach(t.add,t),t},e.prototype.gc=function(){var t=this,n=this.getRootIdSet(),r=this.toObject();n.forEach(function(a){Tn.call(r,a)&&(Object.keys(t.findChildRefIds(a)).forEach(n.add,n),delete r[a])});var i=Object.keys(r);if(i.length){for(var o=this;o instanceof _a;)o=o.parent;i.forEach(function(a){return o.delete(a)})}return i},e.prototype.findChildRefIds=function(t){if(!Tn.call(this.refs,t)){var n=this.refs[t]=Object.create(null),r=this.data[t];if(!r)return n;var i=new Set([r]);i.forEach(function(o){lt(o)&&(n[o.__ref]=!0),qt(o)&&Object.keys(o).forEach(function(a){var s=o[a];qt(s)&&i.add(s)})})}return this.refs[t]},e.prototype.makeCacheKey=function(){return this.group.keyMaker.lookupArray(arguments)},e}(),OL=function(){function e(t,n){n===void 0&&(n=null),this.caching=t,this.parent=n,this.d=null,this.resetCaching()}return e.prototype.resetCaching=function(){this.d=this.caching?TL():null,this.keyMaker=new Ip(bs)},e.prototype.depend=function(t,n){if(this.d){this.d(IE(t,n));var r=os(n);r!==n&&this.d(IE(t,r)),this.parent&&this.parent.depend(t,n)}},e.prototype.dirty=function(t,n){this.d&&this.d.dirty(IE(t,n),n==="__exists"?"forget":"setDirty")},e}();function IE(e,t){return t+"#"+e}function gO(e,t){jf(e)&&e.group.depend(t,"__exists")}(function(e){var t=function(n){Gi(r,n);function r(i){var o=i.policies,a=i.resultCaching,s=a===void 0?!0:a,l=i.seed,u=n.call(this,o,new OL(s))||this;return u.stump=new lz(u),u.storageTrie=new Ip(bs),l&&u.replace(l),u}return r.prototype.addLayer=function(i,o){return this.stump.addLayer(i,o)},r.prototype.removeLayer=function(){return this},r.prototype.getStorage=function(){return this.storageTrie.lookupArray(arguments)},r}(e);e.Root=t})(dd||(dd={}));var _a=function(e){Gi(t,e);function t(n,r,i,o){var a=e.call(this,r.policies,o)||this;return a.id=n,a.parent=r,a.replay=i,a.group=o,i(a),a}return t.prototype.addLayer=function(n,r){return new t(n,this,r,this.group)},t.prototype.removeLayer=function(n){var r=this,i=this.parent.removeLayer(n);return n===this.id?(this.group.caching&&Object.keys(this.data).forEach(function(o){var a=r.data[o],s=i.lookup(o);s?a?a!==s&&Object.keys(a).forEach(function(l){jt(a[l],s[l])||r.group.dirty(o,l)}):(r.group.dirty(o,"__exists"),Object.keys(s).forEach(function(l){r.group.dirty(o,l)})):r.delete(o)}),i):i===this.parent?this:i.addLayer(this.id,this.replay)},t.prototype.toObject=function(){return W(W({},this.parent.toObject()),this.data)},t.prototype.findChildRefIds=function(n){var r=this.parent.findChildRefIds(n);return Tn.call(this.data,n)?W(W({},r),e.prototype.findChildRefIds.call(this,n)):r},t.prototype.getStorage=function(){for(var n=this.parent;n.parent;)n=n.parent;return n.getStorage.apply(n,arguments)},t}(dd),lz=function(e){Gi(t,e);function t(n){return e.call(this,"EntityStore.Stump",n,function(){},new OL(n.group.caching,n.group))||this}return t.prototype.removeLayer=function(){return this},t.prototype.merge=function(){return this.parent.merge.apply(this.parent,arguments)},t}(_a);function uz(e,t,n){var r=e[n],i=t[n];return jt(r,i)?r:i}function jf(e){return!!(e instanceof dd&&e.group.caching)}function cz(e){return qt(e)?zt(e)?e.slice(0):W({__proto__:Object.getPrototypeOf(e)},e):e}var Sb=function(){function e(){this.known=new(sL?WeakSet:Set),this.pool=new Ip(bs),this.passes=new WeakMap,this.keysByJSON=new Map,this.empty=this.admit({})}return e.prototype.isKnown=function(t){return qt(t)&&this.known.has(t)},e.prototype.pass=function(t){if(qt(t)){var n=cz(t);return this.passes.set(n,t),n}return t},e.prototype.admit=function(t){var n=this;if(qt(t)){var r=this.passes.get(t);if(r)return r;var i=Object.getPrototypeOf(t);switch(i){case Array.prototype:{if(this.known.has(t))return t;var o=t.map(this.admit,this),a=this.pool.lookupArray(o);return a.array||(this.known.add(a.array=o),__DEV__&&Object.freeze(o)),a.array}case null:case Object.prototype:{if(this.known.has(t))return t;var s=Object.getPrototypeOf(t),l=[s],u=this.sortedKeys(t);l.push(u.json);var c=l.length;u.sorted.forEach(function(p){l.push(n.admit(t[p]))});var a=this.pool.lookupArray(l);if(!a.object){var f=a.object=Object.create(s);this.known.add(f),u.sorted.forEach(function(p,m){f[p]=l[c+m]}),__DEV__&&Object.freeze(f)}return a.object}}}return t},e.prototype.sortedKeys=function(t){var n=Object.keys(t),r=this.pool.lookupArray(n);if(!r.keys){n.sort();var i=JSON.stringify(n);(r.keys=this.keysByJSON.get(i))||this.keysByJSON.set(i,r.keys={sorted:n,json:i})}return r.keys},e}(),rl=Object.assign(function(e){if(qt(e)){Nb===void 0&&yO();var t=Nb.admit(e),n=Ib.get(t);return n===void 0&&Ib.set(t,n=JSON.stringify(t)),n}return JSON.stringify(e)},{reset:yO}),Nb,Ib;function yO(){Nb=new Sb,Ib=new(bs?WeakMap:Map)}function EO(e){return[e.selectionSet,e.objectOrReference,e.context,e.context.canonizeResults]}var fz=function(){function e(t){var n=this;this.knownResults=new(bs?WeakMap:Map),this.config=Sp(t,{addTypename:t.addTypename!==!1,canonizeResults:IL(t)}),this.canon=t.canon||new Sb,this.executeSelectionSet=xv(function(r){var i,o=r.context.canonizeResults,a=EO(r);a[3]=!o;var s=(i=n.executeSelectionSet).peek.apply(i,a);return s?o?W(W({},s),{result:n.canon.admit(s.result)}):s:(gO(r.context.store,r.enclosingRef.__ref),n.execSelectionSetImpl(r))},{max:this.config.resultCacheMaxSize,keyArgs:EO,makeCacheKey:function(r,i,o,a){if(jf(o.store))return o.store.makeCacheKey(r,lt(i)?i.__ref:i,o.varString,a)}}),this.executeSubSelectedArray=xv(function(r){return gO(r.context.store,r.enclosingRef.__ref),n.execSubSelectedArrayImpl(r)},{max:this.config.resultCacheMaxSize,makeCacheKey:function(r){var i=r.field,o=r.array,a=r.context;if(jf(a.store))return a.store.makeCacheKey(i,o,a.varString)}})}return e.prototype.resetCanon=function(){this.canon=new Sb},e.prototype.diffQueryAgainstStore=function(t){var n=t.store,r=t.query,i=t.rootId,o=i===void 0?"ROOT_QUERY":i,a=t.variables,s=t.returnPartialData,l=s===void 0?!0:s,u=t.canonizeResults,c=u===void 0?this.config.canonizeResults:u,f=this.config.cache.policies;a=W(W({},eS(eL(r))),a);var d=Nu(o),p=this.executeSelectionSet({selectionSet:Z_(r).selectionSet,objectOrReference:d,enclosingRef:d,context:W({store:n,query:r,policies:f,variables:a,varString:rl(a),canonizeResults:c},DL(r,this.config.fragments))}),m;if(p.missing&&(m=[new _L(dz(p.missing),p.missing,r,a)],!l))throw m[0];return{result:p.result,complete:!m,missing:m}},e.prototype.isFresh=function(t,n,r,i){if(jf(i.store)&&this.knownResults.get(t)===r){var o=this.executeSelectionSet.peek(r,n,i,this.canon.isKnown(t));if(o&&t===o.result)return!0}return!1},e.prototype.execSelectionSetImpl=function(t){var n=this,r=t.selectionSet,i=t.objectOrReference,o=t.enclosingRef,a=t.context;if(lt(i)&&!a.policies.rootTypenamesById[i.__ref]&&!a.store.has(i.__ref))return{result:this.canon.empty,missing:"Dangling reference to missing ".concat(i.__ref," object")};var s=a.variables,l=a.policies,u=a.store,c=u.getFieldValue(i,"__typename"),f=[],d,p=new rs;this.config.addTypename&&typeof c=="string"&&!l.rootIdsByTypename[c]&&f.push({__typename:c});function m(T,w){var S;return T.missing&&(d=p.merge(d,(S={},S[w]=T.missing,S))),T.result}var v=new Set(r.selections);v.forEach(function(T){var w,S;if(my(T,s))if(ml(T)){var _=l.readField({fieldName:T.name.value,field:T,variables:a.variables,from:i},a),I=hl(T);_===void 0?tS.added(T)||(d=p.merge(d,(w={},w[I]="Can't find field '".concat(T.name.value,"' on ").concat(lt(i)?i.__ref+" object":"object "+JSON.stringify(i,null,2)),w))):zt(_)?_=m(n.executeSubSelectedArray({field:T,array:_,enclosingRef:o,context:a}),I):T.selectionSet?_!=null&&(_=m(n.executeSelectionSet({selectionSet:T.selectionSet,objectOrReference:_,enclosingRef:lt(_)?_:o,context:a}),I)):a.canonizeResults&&(_=n.canon.pass(_)),_!==void 0&&f.push((S={},S[I]=_,S))}else{var A=J_(T,a.lookupFragment);if(!A&&T.kind===D.FRAGMENT_SPREAD)throw __DEV__?new it("No fragment named ".concat(T.name.value)):new it(5);A&&l.fragmentMatches(A,c)&&A.selectionSet.selections.forEach(v.add,v)}});var b=nS(f),E={result:b,missing:d},y=a.canonizeResults?this.canon.admit(E):cd(E);return y.result&&this.knownResults.set(y.result,r),y},e.prototype.execSubSelectedArrayImpl=function(t){var n=this,r=t.field,i=t.array,o=t.enclosingRef,a=t.context,s,l=new rs;function u(c,f){var d;return c.missing&&(s=l.merge(s,(d={},d[f]=c.missing,d))),c.result}return r.selectionSet&&(i=i.filter(a.store.canRead)),i=i.map(function(c,f){return c===null?null:zt(c)?u(n.executeSubSelectedArray({field:r,array:c,enclosingRef:o,context:a}),f):r.selectionSet?u(n.executeSelectionSet({selectionSet:r.selectionSet,objectOrReference:c,enclosingRef:lt(c)?c:o,context:a}),f):(__DEV__&&pz(a.store,r,c),c)}),{result:a.canonizeResults?this.canon.admit(i):i,missing:s}},e}();function dz(e){try{JSON.stringify(e,function(t,n){if(typeof n=="string")throw n;return n})}catch(t){return t}}function pz(e,t,n){if(!t.selectionSet){var r=new Set([n]);r.forEach(function(i){qt(i)&&(__DEV__?ce(!lt(i),"Missing selection set for object of type ".concat(az(e,i)," returned for query field ").concat(t.name.value)):ce(!lt(i),6),Object.values(i).forEach(r.add,r))})}}var fS=new Ey,bO=new WeakMap;function Uf(e){var t=bO.get(e);return t||bO.set(e,t={vars:new Set,dep:TL()}),t}function TO(e){Uf(e).vars.forEach(function(t){return t.forgetCache(e)})}function hz(e){Uf(e).vars.forEach(function(t){return t.attachCache(e)})}function mz(e){var t=new Set,n=new Set,r=function(o){if(arguments.length>0){if(e!==o){e=o,t.forEach(function(l){Uf(l).dep.dirty(r),vz(l)});var a=Array.from(n);n.clear(),a.forEach(function(l){return l(e)})}}else{var s=fS.getValue();s&&(i(s),Uf(s).dep(r))}return e};r.onNextChange=function(o){return n.add(o),function(){n.delete(o)}};var i=r.attachCache=function(o){return t.add(o),Uf(o).vars.add(r),r};return r.forgetCache=function(o){return t.delete(o)},r}function vz(e){e.broadcastWatches&&e.broadcastWatches()}var wO=Object.create(null);function dS(e){var t=JSON.stringify(e);return wO[t]||(wO[t]=Object.create(null))}function _O(e){var t=dS(e);return t.keyFieldsFn||(t.keyFieldsFn=function(n,r){var i=function(a,s){return r.readField(s,a)},o=r.keyObject=pS(e,function(a){var s=xu(r.storeObject,a,i);return s===void 0&&n!==r.storeObject&&Tn.call(n,a[0])&&(s=xu(n,a,kL)),__DEV__?ce(s!==void 0,"Missing field '".concat(a.join("."),"' while extracting keyFields from ").concat(JSON.stringify(n))):ce(s!==void 0,2),s});return"".concat(r.typename,":").concat(JSON.stringify(o))})}function SO(e){var t=dS(e);return t.keyArgsFn||(t.keyArgsFn=function(n,r){var i=r.field,o=r.variables,a=r.fieldName,s=pS(e,function(u){var c=u[0],f=c.charAt(0);if(f==="@"){if(i&&xr(i.directives)){var d=c.slice(1),p=i.directives.find(function(E){return E.name.value===d}),m=p&&vy(p,o);return m&&xu(m,u.slice(1))}return}if(f==="$"){var v=c.slice(1);if(o&&Tn.call(o,v)){var b=u.slice(0);return b[0]=v,xu(o,b)}return}if(n)return xu(n,u)}),l=JSON.stringify(s);return(n||l!=="{}")&&(a+=":"+l),a})}function pS(e,t){var n=new rs;return CL(e).reduce(function(r,i){var o,a=t(i);if(a!==void 0){for(var s=i.length-1;s>=0;--s)a=(o={},o[i[s]]=a,o);r=n.merge(r,a)}return r},Object.create(null))}function CL(e){var t=dS(e);if(!t.paths){var n=t.paths=[],r=[];e.forEach(function(i,o){zt(i)?(CL(i).forEach(function(a){return n.push(r.concat(a))}),r.length=0):(r.push(i),zt(e[o+1])||(n.push(r.slice(0)),r.length=0))})}return t.paths}function kL(e,t){return e[t]}function xu(e,t,n){return n=n||kL,AL(t.reduce(function r(i,o){return zt(i)?i.map(function(a){return r(a,o)}):i&&n(i,o)},e))}function AL(e){return qt(e)?zt(e)?e.map(AL):pS(Object.keys(e).sort(),function(t){return xu(e,t)}):e}K_.setStringify(rl);function xb(e){return e.args!==void 0?e.args:e.field?vy(e.field,e.variables):null}var gz=function(){},NO=function(e,t){return t.fieldName},IO=function(e,t,n){var r=n.mergeObjects;return r(e,t)},xO=function(e,t){return t},yz=function(){function e(t){this.config=t,this.typePolicies=Object.create(null),this.toBeAdded=Object.create(null),this.supertypeMap=new Map,this.fuzzySubtypes=new Map,this.rootIdsByTypename=Object.create(null),this.rootTypenamesById=Object.create(null),this.usingPossibleTypes=!1,this.config=W({dataIdFromObject:SL},t),this.cache=this.config.cache,this.setRootTypename("Query"),this.setRootTypename("Mutation"),this.setRootTypename("Subscription"),t.possibleTypes&&this.addPossibleTypes(t.possibleTypes),t.typePolicies&&this.addTypePolicies(t.typePolicies)}return e.prototype.identify=function(t,n){var r,i=this,o=n&&(n.typename||((r=n.storeObject)===null||r===void 0?void 0:r.__typename))||t.__typename;if(o===this.rootTypenamesById.ROOT_QUERY)return["ROOT_QUERY"];for(var a=n&&n.storeObject||t,s=W(W({},n),{typename:o,storeObject:a,readField:n&&n.readField||function(){var d=hS(arguments,a);return i.readField(d,{store:i.cache.data,variables:d.variables})}}),l,u=o&&this.getTypePolicy(o),c=u&&u.keyFn||this.config.dataIdFromObject;c;){var f=c(t,s);if(zt(f))c=_O(f);else{l=f;break}}return l=l?String(l):void 0,s.keyObject?[l,s.keyObject]:[l]},e.prototype.addTypePolicies=function(t){var n=this;Object.keys(t).forEach(function(r){var i=t[r],o=i.queryType,a=i.mutationType,s=i.subscriptionType,l=ns(i,["queryType","mutationType","subscriptionType"]);o&&n.setRootTypename("Query",r),a&&n.setRootTypename("Mutation",r),s&&n.setRootTypename("Subscription",r),Tn.call(n.toBeAdded,r)?n.toBeAdded[r].push(l):n.toBeAdded[r]=[l]})},e.prototype.updateTypePolicy=function(t,n){var r=this,i=this.getTypePolicy(t),o=n.keyFields,a=n.fields;function s(l,u){l.merge=typeof u=="function"?u:u===!0?IO:u===!1?xO:l.merge}s(i,n.merge),i.keyFn=o===!1?gz:zt(o)?_O(o):typeof o=="function"?o:i.keyFn,a&&Object.keys(a).forEach(function(l){var u=r.getFieldPolicy(t,l,!0),c=a[l];if(typeof c=="function")u.read=c;else{var f=c.keyArgs,d=c.read,p=c.merge;u.keyFn=f===!1?NO:zt(f)?SO(f):typeof f=="function"?f:u.keyFn,typeof d=="function"&&(u.read=d),s(u,p)}u.read&&u.merge&&(u.keyFn=u.keyFn||NO)})},e.prototype.setRootTypename=function(t,n){n===void 0&&(n=t);var r="ROOT_"+t.toUpperCase(),i=this.rootTypenamesById[r];n!==i&&(__DEV__?ce(!i||i===t,"Cannot change root ".concat(t," __typename more than once")):ce(!i||i===t,3),i&&delete this.rootIdsByTypename[i],this.rootIdsByTypename[n]=r,this.rootTypenamesById[r]=n)},e.prototype.addPossibleTypes=function(t){var n=this;this.usingPossibleTypes=!0,Object.keys(t).forEach(function(r){n.getSupertypeSet(r,!0),t[r].forEach(function(i){n.getSupertypeSet(i,!0).add(r);var o=i.match(xL);(!o||o[0]!==i)&&n.fuzzySubtypes.set(i,new RegExp(i))})})},e.prototype.getTypePolicy=function(t){var n=this;if(!Tn.call(this.typePolicies,t)){var r=this.typePolicies[t]=Object.create(null);r.fields=Object.create(null);var i=this.supertypeMap.get(t);i&&i.size&&i.forEach(function(a){var s=n.getTypePolicy(a),l=s.fields,u=ns(s,["fields"]);Object.assign(r,u),Object.assign(r.fields,l)})}var o=this.toBeAdded[t];return o&&o.length&&o.splice(0).forEach(function(a){n.updateTypePolicy(t,a)}),this.typePolicies[t]},e.prototype.getFieldPolicy=function(t,n,r){if(t){var i=this.getTypePolicy(t).fields;return i[n]||r&&(i[n]=Object.create(null))}},e.prototype.getSupertypeSet=function(t,n){var r=this.supertypeMap.get(t);return!r&&n&&this.supertypeMap.set(t,r=new Set),r},e.prototype.fragmentMatches=function(t,n,r,i){var o=this;if(!t.typeCondition)return!0;if(!n)return!1;var a=t.typeCondition.name.value;if(n===a)return!0;if(this.usingPossibleTypes&&this.supertypeMap.has(a))for(var s=this.getSupertypeSet(n,!0),l=[s],u=function(m){var v=o.getSupertypeSet(m,!1);v&&v.size&&l.indexOf(v)<0&&l.push(v)},c=!!(r&&this.fuzzySubtypes.size),f=!1,d=0;d1?i:t}:(a=W({},r),Tn.call(a,"from")||(a.from=t)),__DEV__&&a.from===void 0&&__DEV__&&ce.warn("Undefined 'from' passed to readField with arguments ".concat(nq(Array.from(e)))),a.variables===void 0&&(a.variables=n),a}function FL(e){return function(n,r){if(zt(n)||zt(r))throw __DEV__?new it("Cannot automatically merge arrays"):new it(4);if(qt(n)&&qt(r)){var i=e.getFieldValue(n,"__typename"),o=e.getFieldValue(r,"__typename"),a=i&&o&&i!==o;if(a)return r;if(lt(n)&&eu(r))return e.merge(n.__ref,r),n;if(eu(n)&<(r))return e.merge(n,r.__ref),r;if(eu(n)&&eu(r))return W(W({},n),r)}return r}}function xE(e,t,n){var r="".concat(t).concat(n),i=e.flavors.get(r);return i||e.flavors.set(r,i=e.clientOnly===t&&e.deferred===n?e:W(W({},e),{clientOnly:t,deferred:n})),i}var Ez=function(){function e(t,n,r){this.cache=t,this.reader=n,this.fragments=r}return e.prototype.writeToStore=function(t,n){var r=this,i=n.query,o=n.result,a=n.dataId,s=n.variables,l=n.overwrite,u=_p(i),c=sz();s=W(W({},eS(u)),s);var f=W(W({store:t,written:Object.create(null),merge:function(p,m){return c.merge(p,m)},variables:s,varString:rl(s)},DL(i,this.fragments)),{overwrite:!!l,incomingById:new Map,clientOnly:!1,deferred:!1,flavors:new Map}),d=this.processSelectionSet({result:o||Object.create(null),dataId:a,selectionSet:u.selectionSet,mergeTree:{map:new Map},context:f});if(!lt(d))throw __DEV__?new it("Could not identify object ".concat(JSON.stringify(o))):new it(7);return f.incomingById.forEach(function(p,m){var v=p.storeObject,b=p.mergeTree,E=p.fieldNodeSet,y=Nu(m);if(b&&b.map.size){var T=r.applyMerges(b,y,v,f);if(lt(T))return;v=T}if(__DEV__&&!f.overwrite){var w=Object.create(null);E.forEach(function(I){I.selectionSet&&(w[I.name.value]=!0)});var S=function(I){return w[os(I)]===!0},_=function(I){var A=b&&b.map.get(I);return Boolean(A&&A.info&&A.info.merge)};Object.keys(v).forEach(function(I){S(I)&&!_(I)&&bz(y,v,I,f.store)})}t.merge(m,v)}),t.retain(d.__ref),d},e.prototype.processSelectionSet=function(t){var n=this,r=t.dataId,i=t.result,o=t.selectionSet,a=t.context,s=t.mergeTree,l=this.cache.policies,u=Object.create(null),c=r&&l.rootTypenamesById[r]||fb(i,o,a.fragmentMap)||r&&a.store.get(r,"__typename");typeof c=="string"&&(u.__typename=c);var f=function(){var T=hS(arguments,u,a.variables);if(lt(T.from)){var w=a.incomingById.get(T.from.__ref);if(w){var S=l.readField(W(W({},T),{from:w.storeObject}),a);if(S!==void 0)return S}}return l.readField(T,a)},d=new Set;this.flattenFields(o,i,a,c).forEach(function(T,w){var S,_=hl(w),I=i[_];if(d.add(w),I!==void 0){var A=l.getStoreFieldName({typename:c,fieldName:w.name.value,field:w,variables:T.variables}),N=OO(s,A),C=n.processFieldValue(I,w,w.selectionSet?xE(T,!1,!1):T,N),U=void 0;w.selectionSet&&(lt(C)||eu(C))&&(U=f("__typename",C));var G=l.getMergeFunction(c,w.name.value,U);G?N.info={field:w,typename:c,merge:G}:CO(s,A),u=T.merge(u,(S={},S[A]=C,S))}else __DEV__&&!T.clientOnly&&!T.deferred&&!tS.added(w)&&!l.getReadFunction(c,w.name.value)&&__DEV__&&ce.error("Missing field '".concat(hl(w),"' while writing result ").concat(JSON.stringify(i,null,2)).substring(0,1e3))});try{var p=l.identify(i,{typename:c,selectionSet:o,fragmentMap:a.fragmentMap,storeObject:u,readField:f}),m=p[0],v=p[1];r=r||m,v&&(u=a.merge(u,v))}catch(T){if(!r)throw T}if(typeof r=="string"){var b=Nu(r),E=a.written[r]||(a.written[r]=[]);if(E.indexOf(o)>=0||(E.push(o),this.reader&&this.reader.isFresh(i,b,o,a)))return b;var y=a.incomingById.get(r);return y?(y.storeObject=a.merge(y.storeObject,u),y.mergeTree=Db(y.mergeTree,s),d.forEach(function(T){return y.fieldNodeSet.add(T)})):a.incomingById.set(r,{storeObject:u,mergeTree:Dv(s)?void 0:s,fieldNodeSet:d}),b}return u},e.prototype.processFieldValue=function(t,n,r,i){var o=this;return!n.selectionSet||t===null?__DEV__?aL(t):t:zt(t)?t.map(function(a,s){var l=o.processFieldValue(a,n,r,OO(i,s));return CO(i,s),l}):this.processSelectionSet({result:t,selectionSet:n.selectionSet,context:r,mergeTree:i})},e.prototype.flattenFields=function(t,n,r,i){i===void 0&&(i=fb(n,t,r.fragmentMap));var o=new Map,a=this.cache.policies,s=new Ip(!1);return function l(u,c){var f=s.lookup(u,c.clientOnly,c.deferred);f.visited||(f.visited=!0,u.selections.forEach(function(d){if(my(d,r.variables)){var p=c.clientOnly,m=c.deferred;if(!(p&&m)&&xr(d.directives)&&d.directives.forEach(function(E){var y=E.name.value;if(y==="client"&&(p=!0),y==="defer"){var T=vy(E,r.variables);(!T||T.if!==!1)&&(m=!0)}}),ml(d)){var v=o.get(d);v&&(p=p&&v.clientOnly,m=m&&v.deferred),o.set(d,xE(r,p,m))}else{var b=J_(d,r.lookupFragment);if(!b&&d.kind===D.FRAGMENT_SPREAD)throw __DEV__?new it("No fragment named ".concat(d.name.value)):new it(8);b&&a.fragmentMatches(b,i,n,r.variables)&&l(b.selectionSet,xE(r,p,m))}}}))}(t,r),o},e.prototype.applyMerges=function(t,n,r,i,o){var a,s=this;if(t.map.size&&!lt(r)){var l=!zt(r)&&(lt(n)||eu(n))?n:void 0,u=r;l&&!o&&(o=[lt(l)?l.__ref:l]);var c,f=function(d,p){return zt(d)?typeof p=="number"?d[p]:void 0:i.store.getFieldValue(d,String(p))};t.map.forEach(function(d,p){var m=f(l,p),v=f(u,p);if(v!==void 0){o&&o.push(p);var b=s.applyMerges(d,m,v,i,o);b!==v&&(c=c||new Map,c.set(p,b)),o&&ce(o.pop()===p)}}),c&&(r=zt(u)?u.slice(0):W({},u),c.forEach(function(d,p){r[p]=d}))}return t.info?this.cache.policies.runMergeFunction(n,r,t.info,i,o&&(a=i.store).getStorage.apply(a,o)):r},e}(),RL=[];function OO(e,t){var n=e.map;return n.has(t)||n.set(t,RL.pop()||{map:new Map}),n.get(t)}function Db(e,t){if(e===t||!t||Dv(t))return e;if(!e||Dv(e))return t;var n=e.info&&t.info?W(W({},e.info),t.info):e.info||t.info,r=e.map.size&&t.map.size,i=r?new Map:e.map.size?e.map:t.map,o={info:n,map:i};if(r){var a=new Set(t.map.keys());e.map.forEach(function(s,l){o.map.set(l,Db(s,t.map.get(l))),a.delete(l)}),a.forEach(function(s){o.map.set(s,Db(t.map.get(s),e.map.get(s)))})}return o}function Dv(e){return!e||!(e.info||e.map.size)}function CO(e,t){var n=e.map,r=n.get(t);r&&Dv(r)&&(RL.push(r),n.delete(t))}var kO=new Set;function bz(e,t,n,r){var i=function(f){var d=r.getFieldValue(f,n);return typeof d=="object"&&d},o=i(e);if(o){var a=i(t);if(a&&!lt(o)&&!jt(o,a)&&!Object.keys(o).every(function(f){return r.getFieldValue(a,f)!==void 0})){var s=r.getFieldValue(e,"__typename")||r.getFieldValue(t,"__typename"),l=os(n),u="".concat(s,".").concat(l);if(!kO.has(u)){kO.add(u);var c=[];!zt(o)&&!zt(a)&&[o,a].forEach(function(f){var d=r.getFieldValue(f,"__typename");typeof d=="string"&&!c.includes(d)&&c.push(d)}),__DEV__&&ce.warn("Cache data may be lost when replacing the ".concat(l," field of a ").concat(s,` object. + +To address this problem (which is not a bug in Apollo Client), `).concat(c.length?"either ensure all objects of type "+c.join(" and ")+" have an ID or a custom merge function, or ":"","define a custom merge function for the ").concat(u,` field, so InMemoryCache can safely merge these objects: + + existing: `).concat(JSON.stringify(o).slice(0,1e3),` + incoming: `).concat(JSON.stringify(a).slice(0,1e3),` + +For more information about these options, please refer to the documentation: + + * Ensuring entity objects have IDs: https://go.apollo.dev/c/generating-unique-identifiers + * Defining custom merge functions: https://go.apollo.dev/c/merging-non-normalized-objects +`))}}}}var Tz=function(e){Gi(t,e);function t(n){n===void 0&&(n={});var r=e.call(this)||this;return r.watches=new Set,r.typenameDocumentCache=new Map,r.makeVar=mz,r.txCount=0,r.config=oz(n),r.addTypename=!!r.config.addTypename,r.policies=new yz({cache:r,dataIdFromObject:r.config.dataIdFromObject,possibleTypes:r.config.possibleTypes,typePolicies:r.config.typePolicies}),r.init(),r}return t.prototype.init=function(){var n=this.data=new dd.Root({policies:this.policies,resultCaching:this.config.resultCaching});this.optimisticData=n.stump,this.resetResultCache()},t.prototype.resetResultCache=function(n){var r=this,i=this.storeReader,o=this.config.fragments;this.storeWriter=new Ez(this,this.storeReader=new fz({cache:this,addTypename:this.addTypename,resultCacheMaxSize:this.config.resultCacheMaxSize,canonizeResults:IL(this.config),canon:n?void 0:i&&i.canon,fragments:o}),o),this.maybeBroadcastWatch=xv(function(a,s){return r.broadcastWatch(a,s)},{max:this.config.resultCacheMaxSize,makeCacheKey:function(a){var s=a.optimistic?r.optimisticData:r.data;if(jf(s)){var l=a.optimistic,u=a.id,c=a.variables;return s.makeCacheKey(a.query,a.callback,rl({optimistic:l,id:u,variables:c}))}}}),new Set([this.data.group,this.optimisticData.group]).forEach(function(a){return a.resetCaching()})},t.prototype.restore=function(n){return this.init(),n&&this.data.replace(n),this},t.prototype.extract=function(n){return n===void 0&&(n=!1),(n?this.optimisticData:this.data).extract()},t.prototype.read=function(n){var r=n.returnPartialData,i=r===void 0?!1:r;try{return this.storeReader.diffQueryAgainstStore(W(W({},n),{store:n.optimistic?this.optimisticData:this.data,config:this.config,returnPartialData:i})).result||null}catch(o){if(o instanceof _L)return null;throw o}},t.prototype.write=function(n){try{return++this.txCount,this.storeWriter.writeToStore(this.data,n)}finally{!--this.txCount&&n.broadcast!==!1&&this.broadcastWatches()}},t.prototype.modify=function(n){if(Tn.call(n,"id")&&!n.id)return!1;var r=n.optimistic?this.optimisticData:this.data;try{return++this.txCount,r.modify(n.id||"ROOT_QUERY",n.fields)}finally{!--this.txCount&&n.broadcast!==!1&&this.broadcastWatches()}},t.prototype.diff=function(n){return this.storeReader.diffQueryAgainstStore(W(W({},n),{store:n.optimistic?this.optimisticData:this.data,rootId:n.id||"ROOT_QUERY",config:this.config}))},t.prototype.watch=function(n){var r=this;return this.watches.size||hz(this),this.watches.add(n),n.immediate&&this.maybeBroadcastWatch(n),function(){r.watches.delete(n)&&!r.watches.size&&TO(r),r.maybeBroadcastWatch.forget(n)}},t.prototype.gc=function(n){rl.reset();var r=this.optimisticData.gc();return n&&!this.txCount&&(n.resetResultCache?this.resetResultCache(n.resetResultIdentities):n.resetResultIdentities&&this.storeReader.resetCanon()),r},t.prototype.retain=function(n,r){return(r?this.optimisticData:this.data).retain(n)},t.prototype.release=function(n,r){return(r?this.optimisticData:this.data).release(n)},t.prototype.identify=function(n){if(lt(n))return n.__ref;try{return this.policies.identify(n)[0]}catch(r){__DEV__&&ce.warn(r)}},t.prototype.evict=function(n){if(!n.id){if(Tn.call(n,"id"))return!1;n=W(W({},n),{id:"ROOT_QUERY"})}try{return++this.txCount,this.optimisticData.evict(n,this.data)}finally{!--this.txCount&&n.broadcast!==!1&&this.broadcastWatches()}},t.prototype.reset=function(n){var r=this;return this.init(),rl.reset(),n&&n.discardWatches?(this.watches.forEach(function(i){return r.maybeBroadcastWatch.forget(i)}),this.watches.clear(),TO(this)):this.broadcastWatches(),Promise.resolve()},t.prototype.removeOptimistic=function(n){var r=this.optimisticData.removeLayer(n);r!==this.optimisticData&&(this.optimisticData=r,this.broadcastWatches())},t.prototype.batch=function(n){var r=this,i=n.update,o=n.optimistic,a=o===void 0?!0:o,s=n.removeOptimistic,l=n.onWatchUpdated,u,c=function(d){var p=r,m=p.data,v=p.optimisticData;++r.txCount,d&&(r.data=r.optimisticData=d);try{return u=i(r)}finally{--r.txCount,r.data=m,r.optimisticData=v}},f=new Set;return l&&!this.txCount&&this.broadcastWatches(W(W({},n),{onWatchUpdated:function(d){return f.add(d),!1}})),typeof a=="string"?this.optimisticData=this.optimisticData.addLayer(a,c):a===!1?c(this.data):c(),typeof s=="string"&&(this.optimisticData=this.optimisticData.removeLayer(s)),l&&f.size?(this.broadcastWatches(W(W({},n),{onWatchUpdated:function(d,p){var m=l.call(this,d,p);return m!==!1&&f.delete(d),m}})),f.size&&f.forEach(function(d){return r.maybeBroadcastWatch.dirty(d)})):this.broadcastWatches(n),u},t.prototype.performTransaction=function(n,r){return this.batch({update:n,optimistic:r||r!==null})},t.prototype.transformDocument=function(n){if(this.addTypename){var r=this.typenameDocumentCache.get(n);return r||(r=tS(n),this.typenameDocumentCache.set(n,r),this.typenameDocumentCache.set(r,r)),r}return n},t.prototype.transformForLink=function(n){var r=this.config.fragments;return r?r.transform(n):n},t.prototype.broadcastWatches=function(n){var r=this;this.txCount||this.watches.forEach(function(i){return r.maybeBroadcastWatch(i,n)})},t.prototype.broadcastWatch=function(n,r){var i=n.lastDiff,o=this.diff(n);r&&(n.optimistic&&typeof r.optimistic=="string"&&(o.fromOptimisticTransaction=!0),r.onWatchUpdated&&r.onWatchUpdated.call(this,n,o,i)===!1)||(!i||!jt(i.result,o.result))&&n.callback(n.lastDiff=o,i)},t}(iz);function wz(e){return e.hasOwnProperty("graphQLErrors")}var _z=function(e){var t="";if(xr(e.graphQLErrors)||xr(e.clientErrors)){var n=(e.graphQLErrors||[]).concat(e.clientErrors||[]);n.forEach(function(r){var i=r?r.message:"Error message not found.";t+="".concat(i,` +`)})}return e.networkError&&(t+="".concat(e.networkError.message,` +`)),t=t.replace(/\n$/,""),t},Da=function(e){Gi(t,e);function t(n){var r=n.graphQLErrors,i=n.clientErrors,o=n.networkError,a=n.errorMessage,s=n.extraInfo,l=e.call(this,a)||this;return l.name="ApolloError",l.graphQLErrors=r||[],l.clientErrors=i||[],l.networkError=o||null,l.message=a||_z(l),l.extraInfo=s,l.__proto__=t.prototype,l}return t}(Error),Je;(function(e){e[e.loading=1]="loading",e[e.setVariables=2]="setVariables",e[e.fetchMore=3]="fetchMore",e[e.refetch=4]="refetch",e[e.poll=6]="poll",e[e.ready=7]="ready",e[e.error=8]="error"})(Je||(Je={}));function pd(e){return e?e<7:!1}var Sz=Object.assign,Nz=Object.hasOwnProperty,Ob=function(e){Gi(t,e);function t(n){var r=n.queryManager,i=n.queryInfo,o=n.options,a=e.call(this,function(b){try{var E=b._subscription._observer;E&&!E.error&&(E.error=Iz)}catch{}var y=!a.observers.size;a.observers.add(b);var T=a.last;return T&&T.error?b.error&&b.error(T.error):T&&T.result&&b.next&&b.next(T.result),y&&a.reobserve().catch(function(){}),function(){a.observers.delete(b)&&!a.observers.size&&a.tearDownQuery()}})||this;a.observers=new Set,a.subscriptions=new Set,a.queryInfo=i,a.queryManager=r,a.isTornDown=!1;var s=r.defaultOptions.watchQuery,l=s===void 0?{}:s,u=l.fetchPolicy,c=u===void 0?"cache-first":u,f=o.fetchPolicy,d=f===void 0?c:f,p=o.initialFetchPolicy,m=p===void 0?d==="standby"?c:d:p;a.options=W(W({},o),{initialFetchPolicy:m,fetchPolicy:d}),a.queryId=i.queryId||r.generateQueryId();var v=_p(a.query);return a.queryName=v&&v.name&&v.name.value,a}return Object.defineProperty(t.prototype,"query",{get:function(){return this.queryManager.transform(this.options.query).document},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"variables",{get:function(){return this.options.variables},enumerable:!1,configurable:!0}),t.prototype.result=function(){var n=this;return new Promise(function(r,i){var o={next:function(s){r(s),n.observers.delete(o),n.observers.size||n.queryManager.removeQuery(n.queryId),setTimeout(function(){a.unsubscribe()},0)},error:i},a=n.subscribe(o)})},t.prototype.getCurrentResult=function(n){n===void 0&&(n=!0);var r=this.getLastResult(!0),i=this.queryInfo.networkStatus||r&&r.networkStatus||Je.ready,o=W(W({},r),{loading:pd(i),networkStatus:i}),a=this.options.fetchPolicy,s=a===void 0?"cache-first":a;if(!(s==="network-only"||s==="no-cache"||s==="standby"||this.queryManager.transform(this.options.query).hasForcedResolvers)){var l=this.queryInfo.getDiff();(l.complete||this.options.returnPartialData)&&(o.data=l.result),jt(o.data,{})&&(o.data=void 0),l.complete?(delete o.partial,l.complete&&o.networkStatus===Je.loading&&(s==="cache-first"||s==="cache-only")&&(o.networkStatus=Je.ready,o.loading=!1)):o.partial=!0,__DEV__&&!l.complete&&!this.options.partialRefetch&&!o.loading&&!o.data&&!o.error&&$L(l.missing)}return n&&this.updateLastResult(o),o},t.prototype.isDifferentFromLastResult=function(n,r){return!this.last||!jt(this.last.result,n)||r&&!jt(this.last.variables,r)},t.prototype.getLast=function(n,r){var i=this.last;if(i&&i[n]&&(!r||jt(i.variables,this.variables)))return i[n]},t.prototype.getLastResult=function(n){return this.getLast("result",n)},t.prototype.getLastError=function(n){return this.getLast("error",n)},t.prototype.resetLastResults=function(){delete this.last,this.isTornDown=!1},t.prototype.resetQueryStoreErrors=function(){this.queryManager.resetErrors(this.queryId)},t.prototype.refetch=function(n){var r,i={pollInterval:0},o=this.options.fetchPolicy;if(o==="cache-and-network"?i.fetchPolicy=o:o==="no-cache"?i.fetchPolicy="no-cache":i.fetchPolicy="network-only",__DEV__&&n&&Nz.call(n,"variables")){var a=eL(this.query),s=a.variableDefinitions;(!s||!s.some(function(l){return l.variable.name.value==="variables"}))&&__DEV__&&ce.warn("Called refetch(".concat(JSON.stringify(n),") for query ").concat(((r=a.name)===null||r===void 0?void 0:r.value)||JSON.stringify(a),`, which does not declare a $variables variable. +Did you mean to call refetch(variables) instead of refetch({ variables })?`))}return n&&!jt(this.options.variables,n)&&(i.variables=this.options.variables=W(W({},this.options.variables),n)),this.queryInfo.resetLastWrite(),this.reobserve(i,Je.refetch)},t.prototype.fetchMore=function(n){var r=this,i=W(W({},n.query?n:W(W(W(W({},this.options),{query:this.query}),n),{variables:W(W({},this.options.variables),n.variables)})),{fetchPolicy:"no-cache"}),o=this.queryManager.generateQueryId(),a=this.queryInfo,s=a.networkStatus;a.networkStatus=Je.fetchMore,i.notifyOnNetworkStatusChange&&this.observe();var l=new Set;return this.queryManager.fetchQuery(o,i,Je.fetchMore).then(function(u){return r.queryManager.removeQuery(o),a.networkStatus===Je.fetchMore&&(a.networkStatus=s),r.queryManager.cache.batch({update:function(c){var f=n.updateQuery;f?c.updateQuery({query:r.query,variables:r.variables,returnPartialData:!0,optimistic:!1},function(d){return f(d,{fetchMoreResult:u.data,variables:i.variables})}):c.writeQuery({query:i.query,variables:i.variables,data:u.data})},onWatchUpdated:function(c){l.add(c.query)}}),u}).finally(function(){l.has(r.query)||LL(r)})},t.prototype.subscribeToMore=function(n){var r=this,i=this.queryManager.startGraphQLSubscription({query:n.document,variables:n.variables,context:n.context}).subscribe({next:function(o){var a=n.updateQuery;a&&r.updateQuery(function(s,l){var u=l.variables;return a(s,{subscriptionData:o,variables:u})})},error:function(o){if(n.onError){n.onError(o);return}__DEV__&&ce.error("Unhandled GraphQL subscription error",o)}});return this.subscriptions.add(i),function(){r.subscriptions.delete(i)&&i.unsubscribe()}},t.prototype.setOptions=function(n){return this.reobserve(n)},t.prototype.setVariables=function(n){return jt(this.variables,n)?this.observers.size?this.result():Promise.resolve():(this.options.variables=n,this.observers.size?this.reobserve({fetchPolicy:this.options.initialFetchPolicy,variables:n},Je.setVariables):Promise.resolve())},t.prototype.updateQuery=function(n){var r=this.queryManager,i=r.cache.diff({query:this.options.query,variables:this.variables,returnPartialData:!0,optimistic:!1}).result,o=n(i,{variables:this.variables});o&&(r.cache.writeQuery({query:this.options.query,data:o,variables:this.variables}),r.broadcastQueries())},t.prototype.startPolling=function(n){this.options.pollInterval=n,this.updatePolling()},t.prototype.stopPolling=function(){this.options.pollInterval=0,this.updatePolling()},t.prototype.applyNextFetchPolicy=function(n,r){if(r.nextFetchPolicy){var i=r.fetchPolicy,o=i===void 0?"cache-first":i,a=r.initialFetchPolicy,s=a===void 0?o:a;o==="standby"||(typeof r.nextFetchPolicy=="function"?r.fetchPolicy=r.nextFetchPolicy(o,{reason:n,options:r,observable:this,initialFetchPolicy:s}):n==="variables-changed"?r.fetchPolicy=s:r.fetchPolicy=r.nextFetchPolicy)}return r.fetchPolicy},t.prototype.fetch=function(n,r){return this.queryManager.setObservableQuery(this),this.queryManager.fetchQueryObservable(this.queryId,n,r)},t.prototype.updatePolling=function(){var n=this;if(!this.queryManager.ssrMode){var r=this,i=r.pollingInfo,o=r.options.pollInterval;if(!o){i&&(clearTimeout(i.timeout),delete this.pollingInfo);return}if(!(i&&i.interval===o)){__DEV__?ce(o,"Attempted to start a polling query without a polling interval."):ce(o,13);var a=i||(this.pollingInfo={});a.interval=o;var s=function(){n.pollingInfo&&(pd(n.queryInfo.networkStatus)?l():n.reobserve({fetchPolicy:n.options.initialFetchPolicy==="no-cache"?"no-cache":"network-only"},Je.poll).then(l,l))},l=function(){var u=n.pollingInfo;u&&(clearTimeout(u.timeout),u.timeout=setTimeout(s,u.interval))};l()}}},t.prototype.updateLastResult=function(n,r){return r===void 0&&(r=this.variables),this.last=W(W({},this.last),{result:this.queryManager.assumeImmutableResults?n:aL(n),variables:r}),xr(n.errors)||delete this.last.error,this.last},t.prototype.reobserve=function(n,r){var i=this;this.isTornDown=!1;var o=r===Je.refetch||r===Je.fetchMore||r===Je.poll,a=this.options.variables,s=this.options.fetchPolicy,l=Sp(this.options,n||{}),u=o?l:Sz(this.options,l);o||(this.updatePolling(),n&&n.variables&&!jt(n.variables,a)&&u.fetchPolicy!=="standby"&&u.fetchPolicy===s&&(this.applyNextFetchPolicy("variables-changed",u),r===void 0&&(r=Je.setVariables)));var c=u.variables&&W({},u.variables),f=this.fetch(u,r),d={next:function(p){i.reportResult(p,c)},error:function(p){i.reportError(p,c)}};return o||(this.concast&&this.observer&&this.concast.removeObserver(this.observer),this.concast=f,this.observer=d),f.addObserver(d),f.promise},t.prototype.observe=function(){this.reportResult(this.getCurrentResult(!1),this.variables)},t.prototype.reportResult=function(n,r){var i=this.getLastError();(i||this.isDifferentFromLastResult(n,r))&&((i||!n.partial||this.options.returnPartialData)&&this.updateLastResult(n,r),Vf(this.observers,"next",n))},t.prototype.reportError=function(n,r){var i=W(W({},this.getLastResult()),{error:n,errors:n.graphQLErrors,networkStatus:Je.error,loading:!1});this.updateLastResult(i,r),Vf(this.observers,"error",this.last.error=n)},t.prototype.hasObservers=function(){return this.observers.size>0},t.prototype.tearDownQuery=function(){this.isTornDown||(this.concast&&this.observer&&(this.concast.removeObserver(this.observer),delete this.concast,delete this.observer),this.stopPolling(),this.subscriptions.forEach(function(n){return n.unsubscribe()}),this.subscriptions.clear(),this.queryManager.stopQuery(this.queryId),this.observers.clear(),this.isTornDown=!0)},t}(_t);lL(Ob);function LL(e){var t=e.options,n=t.fetchPolicy,r=t.nextFetchPolicy;return n==="cache-and-network"||n==="network-only"?e.reobserve({fetchPolicy:"cache-first",nextFetchPolicy:function(){return this.nextFetchPolicy=r,typeof r=="function"?r.apply(this,arguments):n}}):e.reobserve()}function Iz(e){__DEV__&&ce.error("Unhandled error",e.message,e.stack)}function $L(e){__DEV__&&e&&__DEV__&&ce.debug("Missing cache result fields: ".concat(JSON.stringify(e)),e)}var PL=function(){function e(t){var n=t.cache,r=t.client,i=t.resolvers,o=t.fragmentMatcher;this.selectionsToResolveCache=new WeakMap,this.cache=n,r&&(this.client=r),i&&this.addResolvers(i),o&&this.setFragmentMatcher(o)}return e.prototype.addResolvers=function(t){var n=this;this.resolvers=this.resolvers||{},Array.isArray(t)?t.forEach(function(r){n.resolvers=JD(n.resolvers,r)}):this.resolvers=JD(this.resolvers,t)},e.prototype.setResolvers=function(t){this.resolvers={},this.addResolvers(t)},e.prototype.getResolvers=function(){return this.resolvers||{}},e.prototype.runResolvers=function(t){var n=t.document,r=t.remoteResult,i=t.context,o=t.variables,a=t.onlyRunForcedResolvers,s=a===void 0?!1:a;return Na(this,void 0,void 0,function(){return Ia(this,function(l){return n?[2,this.resolveDocument(n,r.data,i,o,this.fragmentMatcher,s).then(function(u){return W(W({},r),{data:u.result})})]:[2,r]})})},e.prototype.setFragmentMatcher=function(t){this.fragmentMatcher=t},e.prototype.getFragmentMatcher=function(){return this.fragmentMatcher},e.prototype.clientQuery=function(t){return W_(["client"],t)&&this.resolvers?t:null},e.prototype.serverQuery=function(t){return PB(t)},e.prototype.prepareContext=function(t){var n=this.cache;return W(W({},t),{cache:n,getCacheKey:function(r){return n.identify(r)}})},e.prototype.addExportedVariables=function(t,n,r){return n===void 0&&(n={}),r===void 0&&(r={}),Na(this,void 0,void 0,function(){return Ia(this,function(i){return t?[2,this.resolveDocument(t,this.buildRootValueFromCache(t,n)||{},this.prepareContext(r),n).then(function(o){return W(W({},n),o.exportedVariables)})]:[2,W({},n)]})})},e.prototype.shouldForceResolvers=function(t){var n=!1;return Ht(t,{Directive:{enter:function(r){if(r.name.value==="client"&&r.arguments&&(n=r.arguments.some(function(i){return i.name.value==="always"&&i.value.kind==="BooleanValue"&&i.value.value===!0}),n))return Qo}}}),n},e.prototype.buildRootValueFromCache=function(t,n){return this.cache.diff({query:$B(t),variables:n,returnPartialData:!0,optimistic:!1}).result},e.prototype.resolveDocument=function(t,n,r,i,o,a){return r===void 0&&(r={}),i===void 0&&(i={}),o===void 0&&(o=function(){return!0}),a===void 0&&(a=!1),Na(this,void 0,void 0,function(){var s,l,u,c,f,d,p,m,v,b,E;return Ia(this,function(y){return s=Z_(t),l=X_(t),u=Y_(l),c=this.collectSelectionsToResolve(s,u),f=s.operation,d=f?f.charAt(0).toUpperCase()+f.slice(1):"Query",p=this,m=p.cache,v=p.client,b={fragmentMap:u,context:W(W({},r),{cache:m,client:v}),variables:i,fragmentMatcher:o,defaultOperationType:d,exportedVariables:{},selectionsToResolve:c,onlyRunForcedResolvers:a},E=!1,[2,this.resolveSelectionSet(s.selectionSet,E,n,b).then(function(T){return{result:T,exportedVariables:b.exportedVariables}})]})})},e.prototype.resolveSelectionSet=function(t,n,r,i){return Na(this,void 0,void 0,function(){var o,a,s,l,u,c=this;return Ia(this,function(f){return o=i.fragmentMap,a=i.context,s=i.variables,l=[r],u=function(d){return Na(c,void 0,void 0,function(){var p,m;return Ia(this,function(v){return!n&&!i.selectionsToResolve.has(d)?[2]:my(d,s)?ml(d)?[2,this.resolveField(d,n,r,i).then(function(b){var E;typeof b<"u"&&l.push((E={},E[hl(d)]=b,E))})]:(CB(d)?p=d:(p=o[d.name.value],__DEV__?ce(p,"No fragment named ".concat(d.name.value)):ce(p,11)),p&&p.typeCondition&&(m=p.typeCondition.name.value,i.fragmentMatcher(r,m,a))?[2,this.resolveSelectionSet(p.selectionSet,n,r,i).then(function(b){l.push(b)})]:[2]):[2]})})},[2,Promise.all(t.selections.map(u)).then(function(){return nS(l)})]})})},e.prototype.resolveField=function(t,n,r,i){return Na(this,void 0,void 0,function(){var o,a,s,l,u,c,f,d,p,m=this;return Ia(this,function(v){return r?(o=i.variables,a=t.name.value,s=hl(t),l=a!==s,u=r[s]||r[a],c=Promise.resolve(u),(!i.onlyRunForcedResolvers||this.shouldForceResolvers(t))&&(f=r.__typename||i.defaultOperationType,d=this.resolvers&&this.resolvers[f],d&&(p=d[l?a:s],p&&(c=Promise.resolve(fS.withValue(this.cache,p,[r,vy(t,o),i.context,{field:t,fragmentMap:i.fragmentMap}]))))),[2,c.then(function(b){var E,y;if(b===void 0&&(b=u),t.directives&&t.directives.forEach(function(w){w.name.value==="export"&&w.arguments&&w.arguments.forEach(function(S){S.name.value==="as"&&S.value.kind==="StringValue"&&(i.exportedVariables[S.value.value]=b)})}),!t.selectionSet||b==null)return b;var T=(y=(E=t.directives)===null||E===void 0?void 0:E.some(function(w){return w.name.value==="client"}))!==null&&y!==void 0?y:!1;if(Array.isArray(b))return m.resolveSubSelectedArray(t,n||T,b,i);if(t.selectionSet)return m.resolveSelectionSet(t.selectionSet,n||T,b,i)})]):[2,null]})})},e.prototype.resolveSubSelectedArray=function(t,n,r,i){var o=this;return Promise.all(r.map(function(a){if(a===null)return null;if(Array.isArray(a))return o.resolveSubSelectedArray(t,n,a,i);if(t.selectionSet)return o.resolveSelectionSet(t.selectionSet,n,a,i)}))},e.prototype.collectSelectionsToResolve=function(t,n){var r=function(a){return!Array.isArray(a)},i=this.selectionsToResolveCache;function o(a){if(!i.has(a)){var s=new Set;i.set(a,s),Ht(a,{Directive:function(l,u,c,f,d){l.name.value==="client"&&d.forEach(function(p){r(p)&&ib(p)&&s.add(p)})},FragmentSpread:function(l,u,c,f,d){var p=n[l.name.value];__DEV__?ce(p,"No fragment named ".concat(l.name.value)):ce(p,12);var m=o(p);m.size>0&&(d.forEach(function(v){r(v)&&ib(v)&&s.add(v)}),s.add(l),m.forEach(function(v){s.add(v)}))}})}return i.get(a)}return o(t)},e}(),tu=new(bs?WeakMap:Map);function DE(e,t){var n=e[t];typeof n=="function"&&(e[t]=function(){return tu.set(e,(tu.get(e)+1)%1e15),n.apply(this,arguments)})}function AO(e){e.notifyTimeout&&(clearTimeout(e.notifyTimeout),e.notifyTimeout=void 0)}var OE=function(){function e(t,n){n===void 0&&(n=t.generateQueryId()),this.queryId=n,this.listeners=new Set,this.document=null,this.lastRequestId=1,this.subscriptions=new Set,this.stopped=!1,this.dirty=!1,this.observableQuery=null;var r=this.cache=t.cache;tu.has(r)||(tu.set(r,0),DE(r,"evict"),DE(r,"modify"),DE(r,"reset"))}return e.prototype.init=function(t){var n=t.networkStatus||Je.loading;return this.variables&&this.networkStatus!==Je.loading&&!jt(this.variables,t.variables)&&(n=Je.setVariables),jt(t.variables,this.variables)||(this.lastDiff=void 0),Object.assign(this,{document:t.document,variables:t.variables,networkError:null,graphQLErrors:this.graphQLErrors||[],networkStatus:n}),t.observableQuery&&this.setObservableQuery(t.observableQuery),t.lastRequestId&&(this.lastRequestId=t.lastRequestId),this},e.prototype.reset=function(){AO(this),this.dirty=!1},e.prototype.getDiff=function(t){t===void 0&&(t=this.variables);var n=this.getDiffOptions(t);if(this.lastDiff&&jt(n,this.lastDiff.options))return this.lastDiff.diff;this.updateWatch(this.variables=t);var r=this.observableQuery;if(r&&r.options.fetchPolicy==="no-cache")return{complete:!1};var i=this.cache.diff(n);return this.updateLastDiff(i,n),i},e.prototype.updateLastDiff=function(t,n){this.lastDiff=t?{diff:t,options:n||this.getDiffOptions()}:void 0},e.prototype.getDiffOptions=function(t){var n;return t===void 0&&(t=this.variables),{query:this.document,variables:t,returnPartialData:!0,optimistic:!0,canonizeResults:(n=this.observableQuery)===null||n===void 0?void 0:n.options.canonizeResults}},e.prototype.setDiff=function(t){var n=this,r=this.lastDiff&&this.lastDiff.diff;this.updateLastDiff(t),!this.dirty&&!jt(r&&r.result,t&&t.result)&&(this.dirty=!0,this.notifyTimeout||(this.notifyTimeout=setTimeout(function(){return n.notify()},0)))},e.prototype.setObservableQuery=function(t){var n=this;t!==this.observableQuery&&(this.oqListener&&this.listeners.delete(this.oqListener),this.observableQuery=t,t?(t.queryInfo=this,this.listeners.add(this.oqListener=function(){var r=n.getDiff();r.fromOptimisticTransaction?t.observe():LL(t)})):delete this.oqListener)},e.prototype.notify=function(){var t=this;AO(this),this.shouldNotify()&&this.listeners.forEach(function(n){return n(t)}),this.dirty=!1},e.prototype.shouldNotify=function(){if(!this.dirty||!this.listeners.size)return!1;if(pd(this.networkStatus)&&this.observableQuery){var t=this.observableQuery.options.fetchPolicy;if(t!=="cache-only"&&t!=="cache-and-network")return!1}return!0},e.prototype.stop=function(){if(!this.stopped){this.stopped=!0,this.reset(),this.cancel(),this.cancel=e.prototype.cancel,this.subscriptions.forEach(function(n){return n.unsubscribe()});var t=this.observableQuery;t&&t.stopPolling()}},e.prototype.cancel=function(){},e.prototype.updateWatch=function(t){var n=this;t===void 0&&(t=this.variables);var r=this.observableQuery;if(!(r&&r.options.fetchPolicy==="no-cache")){var i=W(W({},this.getDiffOptions(t)),{watcher:this,callback:function(o){return n.setDiff(o)}});(!this.lastWatch||!jt(i,this.lastWatch))&&(this.cancel(),this.cancel=this.cache.watch(this.lastWatch=i))}},e.prototype.resetLastWrite=function(){this.lastWrite=void 0},e.prototype.shouldWrite=function(t,n){var r=this.lastWrite;return!(r&&r.dmCount===tu.get(this.cache)&&jt(n,r.variables)&&jt(t.data,r.result.data))},e.prototype.markResult=function(t,n,r,i){var o=this,a=new rs,s=xr(t.errors)?t.errors.slice(0):[];if(this.reset(),"incremental"in t&&xr(t.incremental)){var l=uL(this.getDiff().result,t);t.data=l}else if("hasNext"in t&&t.hasNext){var u=this.getDiff();t.data=a.merge(u.result,t.data)}this.graphQLErrors=s,r.fetchPolicy==="no-cache"?this.updateLastDiff({result:t.data,complete:!0},this.getDiffOptions(r.variables)):i!==0&&(Cb(t,r.errorPolicy)?this.cache.performTransaction(function(c){if(o.shouldWrite(t,r.variables))c.writeQuery({query:n,data:t.data,variables:r.variables,overwrite:i===1}),o.lastWrite={result:t,variables:r.variables,dmCount:tu.get(o.cache)};else if(o.lastDiff&&o.lastDiff.diff.complete){t.data=o.lastDiff.diff.result;return}var f=o.getDiffOptions(r.variables),d=c.diff(f);o.stopped||o.updateWatch(r.variables),o.updateLastDiff(d,f),d.complete&&(t.data=d.result)}):this.lastWrite=void 0)},e.prototype.markReady=function(){return this.networkError=null,this.networkStatus=Je.ready},e.prototype.markError=function(t){return this.networkStatus=Je.error,this.lastWrite=void 0,this.reset(),t.graphQLErrors&&(this.graphQLErrors=t.graphQLErrors),t.networkError&&(this.networkError=t.networkError),t},e}();function Cb(e,t){t===void 0&&(t="none");var n=t==="ignore"||t==="all",r=!fm(e);return!r&&n&&e.data&&(r=!0),r}var xz=Object.prototype.hasOwnProperty,Dz=function(){function e(t){var n=t.cache,r=t.link,i=t.defaultOptions,o=t.queryDeduplication,a=o===void 0?!1:o,s=t.onBroadcast,l=t.ssrMode,u=l===void 0?!1:l,c=t.clientAwareness,f=c===void 0?{}:c,d=t.localState,p=t.assumeImmutableResults;this.clientAwareness={},this.queries=new Map,this.fetchCancelFns=new Map,this.transformCache=new(bs?WeakMap:Map),this.queryIdCounter=1,this.requestIdCounter=1,this.mutationIdCounter=1,this.inFlightLinkObservables=new Map,this.cache=n,this.link=r,this.defaultOptions=i||Object.create(null),this.queryDeduplication=a,this.clientAwareness=f,this.localState=d||new PL({cache:n}),this.ssrMode=u,this.assumeImmutableResults=!!p,(this.onBroadcast=s)&&(this.mutationStore=Object.create(null))}return e.prototype.stop=function(){var t=this;this.queries.forEach(function(n,r){t.stopQueryNoBroadcast(r)}),this.cancelPendingFetches(__DEV__?new it("QueryManager stopped while query was in flight"):new it(14))},e.prototype.cancelPendingFetches=function(t){this.fetchCancelFns.forEach(function(n){return n(t)}),this.fetchCancelFns.clear()},e.prototype.mutate=function(t){var n,r,i=t.mutation,o=t.variables,a=t.optimisticResponse,s=t.updateQueries,l=t.refetchQueries,u=l===void 0?[]:l,c=t.awaitRefetchQueries,f=c===void 0?!1:c,d=t.update,p=t.onQueryUpdated,m=t.fetchPolicy,v=m===void 0?((n=this.defaultOptions.mutate)===null||n===void 0?void 0:n.fetchPolicy)||"network-only":m,b=t.errorPolicy,E=b===void 0?((r=this.defaultOptions.mutate)===null||r===void 0?void 0:r.errorPolicy)||"none":b,y=t.keepRootFields,T=t.context;return Na(this,void 0,void 0,function(){var w,S,_,I,A,N;return Ia(this,function(C){switch(C.label){case 0:return __DEV__?ce(i,"mutation option is required. You must specify your GraphQL document in the mutation option."):ce(i,15),__DEV__?ce(v==="network-only"||v==="no-cache","Mutations support only 'network-only' or 'no-cache' fetchPolicy strings. The default `network-only` behavior automatically writes mutation results to the cache. Passing `no-cache` skips the cache write."):ce(v==="network-only"||v==="no-cache",16),w=this.generateMutationId(),S=this.transform(i),_=S.document,I=S.hasClientExports,i=this.cache.transformForLink(_),o=this.getVariables(i,o),I?[4,this.localState.addExportedVariables(i,o,T)]:[3,2];case 1:o=C.sent(),C.label=2;case 2:return A=this.mutationStore&&(this.mutationStore[w]={mutation:i,variables:o,loading:!0,error:null}),a&&this.markMutationOptimistic(a,{mutationId:w,document:i,variables:o,fetchPolicy:v,errorPolicy:E,context:T,updateQueries:s,update:d,keepRootFields:y}),this.broadcastQueries(),N=this,[2,new Promise(function(U,G){return TE(N.getObservableFromLink(i,W(W({},T),{optimisticResponse:a}),o,!1),function(Y){if(fm(Y)&&E==="none")throw new Da({graphQLErrors:vb(Y)});A&&(A.loading=!1,A.error=null);var P=W({},Y);return typeof u=="function"&&(u=u(P)),E==="ignore"&&fm(P)&&delete P.errors,N.markMutationResult({mutationId:w,result:P,document:i,variables:o,fetchPolicy:v,errorPolicy:E,context:T,update:d,updateQueries:s,awaitRefetchQueries:f,refetchQueries:u,removeOptimistic:a?w:void 0,onQueryUpdated:p,keepRootFields:y})}).subscribe({next:function(Y){N.broadcastQueries(),(!("hasNext"in Y)||Y.hasNext===!1)&&U(Y)},error:function(Y){A&&(A.loading=!1,A.error=Y),a&&N.cache.removeOptimistic(w),N.broadcastQueries(),G(Y instanceof Da?Y:new Da({networkError:Y}))}})})]}})})},e.prototype.markMutationResult=function(t,n){var r=this;n===void 0&&(n=this.cache);var i=t.result,o=[],a=t.fetchPolicy==="no-cache";if(!a&&Cb(i,t.errorPolicy)){if(Iu(i)||o.push({result:i.data,dataId:"ROOT_MUTATION",query:t.document,variables:t.variables}),Iu(i)&&xr(i.incremental)){var s=n.diff({id:"ROOT_MUTATION",query:this.transform(t.document).asQuery,variables:t.variables,optimistic:!1,returnPartialData:!0}),l=void 0;s.result&&(l=uL(s.result,i)),typeof l<"u"&&(i.data=l,o.push({result:l,dataId:"ROOT_MUTATION",query:t.document,variables:t.variables}))}var u=t.updateQueries;u&&this.queries.forEach(function(f,d){var p=f.observableQuery,m=p&&p.queryName;if(!(!m||!xz.call(u,m))){var v=u[m],b=r.queries.get(d),E=b.document,y=b.variables,T=n.diff({query:E,variables:y,returnPartialData:!0,optimistic:!1}),w=T.result,S=T.complete;if(S&&w){var _=v(w,{mutationResult:i,queryName:E&&db(E)||void 0,queryVariables:y});_&&o.push({result:_,dataId:"ROOT_QUERY",query:E,variables:y})}}})}if(o.length>0||t.refetchQueries||t.update||t.onQueryUpdated||t.removeOptimistic){var c=[];if(this.refetchQueries({updateCache:function(f){a||o.forEach(function(v){return f.write(v)});var d=t.update,p=!tq(i)||Iu(i)&&!i.hasNext;if(d){if(!a){var m=f.diff({id:"ROOT_MUTATION",query:r.transform(t.document).asQuery,variables:t.variables,optimistic:!1,returnPartialData:!0});m.complete&&(i=W(W({},i),{data:m.result}),"incremental"in i&&delete i.incremental,"hasNext"in i&&delete i.hasNext)}p&&d(f,i,{context:t.context,variables:t.variables})}!a&&!t.keepRootFields&&p&&f.modify({id:"ROOT_MUTATION",fields:function(v,b){var E=b.fieldName,y=b.DELETE;return E==="__typename"?v:y}})},include:t.refetchQueries,optimistic:!1,removeOptimistic:t.removeOptimistic,onQueryUpdated:t.onQueryUpdated||null}).forEach(function(f){return c.push(f)}),t.awaitRefetchQueries||t.onQueryUpdated)return Promise.all(c).then(function(){return i})}return Promise.resolve(i)},e.prototype.markMutationOptimistic=function(t,n){var r=this,i=typeof t=="function"?t(n.variables):t;return this.cache.recordOptimisticTransaction(function(o){try{r.markMutationResult(W(W({},n),{result:{data:i}}),o)}catch(a){__DEV__&&ce.error(a)}},n.mutationId)},e.prototype.fetchQuery=function(t,n,r){return this.fetchQueryObservable(t,n,r).promise},e.prototype.getQueryStore=function(){var t=Object.create(null);return this.queries.forEach(function(n,r){t[r]={variables:n.variables,networkStatus:n.networkStatus,networkError:n.networkError,graphQLErrors:n.graphQLErrors}}),t},e.prototype.resetErrors=function(t){var n=this.queries.get(t);n&&(n.networkError=void 0,n.graphQLErrors=[])},e.prototype.transform=function(t){var n=this.transformCache;if(!n.has(t)){var r=this.cache.transformDocument(t),i=LB(r),o=this.localState.clientQuery(r),a=i&&this.localState.serverQuery(i),s={document:r,hasClientExports:pB(r),hasForcedResolvers:this.localState.shouldForceResolvers(r),clientQuery:o,serverQuery:a,defaultVars:eS(_p(r)),asQuery:W(W({},r),{definitions:r.definitions.map(function(u){return u.kind==="OperationDefinition"&&u.operation!=="query"?W(W({},u),{operation:"query"}):u})})},l=function(u){u&&!n.has(u)&&n.set(u,s)};l(t),l(r),l(o),l(a)}return n.get(t)},e.prototype.getVariables=function(t,n){return W(W({},this.transform(t).defaultVars),n)},e.prototype.watchQuery=function(t){t=W(W({},t),{variables:this.getVariables(t.query,t.variables)}),typeof t.notifyOnNetworkStatusChange>"u"&&(t.notifyOnNetworkStatusChange=!1);var n=new OE(this),r=new Ob({queryManager:this,queryInfo:n,options:t});return this.queries.set(r.queryId,n),n.init({document:r.query,observableQuery:r,variables:r.variables}),r},e.prototype.query=function(t,n){var r=this;return n===void 0&&(n=this.generateQueryId()),__DEV__?ce(t.query,"query option is required. You must specify your GraphQL document in the query option."):ce(t.query,17),__DEV__?ce(t.query.kind==="Document",'You must wrap the query string in a "gql" tag.'):ce(t.query.kind==="Document",18),__DEV__?ce(!t.returnPartialData,"returnPartialData option only supported on watchQuery."):ce(!t.returnPartialData,19),__DEV__?ce(!t.pollInterval,"pollInterval option only supported on watchQuery."):ce(!t.pollInterval,20),this.fetchQuery(n,t).finally(function(){return r.stopQuery(n)})},e.prototype.generateQueryId=function(){return String(this.queryIdCounter++)},e.prototype.generateRequestId=function(){return this.requestIdCounter++},e.prototype.generateMutationId=function(){return String(this.mutationIdCounter++)},e.prototype.stopQueryInStore=function(t){this.stopQueryInStoreNoBroadcast(t),this.broadcastQueries()},e.prototype.stopQueryInStoreNoBroadcast=function(t){var n=this.queries.get(t);n&&n.stop()},e.prototype.clearStore=function(t){return t===void 0&&(t={discardWatches:!0}),this.cancelPendingFetches(__DEV__?new it("Store reset while query was in flight (not completed in link chain)"):new it(21)),this.queries.forEach(function(n){n.observableQuery?n.networkStatus=Je.loading:n.stop()}),this.mutationStore&&(this.mutationStore=Object.create(null)),this.cache.reset(t)},e.prototype.getObservableQueries=function(t){var n=this;t===void 0&&(t="active");var r=new Map,i=new Map,o=new Set;return Array.isArray(t)&&t.forEach(function(a){typeof a=="string"?i.set(a,!1):gB(a)?i.set(n.transform(a).document,!1):qt(a)&&a.query&&o.add(a)}),this.queries.forEach(function(a,s){var l=a.observableQuery,u=a.document;if(l){if(t==="all"){r.set(s,l);return}var c=l.queryName,f=l.options.fetchPolicy;if(f==="standby"||t==="active"&&!l.hasObservers())return;(t==="active"||c&&i.has(c)||u&&i.has(u))&&(r.set(s,l),c&&i.set(c,!0),u&&i.set(u,!0))}}),o.size&&o.forEach(function(a){var s=gb("legacyOneTimeQuery"),l=n.getQuery(s).init({document:a.query,variables:a.variables}),u=new Ob({queryManager:n,queryInfo:l,options:W(W({},a),{fetchPolicy:"network-only"})});ce(u.queryId===s),l.setObservableQuery(u),r.set(s,u)}),__DEV__&&i.size&&i.forEach(function(a,s){a||__DEV__&&ce.warn("Unknown query ".concat(typeof s=="string"?"named ":"").concat(JSON.stringify(s,null,2)," requested in refetchQueries options.include array"))}),r},e.prototype.reFetchObservableQueries=function(t){var n=this;t===void 0&&(t=!1);var r=[];return this.getObservableQueries(t?"all":"active").forEach(function(i,o){var a=i.options.fetchPolicy;i.resetLastResults(),(t||a!=="standby"&&a!=="cache-only")&&r.push(i.refetch()),n.getQuery(o).setDiff(null)}),this.broadcastQueries(),Promise.all(r)},e.prototype.setObservableQuery=function(t){this.getQuery(t.queryId).setObservableQuery(t)},e.prototype.startGraphQLSubscription=function(t){var n=this,r=t.query,i=t.fetchPolicy,o=t.errorPolicy,a=t.variables,s=t.context,l=s===void 0?{}:s;r=this.transform(r).document,a=this.getVariables(r,a);var u=function(f){return n.getObservableFromLink(r,l,f).map(function(d){if(i!=="no-cache"&&(Cb(d,o)&&n.cache.write({query:r,result:d.data,dataId:"ROOT_SUBSCRIPTION",variables:f}),n.broadcastQueries()),fm(d))throw new Da({graphQLErrors:d.errors});return d})};if(this.transform(r).hasClientExports){var c=this.localState.addExportedVariables(r,a,l).then(u);return new _t(function(f){var d=null;return c.then(function(p){return d=p.subscribe(f)},f.error),function(){return d&&d.unsubscribe()}})}return u(a)},e.prototype.stopQuery=function(t){this.stopQueryNoBroadcast(t),this.broadcastQueries()},e.prototype.stopQueryNoBroadcast=function(t){this.stopQueryInStoreNoBroadcast(t),this.removeQuery(t)},e.prototype.removeQuery=function(t){this.fetchCancelFns.delete(t),this.queries.has(t)&&(this.getQuery(t).stop(),this.queries.delete(t))},e.prototype.broadcastQueries=function(){this.onBroadcast&&this.onBroadcast(),this.queries.forEach(function(t){return t.notify()})},e.prototype.getLocalState=function(){return this.localState},e.prototype.getObservableFromLink=function(t,n,r,i){var o=this,a;i===void 0&&(i=(a=n==null?void 0:n.queryDeduplication)!==null&&a!==void 0?a:this.queryDeduplication);var s,l=this.transform(t).serverQuery;if(l){var u=this,c=u.inFlightLinkObservables,f=u.link,d={query:l,variables:r,operationName:db(l)||void 0,context:this.prepareContext(W(W({},n),{forceFetch:!i}))};if(n=d.context,i){var p=c.get(l)||new Map;c.set(l,p);var m=rl(r);if(s=p.get(m),!s){var v=new gf([Eb(f,d)]);p.set(m,s=v),v.beforeNext(function(){p.delete(m)&&p.size<1&&c.delete(l)})}}else s=new gf([Eb(f,d)])}else s=new gf([_t.of({data:{}})]),n=this.prepareContext(n);var b=this.transform(t).clientQuery;return b&&(s=TE(s,function(E){return o.localState.runResolvers({document:b,remoteResult:E,context:n,variables:r})})),s},e.prototype.getResultsFromLink=function(t,n,r){var i=t.lastRequestId=this.generateRequestId(),o=this.cache.transformForLink(this.transform(t.document).document);return TE(this.getObservableFromLink(o,r.context,r.variables),function(a){var s=vb(a),l=s.length>0;if(i>=t.lastRequestId){if(l&&r.errorPolicy==="none")throw t.markError(new Da({graphQLErrors:s}));t.markResult(a,o,r,n),t.markReady()}var u={data:a.data,loading:!1,networkStatus:Je.ready};return l&&r.errorPolicy!=="ignore"&&(u.errors=s,u.networkStatus=Je.error),u},function(a){var s=wz(a)?a:new Da({networkError:a});throw i>=t.lastRequestId&&t.markError(s),s})},e.prototype.fetchQueryObservable=function(t,n,r){var i=this;r===void 0&&(r=Je.loading);var o=this.transform(n.query).document,a=this.getVariables(o,n.variables),s=this.getQuery(t),l=this.defaultOptions.watchQuery,u=n.fetchPolicy,c=u===void 0?l&&l.fetchPolicy||"cache-first":u,f=n.errorPolicy,d=f===void 0?l&&l.errorPolicy||"none":f,p=n.returnPartialData,m=p===void 0?!1:p,v=n.notifyOnNetworkStatusChange,b=v===void 0?!1:v,E=n.context,y=E===void 0?{}:E,T=Object.assign({},n,{query:o,variables:a,fetchPolicy:c,errorPolicy:d,returnPartialData:m,notifyOnNetworkStatusChange:b,context:y}),w=function(I){T.variables=I;var A=i.fetchQueryByPolicy(s,T,r);return T.fetchPolicy!=="standby"&&A.length>0&&s.observableQuery&&s.observableQuery.applyNextFetchPolicy("after-fetch",n),A},S=function(){return i.fetchCancelFns.delete(t)};this.fetchCancelFns.set(t,function(I){S(),setTimeout(function(){return _.cancel(I)})});var _=new gf(this.transform(T.query).hasClientExports?this.localState.addExportedVariables(T.query,T.variables,T.context).then(w):w(T.variables));return _.promise.then(S,S),_},e.prototype.refetchQueries=function(t){var n=this,r=t.updateCache,i=t.include,o=t.optimistic,a=o===void 0?!1:o,s=t.removeOptimistic,l=s===void 0?a?gb("refetchQueries"):void 0:s,u=t.onQueryUpdated,c=new Map;i&&this.getObservableQueries(i).forEach(function(d,p){c.set(p,{oq:d,lastDiff:n.getQuery(p).getDiff()})});var f=new Map;return r&&this.cache.batch({update:r,optimistic:a&&l||!1,removeOptimistic:l,onWatchUpdated:function(d,p,m){var v=d.watcher instanceof OE&&d.watcher.observableQuery;if(v){if(u){c.delete(v.queryId);var b=u(v,p,m);return b===!0&&(b=v.refetch()),b!==!1&&f.set(v,b),b}u!==null&&c.set(v.queryId,{oq:v,lastDiff:m,diff:p})}}}),c.size&&c.forEach(function(d,p){var m=d.oq,v=d.lastDiff,b=d.diff,E;if(u){if(!b){var y=m.queryInfo;y.reset(),b=y.getDiff()}E=u(m,b,v)}(!u||E===!0)&&(E=m.refetch()),E!==!1&&f.set(m,E),p.indexOf("legacyOneTimeQuery")>=0&&n.stopQueryNoBroadcast(p)}),l&&this.cache.removeOptimistic(l),f},e.prototype.fetchQueryByPolicy=function(t,n,r){var i=this,o=n.query,a=n.variables,s=n.fetchPolicy,l=n.refetchWritePolicy,u=n.errorPolicy,c=n.returnPartialData,f=n.context,d=n.notifyOnNetworkStatusChange,p=t.networkStatus;t.init({document:this.transform(o).document,variables:a,networkStatus:r});var m=function(){return t.getDiff(a)},v=function(w,S){S===void 0&&(S=t.networkStatus||Je.loading);var _=w.result;__DEV__&&!c&&!jt(_,{})&&$L(w.missing);var I=function(A){return _t.of(W({data:A,loading:pd(S),networkStatus:S},w.complete?null:{partial:!0}))};return _&&i.transform(o).hasForcedResolvers?i.localState.runResolvers({document:o,remoteResult:{data:_},context:f,variables:a,onlyRunForcedResolvers:!0}).then(function(A){return I(A.data||void 0)}):u==="none"&&S===Je.refetch&&Array.isArray(w.missing)?I(void 0):I(_)},b=s==="no-cache"?0:r===Je.refetch&&l!=="merge"?1:2,E=function(){return i.getResultsFromLink(t,b,{variables:a,context:f,fetchPolicy:s,errorPolicy:u})},y=d&&typeof p=="number"&&p!==r&&pd(r);switch(s){default:case"cache-first":{var T=m();return T.complete?[v(T,t.markReady())]:c||y?[v(T),E()]:[E()]}case"cache-and-network":{var T=m();return T.complete||c||y?[v(T),E()]:[E()]}case"cache-only":return[v(m(),t.markReady())];case"network-only":return y?[v(m()),E()]:[E()];case"no-cache":return y?[v(t.getDiff()),E()]:[E()];case"standby":return[]}},e.prototype.getQuery=function(t){return t&&!this.queries.has(t)&&this.queries.set(t,new OE(this,t)),this.queries.get(t)},e.prototype.prepareContext=function(t){t===void 0&&(t={});var n=this.localState.prepareContext(t);return W(W({},n),{clientAwareness:this.clientAwareness})},e}(),FO=!1,Oz=function(){function e(t){var n=this;this.resetStoreCallbacks=[],this.clearStoreCallbacks=[];var r=t.uri,i=t.credentials,o=t.headers,a=t.cache,s=t.ssrMode,l=s===void 0?!1:s,u=t.ssrForceFetchDelay,c=u===void 0?0:u,f=t.connectToDevTools,d=f===void 0?typeof window=="object"&&!window.__APOLLO_CLIENT__&&__DEV__:f,p=t.queryDeduplication,m=p===void 0?!0:p,v=t.defaultOptions,b=t.assumeImmutableResults,E=b===void 0?!1:b,y=t.resolvers,T=t.typeDefs,w=t.fragmentMatcher,S=t.name,_=t.version,I=t.link;if(I||(I=r?new Rq({uri:r,credentials:i,headers:o}):Np.empty()),!a)throw __DEV__?new it(`To initialize Apollo Client, you must specify a 'cache' property in the options object. +For more information, please visit: https://go.apollo.dev/c/docs`):new it(9);if(this.link=I,this.cache=a,this.disableNetworkFetches=l||c>0,this.queryDeduplication=m,this.defaultOptions=v||Object.create(null),this.typeDefs=T,c&&setTimeout(function(){return n.disableNetworkFetches=!1},c),this.watchQuery=this.watchQuery.bind(this),this.query=this.query.bind(this),this.mutate=this.mutate.bind(this),this.resetStore=this.resetStore.bind(this),this.reFetchObservableQueries=this.reFetchObservableQueries.bind(this),d&&typeof window=="object"&&(window.__APOLLO_CLIENT__=this),!FO&&d&&__DEV__&&(FO=!0,typeof window<"u"&&window.document&&window.top===window.self&&!window.__APOLLO_DEVTOOLS_GLOBAL_HOOK__)){var A=window.navigator,N=A&&A.userAgent,C=void 0;typeof N=="string"&&(N.indexOf("Chrome/")>-1?C="https://chrome.google.com/webstore/detail/apollo-client-developer-t/jdkknkkbebbapilgoeccciglkfbmbnfm":N.indexOf("Firefox/")>-1&&(C="https://addons.mozilla.org/en-US/firefox/addon/apollo-developer-tools/")),C&&__DEV__&&ce.log("Download the Apollo DevTools for a better development experience: "+C)}this.version=sq,this.localState=new PL({cache:a,client:this,resolvers:y,fragmentMatcher:w}),this.queryManager=new Dz({cache:this.cache,link:this.link,defaultOptions:this.defaultOptions,queryDeduplication:m,ssrMode:l,clientAwareness:{name:S,version:_},localState:this.localState,assumeImmutableResults:E,onBroadcast:d?function(){n.devToolsHookCb&&n.devToolsHookCb({action:{},state:{queries:n.queryManager.getQueryStore(),mutations:n.queryManager.mutationStore||{}},dataWithOptimisticResults:n.cache.extract(!0)})}:void 0})}return e.prototype.stop=function(){this.queryManager.stop()},e.prototype.watchQuery=function(t){return this.defaultOptions.watchQuery&&(t=dm(this.defaultOptions.watchQuery,t)),this.disableNetworkFetches&&(t.fetchPolicy==="network-only"||t.fetchPolicy==="cache-and-network")&&(t=W(W({},t),{fetchPolicy:"cache-first"})),this.queryManager.watchQuery(t)},e.prototype.query=function(t){return this.defaultOptions.query&&(t=dm(this.defaultOptions.query,t)),__DEV__?ce(t.fetchPolicy!=="cache-and-network","The cache-and-network fetchPolicy does not work with client.query, because client.query can only return a single result. Please use client.watchQuery to receive multiple results from the cache and the network, or consider using a different fetchPolicy, such as cache-first or network-only."):ce(t.fetchPolicy!=="cache-and-network",10),this.disableNetworkFetches&&t.fetchPolicy==="network-only"&&(t=W(W({},t),{fetchPolicy:"cache-first"})),this.queryManager.query(t)},e.prototype.mutate=function(t){return this.defaultOptions.mutate&&(t=dm(this.defaultOptions.mutate,t)),this.queryManager.mutate(t)},e.prototype.subscribe=function(t){return this.queryManager.startGraphQLSubscription(t)},e.prototype.readQuery=function(t,n){return n===void 0&&(n=!1),this.cache.readQuery(t,n)},e.prototype.readFragment=function(t,n){return n===void 0&&(n=!1),this.cache.readFragment(t,n)},e.prototype.writeQuery=function(t){this.cache.writeQuery(t),this.queryManager.broadcastQueries()},e.prototype.writeFragment=function(t){this.cache.writeFragment(t),this.queryManager.broadcastQueries()},e.prototype.__actionHookForDevTools=function(t){this.devToolsHookCb=t},e.prototype.__requestRaw=function(t){return Eb(this.link,t)},e.prototype.resetStore=function(){var t=this;return Promise.resolve().then(function(){return t.queryManager.clearStore({discardWatches:!1})}).then(function(){return Promise.all(t.resetStoreCallbacks.map(function(n){return n()}))}).then(function(){return t.reFetchObservableQueries()})},e.prototype.clearStore=function(){var t=this;return Promise.resolve().then(function(){return t.queryManager.clearStore({discardWatches:!0})}).then(function(){return Promise.all(t.clearStoreCallbacks.map(function(n){return n()}))})},e.prototype.onResetStore=function(t){var n=this;return this.resetStoreCallbacks.push(t),function(){n.resetStoreCallbacks=n.resetStoreCallbacks.filter(function(r){return r!==t})}},e.prototype.onClearStore=function(t){var n=this;return this.clearStoreCallbacks.push(t),function(){n.clearStoreCallbacks=n.clearStoreCallbacks.filter(function(r){return r!==t})}},e.prototype.reFetchObservableQueries=function(t){return this.queryManager.reFetchObservableQueries(t)},e.prototype.refetchQueries=function(t){var n=this.queryManager.refetchQueries(t),r=[],i=[];n.forEach(function(a,s){r.push(s),i.push(a)});var o=Promise.all(i);return o.queries=r,o.results=i,o.catch(function(a){__DEV__&&ce.debug("In client.refetchQueries, Promise.all promise rejected with error ".concat(a))}),o},e.prototype.getObservableQueries=function(t){return t===void 0&&(t="active"),this.queryManager.getObservableQueries(t)},e.prototype.extract=function(t){return this.cache.extract(t)},e.prototype.restore=function(t){return this.cache.restore(t)},e.prototype.addResolvers=function(t){this.localState.addResolvers(t)},e.prototype.setResolvers=function(t){this.localState.setResolvers(t)},e.prototype.getResolvers=function(){return this.localState.getResolvers()},e.prototype.setLocalStateFragmentMatcher=function(t){this.localState.setFragmentMatcher(t)},e.prototype.setLink=function(t){this.link=this.queryManager.link=t},e}(),hm=new Map,kb=new Map,ML=!0,Ov=!1;function VL(e){return e.replace(/[\s,]+/g," ").trim()}function Cz(e){return VL(e.source.body.substring(e.start,e.end))}function kz(e){var t=new Set,n=[];return e.definitions.forEach(function(r){if(r.kind==="FragmentDefinition"){var i=r.name.value,o=Cz(r.loc),a=kb.get(i);a&&!a.has(o)?ML&&console.warn("Warning: fragment with name "+i+` already exists. +graphql-tag enforces all fragment names across your application to be unique; read more about +this in the docs: http://dev.apollodata.com/core/fragments.html#unique-names`):a||kb.set(i,a=new Set),a.add(o),t.has(o)||(t.add(o),n.push(r))}else n.push(r)}),W(W({},e),{definitions:n})}function Az(e){var t=new Set(e.definitions);t.forEach(function(r){r.loc&&delete r.loc,Object.keys(r).forEach(function(i){var o=r[i];o&&typeof o=="object"&&t.add(o)})});var n=e.loc;return n&&(delete n.startToken,delete n.endToken),e}function Fz(e){var t=VL(e);if(!hm.has(t)){var n=qr(e,{experimentalFragmentVariables:Ov,allowLegacyFragmentVariables:Ov});if(!n||n.kind!=="Document")throw new Error("Not a valid GraphQL document.");hm.set(t,Az(kz(n)))}return hm.get(t)}function Mi(e){for(var t=[],n=1;n, or pass an ApolloClient instance in via options.'):ce(!!n,32),n}var LO=!1,jz="useSyncExternalStore",Uz=ts[jz],Bz=Uz||function(e,t,n){var r=t();__DEV__&&!LO&&r!==t()&&(LO=!0,__DEV__&&ce.error("The result of getSnapshot should be cached to avoid an infinite loop"));var i=g.useState({inst:{value:r,getSnapshot:t}}),o=i[0].inst,a=i[1];return ZB?g.useLayoutEffect(function(){Object.assign(o,{value:r,getSnapshot:t}),CE(o)&&a({inst:o})},[e,r,t]):Object.assign(o,{value:r,getSnapshot:t}),g.useEffect(function(){return CE(o)&&a({inst:o}),e(function(){CE(o)&&a({inst:o})})},[e]),r};function CE(e){var t=e.value,n=e.getSnapshot;try{return t!==n()}catch{return!0}}var Xo;(function(e){e[e.Query=0]="Query",e[e.Mutation=1]="Mutation",e[e.Subscription=2]="Subscription"})(Xo||(Xo={}));var $O=new Map;function PO(e){var t;switch(e){case Xo.Query:t="Query";break;case Xo.Mutation:t="Mutation";break;case Xo.Subscription:t="Subscription";break}return t}function qz(e){var t=$O.get(e);if(t)return t;var n,r,i;__DEV__?ce(!!e&&!!e.kind,"Argument of ".concat(e," passed to parser was not a valid GraphQL ")+"DocumentNode. You may need to use 'graphql-tag' or another method to convert your operation into a document"):ce(!!e&&!!e.kind,33);for(var o=[],a=[],s=[],l=[],u=0,c=e.definitions;u>>1,x=F[X];if(0>>1;Xi(R,B))Ji(ae,R)?(F[X]=ae,F[J]=B,X=J):(F[X]=R,F[L]=B,X=L);else if(Ji(ae,B))F[X]=ae,F[J]=B,X=J;else break e}}return z}function i(F,z){var B=F.sortIndex-z.sortIndex;return B!==0?B:F.id-z.id}if(typeof performance=="object"&&typeof performance.now=="function"){var o=performance;e.unstable_now=function(){return o.now()}}else{var a=Date,s=a.now();e.unstable_now=function(){return a.now()-s}}var l=[],u=[],c=1,f=null,d=3,p=!1,m=!1,v=!1,b=typeof setTimeout=="function"?setTimeout:null,E=typeof clearTimeout=="function"?clearTimeout:null,y=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function T(F){for(var z=n(u);z!==null;){if(z.callback===null)r(u);else if(z.startTime<=F)r(u),z.sortIndex=z.expirationTime,t(l,z);else break;z=n(u)}}function w(F){if(v=!1,T(F),!m)if(n(l)!==null)m=!0,j(S);else{var z=n(u);z!==null&&H(w,z.startTime-F)}}function S(F,z){m=!1,v&&(v=!1,E(A),A=-1),p=!0;var B=d;try{for(T(z),f=n(l);f!==null&&(!(f.expirationTime>z)||F&&!U());){var X=f.callback;if(typeof X=="function"){f.callback=null,d=f.priorityLevel;var x=X(f.expirationTime<=z);z=e.unstable_now(),typeof x=="function"?f.callback=x:f===n(l)&&r(l),T(z)}else r(l);f=n(l)}if(f!==null)var M=!0;else{var L=n(u);L!==null&&H(w,L.startTime-z),M=!1}return M}finally{f=null,d=B,p=!1}}var _=!1,I=null,A=-1,N=5,C=-1;function U(){return!(e.unstable_now()-CF||125X?(F.sortIndex=B,t(u,F),n(l)===null&&F===n(u)&&(v?(E(A),A=-1):v=!0,H(w,B-X))):(F.sortIndex=x,t(l,F),m||p||(m=!0,j(S))),F},e.unstable_shouldYield=U,e.unstable_wrapCallback=function(F){var z=d;return function(){var B=d;d=z;try{return F.apply(this,arguments)}finally{d=B}}}})(jL);(function(e){e.exports=jL})(Yz);/** + * @license React + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var UL=g,Vr=Fb;function le(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Rb=Object.prototype.hasOwnProperty,Jz=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,MO={},VO={};function Kz(e){return Rb.call(VO,e)?!0:Rb.call(MO,e)?!1:Jz.test(e)?VO[e]=!0:(MO[e]=!0,!1)}function Xz(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function Zz(e,t,n,r){if(t===null||typeof t>"u"||Xz(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function mr(e,t,n,r,i,o,a){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o,this.removeEmptyString=a}var jn={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){jn[e]=new mr(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];jn[t]=new mr(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){jn[e]=new mr(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){jn[e]=new mr(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){jn[e]=new mr(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){jn[e]=new mr(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){jn[e]=new mr(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){jn[e]=new mr(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){jn[e]=new mr(e,5,!1,e.toLowerCase(),null,!1,!1)});var vS=/[\-:]([a-z])/g;function gS(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(vS,gS);jn[t]=new mr(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(vS,gS);jn[t]=new mr(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(vS,gS);jn[t]=new mr(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){jn[e]=new mr(e,1,!1,e.toLowerCase(),null,!1,!1)});jn.xlinkHref=new mr("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){jn[e]=new mr(e,1,!1,e.toLowerCase(),null,!0,!0)});function yS(e,t,n,r){var i=jn.hasOwnProperty(t)?jn[t]:null;(i!==null?i.type!==0:r||!(2s||i[a]!==o[s]){var l=` +`+i[a].replace(" at new "," at ");return e.displayName&&l.includes("")&&(l=l.replace("",e.displayName)),l}while(1<=a&&0<=s);break}}}finally{AE=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?yf(e):""}function eQ(e){switch(e.tag){case 5:return yf(e.type);case 16:return yf("Lazy");case 13:return yf("Suspense");case 19:return yf("SuspenseList");case 0:case 2:case 15:return e=FE(e.type,!1),e;case 11:return e=FE(e.type.render,!1),e;case 1:return e=FE(e.type,!0),e;default:return""}}function Mb(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case ru:return"Fragment";case nu:return"Portal";case Lb:return"Profiler";case ES:return"StrictMode";case $b:return"Suspense";case Pb:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case zL:return(e.displayName||"Context")+".Consumer";case qL:return(e._context.displayName||"Context")+".Provider";case bS:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case TS:return t=e.displayName||null,t!==null?t:Mb(e.type)||"Memo";case Oa:t=e._payload,e=e._init;try{return Mb(e(t))}catch{}}return null}function tQ(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Mb(t);case 8:return t===ES?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function as(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function GL(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function nQ(e){var t=GL(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var i=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(a){r=""+a,o.call(this,a)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(a){r=""+a},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function yh(e){e._valueTracker||(e._valueTracker=nQ(e))}function HL(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=GL(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Cv(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function Vb(e,t){var n=t.checked;return $t({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function UO(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=as(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function WL(e,t){t=t.checked,t!=null&&yS(e,"checked",t,!1)}function jb(e,t){WL(e,t);var n=as(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?Ub(e,t.type,n):t.hasOwnProperty("defaultValue")&&Ub(e,t.type,as(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function BO(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function Ub(e,t,n){(t!=="number"||Cv(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Ef=Array.isArray;function Du(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i"+t.valueOf().toString()+"",t=Eh.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function md(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Bf={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},rQ=["Webkit","ms","Moz","O"];Object.keys(Bf).forEach(function(e){rQ.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Bf[t]=Bf[e]})});function XL(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||Bf.hasOwnProperty(e)&&Bf[e]?(""+t).trim():t+"px"}function ZL(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,i=XL(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,i):e[n]=i}}var iQ=$t({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function zb(e,t){if(t){if(iQ[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(le(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(le(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(le(61))}if(t.style!=null&&typeof t.style!="object")throw Error(le(62))}}function Qb(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Gb=null;function wS(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Hb=null,Ou=null,Cu=null;function QO(e){if(e=Op(e)){if(typeof Hb!="function")throw Error(le(280));var t=e.stateNode;t&&(t=Ny(t),Hb(e.stateNode,e.type,t))}}function e5(e){Ou?Cu?Cu.push(e):Cu=[e]:Ou=e}function t5(){if(Ou){var e=Ou,t=Cu;if(Cu=Ou=null,QO(e),t)for(e=0;e>>=0,e===0?32:31-(mQ(e)/vQ|0)|0}var bh=64,Th=4194304;function bf(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Rv(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,i=e.suspendedLanes,o=e.pingedLanes,a=n&268435455;if(a!==0){var s=a&~i;s!==0?r=bf(s):(o&=a,o!==0&&(r=bf(o)))}else a=n&~i,a!==0?r=bf(a):o!==0&&(r=bf(o));if(r===0)return 0;if(t!==0&&t!==r&&!(t&i)&&(i=r&-r,o=t&-t,i>=o||i===16&&(o&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function xp(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Ri(t),e[t]=n}function bQ(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=zf),e2=String.fromCharCode(32),t2=!1;function T5(e,t){switch(e){case"keyup":return WQ.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function w5(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var iu=!1;function JQ(e,t){switch(e){case"compositionend":return w5(t);case"keypress":return t.which!==32?null:(t2=!0,e2);case"textInput":return e=t.data,e===e2&&t2?null:e;default:return null}}function KQ(e,t){if(iu)return e==="compositionend"||!CS&&T5(e,t)?(e=E5(),vm=xS=ja=null,iu=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=o2(n)}}function I5(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?I5(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function x5(){for(var e=window,t=Cv();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Cv(e.document)}return t}function kS(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function aG(e){var t=x5(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&I5(n.ownerDocument.documentElement,n)){if(r!==null&&kS(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var i=n.textContent.length,o=Math.min(r.start,i);r=r.end===void 0?o:Math.min(r.end,i),!e.extend&&o>r&&(i=r,r=o,o=i),i=a2(n,o);var a=a2(n,r);i&&a&&(e.rangeCount!==1||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==a.node||e.focusOffset!==a.offset)&&(t=t.createRange(),t.setStart(i.node,i.offset),e.removeAllRanges(),o>r?(e.addRange(t),e.extend(a.node,a.offset)):(t.setEnd(a.node,a.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,ou=null,Zb=null,Gf=null,eT=!1;function s2(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;eT||ou==null||ou!==Cv(r)||(r=ou,"selectionStart"in r&&kS(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Gf&&Td(Gf,r)||(Gf=r,r=Pv(Zb,"onSelect"),0lu||(e.current=aT[lu],aT[lu]=null,lu--)}function Et(e,t){lu++,aT[lu]=e.current,e.current=t}var ss={},Zn=ws(ss),wr=ws(!1),vl=ss;function oc(e,t){var n=e.type.contextTypes;if(!n)return ss;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i={},o;for(o in n)i[o]=t[o];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function _r(e){return e=e.childContextTypes,e!=null}function Vv(){St(wr),St(Zn)}function h2(e,t,n){if(Zn.current!==ss)throw Error(le(168));Et(Zn,t),Et(wr,n)}function $5(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var i in r)if(!(i in t))throw Error(le(108,tQ(e)||"Unknown",i));return $t({},n,r)}function jv(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||ss,vl=Zn.current,Et(Zn,e),Et(wr,wr.current),!0}function m2(e,t,n){var r=e.stateNode;if(!r)throw Error(le(169));n?(e=$5(e,t,vl),r.__reactInternalMemoizedMergedChildContext=e,St(wr),St(Zn),Et(Zn,e)):St(wr),Et(wr,n)}var Uo=null,Iy=!1,HE=!1;function P5(e){Uo===null?Uo=[e]:Uo.push(e)}function yG(e){Iy=!0,P5(e)}function _s(){if(!HE&&Uo!==null){HE=!0;var e=0,t=ct;try{var n=Uo;for(ct=1;e>=a,i-=a,Ho=1<<32-Ri(t)+i|n<A?(N=I,I=null):N=I.sibling;var C=d(E,I,T[A],w);if(C===null){I===null&&(I=N);break}e&&I&&C.alternate===null&&t(E,I),y=o(C,y,A),_===null?S=C:_.sibling=C,_=C,I=N}if(A===T.length)return n(E,I),Dt&&js(E,A),S;if(I===null){for(;AA?(N=I,I=null):N=I.sibling;var U=d(E,I,C.value,w);if(U===null){I===null&&(I=N);break}e&&I&&U.alternate===null&&t(E,I),y=o(U,y,A),_===null?S=U:_.sibling=U,_=U,I=N}if(C.done)return n(E,I),Dt&&js(E,A),S;if(I===null){for(;!C.done;A++,C=T.next())C=f(E,C.value,w),C!==null&&(y=o(C,y,A),_===null?S=C:_.sibling=C,_=C);return Dt&&js(E,A),S}for(I=r(E,I);!C.done;A++,C=T.next())C=p(I,E,A,C.value,w),C!==null&&(e&&C.alternate!==null&&I.delete(C.key===null?A:C.key),y=o(C,y,A),_===null?S=C:_.sibling=C,_=C);return e&&I.forEach(function(G){return t(E,G)}),Dt&&js(E,A),S}function b(E,y,T,w){if(typeof T=="object"&&T!==null&&T.type===ru&&T.key===null&&(T=T.props.children),typeof T=="object"&&T!==null){switch(T.$$typeof){case gh:e:{for(var S=T.key,_=y;_!==null;){if(_.key===S){if(S=T.type,S===ru){if(_.tag===7){n(E,_.sibling),y=i(_,T.props.children),y.return=E,E=y;break e}}else if(_.elementType===S||typeof S=="object"&&S!==null&&S.$$typeof===Oa&&w2(S)===_.type){n(E,_.sibling),y=i(_,T.props),y.ref=nf(E,_,T),y.return=E,E=y;break e}n(E,_);break}else t(E,_);_=_.sibling}T.type===ru?(y=ol(T.props.children,E.mode,w,T.key),y.return=E,E=y):(w=Sm(T.type,T.key,T.props,null,E.mode,w),w.ref=nf(E,y,T),w.return=E,E=w)}return a(E);case nu:e:{for(_=T.key;y!==null;){if(y.key===_)if(y.tag===4&&y.stateNode.containerInfo===T.containerInfo&&y.stateNode.implementation===T.implementation){n(E,y.sibling),y=i(y,T.children||[]),y.return=E,E=y;break e}else{n(E,y);break}else t(E,y);y=y.sibling}y=t1(T,E.mode,w),y.return=E,E=y}return a(E);case Oa:return _=T._init,b(E,y,_(T._payload),w)}if(Ef(T))return m(E,y,T,w);if(Kc(T))return v(E,y,T,w);Dh(E,T)}return typeof T=="string"&&T!==""||typeof T=="number"?(T=""+T,y!==null&&y.tag===6?(n(E,y.sibling),y=i(y,T),y.return=E,E=y):(n(E,y),y=e1(T,E.mode,w),y.return=E,E=y),a(E)):n(E,y)}return b}var sc=Q5(!0),G5=Q5(!1),Cp={},To=ws(Cp),Nd=ws(Cp),Id=ws(Cp);function Ys(e){if(e===Cp)throw Error(le(174));return e}function jS(e,t){switch(Et(Id,t),Et(Nd,e),Et(To,Cp),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:qb(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=qb(t,e)}St(To),Et(To,t)}function lc(){St(To),St(Nd),St(Id)}function H5(e){Ys(Id.current);var t=Ys(To.current),n=qb(t,e.type);t!==n&&(Et(Nd,e),Et(To,n))}function US(e){Nd.current===e&&(St(To),St(Nd))}var kt=ws(0);function Gv(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var WE=[];function BS(){for(var e=0;en?n:4,e(!0);var r=YE.transition;YE.transition={};try{e(!1),t()}finally{ct=n,YE.transition=r}}function u$(){return mi().memoizedState}function wG(e,t,n){var r=Xa(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},c$(e))f$(t,n);else if(n=U5(e,t,n,r),n!==null){var i=ar();Li(n,e,r,i),d$(n,t,r)}}function _G(e,t,n){var r=Xa(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(c$(e))f$(t,i);else{var o=e.alternate;if(e.lanes===0&&(o===null||o.lanes===0)&&(o=t.lastRenderedReducer,o!==null))try{var a=t.lastRenderedState,s=o(a,n);if(i.hasEagerState=!0,i.eagerState=s,Vi(s,a)){var l=t.interleaved;l===null?(i.next=i,MS(t)):(i.next=l.next,l.next=i),t.interleaved=i;return}}catch{}finally{}n=U5(e,t,i,r),n!==null&&(i=ar(),Li(n,e,r,i),d$(n,t,r))}}function c$(e){var t=e.alternate;return e===Ft||t!==null&&t===Ft}function f$(e,t){Hf=Hv=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function d$(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,SS(e,n)}}var Wv={readContext:hi,useCallback:Hn,useContext:Hn,useEffect:Hn,useImperativeHandle:Hn,useInsertionEffect:Hn,useLayoutEffect:Hn,useMemo:Hn,useReducer:Hn,useRef:Hn,useState:Hn,useDebugValue:Hn,useDeferredValue:Hn,useTransition:Hn,useMutableSource:Hn,useSyncExternalStore:Hn,useId:Hn,unstable_isNewReconciler:!1},SG={readContext:hi,useCallback:function(e,t){return lo().memoizedState=[e,t===void 0?null:t],e},useContext:hi,useEffect:S2,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,bm(4194308,4,i$.bind(null,t,e),n)},useLayoutEffect:function(e,t){return bm(4194308,4,e,t)},useInsertionEffect:function(e,t){return bm(4,2,e,t)},useMemo:function(e,t){var n=lo();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=lo();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=wG.bind(null,Ft,e),[r.memoizedState,e]},useRef:function(e){var t=lo();return e={current:e},t.memoizedState=e},useState:_2,useDebugValue:HS,useDeferredValue:function(e){return lo().memoizedState=e},useTransition:function(){var e=_2(!1),t=e[0];return e=TG.bind(null,e[1]),lo().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=Ft,i=lo();if(Dt){if(n===void 0)throw Error(le(407));n=n()}else{if(n=t(),Dn===null)throw Error(le(349));yl&30||J5(r,t,n)}i.memoizedState=n;var o={value:n,getSnapshot:t};return i.queue=o,S2(X5.bind(null,r,o,e),[e]),r.flags|=2048,Od(9,K5.bind(null,r,o,n,t),void 0,null),n},useId:function(){var e=lo(),t=Dn.identifierPrefix;if(Dt){var n=Wo,r=Ho;n=(r&~(1<<32-Ri(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=xd++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=a.createElement(n,{is:r.is}):(e=a.createElement(n),n==="select"&&(a=e,r.multiple?a.multiple=!0:r.size&&(a.size=r.size))):e=a.createElementNS(e,n),e[fo]=t,e[Sd]=r,T$(e,t,!1,!1),t.stateNode=e;e:{switch(a=Qb(n,r),n){case"dialog":wt("cancel",e),wt("close",e),i=r;break;case"iframe":case"object":case"embed":wt("load",e),i=r;break;case"video":case"audio":for(i=0;icc&&(t.flags|=128,r=!0,rf(o,!1),t.lanes=4194304)}else{if(!r)if(e=Gv(a),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),rf(o,!0),o.tail===null&&o.tailMode==="hidden"&&!a.alternate&&!Dt)return Wn(t),null}else 2*Jt()-o.renderingStartTime>cc&&n!==1073741824&&(t.flags|=128,r=!0,rf(o,!1),t.lanes=4194304);o.isBackwards?(a.sibling=t.child,t.child=a):(n=o.last,n!==null?n.sibling=a:t.child=a,o.last=a)}return o.tail!==null?(t=o.tail,o.rendering=t,o.tail=t.sibling,o.renderingStartTime=Jt(),t.sibling=null,n=kt.current,Et(kt,r?n&1|2:n&1),t):(Wn(t),null);case 22:case 23:return ZS(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?Fr&1073741824&&(Wn(t),t.subtreeFlags&6&&(t.flags|=8192)):Wn(t),null;case 24:return null;case 25:return null}throw Error(le(156,t.tag))}function AG(e,t){switch(FS(t),t.tag){case 1:return _r(t.type)&&Vv(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return lc(),St(wr),St(Zn),BS(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return US(t),null;case 13:if(St(kt),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(le(340));ac()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return St(kt),null;case 4:return lc(),null;case 10:return PS(t.type._context),null;case 22:case 23:return ZS(),null;case 24:return null;default:return null}}var Ch=!1,Yn=!1,FG=typeof WeakSet=="function"?WeakSet:Set,he=null;function du(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){Vt(e,t,r)}else n.current=null}function yT(e,t,n){try{n()}catch(r){Vt(e,t,r)}}var F2=!1;function RG(e,t){if(tT=Lv,e=x5(),kS(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break e}var a=0,s=-1,l=-1,u=0,c=0,f=e,d=null;t:for(;;){for(var p;f!==n||i!==0&&f.nodeType!==3||(s=a+i),f!==o||r!==0&&f.nodeType!==3||(l=a+r),f.nodeType===3&&(a+=f.nodeValue.length),(p=f.firstChild)!==null;)d=f,f=p;for(;;){if(f===e)break t;if(d===n&&++u===i&&(s=a),d===o&&++c===r&&(l=a),(p=f.nextSibling)!==null)break;f=d,d=f.parentNode}f=p}n=s===-1||l===-1?null:{start:s,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(nT={focusedElem:e,selectionRange:n},Lv=!1,he=t;he!==null;)if(t=he,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,he=e;else for(;he!==null;){t=he;try{var m=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(m!==null){var v=m.memoizedProps,b=m.memoizedState,E=t.stateNode,y=E.getSnapshotBeforeUpdate(t.elementType===t.type?v:Ii(t.type,v),b);E.__reactInternalSnapshotBeforeUpdate=y}break;case 3:var T=t.stateNode.containerInfo;T.nodeType===1?T.textContent="":T.nodeType===9&&T.documentElement&&T.removeChild(T.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(le(163))}}catch(w){Vt(t,t.return,w)}if(e=t.sibling,e!==null){e.return=t.return,he=e;break}he=t.return}return m=F2,F2=!1,m}function Wf(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var i=r=r.next;do{if((i.tag&e)===e){var o=i.destroy;i.destroy=void 0,o!==void 0&&yT(t,n,o)}i=i.next}while(i!==r)}}function Oy(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function ET(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function S$(e){var t=e.alternate;t!==null&&(e.alternate=null,S$(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[fo],delete t[Sd],delete t[oT],delete t[vG],delete t[gG])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function N$(e){return e.tag===5||e.tag===3||e.tag===4}function R2(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||N$(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function bT(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Mv));else if(r!==4&&(e=e.child,e!==null))for(bT(e,t,n),e=e.sibling;e!==null;)bT(e,t,n),e=e.sibling}function TT(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(TT(e,t,n),e=e.sibling;e!==null;)TT(e,t,n),e=e.sibling}var Rn=null,xi=!1;function wa(e,t,n){for(n=n.child;n!==null;)I$(e,t,n),n=n.sibling}function I$(e,t,n){if(bo&&typeof bo.onCommitFiberUnmount=="function")try{bo.onCommitFiberUnmount(Ty,n)}catch{}switch(n.tag){case 5:Yn||du(n,t);case 6:var r=Rn,i=xi;Rn=null,wa(e,t,n),Rn=r,xi=i,Rn!==null&&(xi?(e=Rn,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):Rn.removeChild(n.stateNode));break;case 18:Rn!==null&&(xi?(e=Rn,n=n.stateNode,e.nodeType===8?GE(e.parentNode,n):e.nodeType===1&&GE(e,n),Ed(e)):GE(Rn,n.stateNode));break;case 4:r=Rn,i=xi,Rn=n.stateNode.containerInfo,xi=!0,wa(e,t,n),Rn=r,xi=i;break;case 0:case 11:case 14:case 15:if(!Yn&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var o=i,a=o.destroy;o=o.tag,a!==void 0&&(o&2||o&4)&&yT(n,t,a),i=i.next}while(i!==r)}wa(e,t,n);break;case 1:if(!Yn&&(du(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(s){Vt(n,t,s)}wa(e,t,n);break;case 21:wa(e,t,n);break;case 22:n.mode&1?(Yn=(r=Yn)||n.memoizedState!==null,wa(e,t,n),Yn=r):wa(e,t,n);break;default:wa(e,t,n)}}function L2(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new FG),t.forEach(function(r){var i=qG.bind(null,e,r);n.has(r)||(n.add(r),r.then(i,i))})}}function Ti(e,t){var n=t.deletions;if(n!==null)for(var r=0;ri&&(i=a),r&=~o}if(r=i,r=Jt()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*$G(r/1960))-r,10e?16:e,Ua===null)var r=!1;else{if(e=Ua,Ua=null,Kv=0,He&6)throw Error(le(331));var i=He;for(He|=4,he=e.current;he!==null;){var o=he,a=o.child;if(he.flags&16){var s=o.deletions;if(s!==null){for(var l=0;lJt()-KS?il(e,0):JS|=n),Sr(e,t)}function R$(e,t){t===0&&(e.mode&1?(t=Th,Th<<=1,!(Th&130023424)&&(Th=4194304)):t=1);var n=ar();e=la(e,t),e!==null&&(xp(e,t,n),Sr(e,n))}function BG(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),R$(e,n)}function qG(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(le(314))}r!==null&&r.delete(t),R$(e,n)}var L$;L$=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||wr.current)br=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return br=!1,CG(e,t,n);br=!!(e.flags&131072)}else br=!1,Dt&&t.flags&1048576&&M5(t,Bv,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;Tm(e,t),e=t.pendingProps;var i=oc(t,Zn.current);Au(t,n),i=zS(null,t,r,e,i,n);var o=QS();return t.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,_r(r)?(o=!0,jv(t)):o=!1,t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,VS(t),i.updater=xy,t.stateNode=i,i._reactInternals=t,fT(t,r,e,n),t=hT(null,t,r,!0,o,n)):(t.tag=0,Dt&&o&&AS(t),nr(null,t,i,n),t=t.child),t;case 16:r=t.elementType;e:{switch(Tm(e,t),e=t.pendingProps,i=r._init,r=i(r._payload),t.type=r,i=t.tag=QG(r),e=Ii(r,e),i){case 0:t=pT(null,t,r,e,n);break e;case 1:t=C2(null,t,r,e,n);break e;case 11:t=D2(null,t,r,e,n);break e;case 14:t=O2(null,t,r,Ii(r.type,e),n);break e}throw Error(le(306,r,""))}return t;case 0:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Ii(r,i),pT(e,t,r,i,n);case 1:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Ii(r,i),C2(e,t,r,i,n);case 3:e:{if(y$(t),e===null)throw Error(le(387));r=t.pendingProps,o=t.memoizedState,i=o.element,B5(e,t),Qv(t,r,null,n);var a=t.memoizedState;if(r=a.element,o.isDehydrated)if(o={element:r,isDehydrated:!1,cache:a.cache,pendingSuspenseBoundaries:a.pendingSuspenseBoundaries,transitions:a.transitions},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){i=uc(Error(le(423)),t),t=k2(e,t,r,n,i);break e}else if(r!==i){i=uc(Error(le(424)),t),t=k2(e,t,r,n,i);break e}else for(Lr=Ya(t.stateNode.containerInfo.firstChild),$r=t,Dt=!0,Oi=null,n=G5(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(ac(),r===i){t=ua(e,t,n);break e}nr(e,t,r,n)}t=t.child}return t;case 5:return H5(t),e===null&&lT(t),r=t.type,i=t.pendingProps,o=e!==null?e.memoizedProps:null,a=i.children,rT(r,i)?a=null:o!==null&&rT(r,o)&&(t.flags|=32),g$(e,t),nr(e,t,a,n),t.child;case 6:return e===null&&lT(t),null;case 13:return E$(e,t,n);case 4:return jS(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=sc(t,null,r,n):nr(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Ii(r,i),D2(e,t,r,i,n);case 7:return nr(e,t,t.pendingProps,n),t.child;case 8:return nr(e,t,t.pendingProps.children,n),t.child;case 12:return nr(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,i=t.pendingProps,o=t.memoizedProps,a=i.value,Et(qv,r._currentValue),r._currentValue=a,o!==null)if(Vi(o.value,a)){if(o.children===i.children&&!wr.current){t=ua(e,t,n);break e}}else for(o=t.child,o!==null&&(o.return=t);o!==null;){var s=o.dependencies;if(s!==null){a=o.child;for(var l=s.firstContext;l!==null;){if(l.context===r){if(o.tag===1){l=Zo(-1,n&-n),l.tag=2;var u=o.updateQueue;if(u!==null){u=u.shared;var c=u.pending;c===null?l.next=l:(l.next=c.next,c.next=l),u.pending=l}}o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),uT(o.return,n,t),s.lanes|=n;break}l=l.next}}else if(o.tag===10)a=o.type===t.type?null:o.child;else if(o.tag===18){if(a=o.return,a===null)throw Error(le(341));a.lanes|=n,s=a.alternate,s!==null&&(s.lanes|=n),uT(a,n,t),a=o.sibling}else a=o.child;if(a!==null)a.return=o;else for(a=o;a!==null;){if(a===t){a=null;break}if(o=a.sibling,o!==null){o.return=a.return,a=o;break}a=a.return}o=a}nr(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,r=t.pendingProps.children,Au(t,n),i=hi(i),r=r(i),t.flags|=1,nr(e,t,r,n),t.child;case 14:return r=t.type,i=Ii(r,t.pendingProps),i=Ii(r.type,i),O2(e,t,r,i,n);case 15:return m$(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Ii(r,i),Tm(e,t),t.tag=1,_r(r)?(e=!0,jv(t)):e=!1,Au(t,n),z5(t,r,i),fT(t,r,i,n),hT(null,t,r,!0,e,n);case 19:return b$(e,t,n);case 22:return v$(e,t,n)}throw Error(le(156,t.tag))};function $$(e,t){return l5(e,t)}function zG(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function ii(e,t,n,r){return new zG(e,t,n,r)}function tN(e){return e=e.prototype,!(!e||!e.isReactComponent)}function QG(e){if(typeof e=="function")return tN(e)?1:0;if(e!=null){if(e=e.$$typeof,e===bS)return 11;if(e===TS)return 14}return 2}function Za(e,t){var n=e.alternate;return n===null?(n=ii(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Sm(e,t,n,r,i,o){var a=2;if(r=e,typeof e=="function")tN(e)&&(a=1);else if(typeof e=="string")a=5;else e:switch(e){case ru:return ol(n.children,i,o,t);case ES:a=8,i|=8;break;case Lb:return e=ii(12,n,t,i|2),e.elementType=Lb,e.lanes=o,e;case $b:return e=ii(13,n,t,i),e.elementType=$b,e.lanes=o,e;case Pb:return e=ii(19,n,t,i),e.elementType=Pb,e.lanes=o,e;case QL:return ky(n,i,o,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case qL:a=10;break e;case zL:a=9;break e;case bS:a=11;break e;case TS:a=14;break e;case Oa:a=16,r=null;break e}throw Error(le(130,e==null?e:typeof e,""))}return t=ii(a,n,t,i),t.elementType=e,t.type=r,t.lanes=o,t}function ol(e,t,n,r){return e=ii(7,e,r,t),e.lanes=n,e}function ky(e,t,n,r){return e=ii(22,e,r,t),e.elementType=QL,e.lanes=n,e.stateNode={isHidden:!1},e}function e1(e,t,n){return e=ii(6,e,null,t),e.lanes=n,e}function t1(e,t,n){return t=ii(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function GG(e,t,n,r,i){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=LE(0),this.expirationTimes=LE(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=LE(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function nN(e,t,n,r,i,o,a,s,l){return e=new GG(e,t,n,s,l),t===1?(t=1,o===!0&&(t|=8)):t=0,o=ii(3,null,null,t),e.current=o,o.stateNode=e,o.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},VS(o),e}function HG(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(n){console.error(n)}}t(),e.exports=Qr})(Wz);const q2=sF(rc);var z2=rc;Ab.createRoot=z2.createRoot,Ab.hydrateRoot=z2.hydrateRoot;/** + * @remix-run/router v1.3.2 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */function kd(){return kd=Object.assign?Object.assign.bind():function(e){for(var t=1;t"u")throw new Error(t)}function ZG(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function eH(){return Math.random().toString(36).substr(2,8)}function G2(e,t){return{usr:e.state,key:e.key,idx:t}}function IT(e,t,n,r){return n===void 0&&(n=null),kd({pathname:typeof e=="string"?e:e.pathname,search:"",hash:""},typeof t=="string"?Rl(t):t,{state:n,key:t&&t.key||r||eH()})}function eg(e){let{pathname:t="/",search:n="",hash:r=""}=e;return n&&n!=="?"&&(t+=n.charAt(0)==="?"?n:"?"+n),r&&r!=="#"&&(t+=r.charAt(0)==="#"?r:"#"+r),t}function Rl(e){let t={};if(e){let n=e.indexOf("#");n>=0&&(t.hash=e.substr(n),e=e.substr(0,n));let r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}function tH(e,t,n,r){r===void 0&&(r={});let{window:i=document.defaultView,v5Compat:o=!1}=r,a=i.history,s=Ba.Pop,l=null,u=c();u==null&&(u=0,a.replaceState(kd({},a.state,{idx:u}),""));function c(){return(a.state||{idx:null}).idx}function f(){s=Ba.Pop;let b=c(),E=b==null?null:b-u;u=b,l&&l({action:s,location:v.location,delta:E})}function d(b,E){s=Ba.Push;let y=IT(v.location,b,E);n&&n(y,b),u=c()+1;let T=G2(y,u),w=v.createHref(y);try{a.pushState(T,"",w)}catch{i.location.assign(w)}o&&l&&l({action:s,location:v.location,delta:1})}function p(b,E){s=Ba.Replace;let y=IT(v.location,b,E);n&&n(y,b),u=c();let T=G2(y,u),w=v.createHref(y);a.replaceState(T,"",w),o&&l&&l({action:s,location:v.location,delta:0})}function m(b){let E=i.location.origin!=="null"?i.location.origin:i.location.href,y=typeof b=="string"?b:eg(b);return mn(E,"No window.location.(origin|href) available to create URL for href: "+y),new URL(y,E)}let v={get action(){return s},get location(){return e(i,a)},listen(b){if(l)throw new Error("A history only accepts one active listener");return i.addEventListener(Q2,f),l=b,()=>{i.removeEventListener(Q2,f),l=null}},createHref(b){return t(i,b)},createURL:m,encodeLocation(b){let E=m(b);return{pathname:E.pathname,search:E.search,hash:E.hash}},push:d,replace:p,go(b){return a.go(b)}};return v}var H2;(function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"})(H2||(H2={}));function nH(e,t,n){n===void 0&&(n="/");let r=typeof t=="string"?Rl(t):t,i=B$(r.pathname||"/",n);if(i==null)return null;let o=j$(e);rH(o);let a=null;for(let s=0;a==null&&s{let l={relativePath:s===void 0?o.path||"":s,caseSensitive:o.caseSensitive===!0,childrenIndex:a,route:o};l.relativePath.startsWith("/")&&(mn(l.relativePath.startsWith(r),'Absolute route path "'+l.relativePath+'" nested under path '+('"'+r+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),l.relativePath=l.relativePath.slice(r.length));let u=es([r,l.relativePath]),c=n.concat(l);o.children&&o.children.length>0&&(mn(o.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+u+'".')),j$(o.children,t,c,u)),!(o.path==null&&!o.index)&&t.push({path:u,score:cH(u,o.index),routesMeta:c})};return e.forEach((o,a)=>{var s;if(o.path===""||!((s=o.path)!=null&&s.includes("?")))i(o,a);else for(let l of U$(o.path))i(o,a,l)}),t}function U$(e){let t=e.split("/");if(t.length===0)return[];let[n,...r]=t,i=n.endsWith("?"),o=n.replace(/\?$/,"");if(r.length===0)return i?[o,""]:[o];let a=U$(r.join("/")),s=[];return s.push(...a.map(l=>l===""?o:[o,l].join("/"))),i&&s.push(...a),s.map(l=>e.startsWith("/")&&l===""?"/":l)}function rH(e){e.sort((t,n)=>t.score!==n.score?n.score-t.score:fH(t.routesMeta.map(r=>r.childrenIndex),n.routesMeta.map(r=>r.childrenIndex)))}const iH=/^:\w+$/,oH=3,aH=2,sH=1,lH=10,uH=-2,W2=e=>e==="*";function cH(e,t){let n=e.split("/"),r=n.length;return n.some(W2)&&(r+=uH),t&&(r+=aH),n.filter(i=>!W2(i)).reduce((i,o)=>i+(iH.test(o)?oH:o===""?sH:lH),r)}function fH(e,t){return e.length===t.length&&e.slice(0,-1).every((r,i)=>r===t[i])?e[e.length-1]-t[t.length-1]:0}function dH(e,t){let{routesMeta:n}=e,r={},i="/",o=[];for(let a=0;a{if(c==="*"){let d=s[f]||"";a=o.slice(0,o.length-d.length).replace(/(.)\/+$/,"$1")}return u[c]=vH(s[f]||"",c),u},{}),pathname:o,pathnameBase:a,pattern:e}}function hH(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!0),aN(e==="*"||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were '+('"'+e.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+e.replace(/\*$/,"/*")+'".'));let r=[],i="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^$?{}|()[\]]/g,"\\$&").replace(/\/:(\w+)/g,(a,s)=>(r.push(s),"/([^\\/]+)"));return e.endsWith("*")?(r.push("*"),i+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?i+="\\/*$":e!==""&&e!=="/"&&(i+="(?:(?=\\/|$))"),[new RegExp(i,t?void 0:"i"),r]}function mH(e){try{return decodeURI(e)}catch(t){return aN(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+t+").")),e}}function vH(e,t){try{return decodeURIComponent(e)}catch(n){return aN(!1,'The value for the URL param "'+t+'" will not be decoded because'+(' the string "'+e+'" is a malformed URL segment. This is probably')+(" due to a bad percent encoding ("+n+").")),e}}function B$(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith("/")?t.length-1:t.length,r=e.charAt(n);return r&&r!=="/"?null:e.slice(n)||"/"}function aN(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function gH(e,t){t===void 0&&(t="/");let{pathname:n,search:r="",hash:i=""}=typeof e=="string"?Rl(e):e;return{pathname:n?n.startsWith("/")?n:yH(n,t):t,search:bH(r),hash:TH(i)}}function yH(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(i=>{i===".."?n.length>1&&n.pop():i!=="."&&n.push(i)}),n.length>1?n.join("/"):"/"}function n1(e,t,n,r){return"Cannot include a '"+e+"' character in a manually specified "+("`to."+t+"` field ["+JSON.stringify(r)+"]. Please separate it out to the ")+("`to."+n+"` field. Alternatively you may provide the full path as ")+'a string in and the router will parse it for you.'}function q$(e){return e.filter((t,n)=>n===0||t.route.path&&t.route.path.length>0)}function z$(e,t,n,r){r===void 0&&(r=!1);let i;typeof e=="string"?i=Rl(e):(i=kd({},e),mn(!i.pathname||!i.pathname.includes("?"),n1("?","pathname","search",i)),mn(!i.pathname||!i.pathname.includes("#"),n1("#","pathname","hash",i)),mn(!i.search||!i.search.includes("#"),n1("#","search","hash",i)));let o=e===""||i.pathname==="",a=o?"/":i.pathname,s;if(r||a==null)s=n;else{let f=t.length-1;if(a.startsWith("..")){let d=a.split("/");for(;d[0]==="..";)d.shift(),f-=1;i.pathname=d.join("/")}s=f>=0?t[f]:"/"}let l=gH(i,s),u=a&&a!=="/"&&a.endsWith("/"),c=(o||a===".")&&n.endsWith("/");return!l.pathname.endsWith("/")&&(u||c)&&(l.pathname+="/"),l}const es=e=>e.join("/").replace(/\/\/+/g,"/"),EH=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),bH=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,TH=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;function wH(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}const _H=["post","put","patch","delete"];[..._H];/** + * React Router v6.8.1 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */function xT(){return xT=Object.assign?Object.assign.bind():function(e){for(var t=1;t{i.value=r,i.getSnapshot=t,r1(i)&&o({inst:i})},[e,r,t]),xH(()=>(r1(i)&&o({inst:i}),e(()=>{r1(i)&&o({inst:i})})),[e]),OH(r),r}function r1(e){const t=e.getSnapshot,n=e.value;try{const r=t();return!NH(n,r)}catch{return!0}}function kH(e,t,n){return t()}const AH=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",FH=!AH,RH=FH?kH:CH;"useSyncExternalStore"in ts&&(e=>e.useSyncExternalStore)(ts);const Q$=g.createContext(null),sN=g.createContext(null),kp=g.createContext(null),$y=g.createContext(null),Ss=g.createContext({outlet:null,matches:[]}),G$=g.createContext(null);function LH(e,t){let{relative:n}=t===void 0?{}:t;Ap()||mn(!1);let{basename:r,navigator:i}=g.useContext(kp),{hash:o,pathname:a,search:s}=lN(e,{relative:n}),l=a;return r!=="/"&&(l=a==="/"?r:es([r,a])),i.createHref({pathname:l,search:s,hash:o})}function Ap(){return g.useContext($y)!=null}function Fp(){return Ap()||mn(!1),g.useContext($y).location}function $H(){Ap()||mn(!1);let{basename:e,navigator:t}=g.useContext(kp),{matches:n}=g.useContext(Ss),{pathname:r}=Fp(),i=JSON.stringify(q$(n).map(s=>s.pathnameBase)),o=g.useRef(!1);return g.useEffect(()=>{o.current=!0}),g.useCallback(function(s,l){if(l===void 0&&(l={}),!o.current)return;if(typeof s=="number"){t.go(s);return}let u=z$(s,JSON.parse(i),r,l.relative==="path");e!=="/"&&(u.pathname=u.pathname==="/"?e:es([e,u.pathname])),(l.replace?t.replace:t.push)(u,l.state,l)},[e,t,i,r])}const PH=g.createContext(null);function MH(e){let t=g.useContext(Ss).outlet;return t&&g.createElement(PH.Provider,{value:e},t)}function VH(){let{matches:e}=g.useContext(Ss),t=e[e.length-1];return t?t.params:{}}function lN(e,t){let{relative:n}=t===void 0?{}:t,{matches:r}=g.useContext(Ss),{pathname:i}=Fp(),o=JSON.stringify(q$(r).map(a=>a.pathnameBase));return g.useMemo(()=>z$(e,JSON.parse(o),i,n==="path"),[e,o,i,n])}function jH(e,t){Ap()||mn(!1);let{navigator:n}=g.useContext(kp),r=g.useContext(sN),{matches:i}=g.useContext(Ss),o=i[i.length-1],a=o?o.params:{};o&&o.pathname;let s=o?o.pathnameBase:"/";o&&o.route;let l=Fp(),u;if(t){var c;let v=typeof t=="string"?Rl(t):t;s==="/"||(c=v.pathname)!=null&&c.startsWith(s)||mn(!1),u=v}else u=l;let f=u.pathname||"/",d=s==="/"?f:f.slice(s.length)||"/",p=nH(e,{pathname:d}),m=zH(p&&p.map(v=>Object.assign({},v,{params:Object.assign({},a,v.params),pathname:es([s,n.encodeLocation?n.encodeLocation(v.pathname).pathname:v.pathname]),pathnameBase:v.pathnameBase==="/"?s:es([s,n.encodeLocation?n.encodeLocation(v.pathnameBase).pathname:v.pathnameBase])})),i,r||void 0);return t&&m?g.createElement($y.Provider,{value:{location:xT({pathname:"/",search:"",hash:"",state:null,key:"default"},u),navigationType:Ba.Pop}},m):m}function UH(){let e=WH(),t=wH(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,i={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"},o=null;return g.createElement(g.Fragment,null,g.createElement("h2",null,"Unexpected Application Error!"),g.createElement("h3",{style:{fontStyle:"italic"}},t),n?g.createElement("pre",{style:i},n):null,o)}class BH extends g.Component{constructor(t){super(t),this.state={location:t.location,error:t.error}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,n){return n.location!==t.location?{error:t.error,location:t.location}:{error:t.error||n.error,location:n.location}}componentDidCatch(t,n){console.error("React Router caught the following error during render",t,n)}render(){return this.state.error?g.createElement(Ss.Provider,{value:this.props.routeContext},g.createElement(G$.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function qH(e){let{routeContext:t,match:n,children:r}=e,i=g.useContext(Q$);return i&&i.static&&i.staticContext&&n.route.errorElement&&(i.staticContext._deepestRenderedBoundaryId=n.route.id),g.createElement(Ss.Provider,{value:t},r)}function zH(e,t,n){if(t===void 0&&(t=[]),e==null)if(n!=null&&n.errors)e=n.matches;else return null;let r=e,i=n==null?void 0:n.errors;if(i!=null){let o=r.findIndex(a=>a.route.id&&(i==null?void 0:i[a.route.id]));o>=0||mn(!1),r=r.slice(0,Math.min(r.length,o+1))}return r.reduceRight((o,a,s)=>{let l=a.route.id?i==null?void 0:i[a.route.id]:null,u=n?a.route.errorElement||g.createElement(UH,null):null,c=t.concat(r.slice(0,s+1)),f=()=>g.createElement(qH,{match:a,routeContext:{outlet:o,matches:c}},l?u:a.route.element!==void 0?a.route.element:o);return n&&(a.route.errorElement||s===0)?g.createElement(BH,{location:n.location,component:u,error:l,children:f(),routeContext:{outlet:null,matches:c}}):f()},null)}var Y2;(function(e){e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator"})(Y2||(Y2={}));var tg;(function(e){e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator"})(tg||(tg={}));function QH(e){let t=g.useContext(sN);return t||mn(!1),t}function GH(e){let t=g.useContext(Ss);return t||mn(!1),t}function HH(e){let t=GH(),n=t.matches[t.matches.length-1];return n.route.id||mn(!1),n.route.id}function WH(){var e;let t=g.useContext(G$),n=QH(tg.UseRouteError),r=HH(tg.UseRouteError);return t||((e=n.errors)==null?void 0:e[r])}function YH(e){return MH(e.context)}function so(e){mn(!1)}function JH(e){let{basename:t="/",children:n=null,location:r,navigationType:i=Ba.Pop,navigator:o,static:a=!1}=e;Ap()&&mn(!1);let s=t.replace(/^\/*/,"/"),l=g.useMemo(()=>({basename:s,navigator:o,static:a}),[s,o,a]);typeof r=="string"&&(r=Rl(r));let{pathname:u="/",search:c="",hash:f="",state:d=null,key:p="default"}=r,m=g.useMemo(()=>{let v=B$(u,s);return v==null?null:{pathname:v,search:c,hash:f,state:d,key:p}},[s,u,c,f,d,p]);return m==null?null:g.createElement(kp.Provider,{value:l},g.createElement($y.Provider,{children:n,value:{location:m,navigationType:i}}))}function KH(e){let{children:t,location:n}=e,r=g.useContext(Q$),i=r&&!t?r.router.routes:DT(t);return jH(i,n)}var J2;(function(e){e[e.pending=0]="pending",e[e.success=1]="success",e[e.error=2]="error"})(J2||(J2={}));new Promise(()=>{});function DT(e,t){t===void 0&&(t=[]);let n=[];return g.Children.forEach(e,(r,i)=>{if(!g.isValidElement(r))return;if(r.type===g.Fragment){n.push.apply(n,DT(r.props.children,t));return}r.type!==so&&mn(!1),!r.props.index||!r.props.children||mn(!1);let o=[...t,i],a={id:r.props.id||o.join("-"),caseSensitive:r.props.caseSensitive,element:r.props.element,index:r.props.index,path:r.props.path,loader:r.props.loader,action:r.props.action,errorElement:r.props.errorElement,hasErrorBoundary:r.props.errorElement!=null,shouldRevalidate:r.props.shouldRevalidate,handle:r.props.handle};r.props.children&&(a.children=DT(r.props.children,o)),n.push(a)}),n}/** + * React Router DOM v6.8.1 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */function ng(){return ng=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&(n[i]=e[i]);return n}function XH(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function ZH(e,t){return e.button===0&&(!t||t==="_self")&&!XH(e)}const eW=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset"],tW=["aria-current","caseSensitive","className","end","style","to","children"];function nW(e){let{basename:t,children:n,window:r}=e,i=g.useRef();i.current==null&&(i.current=XG({window:r,v5Compat:!0}));let o=i.current,[a,s]=g.useState({action:o.action,location:o.location});return g.useLayoutEffect(()=>o.listen(s),[o]),g.createElement(JH,{basename:t,children:n,location:a.location,navigationType:a.action,navigator:o})}const rW=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",uN=g.forwardRef(function(t,n){let{onClick:r,relative:i,reloadDocument:o,replace:a,state:s,target:l,to:u,preventScrollReset:c}=t,f=H$(t,eW),d,p=!1;if(rW&&typeof u=="string"&&/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i.test(u)){d=u;let E=new URL(window.location.href),y=u.startsWith("//")?new URL(E.protocol+u):new URL(u);y.origin===E.origin?u=y.pathname+y.search+y.hash:p=!0}let m=LH(u,{relative:i}),v=iW(u,{replace:a,state:s,target:l,preventScrollReset:c,relative:i});function b(E){r&&r(E),E.defaultPrevented||v(E)}return g.createElement("a",ng({},f,{href:d||m,onClick:p||o?r:b,ref:n,target:l}))}),OT=g.forwardRef(function(t,n){let{"aria-current":r="page",caseSensitive:i=!1,className:o="",end:a=!1,style:s,to:l,children:u}=t,c=H$(t,tW),f=lN(l,{relative:c.relative}),d=Fp(),p=g.useContext(sN),{navigator:m}=g.useContext(kp),v=m.encodeLocation?m.encodeLocation(f).pathname:f.pathname,b=d.pathname,E=p&&p.navigation&&p.navigation.location?p.navigation.location.pathname:null;i||(b=b.toLowerCase(),E=E?E.toLowerCase():null,v=v.toLowerCase());let y=b===v||!a&&b.startsWith(v)&&b.charAt(v.length)==="/",T=E!=null&&(E===v||!a&&E.startsWith(v)&&E.charAt(v.length)==="/"),w=y?r:void 0,S;typeof o=="function"?S=o({isActive:y,isPending:T}):S=[o,y?"active":null,T?"pending":null].filter(Boolean).join(" ");let _=typeof s=="function"?s({isActive:y,isPending:T}):s;return g.createElement(uN,ng({},c,{"aria-current":w,className:S,ref:n,style:_,to:l}),typeof u=="function"?u({isActive:y,isPending:T}):u)});var K2;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmitImpl="useSubmitImpl",e.UseFetcher="useFetcher"})(K2||(K2={}));var X2;(function(e){e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(X2||(X2={}));function iW(e,t){let{target:n,replace:r,state:i,preventScrollReset:o,relative:a}=t===void 0?{}:t,s=$H(),l=Fp(),u=lN(e,{relative:a});return g.useCallback(c=>{if(ZH(c,n)){c.preventDefault();let f=r!==void 0?r:eg(l)===eg(u);s(e,{replace:f,state:i,preventScrollReset:o,relative:a})}},[l,s,u,r,i,n,e,o,a])}var oW=Object.defineProperty,aW=(e,t,n)=>t in e?oW(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,i1=(e,t,n)=>(aW(e,typeof t!="symbol"?t+"":t,n),n);let sW=class{constructor(){i1(this,"current",this.detect()),i1(this,"handoffState","pending"),i1(this,"currentId",0)}set(t){this.current!==t&&(this.handoffState="pending",this.currentId=0,this.current=t)}reset(){this.set(this.detect())}nextId(){return++this.currentId}get isServer(){return this.current==="server"}get isClient(){return this.current==="client"}detect(){return typeof window>"u"||typeof document>"u"?"server":"client"}handoff(){this.handoffState==="pending"&&(this.handoffState="complete")}get isHandoffComplete(){return this.handoffState==="complete"}},wo=new sW,Un=(e,t)=>{wo.isServer?g.useEffect(e,t):g.useLayoutEffect(e,t)};function $i(e){let t=g.useRef(e);return Un(()=>{t.current=e},[e]),t}function W$(e,t){let[n,r]=g.useState(e),i=$i(e);return Un(()=>r(i.current),[i,r,...t]),n}function Rp(e){typeof queueMicrotask=="function"?queueMicrotask(e):Promise.resolve().then(e).catch(t=>setTimeout(()=>{throw t}))}function ca(){let e=[],t={addEventListener(n,r,i,o){return n.addEventListener(r,i,o),t.add(()=>n.removeEventListener(r,i,o))},requestAnimationFrame(...n){let r=requestAnimationFrame(...n);return t.add(()=>cancelAnimationFrame(r))},nextFrame(...n){return t.requestAnimationFrame(()=>t.requestAnimationFrame(...n))},setTimeout(...n){let r=setTimeout(...n);return t.add(()=>clearTimeout(r))},microTask(...n){let r={current:!0};return Rp(()=>{r.current&&n[0]()}),t.add(()=>{r.current=!1})},style(n,r,i){let o=n.style.getPropertyValue(r);return Object.assign(n.style,{[r]:i}),this.add(()=>{Object.assign(n.style,{[r]:o})})},group(n){let r=ca();return n(r),this.add(()=>r.dispose())},add(n){return e.push(n),()=>{let r=e.indexOf(n);if(r>=0)for(let i of e.splice(r,1))i()}},dispose(){for(let n of e.splice(0))n()}};return t}function Tl(){let[e]=g.useState(ca);return g.useEffect(()=>()=>e.dispose(),[e]),e}let ke=function(e){let t=$i(e);return $.useCallback((...n)=>t.current(...n),[t])};function kc(){let[e,t]=g.useState(wo.isHandoffComplete);return e&&wo.isHandoffComplete===!1&&t(!1),g.useEffect(()=>{e!==!0&&t(!0)},[e]),g.useEffect(()=>wo.handoff(),[]),e}var Z2;let Co=(Z2=$.useId)!=null?Z2:function(){let e=kc(),[t,n]=$.useState(e?()=>wo.nextId():null);return Un(()=>{t===null&&n(wo.nextId())},[t]),t!=null?""+t:void 0};function Qt(e,t,...n){if(e in t){let i=t[e];return typeof i=="function"?i(...n):i}let r=new Error(`Tried to handle "${e}" but there is no handler defined. Only defined handlers are: ${Object.keys(t).map(i=>`"${i}"`).join(", ")}.`);throw Error.captureStackTrace&&Error.captureStackTrace(r,Qt),r}function cN(e){return wo.isServer?null:e instanceof Node?e.ownerDocument:e!=null&&e.hasOwnProperty("current")&&e.current instanceof Node?e.current.ownerDocument:document}let CT=["[contentEditable=true]","[tabindex]","a[href]","area[href]","button:not([disabled])","iframe","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].map(e=>`${e}:not([tabindex='-1'])`).join(",");var zs=(e=>(e[e.First=1]="First",e[e.Previous=2]="Previous",e[e.Next=4]="Next",e[e.Last=8]="Last",e[e.WrapAround=16]="WrapAround",e[e.NoScroll=32]="NoScroll",e))(zs||{}),Y$=(e=>(e[e.Error=0]="Error",e[e.Overflow=1]="Overflow",e[e.Success=2]="Success",e[e.Underflow=3]="Underflow",e))(Y$||{}),lW=(e=>(e[e.Previous=-1]="Previous",e[e.Next=1]="Next",e))(lW||{});function uW(e=document.body){return e==null?[]:Array.from(e.querySelectorAll(CT)).sort((t,n)=>Math.sign((t.tabIndex||Number.MAX_SAFE_INTEGER)-(n.tabIndex||Number.MAX_SAFE_INTEGER)))}var fN=(e=>(e[e.Strict=0]="Strict",e[e.Loose=1]="Loose",e))(fN||{});function J$(e,t=0){var n;return e===((n=cN(e))==null?void 0:n.body)?!1:Qt(t,{[0](){return e.matches(CT)},[1](){let r=e;for(;r!==null;){if(r.matches(CT))return!0;r=r.parentElement}return!1}})}function al(e){e==null||e.focus({preventScroll:!0})}let cW=["textarea","input"].join(",");function fW(e){var t,n;return(n=(t=e==null?void 0:e.matches)==null?void 0:t.call(e,cW))!=null?n:!1}function K$(e,t=n=>n){return e.slice().sort((n,r)=>{let i=t(n),o=t(r);if(i===null||o===null)return 0;let a=i.compareDocumentPosition(o);return a&Node.DOCUMENT_POSITION_FOLLOWING?-1:a&Node.DOCUMENT_POSITION_PRECEDING?1:0})}function Nm(e,t,{sorted:n=!0,relativeTo:r=null,skipElements:i=[]}={}){let o=Array.isArray(e)?e.length>0?e[0].ownerDocument:document:e.ownerDocument,a=Array.isArray(e)?n?K$(e):e:uW(e);i.length>0&&a.length>1&&(a=a.filter(p=>!i.includes(p))),r=r??o.activeElement;let s=(()=>{if(t&5)return 1;if(t&10)return-1;throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")})(),l=(()=>{if(t&1)return 0;if(t&2)return Math.max(0,a.indexOf(r))-1;if(t&4)return Math.max(0,a.indexOf(r))+1;if(t&8)return a.length-1;throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")})(),u=t&32?{preventScroll:!0}:{},c=0,f=a.length,d;do{if(c>=f||c+f<=0)return 0;let p=l+c;if(t&16)p=(p+f)%f;else{if(p<0)return 3;if(p>=f)return 1}d=a[p],d==null||d.focus(u),c+=s}while(d!==o.activeElement);return t&6&&fW(d)&&d.select(),d.hasAttribute("tabindex")||d.setAttribute("tabindex","0"),2}function o1(e,t,n){let r=$i(t);g.useEffect(()=>{function i(o){r.current(o)}return document.addEventListener(e,i,n),()=>document.removeEventListener(e,i,n)},[e,n])}function X$(e,t,n=!0){let r=g.useRef(!1);g.useEffect(()=>{requestAnimationFrame(()=>{r.current=n})},[n]);function i(a,s){if(!r.current||a.defaultPrevented)return;let l=function c(f){return typeof f=="function"?c(f()):Array.isArray(f)||f instanceof Set?f:[f]}(e),u=s(a);if(u!==null&&u.getRootNode().contains(u)){for(let c of l){if(c===null)continue;let f=c instanceof HTMLElement?c:c.current;if(f!=null&&f.contains(u)||a.composed&&a.composedPath().includes(f))return}return!J$(u,fN.Loose)&&u.tabIndex!==-1&&a.preventDefault(),t(a,u)}}let o=g.useRef(null);o1("mousedown",a=>{var s,l;r.current&&(o.current=((l=(s=a.composedPath)==null?void 0:s.call(a))==null?void 0:l[0])||a.target)},!0),o1("click",a=>{o.current&&(i(a,()=>o.current),o.current=null)},!0),o1("blur",a=>i(a,()=>window.document.activeElement instanceof HTMLIFrameElement?window.document.activeElement:null),!0)}function eC(e){var t;if(e.type)return e.type;let n=(t=e.as)!=null?t:"button";if(typeof n=="string"&&n.toLowerCase()==="button")return"button"}function dW(e,t){let[n,r]=g.useState(()=>eC(e));return Un(()=>{r(eC(e))},[e.type,e.as]),Un(()=>{n||t.current&&t.current instanceof HTMLButtonElement&&!t.current.hasAttribute("type")&&r("button")},[n,t]),n}let Z$=Symbol();function pW(e,t=!0){return Object.assign(e,{[Z$]:t})}function er(...e){let t=g.useRef(e);g.useEffect(()=>{t.current=e},[e]);let n=ke(r=>{for(let i of t.current)i!=null&&(typeof i=="function"?i(r):i.current=r)});return e.every(r=>r==null||(r==null?void 0:r[Z$]))?void 0:n}function hW(e){throw new Error("Unexpected object: "+e)}var Tr=(e=>(e[e.First=0]="First",e[e.Previous=1]="Previous",e[e.Next=2]="Next",e[e.Last=3]="Last",e[e.Specific=4]="Specific",e[e.Nothing=5]="Nothing",e))(Tr||{});function mW(e,t){let n=t.resolveItems();if(n.length<=0)return null;let r=t.resolveActiveIndex(),i=r??-1,o=(()=>{switch(e.focus){case 0:return n.findIndex(a=>!t.resolveDisabled(a));case 1:{let a=n.slice().reverse().findIndex((s,l,u)=>i!==-1&&u.length-l-1>=i?!1:!t.resolveDisabled(s));return a===-1?a:n.length-1-a}case 2:return n.findIndex((a,s)=>s<=i?!1:!t.resolveDisabled(a));case 3:{let a=n.slice().reverse().findIndex(s=>!t.resolveDisabled(s));return a===-1?a:n.length-1-a}case 4:return n.findIndex(a=>t.resolveId(a)===e.id);case 5:return null;default:hW(e)}})();return o===-1?r:o}function eP(...e){return e.filter(Boolean).join(" ")}var fc=(e=>(e[e.None=0]="None",e[e.RenderStrategy=1]="RenderStrategy",e[e.Static=2]="Static",e))(fc||{}),Yo=(e=>(e[e.Unmount=0]="Unmount",e[e.Hidden=1]="Hidden",e))(Yo||{});function qn({ourProps:e,theirProps:t,slot:n,defaultTag:r,features:i,visible:o=!0,name:a}){let s=tP(t,e);if(o)return Fh(s,n,r,a);let l=i??0;if(l&2){let{static:u=!1,...c}=s;if(u)return Fh(c,n,r,a)}if(l&1){let{unmount:u=!0,...c}=s;return Qt(u?0:1,{[0](){return null},[1](){return Fh({...c,hidden:!0,style:{display:"none"}},n,r,a)}})}return Fh(s,n,r,a)}function Fh(e,t={},n,r){var i;let{as:o=n,children:a,refName:s="ref",...l}=a1(e,["unmount","static"]),u=e.ref!==void 0?{[s]:e.ref}:{},c=typeof a=="function"?a(t):a;"className"in l&&l.className&&typeof l.className=="function"&&(l.className=l.className(t));let f={};if(t){let d=!1,p=[];for(let[m,v]of Object.entries(t))typeof v=="boolean"&&(d=!0),v===!0&&p.push(m);d&&(f["data-headlessui-state"]=p.join(" "))}if(o===g.Fragment&&Object.keys(kT(l)).length>0){if(!g.isValidElement(c)||Array.isArray(c)&&c.length>1)throw new Error(['Passing props on "Fragment"!',"",`The current component <${r} /> is rendering a "Fragment".`,"However we need to passthrough the following props:",Object.keys(l).map(m=>` - ${m}`).join(` +`),"","You can apply a few solutions:",['Add an `as="..."` prop, to ensure that we render an actual element instead of a "Fragment".',"Render a single element as the child so that we can forward the props onto that element."].map(m=>` - ${m}`).join(` +`)].join(` +`));let d=eP((i=c.props)==null?void 0:i.className,l.className),p=d?{className:d}:{};return g.cloneElement(c,Object.assign({},tP(c.props,kT(a1(l,["ref"]))),f,u,vW(c.ref,u.ref),p))}return g.createElement(o,Object.assign({},a1(l,["ref"]),o!==g.Fragment&&u,o!==g.Fragment&&f),c)}function vW(...e){return{ref:e.every(t=>t==null)?void 0:t=>{for(let n of e)n!=null&&(typeof n=="function"?n(t):n.current=t)}}}function tP(...e){if(e.length===0)return{};if(e.length===1)return e[0];let t={},n={};for(let r of e)for(let i in r)i.startsWith("on")&&typeof r[i]=="function"?(n[i]!=null||(n[i]=[]),n[i].push(r[i])):t[i]=r[i];if(t.disabled||t["aria-disabled"])return Object.assign(t,Object.fromEntries(Object.keys(n).map(r=>[r,void 0])));for(let r in n)Object.assign(t,{[r](i,...o){let a=n[r];for(let s of a){if((i instanceof Event||(i==null?void 0:i.nativeEvent)instanceof Event)&&i.defaultPrevented)return;s(i,...o)}}});return t}function Cn(e){var t;return Object.assign(g.forwardRef(e),{displayName:(t=e.displayName)!=null?t:e.name})}function kT(e){let t=Object.assign({},e);for(let n in t)t[n]===void 0&&delete t[n];return t}function a1(e,t=[]){let n=Object.assign({},e);for(let r of t)r in n&&delete n[r];return n}function nP(e){let t=e.parentElement,n=null;for(;t&&!(t instanceof HTMLFieldSetElement);)t instanceof HTMLLegendElement&&(n=t),t=t.parentElement;let r=(t==null?void 0:t.getAttribute("disabled"))==="";return r&&gW(n)?!1:r}function gW(e){if(!e)return!1;let t=e.previousElementSibling;for(;t!==null;){if(t instanceof HTMLLegendElement)return!1;t=t.previousElementSibling}return!0}function rP(e={},t=null,n=[]){for(let[r,i]of Object.entries(e))oP(n,iP(t,r),i);return n}function iP(e,t){return e?e+"["+t+"]":t}function oP(e,t,n){if(Array.isArray(n))for(let[r,i]of n.entries())oP(e,iP(t,r.toString()),i);else n instanceof Date?e.push([t,n.toISOString()]):typeof n=="boolean"?e.push([t,n?"1":"0"]):typeof n=="string"?e.push([t,n]):typeof n=="number"?e.push([t,`${n}`]):n==null?e.push([t,""]):rP(n,t,e)}let yW="div";var Ad=(e=>(e[e.None=1]="None",e[e.Focusable=2]="Focusable",e[e.Hidden=4]="Hidden",e))(Ad||{});function EW(e,t){let{features:n=1,...r}=e,i={ref:t,"aria-hidden":(n&2)===2?!0:void 0,style:{position:"fixed",top:1,left:1,width:1,height:0,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0",...(n&4)===4&&(n&2)!==2&&{display:"none"}}};return qn({ourProps:i,theirProps:r,slot:{},defaultTag:yW,name:"Hidden"})}let rg=Cn(EW),dN=g.createContext(null);dN.displayName="OpenClosedContext";var $n=(e=>(e[e.Open=1]="Open",e[e.Closed=2]="Closed",e[e.Closing=4]="Closing",e[e.Opening=8]="Opening",e))($n||{});function Py(){return g.useContext(dN)}function aP({value:e,children:t}){return $.createElement(dN.Provider,{value:e},t)}var sn=(e=>(e.Space=" ",e.Enter="Enter",e.Escape="Escape",e.Backspace="Backspace",e.Delete="Delete",e.ArrowLeft="ArrowLeft",e.ArrowUp="ArrowUp",e.ArrowRight="ArrowRight",e.ArrowDown="ArrowDown",e.Home="Home",e.End="End",e.PageUp="PageUp",e.PageDown="PageDown",e.Tab="Tab",e))(sn||{});function bW(e,t,n){let[r,i]=g.useState(n),o=e!==void 0,a=g.useRef(o),s=g.useRef(!1),l=g.useRef(!1);return o&&!a.current&&!s.current?(s.current=!0,a.current=o,console.error("A component is changing from uncontrolled to controlled. This may be caused by the value changing from undefined to a defined value, which should not happen.")):!o&&a.current&&!l.current&&(l.current=!0,a.current=o,console.error("A component is changing from controlled to uncontrolled. This may be caused by the value changing from a defined value to undefined, which should not happen.")),[o?e:r,ke(u=>(o||i(u),t==null?void 0:t(u)))]}function pN(e,t){let n=g.useRef([]),r=ke(e);g.useEffect(()=>{let i=[...n.current];for(let[o,a]of t.entries())if(n.current[o]!==a){let s=r(t,i);return n.current=t,s}},[r,...t])}function tC(e){return[e.screenX,e.screenY]}function TW(){let e=g.useRef([-1,-1]);return{wasMoved(t){let n=tC(t);return e.current[0]===n[0]&&e.current[1]===n[1]?!1:(e.current=n,!0)},update(t){e.current=tC(t)}}}function wW(){return/iPhone/gi.test(window.navigator.platform)||/Mac/gi.test(window.navigator.platform)&&window.navigator.maxTouchPoints>0}function _W(e,t,n){let r=$i(t);g.useEffect(()=>{function i(o){r.current(o)}return window.addEventListener(e,i,n),()=>window.removeEventListener(e,i,n)},[e,n])}var wf=(e=>(e[e.Forwards=0]="Forwards",e[e.Backwards=1]="Backwards",e))(wf||{});function SW(){let e=g.useRef(0);return _W("keydown",t=>{t.key==="Tab"&&(e.current=t.shiftKey?1:0)},!0),e}function My(){let e=g.useRef(!1);return Un(()=>(e.current=!0,()=>{e.current=!1}),[]),e}function Vy(...e){return g.useMemo(()=>cN(...e),[...e])}function sP(e,t,n,r){let i=$i(n);g.useEffect(()=>{e=e??window;function o(a){i.current(a)}return e.addEventListener(t,o,r),()=>e.removeEventListener(t,o,r)},[e,t,r])}function lP(e){if(!e)return new Set;if(typeof e=="function")return new Set(e());let t=new Set;for(let n of e.current)n.current instanceof HTMLElement&&t.add(n.current);return t}let NW="div";var uP=(e=>(e[e.None=1]="None",e[e.InitialFocus=2]="InitialFocus",e[e.TabLock=4]="TabLock",e[e.FocusLock=8]="FocusLock",e[e.RestoreFocus=16]="RestoreFocus",e[e.All=30]="All",e))(uP||{});function IW(e,t){let n=g.useRef(null),r=er(n,t),{initialFocus:i,containers:o,features:a=30,...s}=e;kc()||(a=1);let l=Vy(n);OW({ownerDocument:l},Boolean(a&16));let u=CW({ownerDocument:l,container:n,initialFocus:i},Boolean(a&2));kW({ownerDocument:l,container:n,containers:o,previousActiveElement:u},Boolean(a&8));let c=SW(),f=ke(v=>{let b=n.current;b&&(E=>E())(()=>{Qt(c.current,{[wf.Forwards]:()=>{Nm(b,zs.First,{skipElements:[v.relatedTarget]})},[wf.Backwards]:()=>{Nm(b,zs.Last,{skipElements:[v.relatedTarget]})}})})}),d=Tl(),p=g.useRef(!1),m={ref:r,onKeyDown(v){v.key=="Tab"&&(p.current=!0,d.requestAnimationFrame(()=>{p.current=!1}))},onBlur(v){let b=lP(o);n.current instanceof HTMLElement&&b.add(n.current);let E=v.relatedTarget;E instanceof HTMLElement&&E.dataset.headlessuiFocusGuard!=="true"&&(cP(b,E)||(p.current?Nm(n.current,Qt(c.current,{[wf.Forwards]:()=>zs.Next,[wf.Backwards]:()=>zs.Previous})|zs.WrapAround,{relativeTo:v.target}):v.target instanceof HTMLElement&&al(v.target)))}};return $.createElement($.Fragment,null,Boolean(a&4)&&$.createElement(rg,{as:"button",type:"button","data-headlessui-focus-guard":!0,onFocus:f,features:Ad.Focusable}),qn({ourProps:m,theirProps:s,defaultTag:NW,name:"FocusTrap"}),Boolean(a&4)&&$.createElement(rg,{as:"button",type:"button","data-headlessui-focus-guard":!0,onFocus:f,features:Ad.Focusable}))}let xW=Cn(IW),af=Object.assign(xW,{features:uP}),La=[];if(typeof window<"u"&&typeof document<"u"){let e=function(t){t.target instanceof HTMLElement&&t.target!==document.body&&La[0]!==t.target&&(La.unshift(t.target),La=La.filter(n=>n!=null&&n.isConnected),La.splice(10))};window.addEventListener("click",e,{capture:!0}),window.addEventListener("mousedown",e,{capture:!0}),window.addEventListener("focus",e,{capture:!0}),document.body.addEventListener("click",e,{capture:!0}),document.body.addEventListener("mousedown",e,{capture:!0}),document.body.addEventListener("focus",e,{capture:!0})}function DW(e=!0){let t=g.useRef(La.slice());return pN(([n],[r])=>{r===!0&&n===!1&&Rp(()=>{t.current.splice(0)}),r===!1&&n===!0&&(t.current=La.slice())},[e,La,t]),ke(()=>{var n;return(n=t.current.find(r=>r!=null&&r.isConnected))!=null?n:null})}function OW({ownerDocument:e},t){let n=DW(t);pN(()=>{t||(e==null?void 0:e.activeElement)===(e==null?void 0:e.body)&&al(n())},[t]);let r=g.useRef(!1);g.useEffect(()=>(r.current=!1,()=>{r.current=!0,Rp(()=>{r.current&&al(n())})}),[])}function CW({ownerDocument:e,container:t,initialFocus:n},r){let i=g.useRef(null),o=My();return pN(()=>{if(!r)return;let a=t.current;a&&Rp(()=>{if(!o.current)return;let s=e==null?void 0:e.activeElement;if(n!=null&&n.current){if((n==null?void 0:n.current)===s){i.current=s;return}}else if(a.contains(s)){i.current=s;return}n!=null&&n.current?al(n.current):Nm(a,zs.First)===Y$.Error&&console.warn("There are no focusable elements inside the "),i.current=e==null?void 0:e.activeElement})},[r]),i}function kW({ownerDocument:e,container:t,containers:n,previousActiveElement:r},i){let o=My();sP(e==null?void 0:e.defaultView,"focus",a=>{if(!i||!o.current)return;let s=lP(n);t.current instanceof HTMLElement&&s.add(t.current);let l=r.current;if(!l)return;let u=a.target;u&&u instanceof HTMLElement?cP(s,u)?(r.current=u,al(u)):(a.preventDefault(),a.stopPropagation(),al(l)):al(r.current)},!0)}function cP(e,t){for(let n of e)if(n.contains(t))return!0;return!1}let fP=g.createContext(!1);function AW(){return g.useContext(fP)}function AT(e){return $.createElement(fP.Provider,{value:e.force},e.children)}function FW(e){let t=AW(),n=g.useContext(dP),r=Vy(e),[i,o]=g.useState(()=>{if(!t&&n!==null||wo.isServer)return null;let a=r==null?void 0:r.getElementById("headlessui-portal-root");if(a)return a;if(r===null)return null;let s=r.createElement("div");return s.setAttribute("id","headlessui-portal-root"),r.body.appendChild(s)});return g.useEffect(()=>{i!==null&&(r!=null&&r.body.contains(i)||r==null||r.body.appendChild(i))},[i,r]),g.useEffect(()=>{t||n!==null&&o(n.current)},[n,o,t]),i}let RW=g.Fragment;function LW(e,t){let n=e,r=g.useRef(null),i=er(pW(c=>{r.current=c}),t),o=Vy(r),a=FW(r),[s]=g.useState(()=>{var c;return wo.isServer?null:(c=o==null?void 0:o.createElement("div"))!=null?c:null}),l=kc(),u=g.useRef(!1);return Un(()=>{if(u.current=!1,!(!a||!s))return a.contains(s)||(s.setAttribute("data-headlessui-portal",""),a.appendChild(s)),()=>{u.current=!0,Rp(()=>{var c;u.current&&(!a||!s||(s instanceof Node&&a.contains(s)&&a.removeChild(s),a.childNodes.length<=0&&((c=a.parentElement)==null||c.removeChild(a))))})}},[a,s]),l?!a||!s?null:rc.createPortal(qn({ourProps:{ref:i},theirProps:n,defaultTag:RW,name:"Portal"}),s):null}let $W=g.Fragment,dP=g.createContext(null);function PW(e,t){let{target:n,...r}=e,i={ref:er(t)};return $.createElement(dP.Provider,{value:n},qn({ourProps:i,theirProps:r,defaultTag:$W,name:"Popover.Group"}))}let MW=Cn(LW),VW=Cn(PW),FT=Object.assign(MW,{Group:VW}),pP=g.createContext(null);function hP(){let e=g.useContext(pP);if(e===null){let t=new Error("You used a component, but it is not inside a relevant parent.");throw Error.captureStackTrace&&Error.captureStackTrace(t,hP),t}return e}function jW(){let[e,t]=g.useState([]);return[e.length>0?e.join(" "):void 0,g.useMemo(()=>function(n){let r=ke(o=>(t(a=>[...a,o]),()=>t(a=>{let s=a.slice(),l=s.indexOf(o);return l!==-1&&s.splice(l,1),s}))),i=g.useMemo(()=>({register:r,slot:n.slot,name:n.name,props:n.props}),[r,n.slot,n.name,n.props]);return $.createElement(pP.Provider,{value:i},n.children)},[t])]}let UW="p";function BW(e,t){let n=Co(),{id:r=`headlessui-description-${n}`,...i}=e,o=hP(),a=er(t);Un(()=>o.register(r),[r,o.register]);let s={ref:a,...o.props,id:r};return qn({ourProps:s,theirProps:i,slot:o.slot||{},defaultTag:UW,name:o.name||"Description"})}let qW=Cn(BW),zW=Object.assign(qW,{}),hN=g.createContext(()=>{});hN.displayName="StackContext";var RT=(e=>(e[e.Add=0]="Add",e[e.Remove=1]="Remove",e))(RT||{});function QW(){return g.useContext(hN)}function GW({children:e,onUpdate:t,type:n,element:r,enabled:i}){let o=QW(),a=ke((...s)=>{t==null||t(...s),o(...s)});return Un(()=>{let s=i===void 0||i===!0;return s&&a(0,n,r),()=>{s&&a(1,n,r)}},[a,n,r,i]),$.createElement(hN.Provider,{value:a},e)}function HW(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}const WW=typeof Object.is=="function"?Object.is:HW,{useState:YW,useEffect:JW,useLayoutEffect:KW,useDebugValue:XW}=ts;function ZW(e,t,n){const r=t(),[{inst:i},o]=YW({inst:{value:r,getSnapshot:t}});return KW(()=>{i.value=r,i.getSnapshot=t,s1(i)&&o({inst:i})},[e,r,t]),JW(()=>(s1(i)&&o({inst:i}),e(()=>{s1(i)&&o({inst:i})})),[e]),XW(r),r}function s1(e){const t=e.getSnapshot,n=e.value;try{const r=t();return!WW(n,r)}catch{return!0}}function eY(e,t,n){return t()}const tY=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",nY=!tY,rY=nY?eY:ZW,iY="useSyncExternalStore"in ts?(e=>e.useSyncExternalStore)(ts):rY;function oY(e){return iY(e.subscribe,e.getSnapshot,e.getSnapshot)}function aY(e,t){let n=e(),r=new Set;return{getSnapshot(){return n},subscribe(i){return r.add(i),()=>r.delete(i)},dispatch(i,...o){let a=t[i].call(n,...o);a&&(n=a,r.forEach(s=>s()))}}}function sY(){let e;return{before({doc:t}){var n;let r=t.documentElement;e=((n=t.defaultView)!=null?n:window).innerWidth-r.clientWidth},after({doc:t,d:n}){let r=t.documentElement,i=r.clientWidth-r.offsetWidth,o=e-i;n.style(r,"paddingRight",`${o}px`)}}}function lY(){if(!wW())return{};let e;return{before(){e=window.pageYOffset},after({doc:t,d:n,meta:r}){function i(a){return r.containers.flatMap(s=>s()).some(s=>s.contains(a))}n.style(t.body,"marginTop",`-${e}px`),window.scrollTo(0,0);let o=null;n.addEventListener(t,"click",a=>{if(a.target instanceof HTMLElement)try{let s=a.target.closest("a");if(!s)return;let{hash:l}=new URL(s.href),u=t.querySelector(l);u&&!i(u)&&(o=u)}catch{}},!0),n.addEventListener(t,"touchmove",a=>{a.target instanceof HTMLElement&&!i(a.target)&&a.preventDefault()},{passive:!1}),n.add(()=>{window.scrollTo(0,window.pageYOffset+e),o&&o.isConnected&&(o.scrollIntoView({block:"nearest"}),o=null)})}}}function uY(){return{before({doc:e,d:t}){t.style(e.documentElement,"overflow","hidden")}}}function cY(e){let t={};for(let n of e)Object.assign(t,n(t));return t}let Js=aY(()=>new Map,{PUSH(e,t){var n;let r=(n=this.get(e))!=null?n:{doc:e,count:0,d:ca(),meta:new Set};return r.count++,r.meta.add(t),this.set(e,r),this},POP(e,t){let n=this.get(e);return n&&(n.count--,n.meta.delete(t)),this},SCROLL_PREVENT({doc:e,d:t,meta:n}){let r={doc:e,d:t,meta:cY(n)},i=[lY(),sY(),uY()];i.forEach(({before:o})=>o==null?void 0:o(r)),i.forEach(({after:o})=>o==null?void 0:o(r))},SCROLL_ALLOW({d:e}){e.dispose()},TEARDOWN({doc:e}){this.delete(e)}});Js.subscribe(()=>{let e=Js.getSnapshot(),t=new Map;for(let[n]of e)t.set(n,n.documentElement.style.overflow);for(let n of e.values()){let r=t.get(n.doc)==="hidden",i=n.count!==0;(i&&!r||!i&&r)&&Js.dispatch(n.count>0?"SCROLL_PREVENT":"SCROLL_ALLOW",n),n.count===0&&Js.dispatch("TEARDOWN",n)}});function fY(e,t,n){let r=oY(Js),i=e?r.get(e):void 0,o=i?i.count>0:!1;return Un(()=>{if(!(!e||!t))return Js.dispatch("PUSH",e,n),()=>Js.dispatch("POP",e,n)},[t,e]),o}let l1=new Map,sf=new Map;function nC(e,t=!0){Un(()=>{var n;if(!t)return;let r=typeof e=="function"?e():e.current;if(!r)return;function i(){var a;if(!r)return;let s=(a=sf.get(r))!=null?a:1;if(s===1?sf.delete(r):sf.set(r,s-1),s!==1)return;let l=l1.get(r);l&&(l["aria-hidden"]===null?r.removeAttribute("aria-hidden"):r.setAttribute("aria-hidden",l["aria-hidden"]),r.inert=l.inert,l1.delete(r))}let o=(n=sf.get(r))!=null?n:0;return sf.set(r,o+1),o!==0||(l1.set(r,{"aria-hidden":r.getAttribute("aria-hidden"),inert:r.inert}),r.setAttribute("aria-hidden","true"),r.inert=!0),i},[e,t])}var dY=(e=>(e[e.Open=0]="Open",e[e.Closed=1]="Closed",e))(dY||{}),pY=(e=>(e[e.SetTitleId=0]="SetTitleId",e))(pY||{});let hY={[0](e,t){return e.titleId===t.id?e:{...e,titleId:t.id}}},ig=g.createContext(null);ig.displayName="DialogContext";function Lp(e){let t=g.useContext(ig);if(t===null){let n=new Error(`<${e} /> is missing a parent component.`);throw Error.captureStackTrace&&Error.captureStackTrace(n,Lp),n}return t}function mY(e,t,n=()=>[document.body]){fY(e,t,r=>{var i;return{containers:[...(i=r.containers)!=null?i:[],n]}})}function vY(e,t){return Qt(t.type,hY,e,t)}let gY="div",yY=fc.RenderStrategy|fc.Static;function EY(e,t){let n=Co(),{id:r=`headlessui-dialog-${n}`,open:i,onClose:o,initialFocus:a,__demoMode:s=!1,...l}=e,[u,c]=g.useState(0),f=Py();i===void 0&&f!==null&&(i=(f&$n.Open)===$n.Open);let d=g.useRef(null),p=er(d,t),m=g.useRef(null),v=Vy(d),b=e.hasOwnProperty("open")||f!==null,E=e.hasOwnProperty("onClose");if(!b&&!E)throw new Error("You have to provide an `open` and an `onClose` prop to the `Dialog` component.");if(!b)throw new Error("You provided an `onClose` prop to the `Dialog`, but forgot an `open` prop.");if(!E)throw new Error("You provided an `open` prop to the `Dialog`, but forgot an `onClose` prop.");if(typeof i!="boolean")throw new Error(`You provided an \`open\` prop to the \`Dialog\`, but the value is not a boolean. Received: ${i}`);if(typeof o!="function")throw new Error(`You provided an \`onClose\` prop to the \`Dialog\`, but the value is not a function. Received: ${o}`);let y=i?0:1,[T,w]=g.useReducer(vY,{titleId:null,descriptionId:null,panelRef:g.createRef()}),S=ke(()=>o(!1)),_=ke(R=>w({type:0,id:R})),I=kc()?s?!1:y===0:!1,A=u>1,N=g.useContext(ig)!==null,C=A?"parent":"leaf",U=f!==null?(f&$n.Closing)===$n.Closing:!1,G=(()=>N||U?!1:I)(),Y=g.useCallback(()=>{var R,J;return(J=Array.from((R=v==null?void 0:v.querySelectorAll("body > *"))!=null?R:[]).find(ae=>ae.id==="headlessui-portal-root"?!1:ae.contains(m.current)&&ae instanceof HTMLElement))!=null?J:null},[m]);nC(Y,G);let P=(()=>A?!0:I)(),V=g.useCallback(()=>{var R,J;return(J=Array.from((R=v==null?void 0:v.querySelectorAll("[data-headlessui-portal]"))!=null?R:[]).find(ae=>ae.contains(m.current)&&ae instanceof HTMLElement))!=null?J:null},[m]);nC(V,P);let j=ke(()=>{var R,J;return[...Array.from((R=v==null?void 0:v.querySelectorAll("html > *, body > *, [data-headlessui-portal]"))!=null?R:[]).filter(ae=>!(ae===document.body||ae===document.head||!(ae instanceof HTMLElement)||ae.contains(m.current)||T.panelRef.current&&ae.contains(T.panelRef.current))),(J=T.panelRef.current)!=null?J:d.current]}),H=(()=>!(!I||A))();X$(()=>j(),S,H);let F=(()=>!(A||y!==0))();sP(v==null?void 0:v.defaultView,"keydown",R=>{F&&(R.defaultPrevented||R.key===sn.Escape&&(R.preventDefault(),R.stopPropagation(),S()))});let z=(()=>!(U||y!==0||N))();mY(v,z,j),g.useEffect(()=>{if(y!==0||!d.current)return;let R=new ResizeObserver(J=>{for(let ae of J){let se=ae.target.getBoundingClientRect();se.x===0&&se.y===0&&se.width===0&&se.height===0&&S()}});return R.observe(d.current),()=>R.disconnect()},[y,d,S]);let[B,X]=jW(),x=g.useMemo(()=>[{dialogState:y,close:S,setTitleId:_},T],[y,T,S,_]),M=g.useMemo(()=>({open:y===0}),[y]),L={ref:p,id:r,role:"dialog","aria-modal":y===0?!0:void 0,"aria-labelledby":T.titleId,"aria-describedby":B};return $.createElement(GW,{type:"Dialog",enabled:y===0,element:d,onUpdate:ke((R,J)=>{J==="Dialog"&&Qt(R,{[RT.Add]:()=>c(ae=>ae+1),[RT.Remove]:()=>c(ae=>ae-1)})})},$.createElement(AT,{force:!0},$.createElement(FT,null,$.createElement(ig.Provider,{value:x},$.createElement(FT.Group,{target:d},$.createElement(AT,{force:!1},$.createElement(X,{slot:M,name:"Dialog.Description"},$.createElement(af,{initialFocus:a,containers:j,features:I?Qt(C,{parent:af.features.RestoreFocus,leaf:af.features.All&~af.features.FocusLock}):af.features.None},qn({ourProps:L,theirProps:l,slot:M,defaultTag:gY,features:yY,visible:y===0,name:"Dialog"})))))))),$.createElement(rg,{features:Ad.Hidden,ref:m}))}let bY="div";function TY(e,t){let n=Co(),{id:r=`headlessui-dialog-overlay-${n}`,...i}=e,[{dialogState:o,close:a}]=Lp("Dialog.Overlay"),s=er(t),l=ke(c=>{if(c.target===c.currentTarget){if(nP(c.currentTarget))return c.preventDefault();c.preventDefault(),c.stopPropagation(),a()}}),u=g.useMemo(()=>({open:o===0}),[o]);return qn({ourProps:{ref:s,id:r,"aria-hidden":!0,onClick:l},theirProps:i,slot:u,defaultTag:bY,name:"Dialog.Overlay"})}let wY="div";function _Y(e,t){let n=Co(),{id:r=`headlessui-dialog-backdrop-${n}`,...i}=e,[{dialogState:o},a]=Lp("Dialog.Backdrop"),s=er(t);g.useEffect(()=>{if(a.panelRef.current===null)throw new Error("A component is being used, but a component is missing.")},[a.panelRef]);let l=g.useMemo(()=>({open:o===0}),[o]);return $.createElement(AT,{force:!0},$.createElement(FT,null,qn({ourProps:{ref:s,id:r,"aria-hidden":!0},theirProps:i,slot:l,defaultTag:wY,name:"Dialog.Backdrop"})))}let SY="div";function NY(e,t){let n=Co(),{id:r=`headlessui-dialog-panel-${n}`,...i}=e,[{dialogState:o},a]=Lp("Dialog.Panel"),s=er(t,a.panelRef),l=g.useMemo(()=>({open:o===0}),[o]),u=ke(c=>{c.stopPropagation()});return qn({ourProps:{ref:s,id:r,onClick:u},theirProps:i,slot:l,defaultTag:SY,name:"Dialog.Panel"})}let IY="h2";function xY(e,t){let n=Co(),{id:r=`headlessui-dialog-title-${n}`,...i}=e,[{dialogState:o,setTitleId:a}]=Lp("Dialog.Title"),s=er(t);g.useEffect(()=>(a(r),()=>a(null)),[r,a]);let l=g.useMemo(()=>({open:o===0}),[o]);return qn({ourProps:{ref:s,id:r},theirProps:i,slot:l,defaultTag:IY,name:"Dialog.Title"})}let DY=Cn(EY),OY=Cn(_Y),CY=Cn(NY),kY=Cn(TY),AY=Cn(xY),rC=Object.assign(DY,{Backdrop:OY,Panel:CY,Overlay:kY,Title:AY,Description:zW});var FY=(e=>(e[e.Open=0]="Open",e[e.Closed=1]="Closed",e))(FY||{}),RY=(e=>(e[e.Single=0]="Single",e[e.Multi=1]="Multi",e))(RY||{}),LY=(e=>(e[e.Pointer=0]="Pointer",e[e.Other=1]="Other",e))(LY||{}),$Y=(e=>(e[e.OpenListbox=0]="OpenListbox",e[e.CloseListbox=1]="CloseListbox",e[e.GoToOption=2]="GoToOption",e[e.Search=3]="Search",e[e.ClearSearch=4]="ClearSearch",e[e.RegisterOption=5]="RegisterOption",e[e.UnregisterOption=6]="UnregisterOption",e[e.RegisterLabel=7]="RegisterLabel",e))($Y||{});function u1(e,t=n=>n){let n=e.activeOptionIndex!==null?e.options[e.activeOptionIndex]:null,r=K$(t(e.options.slice()),o=>o.dataRef.current.domRef.current),i=n?r.indexOf(n):null;return i===-1&&(i=null),{options:r,activeOptionIndex:i}}let PY={[1](e){return e.dataRef.current.disabled||e.listboxState===1?e:{...e,activeOptionIndex:null,listboxState:1}},[0](e){if(e.dataRef.current.disabled||e.listboxState===0)return e;let t=e.activeOptionIndex,{isSelected:n}=e.dataRef.current,r=e.options.findIndex(i=>n(i.dataRef.current.value));return r!==-1&&(t=r),{...e,listboxState:0,activeOptionIndex:t}},[2](e,t){var n;if(e.dataRef.current.disabled||e.listboxState===1)return e;let r=u1(e),i=mW(t,{resolveItems:()=>r.options,resolveActiveIndex:()=>r.activeOptionIndex,resolveId:o=>o.id,resolveDisabled:o=>o.dataRef.current.disabled});return{...e,...r,searchQuery:"",activeOptionIndex:i,activationTrigger:(n=t.trigger)!=null?n:1}},[3]:(e,t)=>{if(e.dataRef.current.disabled||e.listboxState===1)return e;let n=e.searchQuery!==""?0:1,r=e.searchQuery+t.value.toLowerCase(),i=(e.activeOptionIndex!==null?e.options.slice(e.activeOptionIndex+n).concat(e.options.slice(0,e.activeOptionIndex+n)):e.options).find(a=>{var s;return!a.dataRef.current.disabled&&((s=a.dataRef.current.textValue)==null?void 0:s.startsWith(r))}),o=i?e.options.indexOf(i):-1;return o===-1||o===e.activeOptionIndex?{...e,searchQuery:r}:{...e,searchQuery:r,activeOptionIndex:o,activationTrigger:1}},[4](e){return e.dataRef.current.disabled||e.listboxState===1||e.searchQuery===""?e:{...e,searchQuery:""}},[5]:(e,t)=>{let n={id:t.id,dataRef:t.dataRef},r=u1(e,i=>[...i,n]);return e.activeOptionIndex===null&&e.dataRef.current.isSelected(t.dataRef.current.value)&&(r.activeOptionIndex=r.options.indexOf(n)),{...e,...r}},[6]:(e,t)=>{let n=u1(e,r=>{let i=r.findIndex(o=>o.id===t.id);return i!==-1&&r.splice(i,1),r});return{...e,...n,activationTrigger:1}},[7]:(e,t)=>({...e,labelId:t.id})},mN=g.createContext(null);mN.displayName="ListboxActionsContext";function $p(e){let t=g.useContext(mN);if(t===null){let n=new Error(`<${e} /> is missing a parent component.`);throw Error.captureStackTrace&&Error.captureStackTrace(n,$p),n}return t}let vN=g.createContext(null);vN.displayName="ListboxDataContext";function Pp(e){let t=g.useContext(vN);if(t===null){let n=new Error(`<${e} /> is missing a parent component.`);throw Error.captureStackTrace&&Error.captureStackTrace(n,Pp),n}return t}function MY(e,t){return Qt(t.type,PY,e,t)}let VY=g.Fragment;function jY(e,t){let{value:n,defaultValue:r,name:i,onChange:o,by:a=(M,L)=>M===L,disabled:s=!1,horizontal:l=!1,multiple:u=!1,...c}=e;const f=l?"horizontal":"vertical";let d=er(t),[p=u?[]:void 0,m]=bW(n,o,r),[v,b]=g.useReducer(MY,{dataRef:g.createRef(),listboxState:1,options:[],searchQuery:"",labelId:null,activeOptionIndex:null,activationTrigger:1}),E=g.useRef({static:!1,hold:!1}),y=g.useRef(null),T=g.useRef(null),w=g.useRef(null),S=ke(typeof a=="string"?(M,L)=>{let R=a;return(M==null?void 0:M[R])===(L==null?void 0:L[R])}:a),_=g.useCallback(M=>Qt(I.mode,{[1]:()=>p.some(L=>S(L,M)),[0]:()=>S(p,M)}),[p]),I=g.useMemo(()=>({...v,value:p,disabled:s,mode:u?1:0,orientation:f,compare:S,isSelected:_,optionsPropsRef:E,labelRef:y,buttonRef:T,optionsRef:w}),[p,s,u,v]);Un(()=>{v.dataRef.current=I},[I]),X$([I.buttonRef,I.optionsRef],(M,L)=>{var R;b({type:1}),J$(L,fN.Loose)||(M.preventDefault(),(R=I.buttonRef.current)==null||R.focus())},I.listboxState===0);let A=g.useMemo(()=>({open:I.listboxState===0,disabled:s,value:p}),[I,s,p]),N=ke(M=>{let L=I.options.find(R=>R.id===M);L&&j(L.dataRef.current.value)}),C=ke(()=>{if(I.activeOptionIndex!==null){let{dataRef:M,id:L}=I.options[I.activeOptionIndex];j(M.current.value),b({type:2,focus:Tr.Specific,id:L})}}),U=ke(()=>b({type:0})),G=ke(()=>b({type:1})),Y=ke((M,L,R)=>M===Tr.Specific?b({type:2,focus:Tr.Specific,id:L,trigger:R}):b({type:2,focus:M,trigger:R})),P=ke((M,L)=>(b({type:5,id:M,dataRef:L}),()=>b({type:6,id:M}))),V=ke(M=>(b({type:7,id:M}),()=>b({type:7,id:null}))),j=ke(M=>Qt(I.mode,{[0](){return m==null?void 0:m(M)},[1](){let L=I.value.slice(),R=L.findIndex(J=>S(J,M));return R===-1?L.push(M):L.splice(R,1),m==null?void 0:m(L)}})),H=ke(M=>b({type:3,value:M})),F=ke(()=>b({type:4})),z=g.useMemo(()=>({onChange:j,registerOption:P,registerLabel:V,goToOption:Y,closeListbox:G,openListbox:U,selectActiveOption:C,selectOption:N,search:H,clearSearch:F}),[]),B={ref:d},X=g.useRef(null),x=Tl();return g.useEffect(()=>{X.current&&r!==void 0&&x.addEventListener(X.current,"reset",()=>{j(r)})},[X,j]),$.createElement(mN.Provider,{value:z},$.createElement(vN.Provider,{value:I},$.createElement(aP,{value:Qt(I.listboxState,{[0]:$n.Open,[1]:$n.Closed})},i!=null&&p!=null&&rP({[i]:p}).map(([M,L],R)=>$.createElement(rg,{features:Ad.Hidden,ref:R===0?J=>{var ae;X.current=(ae=J==null?void 0:J.closest("form"))!=null?ae:null}:void 0,...kT({key:M,as:"input",type:"hidden",hidden:!0,readOnly:!0,name:M,value:L})})),qn({ourProps:B,theirProps:c,slot:A,defaultTag:VY,name:"Listbox"}))))}let UY="button";function BY(e,t){var n;let r=Co(),{id:i=`headlessui-listbox-button-${r}`,...o}=e,a=Pp("Listbox.Button"),s=$p("Listbox.Button"),l=er(a.buttonRef,t),u=Tl(),c=ke(b=>{switch(b.key){case sn.Space:case sn.Enter:case sn.ArrowDown:b.preventDefault(),s.openListbox(),u.nextFrame(()=>{a.value||s.goToOption(Tr.First)});break;case sn.ArrowUp:b.preventDefault(),s.openListbox(),u.nextFrame(()=>{a.value||s.goToOption(Tr.Last)});break}}),f=ke(b=>{switch(b.key){case sn.Space:b.preventDefault();break}}),d=ke(b=>{if(nP(b.currentTarget))return b.preventDefault();a.listboxState===0?(s.closeListbox(),u.nextFrame(()=>{var E;return(E=a.buttonRef.current)==null?void 0:E.focus({preventScroll:!0})})):(b.preventDefault(),s.openListbox())}),p=W$(()=>{if(a.labelId)return[a.labelId,i].join(" ")},[a.labelId,i]),m=g.useMemo(()=>({open:a.listboxState===0,disabled:a.disabled,value:a.value}),[a]),v={ref:l,id:i,type:dW(e,a.buttonRef),"aria-haspopup":"listbox","aria-controls":(n=a.optionsRef.current)==null?void 0:n.id,"aria-expanded":a.disabled?void 0:a.listboxState===0,"aria-labelledby":p,disabled:a.disabled,onKeyDown:c,onKeyUp:f,onClick:d};return qn({ourProps:v,theirProps:o,slot:m,defaultTag:UY,name:"Listbox.Button"})}let qY="label";function zY(e,t){let n=Co(),{id:r=`headlessui-listbox-label-${n}`,...i}=e,o=Pp("Listbox.Label"),a=$p("Listbox.Label"),s=er(o.labelRef,t);Un(()=>a.registerLabel(r),[r]);let l=ke(()=>{var c;return(c=o.buttonRef.current)==null?void 0:c.focus({preventScroll:!0})}),u=g.useMemo(()=>({open:o.listboxState===0,disabled:o.disabled}),[o]);return qn({ourProps:{ref:s,id:r,onClick:l},theirProps:i,slot:u,defaultTag:qY,name:"Listbox.Label"})}let QY="ul",GY=fc.RenderStrategy|fc.Static;function HY(e,t){var n;let r=Co(),{id:i=`headlessui-listbox-options-${r}`,...o}=e,a=Pp("Listbox.Options"),s=$p("Listbox.Options"),l=er(a.optionsRef,t),u=Tl(),c=Tl(),f=Py(),d=(()=>f!==null?(f&$n.Open)===$n.Open:a.listboxState===0)();g.useEffect(()=>{var E;let y=a.optionsRef.current;y&&a.listboxState===0&&y!==((E=cN(y))==null?void 0:E.activeElement)&&y.focus({preventScroll:!0})},[a.listboxState,a.optionsRef]);let p=ke(E=>{switch(c.dispose(),E.key){case sn.Space:if(a.searchQuery!=="")return E.preventDefault(),E.stopPropagation(),s.search(E.key);case sn.Enter:if(E.preventDefault(),E.stopPropagation(),a.activeOptionIndex!==null){let{dataRef:y}=a.options[a.activeOptionIndex];s.onChange(y.current.value)}a.mode===0&&(s.closeListbox(),ca().nextFrame(()=>{var y;return(y=a.buttonRef.current)==null?void 0:y.focus({preventScroll:!0})}));break;case Qt(a.orientation,{vertical:sn.ArrowDown,horizontal:sn.ArrowRight}):return E.preventDefault(),E.stopPropagation(),s.goToOption(Tr.Next);case Qt(a.orientation,{vertical:sn.ArrowUp,horizontal:sn.ArrowLeft}):return E.preventDefault(),E.stopPropagation(),s.goToOption(Tr.Previous);case sn.Home:case sn.PageUp:return E.preventDefault(),E.stopPropagation(),s.goToOption(Tr.First);case sn.End:case sn.PageDown:return E.preventDefault(),E.stopPropagation(),s.goToOption(Tr.Last);case sn.Escape:return E.preventDefault(),E.stopPropagation(),s.closeListbox(),u.nextFrame(()=>{var y;return(y=a.buttonRef.current)==null?void 0:y.focus({preventScroll:!0})});case sn.Tab:E.preventDefault(),E.stopPropagation();break;default:E.key.length===1&&(s.search(E.key),c.setTimeout(()=>s.clearSearch(),350));break}}),m=W$(()=>{var E,y,T;return(T=(E=a.labelRef.current)==null?void 0:E.id)!=null?T:(y=a.buttonRef.current)==null?void 0:y.id},[a.labelRef.current,a.buttonRef.current]),v=g.useMemo(()=>({open:a.listboxState===0}),[a]),b={"aria-activedescendant":a.activeOptionIndex===null||(n=a.options[a.activeOptionIndex])==null?void 0:n.id,"aria-multiselectable":a.mode===1?!0:void 0,"aria-labelledby":m,"aria-orientation":a.orientation,id:i,onKeyDown:p,role:"listbox",tabIndex:0,ref:l};return qn({ourProps:b,theirProps:o,slot:v,defaultTag:QY,features:GY,visible:d,name:"Listbox.Options"})}let WY="li";function YY(e,t){let n=Co(),{id:r=`headlessui-listbox-option-${n}`,disabled:i=!1,value:o,...a}=e,s=Pp("Listbox.Option"),l=$p("Listbox.Option"),u=s.activeOptionIndex!==null?s.options[s.activeOptionIndex].id===r:!1,c=s.isSelected(o),f=g.useRef(null),d=$i({disabled:i,value:o,domRef:f,get textValue(){var S,_;return(_=(S=f.current)==null?void 0:S.textContent)==null?void 0:_.toLowerCase()}}),p=er(t,f);Un(()=>{if(s.listboxState!==0||!u||s.activationTrigger===0)return;let S=ca();return S.requestAnimationFrame(()=>{var _,I;(I=(_=f.current)==null?void 0:_.scrollIntoView)==null||I.call(_,{block:"nearest"})}),S.dispose},[f,u,s.listboxState,s.activationTrigger,s.activeOptionIndex]),Un(()=>l.registerOption(r,d),[d,r]);let m=ke(S=>{if(i)return S.preventDefault();l.onChange(o),s.mode===0&&(l.closeListbox(),ca().nextFrame(()=>{var _;return(_=s.buttonRef.current)==null?void 0:_.focus({preventScroll:!0})}))}),v=ke(()=>{if(i)return l.goToOption(Tr.Nothing);l.goToOption(Tr.Specific,r)}),b=TW(),E=ke(S=>b.update(S)),y=ke(S=>{b.wasMoved(S)&&(i||u||l.goToOption(Tr.Specific,r,0))}),T=ke(S=>{b.wasMoved(S)&&(i||u&&l.goToOption(Tr.Nothing))}),w=g.useMemo(()=>({active:u,selected:c,disabled:i}),[u,c,i]);return qn({ourProps:{id:r,ref:p,role:"option",tabIndex:i===!0?void 0:-1,"aria-disabled":i===!0?!0:void 0,"aria-selected":c,disabled:void 0,onClick:m,onFocus:v,onPointerEnter:E,onMouseEnter:E,onPointerMove:y,onMouseMove:y,onPointerLeave:T,onMouseLeave:T},theirProps:a,slot:w,defaultTag:WY,name:"Listbox.Option"})}let JY=Cn(jY),KY=Cn(BY),XY=Cn(zY),ZY=Cn(HY),eJ=Cn(YY),lf=Object.assign(JY,{Button:KY,Label:XY,Options:ZY,Option:eJ});function tJ(e=0){let[t,n]=g.useState(e),r=g.useCallback(s=>n(l=>l|s),[t]),i=g.useCallback(s=>Boolean(t&s),[t]),o=g.useCallback(s=>n(l=>l&~s),[n]),a=g.useCallback(s=>n(l=>l^s),[n]);return{flags:t,addFlag:r,hasFlag:i,removeFlag:o,toggleFlag:a}}function nJ(e){let t={called:!1};return(...n)=>{if(!t.called)return t.called=!0,e(...n)}}function c1(e,...t){e&&t.length>0&&e.classList.add(...t)}function f1(e,...t){e&&t.length>0&&e.classList.remove(...t)}function rJ(e,t){let n=ca();if(!e)return n.dispose;let{transitionDuration:r,transitionDelay:i}=getComputedStyle(e),[o,a]=[r,i].map(l=>{let[u=0]=l.split(",").filter(Boolean).map(c=>c.includes("ms")?parseFloat(c):parseFloat(c)*1e3).sort((c,f)=>f-c);return u}),s=o+a;if(s!==0){n.group(u=>{u.setTimeout(()=>{t(),u.dispose()},s),u.addEventListener(e,"transitionrun",c=>{c.target===c.currentTarget&&u.dispose()})});let l=n.addEventListener(e,"transitionend",u=>{u.target===u.currentTarget&&(t(),l())})}else t();return n.add(()=>t()),n.dispose}function iJ(e,t,n,r){let i=n?"enter":"leave",o=ca(),a=r!==void 0?nJ(r):()=>{};i==="enter"&&(e.removeAttribute("hidden"),e.style.display="");let s=Qt(i,{enter:()=>t.enter,leave:()=>t.leave}),l=Qt(i,{enter:()=>t.enterTo,leave:()=>t.leaveTo}),u=Qt(i,{enter:()=>t.enterFrom,leave:()=>t.leaveFrom});return f1(e,...t.enter,...t.enterTo,...t.enterFrom,...t.leave,...t.leaveFrom,...t.leaveTo,...t.entered),c1(e,...s,...u),o.nextFrame(()=>{f1(e,...u),c1(e,...l),rJ(e,()=>(f1(e,...s),c1(e,...t.entered),a()))}),o.dispose}function oJ({container:e,direction:t,classes:n,onStart:r,onStop:i}){let o=My(),a=Tl(),s=$i(t);Un(()=>{let l=ca();a.add(l.dispose);let u=e.current;if(u&&s.current!=="idle"&&o.current)return l.dispose(),r.current(s.current),l.add(iJ(u,n.current,s.current==="enter",()=>{l.dispose(),i.current(s.current)})),l.dispose},[t])}function Ls(e=""){return e.split(" ").filter(t=>t.trim().length>1)}let jy=g.createContext(null);jy.displayName="TransitionContext";var aJ=(e=>(e.Visible="visible",e.Hidden="hidden",e))(aJ||{});function sJ(){let e=g.useContext(jy);if(e===null)throw new Error("A is used but it is missing a parent or .");return e}function lJ(){let e=g.useContext(Uy);if(e===null)throw new Error("A is used but it is missing a parent or .");return e}let Uy=g.createContext(null);Uy.displayName="NestingContext";function By(e){return"children"in e?By(e.children):e.current.filter(({el:t})=>t.current!==null).filter(({state:t})=>t==="visible").length>0}function mP(e,t){let n=$i(e),r=g.useRef([]),i=My(),o=Tl(),a=ke((p,m=Yo.Hidden)=>{let v=r.current.findIndex(({el:b})=>b===p);v!==-1&&(Qt(m,{[Yo.Unmount](){r.current.splice(v,1)},[Yo.Hidden](){r.current[v].state="hidden"}}),o.microTask(()=>{var b;!By(r)&&i.current&&((b=n.current)==null||b.call(n))}))}),s=ke(p=>{let m=r.current.find(({el:v})=>v===p);return m?m.state!=="visible"&&(m.state="visible"):r.current.push({el:p,state:"visible"}),()=>a(p,Yo.Unmount)}),l=g.useRef([]),u=g.useRef(Promise.resolve()),c=g.useRef({enter:[],leave:[],idle:[]}),f=ke((p,m,v)=>{l.current.splice(0),t&&(t.chains.current[m]=t.chains.current[m].filter(([b])=>b!==p)),t==null||t.chains.current[m].push([p,new Promise(b=>{l.current.push(b)})]),t==null||t.chains.current[m].push([p,new Promise(b=>{Promise.all(c.current[m].map(([E,y])=>y)).then(()=>b())})]),m==="enter"?u.current=u.current.then(()=>t==null?void 0:t.wait.current).then(()=>v(m)):v(m)}),d=ke((p,m,v)=>{Promise.all(c.current[m].splice(0).map(([b,E])=>E)).then(()=>{var b;(b=l.current.shift())==null||b()}).then(()=>v(m))});return g.useMemo(()=>({children:r,register:s,unregister:a,onStart:f,onStop:d,wait:u,chains:c}),[s,a,r,f,d,c,u])}function uJ(){}let cJ=["beforeEnter","afterEnter","beforeLeave","afterLeave"];function iC(e){var t;let n={};for(let r of cJ)n[r]=(t=e[r])!=null?t:uJ;return n}function fJ(e){let t=g.useRef(iC(e));return g.useEffect(()=>{t.current=iC(e)},[e]),t}let dJ="div",vP=fc.RenderStrategy;function pJ(e,t){let{beforeEnter:n,afterEnter:r,beforeLeave:i,afterLeave:o,enter:a,enterFrom:s,enterTo:l,entered:u,leave:c,leaveFrom:f,leaveTo:d,...p}=e,m=g.useRef(null),v=er(m,t),b=p.unmount?Yo.Unmount:Yo.Hidden,{show:E,appear:y,initial:T}=sJ(),[w,S]=g.useState(E?"visible":"hidden"),_=lJ(),{register:I,unregister:A}=_,N=g.useRef(null);g.useEffect(()=>I(m),[I,m]),g.useEffect(()=>{if(b===Yo.Hidden&&m.current){if(E&&w!=="visible"){S("visible");return}return Qt(w,{hidden:()=>A(m),visible:()=>I(m)})}},[w,m,I,A,E,b]);let C=$i({enter:Ls(a),enterFrom:Ls(s),enterTo:Ls(l),entered:Ls(u),leave:Ls(c),leaveFrom:Ls(f),leaveTo:Ls(d)}),U=fJ({beforeEnter:n,afterEnter:r,beforeLeave:i,afterLeave:o}),G=kc();g.useEffect(()=>{if(G&&w==="visible"&&m.current===null)throw new Error("Did you forget to passthrough the `ref` to the actual DOM node?")},[m,w,G]);let Y=T&&!y,P=(()=>!G||Y||N.current===E?"idle":E?"enter":"leave")(),V=tJ(0),j=ke(X=>Qt(X,{enter:()=>{V.addFlag($n.Opening),U.current.beforeEnter()},leave:()=>{V.addFlag($n.Closing),U.current.beforeLeave()},idle:()=>{}})),H=ke(X=>Qt(X,{enter:()=>{V.removeFlag($n.Opening),U.current.afterEnter()},leave:()=>{V.removeFlag($n.Closing),U.current.afterLeave()},idle:()=>{}})),F=mP(()=>{S("hidden"),A(m)},_);oJ({container:m,classes:C,direction:P,onStart:$i(X=>{F.onStart(m,X,j)}),onStop:$i(X=>{F.onStop(m,X,H),X==="leave"&&!By(F)&&(S("hidden"),A(m))})}),g.useEffect(()=>{Y&&(b===Yo.Hidden?N.current=null:N.current=E)},[E,Y,w]);let z=p,B={ref:v};return y&&E&&wo.isServer&&(z={...z,className:eP(p.className,...C.current.enter,...C.current.enterFrom)}),$.createElement(Uy.Provider,{value:F},$.createElement(aP,{value:Qt(w,{visible:$n.Open,hidden:$n.Closed})|V.flags},qn({ourProps:B,theirProps:z,defaultTag:dJ,features:vP,visible:w==="visible",name:"Transition.Child"})))}function hJ(e,t){let{show:n,appear:r=!1,unmount:i,...o}=e,a=g.useRef(null),s=er(a,t);kc();let l=Py();if(n===void 0&&l!==null&&(n=(l&$n.Open)===$n.Open),![!0,!1].includes(n))throw new Error("A is used but it is missing a `show={true | false}` prop.");let[u,c]=g.useState(n?"visible":"hidden"),f=mP(()=>{c("hidden")}),[d,p]=g.useState(!0),m=g.useRef([n]);Un(()=>{d!==!1&&m.current[m.current.length-1]!==n&&(m.current.push(n),p(!1))},[m,n]);let v=g.useMemo(()=>({show:n,appear:r,initial:d}),[n,r,d]);g.useEffect(()=>{if(n)c("visible");else if(!By(f))c("hidden");else{let E=a.current;if(!E)return;let y=E.getBoundingClientRect();y.x===0&&y.y===0&&y.width===0&&y.height===0&&c("hidden")}},[n,f]);let b={unmount:i};return $.createElement(Uy.Provider,{value:f},$.createElement(jy.Provider,{value:v},qn({ourProps:{...b,as:g.Fragment,children:$.createElement(gP,{ref:s,...b,...o})},theirProps:{},defaultTag:g.Fragment,features:vP,visible:u==="visible",name:"Transition"})))}function mJ(e,t){let n=g.useContext(jy)!==null,r=Py()!==null;return $.createElement($.Fragment,null,!n&&r?$.createElement(LT,{ref:t,...e}):$.createElement(gP,{ref:t,...e}))}let LT=Cn(hJ),gP=Cn(pJ),vJ=Cn(mJ),_f=Object.assign(LT,{Child:vJ,Root:LT});const Im=g;function gJ({title:e,titleId:t,...n},r){return Im.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true",ref:r,"aria-labelledby":t},n),e?Im.createElement("title",{id:t},e):null,Im.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25H12"}))}const yJ=Im.forwardRef(gJ);var EJ=yJ;const xm=g;function bJ({title:e,titleId:t,...n},r){return xm.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true",ref:r,"aria-labelledby":t},n),e?xm.createElement("title",{id:t},e):null,xm.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M14.857 17.082a23.848 23.848 0 005.454-1.31A8.967 8.967 0 0118 9.75v-.7V9A6 6 0 006 9v.75a8.967 8.967 0 01-2.312 6.022c1.733.64 3.56 1.085 5.455 1.31m5.714 0a24.255 24.255 0 01-5.714 0m5.714 0a3 3 0 11-5.714 0"}))}const TJ=xm.forwardRef(bJ);var wJ=TJ;const Dm=g;function _J({title:e,titleId:t,...n},r){return Dm.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true",ref:r,"aria-labelledby":t},n),e?Dm.createElement("title",{id:t},e):null,Dm.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M8.625 9.75a.375.375 0 11-.75 0 .375.375 0 01.75 0zm0 0H8.25m4.125 0a.375.375 0 11-.75 0 .375.375 0 01.75 0zm0 0H12m4.125 0a.375.375 0 11-.75 0 .375.375 0 01.75 0zm0 0h-.375m-13.5 3.01c0 1.6 1.123 2.994 2.707 3.227 1.087.16 2.185.283 3.293.369V21l4.184-4.183a1.14 1.14 0 01.778-.332 48.294 48.294 0 005.83-.498c1.585-.233 2.708-1.626 2.708-3.228V6.741c0-1.602-1.123-2.995-2.707-3.228A48.394 48.394 0 0012 3c-2.392 0-4.744.175-7.043.513C3.373 3.746 2.25 5.14 2.25 6.741v6.018z"}))}const SJ=Dm.forwardRef(_J);var NJ=SJ;const Om=g;function IJ({title:e,titleId:t,...n},r){return Om.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true",ref:r,"aria-labelledby":t},n),e?Om.createElement("title",{id:t},e):null,Om.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M19.5 8.25l-7.5 7.5-7.5-7.5"}))}const xJ=Om.forwardRef(IJ);var DJ=xJ;const Cm=g;function OJ({title:e,titleId:t,...n},r){return Cm.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true",ref:r,"aria-labelledby":t},n),e?Cm.createElement("title",{id:t},e):null,Cm.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M8.25 4.5l7.5 7.5-7.5 7.5"}))}const CJ=Cm.forwardRef(OJ);var kJ=CJ;const km=g;function AJ({title:e,titleId:t,...n},r){return km.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true",ref:r,"aria-labelledby":t},n),e?km.createElement("title",{id:t},e):null,km.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M20.25 6.375c0 2.278-3.694 4.125-8.25 4.125S3.75 8.653 3.75 6.375m16.5 0c0-2.278-3.694-4.125-8.25-4.125S3.75 4.097 3.75 6.375m16.5 0v11.25c0 2.278-3.694 4.125-8.25 4.125s-8.25-1.847-8.25-4.125V6.375m16.5 0v3.75m-16.5-3.75v3.75m16.5 0v3.75C20.25 16.153 16.556 18 12 18s-8.25-1.847-8.25-4.125v-3.75m16.5 0c0 2.278-3.694 4.125-8.25 4.125s-8.25-1.847-8.25-4.125"}))}const FJ=km.forwardRef(AJ);var RJ=FJ;const Am=g;function LJ({title:e,titleId:t,...n},r){return Am.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true",ref:r,"aria-labelledby":t},n),e?Am.createElement("title",{id:t},e):null,Am.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 16.5V9.75m0 0l3 3m-3-3l-3 3M6.75 19.5a4.5 4.5 0 01-1.41-8.775 5.25 5.25 0 0110.233-2.33 3 3 0 013.758 3.848A3.752 3.752 0 0118 19.5H6.75z"}))}const $J=Am.forwardRef(LJ);var PJ=$J;const Fm=g;function MJ({title:e,titleId:t,...n},r){return Fm.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true",ref:r,"aria-labelledby":t},n),e?Fm.createElement("title",{id:t},e):null,Fm.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M17.25 6.75L22.5 12l-5.25 5.25m-10.5 0L1.5 12l5.25-5.25m7.5-3l-4.5 16.5"}))}const VJ=Fm.forwardRef(MJ);var jJ=VJ;const Rm=g;function UJ({title:e,titleId:t,...n},r){return Rm.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true",ref:r,"aria-labelledby":t},n),e?Rm.createElement("title",{id:t},e):null,Rm.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6.75 12a.75.75 0 11-1.5 0 .75.75 0 011.5 0zM12.75 12a.75.75 0 11-1.5 0 .75.75 0 011.5 0zM18.75 12a.75.75 0 11-1.5 0 .75.75 0 011.5 0z"}))}const BJ=Rm.forwardRef(UJ);var qJ=BJ;const Lm=g;function zJ({title:e,titleId:t,...n},r){return Lm.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true",ref:r,"aria-labelledby":t},n),e?Lm.createElement("title",{id:t},e):null,Lm.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M21.75 6.75v10.5a2.25 2.25 0 01-2.25 2.25h-15a2.25 2.25 0 01-2.25-2.25V6.75m19.5 0A2.25 2.25 0 0019.5 4.5h-15a2.25 2.25 0 00-2.25 2.25m19.5 0v.243a2.25 2.25 0 01-1.07 1.916l-7.5 4.615a2.25 2.25 0 01-2.36 0L3.32 8.91a2.25 2.25 0 01-1.07-1.916V6.75"}))}const QJ=Lm.forwardRef(zJ);var GJ=QJ;const $m=g;function HJ({title:e,titleId:t,...n},r){return $m.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true",ref:r,"aria-labelledby":t},n),e?$m.createElement("title",{id:t},e):null,$m.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M11.25 11.25l.041-.02a.75.75 0 011.063.852l-.708 2.836a.75.75 0 001.063.853l.041-.021M21 12a9 9 0 11-18 0 9 9 0 0118 0zm-9-3.75h.008v.008H12V8.25z"}))}const WJ=$m.forwardRef(HJ);var YJ=WJ;const Pm=g;function JJ({title:e,titleId:t,...n},r){return Pm.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true",ref:r,"aria-labelledby":t},n),e?Pm.createElement("title",{id:t},e):null,Pm.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M15.75 5.25a3 3 0 013 3m3 0a6 6 0 01-7.029 5.912c-.563-.097-1.159.026-1.563.43L10.5 17.25H8.25v2.25H6v2.25H2.25v-2.818c0-.597.237-1.17.659-1.591l6.499-6.499c.404-.404.527-1 .43-1.563A6 6 0 1121.75 8.25z"}))}const KJ=Pm.forwardRef(JJ);var XJ=KJ;const Mm=g;function ZJ({title:e,titleId:t,...n},r){return Mm.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true",ref:r,"aria-labelledby":t},n),e?Mm.createElement("title",{id:t},e):null,Mm.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607z"}))}const eK=Mm.forwardRef(ZJ);var tK=eK;const Vm=g;function nK({title:e,titleId:t,...n},r){return Vm.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true",ref:r,"aria-labelledby":t},n),e?Vm.createElement("title",{id:t},e):null,Vm.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M3.75 3v11.25A2.25 2.25 0 006 16.5h2.25M3.75 3h-1.5m1.5 0h16.5m0 0h1.5m-1.5 0v11.25A2.25 2.25 0 0118 16.5h-2.25m-7.5 0h7.5m-7.5 0l-1 3m8.5-3l1 3m0 0l.5 1.5m-.5-1.5h-9.5m0 0l-.5 1.5m.75-9l3-3 2.148 2.148A12.061 12.061 0 0116.5 7.605"}))}const rK=Vm.forwardRef(nK);var iK=rK;const jm=g;function oK({title:e,titleId:t,...n},r){return jm.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true",ref:r,"aria-labelledby":t},n),e?jm.createElement("title",{id:t},e):null,jm.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M3.75 7.5l16.5-4.125M12 6.75c-2.708 0-5.363.224-7.948.655C2.999 7.58 2.25 8.507 2.25 9.574v9.176A2.25 2.25 0 004.5 21h15a2.25 2.25 0 002.25-2.25V9.574c0-1.067-.75-1.994-1.802-2.169A48.329 48.329 0 0012 6.75zm-1.683 6.443l-.005.005-.006-.005.006-.005.005.005zm-.005 2.127l-.005-.006.005-.005.005.005-.005.005zm-2.116-.006l-.005.006-.006-.006.005-.005.006.005zm-.005-2.116l-.006-.005.006-.005.005.005-.005.005zM9.255 10.5v.008h-.008V10.5h.008zm3.249 1.88l-.007.004-.003-.007.006-.003.004.006zm-1.38 5.126l-.003-.006.006-.004.004.007-.006.003zm.007-6.501l-.003.006-.007-.003.004-.007.006.004zm1.37 5.129l-.007-.004.004-.006.006.003-.004.007zm.504-1.877h-.008v-.007h.008v.007zM9.255 18v.008h-.008V18h.008zm-3.246-1.87l-.007.004L6 16.127l.006-.003.004.006zm1.366-5.119l-.004-.006.006-.004.004.007-.006.003zM7.38 17.5l-.003.006-.007-.003.004-.007.006.004zm-1.376-5.116L6 12.38l.003-.007.007.004-.004.007zm-.5 1.873h-.008v-.007h.008v.007zM17.25 12.75a.75.75 0 110-1.5.75.75 0 010 1.5zm0 4.5a.75.75 0 110-1.5.75.75 0 010 1.5z"}))}const aK=jm.forwardRef(oK);var sK=aK;const Um=g;function lK({title:e,titleId:t,...n},r){return Um.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true",ref:r,"aria-labelledby":t},n),e?Um.createElement("title",{id:t},e):null,Um.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M7.217 10.907a2.25 2.25 0 100 2.186m0-2.186c.18.324.283.696.283 1.093s-.103.77-.283 1.093m0-2.186l9.566-5.314m-9.566 7.5l9.566 5.314m0 0a2.25 2.25 0 103.935 2.186 2.25 2.25 0 00-3.935-2.186zm0-12.814a2.25 2.25 0 103.933-2.185 2.25 2.25 0 00-3.933 2.185z"}))}const uK=Um.forwardRef(lK);var cK=uK;const Bm=g;function fK({title:e,titleId:t,...n},r){return Bm.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true",ref:r,"aria-labelledby":t},n),e?Bm.createElement("title",{id:t},e):null,Bm.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 9v3.75m0-10.036A11.959 11.959 0 013.598 6 11.99 11.99 0 003 9.75c0 5.592 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.31-.21-2.57-.598-3.75h-.152c-3.196 0-6.1-1.249-8.25-3.286zm0 13.036h.008v.008H12v-.008z"}))}const dK=Bm.forwardRef(fK);var pK=dK;const qm=g;function hK({title:e,titleId:t,...n},r){return qm.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true",ref:r,"aria-labelledby":t},n),e?qm.createElement("title",{id:t},e):null,qm.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M17.982 18.725A7.488 7.488 0 0012 15.75a7.488 7.488 0 00-5.982 2.975m11.963 0a9 9 0 10-11.963 0m11.963 0A8.966 8.966 0 0112 21a8.966 8.966 0 01-5.982-2.275M15 9.75a3 3 0 11-6 0 3 3 0 016 0z"}))}const mK=qm.forwardRef(hK);var vK=mK;const zm=g;function gK({title:e,titleId:t,...n},r){return zm.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true",ref:r,"aria-labelledby":t},n),e?zm.createElement("title",{id:t},e):null,zm.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M18 18.72a9.094 9.094 0 003.741-.479 3 3 0 00-4.682-2.72m.94 3.198l.001.031c0 .225-.012.447-.037.666A11.944 11.944 0 0112 21c-2.17 0-4.207-.576-5.963-1.584A6.062 6.062 0 016 18.719m12 0a5.971 5.971 0 00-.941-3.197m0 0A5.995 5.995 0 0012 12.75a5.995 5.995 0 00-5.058 2.772m0 0a3 3 0 00-4.681 2.72 8.986 8.986 0 003.74.477m.94-3.197a5.971 5.971 0 00-.94 3.197M15 6.75a3 3 0 11-6 0 3 3 0 016 0zm6 3a2.25 2.25 0 11-4.5 0 2.25 2.25 0 014.5 0zm-13.5 0a2.25 2.25 0 11-4.5 0 2.25 2.25 0 014.5 0z"}))}const yK=zm.forwardRef(gK);var EK=yK;const Qm=g;function bK({title:e,titleId:t,...n},r){return Qm.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true",ref:r,"aria-labelledby":t},n),e?Qm.createElement("title",{id:t},e):null,Qm.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9 4.5v15m6-15v15m-10.875 0h15.75c.621 0 1.125-.504 1.125-1.125V5.625c0-.621-.504-1.125-1.125-1.125H4.125C3.504 4.5 3 5.004 3 5.625v12.75c0 .621.504 1.125 1.125 1.125z"}))}const TK=Qm.forwardRef(bK);var wK=TK;const Gm=g;function _K({title:e,titleId:t,...n},r){return Gm.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true",ref:r,"aria-labelledby":t},n),e?Gm.createElement("title",{id:t},e):null,Gm.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M3 8.25V18a2.25 2.25 0 002.25 2.25h13.5A2.25 2.25 0 0021 18V8.25m-18 0V6a2.25 2.25 0 012.25-2.25h13.5A2.25 2.25 0 0121 6v2.25m-18 0h18M5.25 6h.008v.008H5.25V6zM7.5 6h.008v.008H7.5V6zm2.25 0h.008v.008H9.75V6z"}))}const SK=Gm.forwardRef(_K);var NK=SK;const Sf=g;function IK({title:e,titleId:t,...n},r){return Sf.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true",ref:r,"aria-labelledby":t},n),e?Sf.createElement("title",{id:t},e):null,Sf.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M21.75 6.75a4.5 4.5 0 01-4.884 4.484c-1.076-.091-2.264.071-2.95.904l-7.152 8.684a2.548 2.548 0 11-3.586-3.586l8.684-7.152c.833-.686.995-1.874.904-2.95a4.5 4.5 0 016.336-4.486l-3.276 3.276a3.004 3.004 0 002.25 2.25l3.276-3.276c.256.565.398 1.192.398 1.852z"}),Sf.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M4.867 19.125h.008v.008h-.008v-.008z"}))}const xK=Sf.forwardRef(IK);var DK=xK;const Hm=g;function OK({title:e,titleId:t,...n},r){return Hm.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true",ref:r,"aria-labelledby":t},n),e?Hm.createElement("title",{id:t},e):null,Hm.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"}))}const CK=Hm.forwardRef(OK);var kK=CK,AK=EJ,FK=wJ,RK=NJ,LK=DJ,$K=kJ,gN=RJ,PK=PJ,yP=jJ,MK=qJ,VK=GJ,jK=YJ,UK=XJ,EP=tK,BK=iK,bP=sK,TP=cK,qK=pK,zK=vK,QK=EK,GK=wK,HK=NK,WK=DK,YK=kK;const oC="/assets/redwoodjs_diecut_name-f42d607a.svg",aC=[{name:"Studio",to:"/",icon:HK},{name:"Telemetry Tracing",to:"/tracing",icon:bP},{name:"GraphiQL Playground",to:"/graphiql",icon:GK},{name:"SQL Statements",to:"/sql",icon:gN},{name:"Settings",to:"/config",icon:WK},{name:"About",to:"/coming-soon",icon:jK},{name:"Support & Docs",to:"https://community.redwoodjs.com/t/redwood-studio-experimental/4771",icon:RK}];function JK(){const[e,t]=g.useState(!1);return k(Gu,{children:ue("div",{children:[k(_f.Root,{show:e,as:g.Fragment,children:ue(rC,{as:"div",className:"relative z-40 lg:hidden",onClose:t,children:[k(_f.Child,{as:g.Fragment,enter:"transition-opacity ease-linear duration-300",enterFrom:"opacity-0",enterTo:"opacity-100",leave:"transition-opacity ease-linear duration-300",leaveFrom:"opacity-100",leaveTo:"opacity-0",children:k("div",{className:"fixed inset-0 bg-gray-600 bg-opacity-75"})}),ue("div",{className:"fixed inset-0 z-40 flex",children:[k(_f.Child,{as:g.Fragment,enter:"transition ease-in-out duration-300 transform",enterFrom:"-translate-x-full",enterTo:"translate-x-0",leave:"transition ease-in-out duration-300 transform",leaveFrom:"translate-x-0",leaveTo:"-translate-x-full",children:ue(rC.Panel,{className:"relative flex w-full max-w-xs flex-1 flex-col bg-slate-700 pt-5 pb-4",children:[k(_f.Child,{as:g.Fragment,enter:"ease-in-out duration-300",enterFrom:"opacity-0",enterTo:"opacity-100",leave:"ease-in-out duration-300",leaveFrom:"opacity-100",leaveTo:"opacity-0",children:k("div",{className:"absolute top-0 right-0 -mr-12 pt-2",children:ue("button",{type:"button",className:"ml-1 flex h-10 w-10 items-center justify-center rounded-full focus:outline-none focus:ring-2 focus:ring-inset focus:ring-white",onClick:()=>t(!1),children:[k("span",{className:"sr-only",children:"Close sidebar"}),k(YK,{className:"h-6 w-6 text-white","aria-hidden":"true"})]})})}),k("div",{className:"flex flex-shrink-0 items-center px-4",children:k("img",{className:"h-8 w-auto",src:oC,alt:"RedwoodJS Logo"})}),k("div",{className:"mt-5 h-0 flex-1 overflow-y-auto",children:k("nav",{className:"space-y-1 px-2",children:aC.map(n=>ue(OT,{to:n.to,className:"group flex items-center rounded-md px-2 py-2 text-sm font-medium [&.active]:bg-amber-700 [&.active]:text-white text-slate-100 hover:bg-amber-600",children:[k(n.icon,{className:"mr-3 h-6 w-6 flex-shrink-0 text-slate-300","aria-hidden":"true"}),n.name]},n.name))})})]})}),k("div",{className:"w-14 flex-shrink-0","aria-hidden":"true"})]})]})}),k("div",{className:"hidden lg:fixed lg:inset-y-0 lg:flex lg:w-64 lg:flex-col",children:ue("div",{className:"flex flex-grow flex-col overflow-y-auto pt-5 bg-slate-500",children:[k("div",{className:"flex flex-shrink-0 items-center px-4",children:k("img",{className:"h-8 w-auto",src:oC,alt:"RedwoodJS Logo"})}),k("div",{className:"mt-5 flex flex-1 flex-col",children:k("nav",{className:"flex-1 space-y-1 px-2 pb-4",children:aC.map(n=>ue(OT,{to:n.to,className:"group flex items-center rounded-md px-2 py-2 text-sm font-medium [&.active]:bg-amber-500 [&.active]:text-white text-slate-100 hover:bg-amber-400",children:[k(n.icon,{className:"mr-3 h-6 w-6 flex-shrink-0 text-slate-300","aria-hidden":"true"}),n.name]},n.name))})})]})}),ue("div",{className:"flex flex-1 flex-col lg:pl-64",children:[ue("div",{className:"sticky top-0 z-10 flex h-16 flex-shrink-0 bg-white shadow",children:[ue("button",{type:"button",className:"border-r border-gray-200 px-4 text-gray-500 focus:outline-none focus:ring-2 focus:ring-inset focus:ring-slate-500 lg:hidden",onClick:()=>t(!0),children:[k("span",{className:"sr-only",children:"Open sidebar"}),k(AK,{className:"h-6 w-6","aria-hidden":"true"})]}),ue("div",{className:"flex flex-1 justify-between px-4",children:[k("div",{className:"flex flex-1",children:ue("form",{className:"flex w-full lg:ml-0",action:"#",method:"GET",children:[k("label",{htmlFor:"search-field",className:"sr-only",children:"Search"}),ue("div",{className:"relative w-full text-gray-400 focus-within:text-gray-600",children:[k("div",{className:"pointer-events-none absolute inset-y-0 left-0 flex items-center",children:k(EP,{className:"h-5 w-5","aria-hidden":"true"})}),k("input",{id:"search-field",className:"block h-full w-full border-transparent py-2 pl-8 pr-3 text-gray-900 focus:border-transparent focus:outline-none focus:ring-0 focus:placeholder:text-gray-400 sm:text-sm",placeholder:"Search",type:"search",name:"search"})]})]})}),k("div",{className:"ml-4 flex items-center lg:ml-6",children:ue("button",{type:"button",className:"rounded-full bg-white p-1 text-gray-400 hover:text-gray-500 focus:outline-none focus:ring-2 focus:ring-slate-500 focus:ring-offset-2",children:[k("span",{className:"sr-only",children:"View notifications"}),k(FK,{className:"h-6 w-6","aria-hidden":"true"})]})})]})]}),k("main",{children:k(YH,{})})]})]})})}const KK=[{name:"Cloud Sync",description:"Sync your dev data to the cloud, allowing you to track your apps development across time, team members and git branches.",icon:PK},{name:"More Understanding",description:"We'll be expanding what insights and data we extract from your tracing to build you an even clearer picture of your app.",icon:EP},{name:"Security Insights",description:"Get warnings when your app does something risky like access passwords from the database.",icon:qK},{name:"Visualisations",description:"Understand your data at glace with simple but powerful visualisations which highlight the trends and outliers.",icon:BK}];function XK(){return k("div",{className:"py-12 sm:py-16",children:ue("div",{className:"mx-auto max-w-7xl px-6 lg:px-8",children:[ue("div",{className:"mx-auto max-w-2xl lg:text-center",children:[k("h2",{className:"text-base font-semibold leading-7 text-slate-600",children:"Coming soon..."}),k("p",{className:"mt-2 text-3xl font-bold tracking-tight text-gray-900 sm:text-4xl",children:"Everything you need to understand your app while you dev"}),k("p",{className:"mt-6 text-lg leading-8 text-gray-600",children:"It shouldn't just be in production that you can monitor your app with power and with ease. Development can be better when you're able to understand exactly what is happening and identify how your app is performing or breaking."})]}),k("div",{className:"mx-auto mt-16 max-w-2xl sm:mt-20 lg:mt-24 lg:max-w-4xl",children:k("dl",{className:"grid max-w-xl grid-cols-1 gap-y-10 gap-x-8 lg:max-w-none lg:grid-cols-2 lg:gap-y-16",children:KK.map(e=>ue("div",{className:"relative pl-16",children:[ue("dt",{className:"text-base font-semibold leading-7 text-gray-900",children:[k("div",{className:"absolute top-0 left-0 flex h-10 w-10 items-center justify-center rounded-lg bg-slate-600",children:k(e.icon,{className:"h-6 w-6 text-white","aria-hidden":"true"})}),e.name]}),k("dd",{className:"mt-2 text-base leading-7 text-gray-600",children:e.description})]},e.name))})})]})})}const Wm=g;function ZK({title:e,titleId:t,...n},r){return Wm.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",ref:r,"aria-labelledby":t},n),e?Wm.createElement("title",{id:t},e):null,Wm.createElement("path",{fillRule:"evenodd",d:"M16.704 4.153a.75.75 0 01.143 1.052l-8 10.5a.75.75 0 01-1.127.075l-4.5-4.5a.75.75 0 011.06-1.06l3.894 3.893 7.48-9.817a.75.75 0 011.05-.143z",clipRule:"evenodd"}))}const eX=Wm.forwardRef(ZK);var tX=eX;const Ym=g;function nX({title:e,titleId:t,...n},r){return Ym.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",ref:r,"aria-labelledby":t},n),e?Ym.createElement("title",{id:t},e):null,Ym.createElement("path",{fillRule:"evenodd",d:"M10 3a.75.75 0 01.55.24l3.25 3.5a.75.75 0 11-1.1 1.02L10 4.852 7.3 7.76a.75.75 0 01-1.1-1.02l3.25-3.5A.75.75 0 0110 3zm-3.76 9.2a.75.75 0 011.06.04l2.7 2.908 2.7-2.908a.75.75 0 111.1 1.02l-3.25 3.5a.75.75 0 01-1.1 0l-3.25-3.5a.75.75 0 01.04-1.06z",clipRule:"evenodd"}))}const rX=Ym.forwardRef(nX);var iX=rX;const Jm=g;function oX({title:e,titleId:t,...n},r){return Jm.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",ref:r,"aria-labelledby":t},n),e?Jm.createElement("title",{id:t},e):null,Jm.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm.75-13a.75.75 0 00-1.5 0v5c0 .414.336.75.75.75h4a.75.75 0 000-1.5h-3.25V5z",clipRule:"evenodd"}))}const aX=Jm.forwardRef(oX);var sX=aX;const Km=g;function lX({title:e,titleId:t,...n},r){return Km.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",ref:r,"aria-labelledby":t},n),e?Km.createElement("title",{id:t},e):null,Km.createElement("path",{d:"M3 10a1.5 1.5 0 113 0 1.5 1.5 0 01-3 0zM8.5 10a1.5 1.5 0 113 0 1.5 1.5 0 01-3 0zM15.5 8.5a1.5 1.5 0 100 3 1.5 1.5 0 000-3z"}))}const uX=Km.forwardRef(lX);var cX=uX;const Nf=g;function fX({title:e,titleId:t,...n},r){return Nf.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",ref:r,"aria-labelledby":t},n),e?Nf.createElement("title",{id:t},e):null,Nf.createElement("path",{d:"M12.232 4.232a2.5 2.5 0 013.536 3.536l-1.225 1.224a.75.75 0 001.061 1.06l1.224-1.224a4 4 0 00-5.656-5.656l-3 3a4 4 0 00.225 5.865.75.75 0 00.977-1.138 2.5 2.5 0 01-.142-3.667l3-3z"}),Nf.createElement("path",{d:"M11.603 7.963a.75.75 0 00-.977 1.138 2.5 2.5 0 01.142 3.667l-3 3a2.5 2.5 0 01-3.536-3.536l1.225-1.224a.75.75 0 00-1.061-1.06l-1.224 1.224a4 4 0 105.656 5.656l3-3a4 4 0 00-.225-5.865z"}))}const dX=Nf.forwardRef(fX);var pX=dX;const Xm=g;function hX({title:e,titleId:t,...n},r){return Xm.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",ref:r,"aria-labelledby":t},n),e?Xm.createElement("title",{id:t},e):null,Xm.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zM8.28 7.22a.75.75 0 00-1.06 1.06L8.94 10l-1.72 1.72a.75.75 0 101.06 1.06L10 11.06l1.72 1.72a.75.75 0 101.06-1.06L11.06 10l1.72-1.72a.75.75 0 00-1.06-1.06L10 8.94 8.28 7.22z",clipRule:"evenodd"}))}const mX=Xm.forwardRef(hX);var vX=mX,gX=tX,yX=iX,wP=sX,EX=cX,bX=pX,qy=vX;function Mp({colour:e}){return ue("svg",{width:"10%",height:"10%",viewBox:"0 0 105 105",xmlns:"http://www.w3.org/2000/svg",fill:e??"#475569",children:[k("circle",{cx:"12.5",cy:"12.5",r:"12.5",children:k("animate",{attributeName:"fill-opacity",begin:"0s",dur:"1s",values:"1;.2;1",calcMode:"linear",repeatCount:"indefinite"})}),k("circle",{cx:"12.5",cy:"52.5",r:"12.5",fillOpacity:".5",children:k("animate",{attributeName:"fill-opacity",begin:"100ms",dur:"1s",values:"1;.2;1",calcMode:"linear",repeatCount:"indefinite"})}),k("circle",{cx:"52.5",cy:"12.5",r:"12.5",children:k("animate",{attributeName:"fill-opacity",begin:"300ms",dur:"1s",values:"1;.2;1",calcMode:"linear",repeatCount:"indefinite"})}),k("circle",{cx:"52.5",cy:"52.5",r:"12.5",children:k("animate",{attributeName:"fill-opacity",begin:"600ms",dur:"1s",values:"1;.2;1",calcMode:"linear",repeatCount:"indefinite"})}),k("circle",{cx:"92.5",cy:"12.5",r:"12.5",children:k("animate",{attributeName:"fill-opacity",begin:"800ms",dur:"1s",values:"1;.2;1",calcMode:"linear",repeatCount:"indefinite"})}),k("circle",{cx:"92.5",cy:"52.5",r:"12.5",children:k("animate",{attributeName:"fill-opacity",begin:"400ms",dur:"1s",values:"1;.2;1",calcMode:"linear",repeatCount:"indefinite"})}),k("circle",{cx:"12.5",cy:"92.5",r:"12.5",children:k("animate",{attributeName:"fill-opacity",begin:"700ms",dur:"1s",values:"1;.2;1",calcMode:"linear",repeatCount:"indefinite"})}),k("circle",{cx:"52.5",cy:"92.5",r:"12.5",children:k("animate",{attributeName:"fill-opacity",begin:"500ms",dur:"1s",values:"1;.2;1",calcMode:"linear",repeatCount:"indefinite"})}),k("circle",{cx:"92.5",cy:"92.5",r:"12.5",children:k("animate",{attributeName:"fill-opacity",begin:"200ms",dur:"1s",values:"1;.2;1",calcMode:"linear",repeatCount:"indefinite"})})]})}const TX=Mi` + query GetConfig { + studioConfig { + graphiql { + endpoint + authImpersonation { + authProvider + userId + email + roles + jwtSecret + } + } + } + } +`;function wX(){const{loading:e,error:t,data:n}=Dc(TX,{pollInterval:1e4});return t?k("div",{className:"mx-auto py-6 px-4 max-w-[95%] md:max-w-[80%] sm:px-6 lg:px-8",children:k("div",{className:"rounded-md bg-red-50 p-4",children:ue("div",{className:"flex",children:[k("div",{className:"flex-shrink-0",children:k(qy,{className:"h-5 w-5 text-red-400","aria-hidden":"true"})}),ue("div",{className:"ml-3",children:[k("h3",{className:"text-sm font-medium text-red-800",children:"There were an error"}),k("div",{className:"mt-2 text-sm text-red-700",children:JSON.stringify(t)})]})]})})}):e?k("div",{className:"mx-auto py-6 px-4 max-w-[95%] md:max-w-[80%] sm:px-6 lg:px-8 flex justify-center",children:k(Mp,{})}):ue("div",{className:"overflow-hidden bg-white shadow sm:rounded-lg",children:[ue("div",{className:"px-4 py-5 sm:px-6",children:[ue("h3",{className:"text-base font-semibold leading-6 text-gray-900",children:[" ","Studio Configuration Settings"]}),k("p",{className:"mt-1 max-w-2xl text-sm text-gray-500",children:"These are the various config options the studio is currently using. You can update some of these values from within your `redwood.toml` file under the `studio` section and others you can update directly within the various studio webpages."})]}),k("div",{className:"border-t border-gray-200 h-screen",children:k("dl",{children:(n==null?void 0:n.studioConfig)&&ue(Gu,{children:[ue("div",{className:"bg-white px-4 py-5 sm:grid sm:grid-cols-3 sm:gap-4 sm:px-6",children:[ue("dt",{className:"text-sm font-medium text-gray-500 flex items-center",children:[k(UK,{className:"h-6 w-6 mr-2","aria-hidden":"true"})," Auth Provider"]}),k("dd",{className:"mt-1 text-sm text-gray-900 sm:col-span-2 sm:mt-0",children:n==null?void 0:n.studioConfig.graphiql.authImpersonation.authProvider})]}),ue("div",{className:"bg-gray-50 px-4 py-5 sm:grid sm:grid-cols-3 sm:gap-4 sm:px-6",children:[ue("dt",{className:"text-sm font-medium text-gray-500 flex items-center",children:[k(zK,{className:"h-6 w-6 mr-2","aria-hidden":"true"}),"Impersonated User Id"]}),k("dd",{className:"mt-1 text-sm text-gray-900 sm:col-span-2 sm:mt-0",children:n==null?void 0:n.studioConfig.graphiql.authImpersonation.userId})]}),ue("div",{className:"bg-white px-4 py-5 sm:grid sm:grid-cols-3 sm:gap-4 sm:px-6",children:[ue("dt",{className:"text-sm font-medium text-gray-500 flex items-center",children:[k(VK,{className:"h-6 w-6 mr-2","aria-hidden":"true"}),"Impersonated Email"]}),k("dd",{className:"mt-1 text-sm text-gray-900 sm:col-span-2 sm:mt-0",children:n==null?void 0:n.studioConfig.graphiql.authImpersonation.email})]}),ue("div",{className:"bg-gray-50 px-4 py-5 sm:grid sm:grid-cols-3 sm:gap-4 sm:px-6",children:[ue("dt",{className:"text-sm font-medium text-gray-500 flex items-center",children:[k(QK,{className:"h-6 w-6 mr-2","aria-hidden":"true"})," ","Impersonated Roles"]}),k("dd",{className:"mt-1 text-sm text-gray-900 sm:col-span-2 sm:mt-0",children:n==null?void 0:n.studioConfig.graphiql.authImpersonation.roles})]})]})})})]})}var $T={};const _X=(...e)=>$T.stringify(...e);(function(){var e=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,t,n,r={"\b":"\\b"," ":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},i;function o(s){return e.lastIndex=0,e.test(s)?'"'+s.replace(e,function(l){var u=r[l];return typeof u=="string"?u:"\\u"+("0000"+l.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+s+'"'}function a(s,l){var u,c,f,d,p=t,m,v=l[s];switch(v&&typeof v=="object"&&typeof v.toJSON=="function"&&(v=v.toJSON(s)),typeof i=="function"&&(v=i.call(l,s,v)),typeof v){case"string":return o(v);case"number":return isFinite(v)?String(v):"null";case"bigint":case"boolean":case"null":return String(v);case"object":if(!v)return"null";if(t+=n,m=[],Object.prototype.toString.apply(v)==="[object Array]"){for(d=v.length,u=0;u="0"&&r<="9";)v+=r,s();if(r===".")for(v+=".";s()&&r>="0"&&r<="9";)v+=r;if(r==="e"||r==="E")for(v+=r,s(),(r==="-"||r==="+")&&(v+=r,s());r>="0"&&r<="9";)v+=r,s();if(!isFinite(Number(v)))a("Bad number");else{const b=Number(v);return Number.isInteger(b)&&!Number.isSafeInteger(b)?t.storeAsString===!0?v:BigInt(v):b}},u=function(){var v,b,E="",y;if(r==='"')for(;s();){if(r==='"')return s(),E;if(r==="\\")if(s(),r==="u"){for(y=0,b=0;b<4&&(v=parseInt(s(),16),!!isFinite(v));b+=1)y=y*16+v;E+=String.fromCharCode(y)}else if(typeof i[r]=="string")E+=i[r];else break;else E+=r}a("Bad string")},c=function(){for(;r&&r<=" ";)s()},f=function(){switch(r){case"t":return s("t"),s("r"),s("u"),s("e"),!0;case"f":return s("f"),s("a"),s("l"),s("s"),s("e"),!1;case"n":return s("n"),s("u"),s("l"),s("l"),null}a("Unexpected '"+r+"'")},d,p=function(){var v=[];if(r==="["){if(s("["),c(),r==="]")return s("]"),v;for(;r;){if(v.push(d()),c(),r==="]")return s("]"),v;s(","),c()}}a("Bad array")},m=function(){var v,b={};if(r==="{"){if(s("{"),c(),r==="}")return s("}"),b;for(;r;){if(v=u(),c(),s(":"),t.strict===!0&&Object.hasOwnProperty.call(b,v)&&a('Duplicate key "'+v+'"'),b[v]=d(),c(),r==="}")return s("}"),b;s(","),c()}}a("Bad object")};return d=function(){switch(c(),r){case"{":return m();case"[":return p();case'"':return u();case"-":return l();default:return r>="0"&&r<="9"?l():f()}},function(v,b){var E;return o=v+"",n=0,r=" ",E=d(),c(),r&&a("Syntax error"),typeof b=="function"?function y(T,w){var S,_=T[w];return _&&typeof _=="object"&&Object.keys(_).forEach(function(I){S=y(_,I),S!==void 0?_[I]=S:delete _[I]}),b.call(T,w,_)}({"":E},""):E}}let Ks;typeof globalThis<"u"?Ks=globalThis:typeof self<"u"?Ks=self:typeof window<"u"?Ks=window:typeof vD<"u"&&(Ks=vD);Ks.BigInt.prototype.toJSON=function(){return this};Ks.JSON.parse=SX();Ks.JSON.stringify=_X;const NX="modulepreload",IX=function(e){return"/"+e},sC={},Xe=function(t,n,r){if(!n||n.length===0)return t();const i=document.getElementsByTagName("link");return Promise.all(n.map(o=>{if(o=IX(o),o in sC)return;sC[o]=!0;const a=o.endsWith(".css"),s=a?'[rel="stylesheet"]':"";if(!!r)for(let c=i.length-1;c>=0;c--){const f=i[c];if(f.href===o&&(!a||f.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${o}"]${s}`))return;const u=document.createElement("link");if(u.rel=a?"stylesheet":NX,a||(u.as="script",u.crossOrigin=""),u.href=o,document.head.appendChild(u),a)return new Promise((c,f)=>{u.addEventListener("load",c),u.addEventListener("error",()=>f(new Error(`Unable to preload CSS for ${o}`)))})})).then(()=>t())};var _P=Object.defineProperty,xX=Object.defineProperties,DX=Object.getOwnPropertyDescriptors,og=Object.getOwnPropertySymbols,SP=Object.prototype.hasOwnProperty,NP=Object.prototype.propertyIsEnumerable,lC=(e,t,n)=>t in e?_P(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,et=(e,t)=>{for(var n in t||(t={}))SP.call(t,n)&&lC(e,n,t[n]);if(og)for(var n of og(t))NP.call(t,n)&&lC(e,n,t[n]);return e},Tt=(e,t)=>xX(e,DX(t)),h=(e,t)=>_P(e,"name",{value:t,configurable:!0}),Me=(e,t)=>{var n={};for(var r in e)SP.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&og)for(var r of og(e))t.indexOf(r)<0&&NP.call(e,r)&&(n[r]=e[r]);return n};function yN(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e))for(t=0;t{const r=e.subscribe({next:i=>{t(i),r.unsubscribe()},error:n,complete:()=>{n(new Error("no value resolved"))}})})}h(IP,"observableToPromise");function EN(e){return typeof e=="object"&&e!==null&&"subscribe"in e&&typeof e.subscribe=="function"}h(EN,"isObservable");function bN(e){return typeof e=="object"&&e!==null&&(e[Symbol.toStringTag]==="AsyncGenerator"||Symbol.asyncIterator in e)}h(bN,"isAsyncIterable");function xP(e){return new Promise((t,n)=>{var r;const i=(r=("return"in e?e:e[Symbol.asyncIterator]()).return)===null||r===void 0?void 0:r.bind(e);("next"in e?e:e[Symbol.asyncIterator]()).next.bind(e)().then(a=>{t(a.value),i==null||i()}).catch(a=>{n(a)})})}h(xP,"asyncIterableToPromise");function MT(e){return Promise.resolve(e).then(t=>bN(t)?xP(t):EN(t)?IP(t):t)}h(MT,"fetcherReturnToPromise");function ag(e){return JSON.stringify(e,null,2)}h(ag,"stringify");function DP(e){return Object.assign(Object.assign({},e),{message:e.message,stack:e.stack})}h(DP,"formatSingleError");function VT(e){return e instanceof Error?DP(e):e}h(VT,"handleSingleError");function sl(e){return Array.isArray(e)?ag({errors:e.map(t=>VT(t))}):ag({errors:[VT(e)]})}h(sl,"formatError");function sg(e){return ag(e)}h(sg,"formatResult");function OP(e,t,n){const r=[];if(!e||!t)return{insertions:r,result:t};let i;try{i=qr(t)}catch{return{insertions:r,result:t}}const o=n||CP,a=new wp(e);return Ht(i,{leave(s){a.leave(s)},enter(s){if(a.enter(s),s.kind==="Field"&&!s.selectionSet){const l=a.getType(),u=TN(FP(l),o);if(u&&s.loc){const c=AP(t,s.loc.start);r.push({index:s.loc.end,string:" "+ot(u).replace(/\n/g,` +`+c)})}}}}),{insertions:r,result:kP(t,r)}}h(OP,"fillLeafs");function CP(e){if(!("getFields"in e))return[];const t=e.getFields();if(t.id)return["id"];if(t.edges)return["edges"];if(t.node)return["node"];const n=[];return Object.keys(t).forEach(r=>{di(t[r].type)&&n.push(r)}),n}h(CP,"defaultGetDefaultFieldNames");function TN(e,t){const n=At(e);if(!e||di(e))return;const r=t(n);if(!(!Array.isArray(r)||r.length===0||!("getFields"in n)))return{kind:D.SELECTION_SET,selections:r.map(i=>{const o=n.getFields()[i],a=o?o.type:null;return{kind:D.FIELD,name:{kind:D.NAME,value:i},selectionSet:TN(a,t)}})}}h(TN,"buildSelectionSet");function kP(e,t){if(t.length===0)return e;let n="",r=0;return t.forEach(({index:i,string:o})=>{n+=e.slice(r,i)+o,r=i}),n+=e.slice(r),n}h(kP,"withInsertions");function AP(e,t){let n=t,r=t;for(;n;){const i=e.charCodeAt(n-1);if(i===10||i===13||i===8232||i===8233)break;n--,i!==9&&i!==11&&i!==12&&i!==32&&i!==160&&(r=n)}return e.substring(n,r)}h(AP,"getIndentation");function FP(e){if(e)return e}h(FP,"isFieldType");function RP(e,t){var n;const r=new Map,i=[];for(const o of e)if(o.kind==="Field"){const a=t(o),s=r.get(a);if(!((n=o.directives)===null||n===void 0)&&n.length){const l=Object.assign({},o);i.push(l)}else if(s!=null&&s.selectionSet&&o.selectionSet)s.selectionSet.selections=[...s.selectionSet.selections,...o.selectionSet.selections];else if(!s){const l=Object.assign({},o);r.set(a,l),i.push(l)}}else i.push(o);return i}h(RP,"uniqueBy");function wN(e,t,n){var r;const i=n?At(n).name:null,o=[],a=[];for(let s of t){if(s.kind==="FragmentSpread"){const l=s.name.value;if(!s.directives||s.directives.length===0){if(a.includes(l))continue;a.push(l)}const u=e[s.name.value];if(u){const{typeCondition:c,directives:f,selectionSet:d}=u;s={kind:D.INLINE_FRAGMENT,typeCondition:c,directives:f,selectionSet:d}}}if(s.kind===D.INLINE_FRAGMENT&&(!s.directives||((r=s.directives)===null||r===void 0?void 0:r.length)===0)){const l=s.typeCondition?s.typeCondition.name.value:null;if(!l||l===i){o.push(...wN(e,s.selectionSet.selections,n));continue}}o.push(s)}return o}h(wN,"inlineRelevantFragmentSpreads");function LP(e,t){const n=t?new wp(t):null,r=Object.create(null);for(const o of e.definitions)o.kind===D.FRAGMENT_DEFINITION&&(r[o.name.value]=o);const i={SelectionSet(o){const a=n?n.getParentType():null;let{selections:s}=o;return s=wN(r,s,a),s=RP(s,l=>l.alias?l.alias.value:l.name.value),Object.assign(Object.assign({},o),{selections:s})},FragmentDefinition(){return null}};return Ht(e,n?cy(n,i):i)}h(LP,"mergeAst");function $P(e,t,n){if(!n||n.length<1)return;const r=n.map(i=>{var o;return(o=i.name)===null||o===void 0?void 0:o.value});if(t&&r.includes(t))return t;if(t&&e){const o=e.map(a=>{var s;return(s=a.name)===null||s===void 0?void 0:s.value}).indexOf(t);if(o!==-1&&o"u"?this.storage=null:this.storage={getItem:window.localStorage.getItem.bind(window.localStorage),setItem:window.localStorage.setItem.bind(window.localStorage),removeItem:window.localStorage.removeItem.bind(window.localStorage),get length(){let n=0;for(const r in window.localStorage)r.indexOf(`${Rh}:`)===0&&(n+=1);return n},clear:()=>{for(const n in window.localStorage)n.indexOf(`${Rh}:`)===0&&window.localStorage.removeItem(n)}}}get(t){if(!this.storage)return null;const n=`${Rh}:${t}`,r=this.storage.getItem(n);return r==="null"||r==="undefined"?(this.storage.removeItem(n),null):r||null}set(t,n){let r=!1,i=null;if(this.storage){const o=`${Rh}:${t}`;if(n)try{this.storage.setItem(o,n)}catch(a){i=a instanceof Error?a:new Error(`${a}`),r=PP(this.storage,a)}else this.storage.removeItem(o)}return{isQuotaError:r,error:i}}clear(){this.storage&&this.storage.clear()}}h(lg,"StorageAPI");const Rh="graphiql";class jT{constructor(t,n,r=null){this.key=t,this.storage=n,this.maxSize=r,this.items=this.fetchAll()}get length(){return this.items.length}contains(t){return this.items.some(n=>n.query===t.query&&n.variables===t.variables&&n.headers===t.headers&&n.operationName===t.operationName)}edit(t){const n=this.items.findIndex(r=>r.query===t.query&&r.variables===t.variables&&r.headers===t.headers&&r.operationName===t.operationName);n!==-1&&(this.items.splice(n,1,t),this.save())}delete(t){const n=this.items.findIndex(r=>r.query===t.query&&r.variables===t.variables&&r.headers===t.headers&&r.operationName===t.operationName);n!==-1&&(this.items.splice(n,1),this.save())}fetchRecent(){return this.items[this.items.length-1]}fetchAll(){const t=this.storage.get(this.key);return t?JSON.parse(t)[this.key]:[]}push(t){const n=[...this.items,t];this.maxSize&&n.length>this.maxSize&&n.shift();for(let r=0;r<5;r++){const i=this.storage.set(this.key,JSON.stringify({[this.key]:n}));if(!i||!i.error)this.items=n;else if(i.isQuotaError&&this.maxSize)n.shift();else return}}save(){this.storage.set(this.key,JSON.stringify({[this.key]:this.items}))}}h(jT,"QueryStore");const OX=1e5;class MP{constructor(t,n){this.storage=t,this.maxHistoryLength=n,this.updateHistory=(r,i,o,a)=>{if(this.shouldSaveQuery(r,i,o,this.history.fetchRecent())){this.history.push({query:r,variables:i,headers:o,operationName:a});const s=this.history.items,l=this.favorite.items;this.queries=s.concat(l)}},this.history=new jT("queries",this.storage,this.maxHistoryLength),this.favorite=new jT("favorites",this.storage,null),this.queries=[...this.history.fetchAll(),...this.favorite.fetchAll()]}shouldSaveQuery(t,n,r,i){if(!t)return!1;try{qr(t)}catch{return!1}return t.length>OX?!1:i?!(JSON.stringify(t)===JSON.stringify(i.query)&&(JSON.stringify(n)===JSON.stringify(i.variables)&&(JSON.stringify(r)===JSON.stringify(i.headers)||r&&!i.headers)||n&&!i.variables)):!0}toggleFavorite(t,n,r,i,o,a){const s={query:t,variables:n,headers:r,operationName:i,label:o};this.favorite.contains(s)?a&&(s.favorite=!1,this.favorite.delete(s)):(s.favorite=!0,this.favorite.push(s)),this.queries=[...this.history.items,...this.favorite.items]}editLabel(t,n,r,i,o,a){const s={query:t,variables:n,headers:r,operationName:i,label:o};a?this.favorite.edit(Object.assign(Object.assign({},s),{favorite:a})):this.history.edit(s),this.queries=[...this.history.items,...this.favorite.items]}}h(MP,"HistoryStore");var CX=Object.defineProperty,_N=h((e,t)=>CX(e,"name",{value:t,configurable:!0}),"__name$G");function Ea(e){const t=g.createContext(null);return t.displayName=e,t}h(Ea,"createNullableContext");_N(Ea,"createNullableContext");function ba(e){function t(n){var r;const i=g.useContext(e);if(i===null&&(n!=null&&n.nonNull))throw new Error(`Tried to use \`${((r=n.caller)==null?void 0:r.name)||t.caller.name}\` without the necessary context. Make sure to render the \`${e.displayName}Provider\` component higher up the tree.`);return i}return h(t,"useGivenContext"),_N(t,"useGivenContext"),Object.defineProperty(t,"name",{value:`use${e.displayName}`}),t}h(ba,"createContextHook");_N(ba,"createContextHook");var Qqe=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function VP(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}h(VP,"getDefaultExportFromCjs");function jP(e){if(e.__esModule)return e;var t=Object.defineProperty({},"__esModule",{value:!0});return Object.keys(e).forEach(function(n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}),t}h(jP,"getAugmentedNamespace");var zy={exports:{}},Vp={};/* +object-assign +(c) Sindre Sorhus +@license MIT +*/var uC=Object.getOwnPropertySymbols,kX=Object.prototype.hasOwnProperty,AX=Object.prototype.propertyIsEnumerable;function UP(e){if(e==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}h(UP,"toObject");function BP(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de",Object.getOwnPropertyNames(e)[0]==="5")return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;var r=Object.getOwnPropertyNames(t).map(function(o){return t[o]});if(r.join("")!=="0123456789")return!1;var i={};return"abcdefghijklmnopqrst".split("").forEach(function(o){i[o]=o}),Object.keys(Object.assign({},i)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}h(BP,"shouldUseNative");BP();/** @license React v17.0.2 + * react-jsx-runtime.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var FX=$,qP=60103;Vp.Fragment=60107;if(typeof Symbol=="function"&&Symbol.for){var cC=Symbol.for;qP=cC("react.element"),Vp.Fragment=cC("react.fragment")}var RX=FX.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,LX=Object.prototype.hasOwnProperty,$X={key:!0,ref:!0,__self:!0,__source:!0};function SN(e,t,n){var r,i={},o=null,a=null;n!==void 0&&(o=""+n),t.key!==void 0&&(o=""+t.key),t.ref!==void 0&&(a=t.ref);for(r in t)LX.call(t,r)&&!$X.hasOwnProperty(r)&&(i[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps,t)i[r]===void 0&&(i[r]=t[r]);return{$$typeof:qP,type:e,key:o,ref:a,props:i,_owner:RX.current}}h(SN,"q$1");Vp.jsx=SN;Vp.jsxs=SN;zy.exports=Vp;const q=zy.exports.jsx,Ne=zy.exports.jsxs,Dr=zy.exports.Fragment;var PX=Object.defineProperty,MX=h((e,t)=>PX(e,"name",{value:t,configurable:!0}),"__name$F");const zP=Ea("StorageContext");function NN(e){const t=g.useRef(!0),[n,r]=g.useState(new lg(e.storage));return g.useEffect(()=>{t.current?t.current=!1:r(new lg(e.storage))},[e.storage]),q(zP.Provider,{value:n,children:e.children})}h(NN,"StorageContextProvider");MX(NN,"StorageContextProvider");const Ns=ba(zP),VX=10,QP=2;function bt(e){return jp(e,[])}h(bt,"inspect");function jp(e,t){switch(typeof e){case"string":return JSON.stringify(e);case"function":return e.name?`[function ${e.name}]`:"[function]";case"object":return GP(e,t);default:return String(e)}}h(jp,"formatValue");function GP(e,t){if(e===null)return"null";if(t.includes(e))return"[Circular]";const n=[...t,e];if(HP(e)){const r=e.toJSON();if(r!==e)return typeof r=="string"?r:jp(r,n)}else if(Array.isArray(e))return YP(e,n);return WP(e,n)}h(GP,"formatObjectValue");function HP(e){return typeof e.toJSON=="function"}h(HP,"isJSONable");function WP(e,t){const n=Object.entries(e);return n.length===0?"{}":t.length>QP?"["+JP(e)+"]":"{ "+n.map(([i,o])=>i+": "+jp(o,t)).join(", ")+" }"}h(WP,"formatObject");function YP(e,t){if(e.length===0)return"[]";if(t.length>QP)return"[Array]";const n=Math.min(VX,e.length),r=e.length-n,i=[];for(let o=0;o1&&i.push(`... ${r} more items`),"["+i.join(", ")+"]"}h(YP,"formatArray");function JP(e){const t=Object.prototype.toString.call(e).replace(/^\[object /,"").replace(/]$/,"");if(t==="Object"&&typeof e.constructor=="function"){const n=e.constructor.name;if(typeof n=="string"&&n!=="")return n}return t}h(JP,"getObjectTag");function Qy(e,t){if(!Boolean(e))throw new Error(t??"Unexpected invariant triggered.")}h(Qy,"invariant");let Wt;(function(e){e.QUERY="QUERY",e.MUTATION="MUTATION",e.SUBSCRIPTION="SUBSCRIPTION",e.FIELD="FIELD",e.FRAGMENT_DEFINITION="FRAGMENT_DEFINITION",e.FRAGMENT_SPREAD="FRAGMENT_SPREAD",e.INLINE_FRAGMENT="INLINE_FRAGMENT",e.VARIABLE_DEFINITION="VARIABLE_DEFINITION",e.SCHEMA="SCHEMA",e.SCALAR="SCALAR",e.OBJECT="OBJECT",e.FIELD_DEFINITION="FIELD_DEFINITION",e.ARGUMENT_DEFINITION="ARGUMENT_DEFINITION",e.INTERFACE="INTERFACE",e.UNION="UNION",e.ENUM="ENUM",e.ENUM_VALUE="ENUM_VALUE",e.INPUT_OBJECT="INPUT_OBJECT",e.INPUT_FIELD_DEFINITION="INPUT_FIELD_DEFINITION"})(Wt||(Wt={}));function UT(e){return e===9||e===32}h(UT,"isWhiteSpace$2");function KP(e){return e>=48&&e<=57}h(KP,"isDigit$1");function IN(e){return e>=97&&e<=122||e>=65&&e<=90}h(IN,"isLetter$1");function XP(e){return IN(e)||e===95}h(XP,"isNameStart");function ZP(e){return IN(e)||KP(e)||e===95}h(ZP,"isNameContinue");function e3(e,t){const n=e.replace(/"""/g,'\\"""'),r=n.split(/\r\n|[\n\r]/g),i=r.length===1,o=r.length>1&&r.slice(1).every(p=>p.length===0||UT(p.charCodeAt(0))),a=n.endsWith('\\"""'),s=e.endsWith('"')&&!a,l=e.endsWith("\\"),u=s||l,c=!(t!=null&&t.minimize)&&(!i||e.length>70||u||o||a);let f="";const d=i&&UT(e.charCodeAt(0));return(c&&!d||o)&&(f+=` +`),f+=n,(c||u)&&(f+=` +`),'"""'+f+'"""'}h(e3,"printBlockString");function t3(e){return`"${e.replace(jX,n3)}"`}h(t3,"printString");const jX=/[\x00-\x1f\x22\x5c\x7f-\x9f]/g;function n3(e){return UX[e.charCodeAt(0)]}h(n3,"escapedReplacer");const UX=["\\u0000","\\u0001","\\u0002","\\u0003","\\u0004","\\u0005","\\u0006","\\u0007","\\b","\\t","\\n","\\u000B","\\f","\\r","\\u000E","\\u000F","\\u0010","\\u0011","\\u0012","\\u0013","\\u0014","\\u0015","\\u0016","\\u0017","\\u0018","\\u0019","\\u001A","\\u001B","\\u001C","\\u001D","\\u001E","\\u001F","","",'\\"',"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\\\","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\u007F","\\u0080","\\u0081","\\u0082","\\u0083","\\u0084","\\u0085","\\u0086","\\u0087","\\u0088","\\u0089","\\u008A","\\u008B","\\u008C","\\u008D","\\u008E","\\u008F","\\u0090","\\u0091","\\u0092","\\u0093","\\u0094","\\u0095","\\u0096","\\u0097","\\u0098","\\u0099","\\u009A","\\u009B","\\u009C","\\u009D","\\u009E","\\u009F"];function Gt(e,t){if(!Boolean(e))throw new Error(t)}h(Gt,"devAssert");const r3={Name:[],Document:["definitions"],OperationDefinition:["name","variableDefinitions","directives","selectionSet"],VariableDefinition:["variable","type","defaultValue","directives"],Variable:["name"],SelectionSet:["selections"],Field:["alias","name","arguments","directives","selectionSet"],Argument:["name","value"],FragmentSpread:["name","directives"],InlineFragment:["typeCondition","directives","selectionSet"],FragmentDefinition:["name","variableDefinitions","typeCondition","directives","selectionSet"],IntValue:[],FloatValue:[],StringValue:[],BooleanValue:[],NullValue:[],EnumValue:[],ListValue:["values"],ObjectValue:["fields"],ObjectField:["name","value"],Directive:["name","arguments"],NamedType:["name"],ListType:["type"],NonNullType:["type"],SchemaDefinition:["description","directives","operationTypes"],OperationTypeDefinition:["type"],ScalarTypeDefinition:["description","name","directives"],ObjectTypeDefinition:["description","name","interfaces","directives","fields"],FieldDefinition:["description","name","arguments","type","directives"],InputValueDefinition:["description","name","type","defaultValue","directives"],InterfaceTypeDefinition:["description","name","interfaces","directives","fields"],UnionTypeDefinition:["description","name","directives","types"],EnumTypeDefinition:["description","name","directives","values"],EnumValueDefinition:["description","name","directives"],InputObjectTypeDefinition:["description","name","directives","fields"],DirectiveDefinition:["description","name","arguments","locations"],SchemaExtension:["directives","operationTypes"],ScalarTypeExtension:["name","directives"],ObjectTypeExtension:["name","interfaces","directives","fields"],InterfaceTypeExtension:["name","interfaces","directives","fields"],UnionTypeExtension:["name","directives","types"],EnumTypeExtension:["name","directives","values"],InputObjectTypeExtension:["name","directives","fields"]},BX=new Set(Object.keys(r3));function BT(e){const t=e==null?void 0:e.kind;return typeof t=="string"&&BX.has(t)}h(BT,"isNode");let fC;(function(e){e.QUERY="query",e.MUTATION="mutation",e.SUBSCRIPTION="subscription"})(fC||(fC={}));let Ke;(function(e){e.NAME="Name",e.DOCUMENT="Document",e.OPERATION_DEFINITION="OperationDefinition",e.VARIABLE_DEFINITION="VariableDefinition",e.SELECTION_SET="SelectionSet",e.FIELD="Field",e.ARGUMENT="Argument",e.FRAGMENT_SPREAD="FragmentSpread",e.INLINE_FRAGMENT="InlineFragment",e.FRAGMENT_DEFINITION="FragmentDefinition",e.VARIABLE="Variable",e.INT="IntValue",e.FLOAT="FloatValue",e.STRING="StringValue",e.BOOLEAN="BooleanValue",e.NULL="NullValue",e.ENUM="EnumValue",e.LIST="ListValue",e.OBJECT="ObjectValue",e.OBJECT_FIELD="ObjectField",e.DIRECTIVE="Directive",e.NAMED_TYPE="NamedType",e.LIST_TYPE="ListType",e.NON_NULL_TYPE="NonNullType",e.SCHEMA_DEFINITION="SchemaDefinition",e.OPERATION_TYPE_DEFINITION="OperationTypeDefinition",e.SCALAR_TYPE_DEFINITION="ScalarTypeDefinition",e.OBJECT_TYPE_DEFINITION="ObjectTypeDefinition",e.FIELD_DEFINITION="FieldDefinition",e.INPUT_VALUE_DEFINITION="InputValueDefinition",e.INTERFACE_TYPE_DEFINITION="InterfaceTypeDefinition",e.UNION_TYPE_DEFINITION="UnionTypeDefinition",e.ENUM_TYPE_DEFINITION="EnumTypeDefinition",e.ENUM_VALUE_DEFINITION="EnumValueDefinition",e.INPUT_OBJECT_TYPE_DEFINITION="InputObjectTypeDefinition",e.DIRECTIVE_DEFINITION="DirectiveDefinition",e.SCHEMA_EXTENSION="SchemaExtension",e.SCALAR_TYPE_EXTENSION="ScalarTypeExtension",e.OBJECT_TYPE_EXTENSION="ObjectTypeExtension",e.INTERFACE_TYPE_EXTENSION="InterfaceTypeExtension",e.UNION_TYPE_EXTENSION="UnionTypeExtension",e.ENUM_TYPE_EXTENSION="EnumTypeExtension",e.INPUT_OBJECT_TYPE_EXTENSION="InputObjectTypeExtension"})(Ke||(Ke={}));const qX=Object.freeze({});function i3(e,t,n=r3){const r=new Map;for(const E of Object.values(Ke))r.set(E,o3(t,E));let i,o=Array.isArray(e),a=[e],s=-1,l=[],u=e,c,f;const d=[],p=[];do{s++;const E=s===a.length,y=E&&l.length!==0;if(E){if(c=p.length===0?void 0:d[d.length-1],u=f,f=p.pop(),y)if(o){u=u.slice();let w=0;for(const[S,_]of l){const I=S-w;_===null?(u.splice(I,1),w++):u[I]=_}}else{u=Object.defineProperties({},Object.getOwnPropertyDescriptors(u));for(const[w,S]of l)u[w]=S}s=i.index,a=i.keys,l=i.edits,o=i.inArray,i=i.prev}else if(f){if(c=o?s:a[s],u=f[c],u==null)continue;d.push(c)}let T;if(!Array.isArray(u)){var m,v;BT(u)||Gt(!1,`Invalid AST Node: ${bt(u)}.`);const w=E?(m=r.get(u.kind))===null||m===void 0?void 0:m.leave:(v=r.get(u.kind))===null||v===void 0?void 0:v.enter;if(T=w==null?void 0:w.call(t,u,c,f,d,p),T===qX)break;if(T===!1){if(!E){d.pop();continue}}else if(T!==void 0&&(l.push([c,T]),!E))if(BT(T))u=T;else{d.pop();continue}}if(T===void 0&&y&&l.push([c,u]),E)d.pop();else{var b;i={inArray:o,index:s,keys:a,edits:l,prev:i},o=Array.isArray(u),a=o?u:(b=n[u.kind])!==null&&b!==void 0?b:[],s=-1,l=[],f&&p.push(f),f=u}}while(i!==void 0);return l.length!==0?l[l.length-1][1]:e}h(i3,"visit");function o3(e,t){const n=e[t];return typeof n=="object"?n:typeof n=="function"?{enter:n,leave:void 0}:{enter:e.enter,leave:e.leave}}h(o3,"getEnterLeaveForKind");function fa(e){return i3(e,QX)}h(fa,"print");const zX=80,QX={Name:{leave:e=>e.value},Variable:{leave:e=>"$"+e.name},Document:{leave:e=>me(e.definitions,` + +`)},OperationDefinition:{leave(e){const t=Ve("(",me(e.variableDefinitions,", "),")"),n=me([e.operation,me([e.name,t]),me(e.directives," ")]," ");return(n==="query"?"":n+" ")+e.selectionSet}},VariableDefinition:{leave:({variable:e,type:t,defaultValue:n,directives:r})=>e+": "+t+Ve(" = ",n)+Ve(" ",me(r," "))},SelectionSet:{leave:({selections:e})=>Wr(e)},Field:{leave({alias:e,name:t,arguments:n,directives:r,selectionSet:i}){const o=Ve("",e,": ")+t;let a=o+Ve("(",me(n,", "),")");return a.length>zX&&(a=o+Ve(`( +`,Kf(me(n,` +`)),` +)`)),me([a,me(r," "),i]," ")}},Argument:{leave:({name:e,value:t})=>e+": "+t},FragmentSpread:{leave:({name:e,directives:t})=>"..."+e+Ve(" ",me(t," "))},InlineFragment:{leave:({typeCondition:e,directives:t,selectionSet:n})=>me(["...",Ve("on ",e),me(t," "),n]," ")},FragmentDefinition:{leave:({name:e,typeCondition:t,variableDefinitions:n,directives:r,selectionSet:i})=>`fragment ${e}${Ve("(",me(n,", "),")")} on ${t} ${Ve("",me(r," ")," ")}`+i},IntValue:{leave:({value:e})=>e},FloatValue:{leave:({value:e})=>e},StringValue:{leave:({value:e,block:t})=>t?e3(e):t3(e)},BooleanValue:{leave:({value:e})=>e?"true":"false"},NullValue:{leave:()=>"null"},EnumValue:{leave:({value:e})=>e},ListValue:{leave:({values:e})=>"["+me(e,", ")+"]"},ObjectValue:{leave:({fields:e})=>"{"+me(e,", ")+"}"},ObjectField:{leave:({name:e,value:t})=>e+": "+t},Directive:{leave:({name:e,arguments:t})=>"@"+e+Ve("(",me(t,", "),")")},NamedType:{leave:({name:e})=>e},ListType:{leave:({type:e})=>"["+e+"]"},NonNullType:{leave:({type:e})=>e+"!"},SchemaDefinition:{leave:({description:e,directives:t,operationTypes:n})=>Ve("",e,` +`)+me(["schema",me(t," "),Wr(n)]," ")},OperationTypeDefinition:{leave:({operation:e,type:t})=>e+": "+t},ScalarTypeDefinition:{leave:({description:e,name:t,directives:n})=>Ve("",e,` +`)+me(["scalar",t,me(n," ")]," ")},ObjectTypeDefinition:{leave:({description:e,name:t,interfaces:n,directives:r,fields:i})=>Ve("",e,` +`)+me(["type",t,Ve("implements ",me(n," & ")),me(r," "),Wr(i)]," ")},FieldDefinition:{leave:({description:e,name:t,arguments:n,type:r,directives:i})=>Ve("",e,` +`)+t+(qT(n)?Ve(`( +`,Kf(me(n,` +`)),` +)`):Ve("(",me(n,", "),")"))+": "+r+Ve(" ",me(i," "))},InputValueDefinition:{leave:({description:e,name:t,type:n,defaultValue:r,directives:i})=>Ve("",e,` +`)+me([t+": "+n,Ve("= ",r),me(i," ")]," ")},InterfaceTypeDefinition:{leave:({description:e,name:t,interfaces:n,directives:r,fields:i})=>Ve("",e,` +`)+me(["interface",t,Ve("implements ",me(n," & ")),me(r," "),Wr(i)]," ")},UnionTypeDefinition:{leave:({description:e,name:t,directives:n,types:r})=>Ve("",e,` +`)+me(["union",t,me(n," "),Ve("= ",me(r," | "))]," ")},EnumTypeDefinition:{leave:({description:e,name:t,directives:n,values:r})=>Ve("",e,` +`)+me(["enum",t,me(n," "),Wr(r)]," ")},EnumValueDefinition:{leave:({description:e,name:t,directives:n})=>Ve("",e,` +`)+me([t,me(n," ")]," ")},InputObjectTypeDefinition:{leave:({description:e,name:t,directives:n,fields:r})=>Ve("",e,` +`)+me(["input",t,me(n," "),Wr(r)]," ")},DirectiveDefinition:{leave:({description:e,name:t,arguments:n,repeatable:r,locations:i})=>Ve("",e,` +`)+"directive @"+t+(qT(n)?Ve(`( +`,Kf(me(n,` +`)),` +)`):Ve("(",me(n,", "),")"))+(r?" repeatable":"")+" on "+me(i," | ")},SchemaExtension:{leave:({directives:e,operationTypes:t})=>me(["extend schema",me(e," "),Wr(t)]," ")},ScalarTypeExtension:{leave:({name:e,directives:t})=>me(["extend scalar",e,me(t," ")]," ")},ObjectTypeExtension:{leave:({name:e,interfaces:t,directives:n,fields:r})=>me(["extend type",e,Ve("implements ",me(t," & ")),me(n," "),Wr(r)]," ")},InterfaceTypeExtension:{leave:({name:e,interfaces:t,directives:n,fields:r})=>me(["extend interface",e,Ve("implements ",me(t," & ")),me(n," "),Wr(r)]," ")},UnionTypeExtension:{leave:({name:e,directives:t,types:n})=>me(["extend union",e,me(t," "),Ve("= ",me(n," | "))]," ")},EnumTypeExtension:{leave:({name:e,directives:t,values:n})=>me(["extend enum",e,me(t," "),Wr(n)]," ")},InputObjectTypeExtension:{leave:({name:e,directives:t,fields:n})=>me(["extend input",e,me(t," "),Wr(n)]," ")}};function me(e,t=""){var n;return(n=e==null?void 0:e.filter(r=>r).join(t))!==null&&n!==void 0?n:""}h(me,"join");function Wr(e){return Ve(`{ +`,Kf(me(e,` +`)),` +}`)}h(Wr,"block$2");function Ve(e,t,n=""){return t!=null&&t!==""?e+t+n:""}h(Ve,"wrap");function Kf(e){return Ve(" ",e.replace(/\n/g,` + `))}h(Kf,"indent");function qT(e){var t;return(t=e==null?void 0:e.some(n=>n.includes(` +`)))!==null&&t!==void 0?t:!1}h(qT,"hasMultilineItems");function a3(e){return typeof e=="object"&&typeof(e==null?void 0:e[Symbol.iterator])=="function"}h(a3,"isIterableObject");function dc(e){return typeof e=="object"&&e!==null}h(dc,"isObjectLike");const GX=5;function s3(e,t){const[n,r]=t?[e,t]:[void 0,e];let i=" Did you mean ";n&&(i+=n+" ");const o=r.map(l=>`"${l}"`);switch(o.length){case 0:return"";case 1:return i+o[0]+"?";case 2:return i+o[0]+" or "+o[1]+"?"}const a=o.slice(0,GX),s=a.pop();return i+a.join(", ")+", or "+s+"?"}h(s3,"didYouMean");function zT(e){return e}h(zT,"identityFunc");const Is=h(function(t,n){return t instanceof n},"instanceOf");function l3(e,t){const n=Object.create(null);for(const r of e)n[t(r)]=r;return n}h(l3,"keyMap");function Gy(e,t,n){const r=Object.create(null);for(const i of e)r[t(i)]=n(i);return r}h(Gy,"keyValMap");function Up(e,t){const n=Object.create(null);for(const r of Object.keys(e))n[r]=t(e[r],r);return n}h(Up,"mapValue");function u3(e,t){let n=0,r=0;for(;n0);let s=0;do++r,s=s*10+o-QT,o=t.charCodeAt(r);while(If(o)&&s>0);if(as)return 1}else{if(io)return 1;++n,++r}}return e.length-t.length}h(u3,"naturalCompare");const QT=48,HX=57;function If(e){return!isNaN(e)&&QT<=e&&e<=HX}h(If,"isDigit");function c3(e,t){const n=Object.create(null),r=new f3(e),i=Math.floor(e.length*.4)+1;for(const o of t){const a=r.measure(o,i);a!==void 0&&(n[o]=a)}return Object.keys(n).sort((o,a)=>{const s=n[o]-n[a];return s!==0?s:u3(o,a)})}h(c3,"suggestionList");let f3=class{constructor(t){this._input=t,this._inputLowerCase=t.toLowerCase(),this._inputArray=GT(this._inputLowerCase),this._rows=[new Array(t.length+1).fill(0),new Array(t.length+1).fill(0),new Array(t.length+1).fill(0)]}measure(t,n){if(this._input===t)return 0;const r=t.toLowerCase();if(this._inputLowerCase===r)return 1;let i=GT(r),o=this._inputArray;if(i.lengthn)return;const l=this._rows;for(let c=0;c<=s;c++)l[0][c]=c;for(let c=1;c<=a;c++){const f=l[(c-1)%3],d=l[c%3];let p=d[0]=c;for(let m=1;m<=s;m++){const v=i[c-1]===o[m-1]?0:1;let b=Math.min(f[m]+1,d[m-1]+1,f[m-1]+v);if(c>1&&m>1&&i[c-1]===o[m-2]&&i[c-2]===o[m-1]){const E=l[(c-2)%3][m-2];b=Math.min(b,E+1)}bn)return}const u=l[a%3][s];return u<=n?u:void 0}};h(f3,"LexicalDistance");function GT(e){const t=e.length,n=new Array(t);for(let r=0;r=t)break;n=i.index+i[0].length,r+=1}return{line:r,column:t+1-n}}h(ug,"getLocation");function d3(e){return xN(e.source,ug(e.source,e.start))}h(d3,"printLocation");function xN(e,t){const n=e.locationOffset.column-1,r="".padStart(n)+e.body,i=t.line-1,o=e.locationOffset.line-1,a=t.line+o,s=t.line===1?n:0,l=t.column+s,u=`${e.name}:${a}:${l} +`,c=r.split(/\r\n|[\n\r]/g),f=c[i];if(f.length>120){const d=Math.floor(l/80),p=l%80,m=[];for(let v=0;v["|",v]),["|","^".padStart(p)],["|",m[d+1]]])}return u+HT([[`${a-1} |`,c[i-1]],[`${a} |`,f],["|","^".padStart(l)],[`${a+1} |`,c[i+1]]])}h(xN,"printSourceLocation");function HT(e){const t=e.filter(([r,i])=>i!==void 0),n=Math.max(...t.map(([r])=>r.length));return t.map(([r,i])=>r.padStart(n)+(i?" "+i:"")).join(` +`)}h(HT,"printPrefixedLines");function p3(e){const t=e[0];return t==null||"kind"in t||"length"in t?{nodes:t,source:e[1],positions:e[2],path:e[3],originalError:e[4],extensions:e[5]}:t}h(p3,"toNormalizedOptions");let pt=class h3 extends Error{constructor(t,...n){var r,i,o;const{nodes:a,source:s,positions:l,path:u,originalError:c,extensions:f}=p3(n);super(t),this.name="GraphQLError",this.path=u??void 0,this.originalError=c??void 0,this.nodes=WT(Array.isArray(a)?a:a?[a]:void 0);const d=WT((r=this.nodes)===null||r===void 0?void 0:r.map(m=>m.loc).filter(m=>m!=null));this.source=s??(d==null||(i=d[0])===null||i===void 0?void 0:i.source),this.positions=l??(d==null?void 0:d.map(m=>m.start)),this.locations=l&&s?l.map(m=>ug(s,m)):d==null?void 0:d.map(m=>ug(m.source,m.start));const p=dc(c==null?void 0:c.extensions)?c==null?void 0:c.extensions:void 0;this.extensions=(o=f??p)!==null&&o!==void 0?o:Object.create(null),Object.defineProperties(this,{message:{writable:!0,enumerable:!0},name:{enumerable:!1},nodes:{enumerable:!1},source:{enumerable:!1},positions:{enumerable:!1},originalError:{enumerable:!1}}),c!=null&&c.stack?Object.defineProperty(this,"stack",{value:c.stack,writable:!0,configurable:!0}):Error.captureStackTrace?Error.captureStackTrace(this,h3):Object.defineProperty(this,"stack",{value:Error().stack,writable:!0,configurable:!0})}get[Symbol.toStringTag](){return"GraphQLError"}toString(){let t=this.message;if(this.nodes)for(const n of this.nodes)n.loc&&(t+=` + +`+d3(n.loc));else if(this.source&&this.locations)for(const n of this.locations)t+=` + +`+xN(this.source,n);return t}toJSON(){const t={message:this.message};return this.locations!=null&&(t.locations=this.locations),this.path!=null&&(t.path=this.path),this.extensions!=null&&Object.keys(this.extensions).length>0&&(t.extensions=this.extensions),t}};h(pt,"GraphQLError");function WT(e){return e===void 0||e.length===0?void 0:e}h(WT,"undefinedIfEmpty");function cg(e,t){switch(e.kind){case Ke.NULL:return null;case Ke.INT:return parseInt(e.value,10);case Ke.FLOAT:return parseFloat(e.value);case Ke.STRING:case Ke.ENUM:case Ke.BOOLEAN:return e.value;case Ke.LIST:return e.values.map(n=>cg(n,t));case Ke.OBJECT:return Gy(e.fields,n=>n.name.value,n=>cg(n.value,t));case Ke.VARIABLE:return t==null?void 0:t[e.name.value]}}h(cg,"valueFromASTUntyped");function Yi(e){if(e!=null||Gt(!1,"Must provide name."),typeof e=="string"||Gt(!1,"Expected name to be a string."),e.length===0)throw new pt("Expected name to be a non-empty string.");for(let t=1;ta(cg(s,l)),this.extensions=Wi(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(o=t.extensionASTNodes)!==null&&o!==void 0?o:[],t.specifiedByURL==null||typeof t.specifiedByURL=="string"||Gt(!1,`${this.name} must provide "specifiedByURL" as a string, but got: ${bt(t.specifiedByURL)}.`),t.serialize==null||typeof t.serialize=="function"||Gt(!1,`${this.name} must provide "serialize" function. If this custom Scalar is also used as an input type, ensure "parseValue" and "parseLiteral" functions are also provided.`),t.parseLiteral&&(typeof t.parseValue=="function"&&typeof t.parseLiteral=="function"||Gt(!1,`${this.name} must provide both "parseValue" and "parseLiteral" functions.`))}get[Symbol.toStringTag](){return"GraphQLScalarType"}toConfig(){return{name:this.name,description:this.description,specifiedByURL:this.specifiedByURL,serialize:this.serialize,parseValue:this.parseValue,parseLiteral:this.parseLiteral,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};h(Ll,"GraphQLScalarType");let xs=class{constructor(t){var n;this.name=Yi(t.name),this.description=t.description,this.isTypeOf=t.isTypeOf,this.extensions=Wi(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(n=t.extensionASTNodes)!==null&&n!==void 0?n:[],this._fields=()=>AN(t),this._interfaces=()=>kN(t),t.isTypeOf==null||typeof t.isTypeOf=="function"||Gt(!1,`${this.name} must provide "isTypeOf" as a function, but got: ${bt(t.isTypeOf)}.`)}get[Symbol.toStringTag](){return"GraphQLObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}getInterfaces(){return typeof this._interfaces=="function"&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:FN(this.getFields()),isTypeOf:this.isTypeOf,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};h(xs,"GraphQLObjectType");function kN(e){var t;const n=ON((t=e.interfaces)!==null&&t!==void 0?t:[]);return Array.isArray(n)||Gt(!1,`${e.name} interfaces must be an Array or a function which returns an Array.`),n}h(kN,"defineInterfaces");function AN(e){const t=CN(e.fields);return ll(t)||Gt(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),Up(t,(n,r)=>{var i;ll(n)||Gt(!1,`${e.name}.${r} field config must be an object.`),n.resolve==null||typeof n.resolve=="function"||Gt(!1,`${e.name}.${r} field resolver must be a function if provided, but got: ${bt(n.resolve)}.`);const o=(i=n.args)!==null&&i!==void 0?i:{};return ll(o)||Gt(!1,`${e.name}.${r} args must be an object with argument names as keys.`),{name:Yi(r),description:n.description,type:n.type,args:E3(o),resolve:n.resolve,subscribe:n.subscribe,deprecationReason:n.deprecationReason,extensions:Wi(n.extensions),astNode:n.astNode}})}h(AN,"defineFieldMap");function E3(e){return Object.entries(e).map(([t,n])=>({name:Yi(t),description:n.description,type:n.type,defaultValue:n.defaultValue,deprecationReason:n.deprecationReason,extensions:Wi(n.extensions),astNode:n.astNode}))}h(E3,"defineArguments");function ll(e){return dc(e)&&!Array.isArray(e)}h(ll,"isPlainObj");function FN(e){return Up(e,t=>({description:t.description,type:t.type,args:b3(t.args),resolve:t.resolve,subscribe:t.subscribe,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}h(FN,"fieldsToFieldsConfig");function b3(e){return Gy(e,t=>t.name,t=>({description:t.description,type:t.type,defaultValue:t.defaultValue,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}h(b3,"argsToArgsConfig");let T3=class{constructor(t){var n;this.name=Yi(t.name),this.description=t.description,this.resolveType=t.resolveType,this.extensions=Wi(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(n=t.extensionASTNodes)!==null&&n!==void 0?n:[],this._fields=AN.bind(void 0,t),this._interfaces=kN.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||Gt(!1,`${this.name} must provide "resolveType" as a function, but got: ${bt(t.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLInterfaceType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}getInterfaces(){return typeof this._interfaces=="function"&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:FN(this.getFields()),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};h(T3,"GraphQLInterfaceType");let w3=class{constructor(t){var n;this.name=Yi(t.name),this.description=t.description,this.resolveType=t.resolveType,this.extensions=Wi(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(n=t.extensionASTNodes)!==null&&n!==void 0?n:[],this._types=_3.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||Gt(!1,`${this.name} must provide "resolveType" as a function, but got: ${bt(t.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLUnionType"}getTypes(){return typeof this._types=="function"&&(this._types=this._types()),this._types}toConfig(){return{name:this.name,description:this.description,types:this.getTypes(),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};h(w3,"GraphQLUnionType");function _3(e){const t=ON(e.types);return Array.isArray(t)||Gt(!1,`Must provide Array of types or a function which returns such an array for Union ${e.name}.`),t}h(_3,"defineTypes");let Jy=class{constructor(t){var n;this.name=Yi(t.name),this.description=t.description,this.extensions=Wi(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(n=t.extensionASTNodes)!==null&&n!==void 0?n:[],this._values=S3(this.name,t.values),this._valueLookup=new Map(this._values.map(r=>[r.value,r])),this._nameLookup=l3(this._values,r=>r.name)}get[Symbol.toStringTag](){return"GraphQLEnumType"}getValues(){return this._values}getValue(t){return this._nameLookup[t]}serialize(t){const n=this._valueLookup.get(t);if(n===void 0)throw new pt(`Enum "${this.name}" cannot represent value: ${bt(t)}`);return n.name}parseValue(t){if(typeof t!="string"){const r=bt(t);throw new pt(`Enum "${this.name}" cannot represent non-string value: ${r}.`+xf(this,r))}const n=this.getValue(t);if(n==null)throw new pt(`Value "${t}" does not exist in "${this.name}" enum.`+xf(this,t));return n.value}parseLiteral(t,n){if(t.kind!==Ke.ENUM){const i=fa(t);throw new pt(`Enum "${this.name}" cannot represent non-enum value: ${i}.`+xf(this,i),{nodes:t})}const r=this.getValue(t.value);if(r==null){const i=fa(t);throw new pt(`Value "${i}" does not exist in "${this.name}" enum.`+xf(this,i),{nodes:t})}return r.value}toConfig(){const t=Gy(this.getValues(),n=>n.name,n=>({description:n.description,value:n.value,deprecationReason:n.deprecationReason,extensions:n.extensions,astNode:n.astNode}));return{name:this.name,description:this.description,values:t,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};h(Jy,"GraphQLEnumType");function xf(e,t){const n=e.getValues().map(i=>i.name),r=c3(t,n);return s3("the enum value",r)}h(xf,"didYouMeanEnumValue");function S3(e,t){return ll(t)||Gt(!1,`${e} values must be an object with value names as keys.`),Object.entries(t).map(([n,r])=>(ll(r)||Gt(!1,`${e}.${n} must refer to an object with a "value" key representing an internal value but got: ${bt(r)}.`),{name:m3(n),description:r.description,value:r.value!==void 0?r.value:n,deprecationReason:r.deprecationReason,extensions:Wi(r.extensions),astNode:r.astNode}))}h(S3,"defineEnumValues");let N3=class{constructor(t){var n;this.name=Yi(t.name),this.description=t.description,this.extensions=Wi(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(n=t.extensionASTNodes)!==null&&n!==void 0?n:[],this._fields=I3.bind(void 0,t)}get[Symbol.toStringTag](){return"GraphQLInputObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}toConfig(){const t=Up(this.getFields(),n=>({description:n.description,type:n.type,defaultValue:n.defaultValue,deprecationReason:n.deprecationReason,extensions:n.extensions,astNode:n.astNode}));return{name:this.name,description:this.description,fields:t,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};h(N3,"GraphQLInputObjectType");function I3(e){const t=CN(e.fields);return ll(t)||Gt(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),Up(t,(n,r)=>(!("resolve"in n)||Gt(!1,`${e.name}.${r} field has a resolve property, but Input Types cannot define resolvers.`),{name:Yi(r),description:n.description,type:n.type,defaultValue:n.defaultValue,deprecationReason:n.deprecationReason,extensions:Wi(n.extensions),astNode:n.astNode}))}h(I3,"defineInputFieldMap");const d1=2147483647,p1=-2147483648;new Ll({name:"Int",description:"The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.",serialize(e){const t=Ac(e);if(typeof t=="boolean")return t?1:0;let n=t;if(typeof t=="string"&&t!==""&&(n=Number(t)),typeof n!="number"||!Number.isInteger(n))throw new pt(`Int cannot represent non-integer value: ${bt(t)}`);if(n>d1||nd1||ed1||t({description:{type:xn,resolve:e=>e.description},types:{description:"A list of all types supported by this server.",type:new Ze(new ti(new Ze(mo))),resolve(e){return Object.values(e.getTypeMap())}},queryType:{description:"The type that query operations will be rooted at.",type:new Ze(mo),resolve:e=>e.getQueryType()},mutationType:{description:"If this server supports mutation, the type that mutation operations will be rooted at.",type:mo,resolve:e=>e.getMutationType()},subscriptionType:{description:"If this server support subscription, the type that subscription operations will be rooted at.",type:mo,resolve:e=>e.getSubscriptionType()},directives:{description:"A list of all directives supported by this server.",type:new Ze(new ti(new Ze(KX))),resolve:e=>e.getDirectives()}})}),KX=new xs({name:"__Directive",description:`A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document. + +In some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.`,fields:()=>({name:{type:new Ze(xn),resolve:e=>e.name},description:{type:xn,resolve:e=>e.description},isRepeatable:{type:new Ze(ea),resolve:e=>e.isRepeatable},locations:{type:new Ze(new ti(new Ze(XX))),resolve:e=>e.locations},args:{type:new Ze(new ti(new Ze(RN))),args:{includeDeprecated:{type:ea,defaultValue:!1}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter(n=>n.deprecationReason==null)}}})}),XX=new Jy({name:"__DirectiveLocation",description:"A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.",values:{QUERY:{value:Wt.QUERY,description:"Location adjacent to a query operation."},MUTATION:{value:Wt.MUTATION,description:"Location adjacent to a mutation operation."},SUBSCRIPTION:{value:Wt.SUBSCRIPTION,description:"Location adjacent to a subscription operation."},FIELD:{value:Wt.FIELD,description:"Location adjacent to a field."},FRAGMENT_DEFINITION:{value:Wt.FRAGMENT_DEFINITION,description:"Location adjacent to a fragment definition."},FRAGMENT_SPREAD:{value:Wt.FRAGMENT_SPREAD,description:"Location adjacent to a fragment spread."},INLINE_FRAGMENT:{value:Wt.INLINE_FRAGMENT,description:"Location adjacent to an inline fragment."},VARIABLE_DEFINITION:{value:Wt.VARIABLE_DEFINITION,description:"Location adjacent to a variable definition."},SCHEMA:{value:Wt.SCHEMA,description:"Location adjacent to a schema definition."},SCALAR:{value:Wt.SCALAR,description:"Location adjacent to a scalar definition."},OBJECT:{value:Wt.OBJECT,description:"Location adjacent to an object type definition."},FIELD_DEFINITION:{value:Wt.FIELD_DEFINITION,description:"Location adjacent to a field definition."},ARGUMENT_DEFINITION:{value:Wt.ARGUMENT_DEFINITION,description:"Location adjacent to an argument definition."},INTERFACE:{value:Wt.INTERFACE,description:"Location adjacent to an interface definition."},UNION:{value:Wt.UNION,description:"Location adjacent to a union definition."},ENUM:{value:Wt.ENUM,description:"Location adjacent to an enum definition."},ENUM_VALUE:{value:Wt.ENUM_VALUE,description:"Location adjacent to an enum value definition."},INPUT_OBJECT:{value:Wt.INPUT_OBJECT,description:"Location adjacent to an input object type definition."},INPUT_FIELD_DEFINITION:{value:Wt.INPUT_FIELD_DEFINITION,description:"Location adjacent to an input object field definition."}}}),mo=new xs({name:"__Type",description:"The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name, description and optional `specifiedByURL`, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.",fields:()=>({kind:{type:new Ze(tZ),resolve(e){if(Hy(e))return _n.SCALAR;if(Xf(e))return _n.OBJECT;if(Ru(e))return _n.INTERFACE;if(Wy(e))return _n.UNION;if(pc(e))return _n.ENUM;if(Fd(e))return _n.INPUT_OBJECT;if(Yy(e))return _n.LIST;if(Bp(e))return _n.NON_NULL;Qy(!1,`Unexpected type: "${bt(e)}".`)}},name:{type:xn,resolve:e=>"name"in e?e.name:void 0},description:{type:xn,resolve:e=>"description"in e?e.description:void 0},specifiedByURL:{type:xn,resolve:e=>"specifiedByURL"in e?e.specifiedByURL:void 0},fields:{type:new ti(new Ze(ZX)),args:{includeDeprecated:{type:ea,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(Xf(e)||Ru(e)){const n=Object.values(e.getFields());return t?n:n.filter(r=>r.deprecationReason==null)}}},interfaces:{type:new ti(new Ze(mo)),resolve(e){if(Xf(e)||Ru(e))return e.getInterfaces()}},possibleTypes:{type:new ti(new Ze(mo)),resolve(e,t,n,{schema:r}){if(g3(e))return r.getPossibleTypes(e)}},enumValues:{type:new ti(new Ze(eZ)),args:{includeDeprecated:{type:ea,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(pc(e)){const n=e.getValues();return t?n:n.filter(r=>r.deprecationReason==null)}}},inputFields:{type:new ti(new Ze(RN)),args:{includeDeprecated:{type:ea,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(Fd(e)){const n=Object.values(e.getFields());return t?n:n.filter(r=>r.deprecationReason==null)}}},ofType:{type:mo,resolve:e=>"ofType"in e?e.ofType:void 0}})}),ZX=new xs({name:"__Field",description:"Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.",fields:()=>({name:{type:new Ze(xn),resolve:e=>e.name},description:{type:xn,resolve:e=>e.description},args:{type:new Ze(new ti(new Ze(RN))),args:{includeDeprecated:{type:ea,defaultValue:!1}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter(n=>n.deprecationReason==null)}},type:{type:new Ze(mo),resolve:e=>e.type},isDeprecated:{type:new Ze(ea),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:xn,resolve:e=>e.deprecationReason}})}),RN=new xs({name:"__InputValue",description:"Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.",fields:()=>({name:{type:new Ze(xn),resolve:e=>e.name},description:{type:xn,resolve:e=>e.description},type:{type:new Ze(mo),resolve:e=>e.type},defaultValue:{type:xn,description:"A GraphQL-formatted string representing the default value for this input value.",resolve(e){const{type:t,defaultValue:n}=e,r=hu(n,t);return r?fa(r):null}},isDeprecated:{type:new Ze(ea),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:xn,resolve:e=>e.deprecationReason}})}),eZ=new xs({name:"__EnumValue",description:"One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.",fields:()=>({name:{type:new Ze(xn),resolve:e=>e.name},description:{type:xn,resolve:e=>e.description},isDeprecated:{type:new Ze(ea),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:xn,resolve:e=>e.deprecationReason}})});let _n;(function(e){e.SCALAR="SCALAR",e.OBJECT="OBJECT",e.INTERFACE="INTERFACE",e.UNION="UNION",e.ENUM="ENUM",e.INPUT_OBJECT="INPUT_OBJECT",e.LIST="LIST",e.NON_NULL="NON_NULL"})(_n||(_n={}));const tZ=new Jy({name:"__TypeKind",description:"An enum describing what kind of type a given `__Type` is.",values:{SCALAR:{value:_n.SCALAR,description:"Indicates this type is a scalar."},OBJECT:{value:_n.OBJECT,description:"Indicates this type is an object. `fields` and `interfaces` are valid fields."},INTERFACE:{value:_n.INTERFACE,description:"Indicates this type is an interface. `fields`, `interfaces`, and `possibleTypes` are valid fields."},UNION:{value:_n.UNION,description:"Indicates this type is a union. `possibleTypes` is a valid field."},ENUM:{value:_n.ENUM,description:"Indicates this type is an enum. `enumValues` is a valid field."},INPUT_OBJECT:{value:_n.INPUT_OBJECT,description:"Indicates this type is an input object. `inputFields` is a valid field."},LIST:{value:_n.LIST,description:"Indicates this type is a list. `ofType` is a valid field."},NON_NULL:{value:_n.NON_NULL,description:"Indicates this type is a non-null. `ofType` is a valid field."}}}),pC={name:"__schema",type:new Ze(JX),description:"Access the current type schema of this server.",args:[],resolve:(e,t,n,{schema:r})=>r,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},hC={name:"__type",type:mo,description:"Request the type information of a single type.",args:[{name:"name",description:void 0,type:new Ze(xn),defaultValue:void 0,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0}],resolve:(e,{name:t},n,{schema:r})=>r.getType(t),deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},mC={name:"__typename",type:new Ze(xn),description:"The name of the current Object type at runtime.",args:[],resolve:(e,t,n,{parentType:r})=>r.name,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0};function x3(e){let t;return LN(e,n=>{switch(n.kind){case"Query":case"ShortQuery":case"Mutation":case"Subscription":case"FragmentDefinition":t=n;break}}),t}h(x3,"getDefinitionState");function YT(e,t,n){return n===pC.name&&e.getQueryType()===t?pC:n===hC.name&&e.getQueryType()===t?hC:n===mC.name&&pn(t)?mC:"getFields"in t?t.getFields()[n]:null}h(YT,"getFieldDef");function LN(e,t){const n=[];let r=e;for(;r!=null&&r.kind;)n.push(r),r=r.prevState;for(let i=n.length-1;i>=0;i--)t(n[i])}h(LN,"forEachState");function ls(e){const t=Object.keys(e),n=t.length,r=new Array(n);for(let i=0;i!r.isDeprecated);const n=e.map(r=>({proximity:O3($N(r.label),t),entry:r}));return Zm(Zm(n,r=>r.proximity<=2),r=>!r.entry.isDeprecated).sort((r,i)=>(r.entry.isDeprecated?1:0)-(i.entry.isDeprecated?1:0)||r.proximity-i.proximity||r.entry.label.length-i.entry.label.length).map(r=>r.entry)}h(D3,"filterAndSortList");function Zm(e,t){const n=e.filter(t);return n.length===0?e:n}h(Zm,"filterNonEmpty");function $N(e){return e.toLowerCase().replace(/\W/g,"")}h($N,"normalizeText");function O3(e,t){let n=C3(t,e);return e.length>t.length&&(n-=e.length-t.length-1,n+=e.indexOf(t)===0?0:.5),n}h(O3,"getProximity");function C3(e,t){let n,r;const i=[],o=e.length,a=t.length;for(n=0;n<=o;n++)i[n]=[n];for(r=1;r<=a;r++)i[0][r]=r;for(n=1;n<=o;n++)for(r=1;r<=a;r++){const s=e[n-1]===t[r-1]?0:1;i[n][r]=Math.min(i[n-1][r]+1,i[n][r-1]+1,i[n-1][r-1]+s),n>1&&r>1&&e[n-1]===t[r-2]&&e[n-2]===t[r-1]&&(i[n][r]=Math.min(i[n][r],i[n-2][r-2]+s))}return i[o][a]}h(C3,"lexicalDistance");var vC;(function(e){function t(n){return typeof n=="string"}h(t,"is"),e.is=t})(vC||(vC={}));var JT;(function(e){function t(n){return typeof n=="string"}h(t,"is"),e.is=t})(JT||(JT={}));var gC;(function(e){e.MIN_VALUE=-2147483648,e.MAX_VALUE=2147483647;function t(n){return typeof n=="number"&&e.MIN_VALUE<=n&&n<=e.MAX_VALUE}h(t,"is"),e.is=t})(gC||(gC={}));var fg;(function(e){e.MIN_VALUE=0,e.MAX_VALUE=2147483647;function t(n){return typeof n=="number"&&e.MIN_VALUE<=n&&n<=e.MAX_VALUE}h(t,"is"),e.is=t})(fg||(fg={}));var Ci;(function(e){function t(r,i){return r===Number.MAX_VALUE&&(r=fg.MAX_VALUE),i===Number.MAX_VALUE&&(i=fg.MAX_VALUE),{line:r,character:i}}h(t,"create"),e.create=t;function n(r){var i=r;return Q.objectLiteral(i)&&Q.uinteger(i.line)&&Q.uinteger(i.character)}h(n,"is"),e.is=n})(Ci||(Ci={}));var Xt;(function(e){function t(r,i,o,a){if(Q.uinteger(r)&&Q.uinteger(i)&&Q.uinteger(o)&&Q.uinteger(a))return{start:Ci.create(r,i),end:Ci.create(o,a)};if(Ci.is(r)&&Ci.is(i))return{start:r,end:i};throw new Error("Range#create called with invalid arguments[".concat(r,", ").concat(i,", ").concat(o,", ").concat(a,"]"))}h(t,"create"),e.create=t;function n(r){var i=r;return Q.objectLiteral(i)&&Ci.is(i.start)&&Ci.is(i.end)}h(n,"is"),e.is=n})(Xt||(Xt={}));var dg;(function(e){function t(r,i){return{uri:r,range:i}}h(t,"create"),e.create=t;function n(r){var i=r;return Q.defined(i)&&Xt.is(i.range)&&(Q.string(i.uri)||Q.undefined(i.uri))}h(n,"is"),e.is=n})(dg||(dg={}));var yC;(function(e){function t(r,i,o,a){return{targetUri:r,targetRange:i,targetSelectionRange:o,originSelectionRange:a}}h(t,"create"),e.create=t;function n(r){var i=r;return Q.defined(i)&&Xt.is(i.targetRange)&&Q.string(i.targetUri)&&Xt.is(i.targetSelectionRange)&&(Xt.is(i.originSelectionRange)||Q.undefined(i.originSelectionRange))}h(n,"is"),e.is=n})(yC||(yC={}));var KT;(function(e){function t(r,i,o,a){return{red:r,green:i,blue:o,alpha:a}}h(t,"create"),e.create=t;function n(r){var i=r;return Q.objectLiteral(i)&&Q.numberRange(i.red,0,1)&&Q.numberRange(i.green,0,1)&&Q.numberRange(i.blue,0,1)&&Q.numberRange(i.alpha,0,1)}h(n,"is"),e.is=n})(KT||(KT={}));var EC;(function(e){function t(r,i){return{range:r,color:i}}h(t,"create"),e.create=t;function n(r){var i=r;return Q.objectLiteral(i)&&Xt.is(i.range)&&KT.is(i.color)}h(n,"is"),e.is=n})(EC||(EC={}));var bC;(function(e){function t(r,i,o){return{label:r,textEdit:i,additionalTextEdits:o}}h(t,"create"),e.create=t;function n(r){var i=r;return Q.objectLiteral(i)&&Q.string(i.label)&&(Q.undefined(i.textEdit)||ta.is(i))&&(Q.undefined(i.additionalTextEdits)||Q.typedArray(i.additionalTextEdits,ta.is))}h(n,"is"),e.is=n})(bC||(bC={}));var TC;(function(e){e.Comment="comment",e.Imports="imports",e.Region="region"})(TC||(TC={}));var wC;(function(e){function t(r,i,o,a,s,l){var u={startLine:r,endLine:i};return Q.defined(o)&&(u.startCharacter=o),Q.defined(a)&&(u.endCharacter=a),Q.defined(s)&&(u.kind=s),Q.defined(l)&&(u.collapsedText=l),u}h(t,"create"),e.create=t;function n(r){var i=r;return Q.objectLiteral(i)&&Q.uinteger(i.startLine)&&Q.uinteger(i.startLine)&&(Q.undefined(i.startCharacter)||Q.uinteger(i.startCharacter))&&(Q.undefined(i.endCharacter)||Q.uinteger(i.endCharacter))&&(Q.undefined(i.kind)||Q.string(i.kind))}h(n,"is"),e.is=n})(wC||(wC={}));var XT;(function(e){function t(r,i){return{location:r,message:i}}h(t,"create"),e.create=t;function n(r){var i=r;return Q.defined(i)&&dg.is(i.location)&&Q.string(i.message)}h(n,"is"),e.is=n})(XT||(XT={}));var _C;(function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4})(_C||(_C={}));var SC;(function(e){e.Unnecessary=1,e.Deprecated=2})(SC||(SC={}));var NC;(function(e){function t(n){var r=n;return Q.objectLiteral(r)&&Q.string(r.href)}h(t,"is"),e.is=t})(NC||(NC={}));var pg;(function(e){function t(r,i,o,a,s,l){var u={range:r,message:i};return Q.defined(o)&&(u.severity=o),Q.defined(a)&&(u.code=a),Q.defined(s)&&(u.source=s),Q.defined(l)&&(u.relatedInformation=l),u}h(t,"create"),e.create=t;function n(r){var i,o=r;return Q.defined(o)&&Xt.is(o.range)&&Q.string(o.message)&&(Q.number(o.severity)||Q.undefined(o.severity))&&(Q.integer(o.code)||Q.string(o.code)||Q.undefined(o.code))&&(Q.undefined(o.codeDescription)||Q.string((i=o.codeDescription)===null||i===void 0?void 0:i.href))&&(Q.string(o.source)||Q.undefined(o.source))&&(Q.undefined(o.relatedInformation)||Q.typedArray(o.relatedInformation,XT.is))}h(n,"is"),e.is=n})(pg||(pg={}));var hc;(function(e){function t(r,i){for(var o=[],a=2;a0&&(s.arguments=o),s}h(t,"create"),e.create=t;function n(r){var i=r;return Q.defined(i)&&Q.string(i.title)&&Q.string(i.command)}h(n,"is"),e.is=n})(hc||(hc={}));var ta;(function(e){function t(o,a){return{range:o,newText:a}}h(t,"replace"),e.replace=t;function n(o,a){return{range:{start:o,end:o},newText:a}}h(n,"insert"),e.insert=n;function r(o){return{range:o,newText:""}}h(r,"del"),e.del=r;function i(o){var a=o;return Q.objectLiteral(a)&&Q.string(a.newText)&&Xt.is(a.range)}h(i,"is"),e.is=i})(ta||(ta={}));var Lu;(function(e){function t(r,i,o){var a={label:r};return i!==void 0&&(a.needsConfirmation=i),o!==void 0&&(a.description=o),a}h(t,"create"),e.create=t;function n(r){var i=r;return Q.objectLiteral(i)&&Q.string(i.label)&&(Q.boolean(i.needsConfirmation)||i.needsConfirmation===void 0)&&(Q.string(i.description)||i.description===void 0)}h(n,"is"),e.is=n})(Lu||(Lu={}));var Jn;(function(e){function t(n){var r=n;return Q.string(r)}h(t,"is"),e.is=t})(Jn||(Jn={}));var ka;(function(e){function t(o,a,s){return{range:o,newText:a,annotationId:s}}h(t,"replace"),e.replace=t;function n(o,a,s){return{range:{start:o,end:o},newText:a,annotationId:s}}h(n,"insert"),e.insert=n;function r(o,a){return{range:o,newText:"",annotationId:a}}h(r,"del"),e.del=r;function i(o){var a=o;return ta.is(a)&&(Lu.is(a.annotationId)||Jn.is(a.annotationId))}h(i,"is"),e.is=i})(ka||(ka={}));var hg;(function(e){function t(r,i){return{textDocument:r,edits:i}}h(t,"create"),e.create=t;function n(r){var i=r;return Q.defined(i)&&mg.is(i.textDocument)&&Array.isArray(i.edits)}h(n,"is"),e.is=n})(hg||(hg={}));var Rd;(function(e){function t(r,i,o){var a={kind:"create",uri:r};return i!==void 0&&(i.overwrite!==void 0||i.ignoreIfExists!==void 0)&&(a.options=i),o!==void 0&&(a.annotationId=o),a}h(t,"create"),e.create=t;function n(r){var i=r;return i&&i.kind==="create"&&Q.string(i.uri)&&(i.options===void 0||(i.options.overwrite===void 0||Q.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||Q.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Jn.is(i.annotationId))}h(n,"is"),e.is=n})(Rd||(Rd={}));var Ld;(function(e){function t(r,i,o,a){var s={kind:"rename",oldUri:r,newUri:i};return o!==void 0&&(o.overwrite!==void 0||o.ignoreIfExists!==void 0)&&(s.options=o),a!==void 0&&(s.annotationId=a),s}h(t,"create"),e.create=t;function n(r){var i=r;return i&&i.kind==="rename"&&Q.string(i.oldUri)&&Q.string(i.newUri)&&(i.options===void 0||(i.options.overwrite===void 0||Q.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||Q.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Jn.is(i.annotationId))}h(n,"is"),e.is=n})(Ld||(Ld={}));var $d;(function(e){function t(r,i,o){var a={kind:"delete",uri:r};return i!==void 0&&(i.recursive!==void 0||i.ignoreIfNotExists!==void 0)&&(a.options=i),o!==void 0&&(a.annotationId=o),a}h(t,"create"),e.create=t;function n(r){var i=r;return i&&i.kind==="delete"&&Q.string(i.uri)&&(i.options===void 0||(i.options.recursive===void 0||Q.boolean(i.options.recursive))&&(i.options.ignoreIfNotExists===void 0||Q.boolean(i.options.ignoreIfNotExists)))&&(i.annotationId===void 0||Jn.is(i.annotationId))}h(n,"is"),e.is=n})($d||($d={}));var ZT;(function(e){function t(n){var r=n;return r&&(r.changes!==void 0||r.documentChanges!==void 0)&&(r.documentChanges===void 0||r.documentChanges.every(function(i){return Q.string(i.kind)?Rd.is(i)||Ld.is(i)||$d.is(i):hg.is(i)}))}h(t,"is"),e.is=t})(ZT||(ZT={}));var Lh=function(){function e(t,n){this.edits=t,this.changeAnnotations=n}return h(e,"TextEditChangeImpl"),e.prototype.insert=function(t,n,r){var i,o;if(r===void 0?i=ta.insert(t,n):Jn.is(r)?(o=r,i=ka.insert(t,n,r)):(this.assertChangeAnnotations(this.changeAnnotations),o=this.changeAnnotations.manage(r),i=ka.insert(t,n,o)),this.edits.push(i),o!==void 0)return o},e.prototype.replace=function(t,n,r){var i,o;if(r===void 0?i=ta.replace(t,n):Jn.is(r)?(o=r,i=ka.replace(t,n,r)):(this.assertChangeAnnotations(this.changeAnnotations),o=this.changeAnnotations.manage(r),i=ka.replace(t,n,o)),this.edits.push(i),o!==void 0)return o},e.prototype.delete=function(t,n){var r,i;if(n===void 0?r=ta.del(t):Jn.is(n)?(i=n,r=ka.del(t,n)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(n),r=ka.del(t,i)),this.edits.push(r),i!==void 0)return i},e.prototype.add=function(t){this.edits.push(t)},e.prototype.all=function(){return this.edits},e.prototype.clear=function(){this.edits.splice(0,this.edits.length)},e.prototype.assertChangeAnnotations=function(t){if(t===void 0)throw new Error("Text edit change is not configured to manage change annotations.")},e}(),IC=function(){function e(t){this._annotations=t===void 0?Object.create(null):t,this._counter=0,this._size=0}return h(e,"ChangeAnnotations"),e.prototype.all=function(){return this._annotations},Object.defineProperty(e.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),e.prototype.manage=function(t,n){var r;if(Jn.is(t)?r=t:(r=this.nextId(),n=t),this._annotations[r]!==void 0)throw new Error("Id ".concat(r," is already in use."));if(n===void 0)throw new Error("No annotation provided for id ".concat(r));return this._annotations[r]=n,this._size++,r},e.prototype.nextId=function(){return this._counter++,this._counter.toString()},e}();(function(){function e(t){var n=this;this._textEditChanges=Object.create(null),t!==void 0?(this._workspaceEdit=t,t.documentChanges?(this._changeAnnotations=new IC(t.changeAnnotations),t.changeAnnotations=this._changeAnnotations.all(),t.documentChanges.forEach(function(r){if(hg.is(r)){var i=new Lh(r.edits,n._changeAnnotations);n._textEditChanges[r.textDocument.uri]=i}})):t.changes&&Object.keys(t.changes).forEach(function(r){var i=new Lh(t.changes[r]);n._textEditChanges[r]=i})):this._workspaceEdit={}}return h(e,"WorkspaceChange"),Object.defineProperty(e.prototype,"edit",{get:function(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit},enumerable:!1,configurable:!0}),e.prototype.getTextEditChange=function(t){if(mg.is(t)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var n={uri:t.uri,version:t.version},r=this._textEditChanges[n.uri];if(!r){var i=[],o={textDocument:n,edits:i};this._workspaceEdit.documentChanges.push(o),r=new Lh(i,this._changeAnnotations),this._textEditChanges[n.uri]=r}return r}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");var r=this._textEditChanges[t];if(!r){var i=[];this._workspaceEdit.changes[t]=i,r=new Lh(i),this._textEditChanges[t]=r}return r}},e.prototype.initDocumentChanges=function(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new IC,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},e.prototype.initChanges=function(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))},e.prototype.createFile=function(t,n,r){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var i;Lu.is(n)||Jn.is(n)?i=n:r=n;var o,a;if(i===void 0?o=Rd.create(t,r):(a=Jn.is(i)?i:this._changeAnnotations.manage(i),o=Rd.create(t,r,a)),this._workspaceEdit.documentChanges.push(o),a!==void 0)return a},e.prototype.renameFile=function(t,n,r,i){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var o;Lu.is(r)||Jn.is(r)?o=r:i=r;var a,s;if(o===void 0?a=Ld.create(t,n,i):(s=Jn.is(o)?o:this._changeAnnotations.manage(o),a=Ld.create(t,n,i,s)),this._workspaceEdit.documentChanges.push(a),s!==void 0)return s},e.prototype.deleteFile=function(t,n,r){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var i;Lu.is(n)||Jn.is(n)?i=n:r=n;var o,a;if(i===void 0?o=$d.create(t,r):(a=Jn.is(i)?i:this._changeAnnotations.manage(i),o=$d.create(t,r,a)),this._workspaceEdit.documentChanges.push(o),a!==void 0)return a},e})();var xC;(function(e){function t(r){return{uri:r}}h(t,"create"),e.create=t;function n(r){var i=r;return Q.defined(i)&&Q.string(i.uri)}h(n,"is"),e.is=n})(xC||(xC={}));var DC;(function(e){function t(r,i){return{uri:r,version:i}}h(t,"create"),e.create=t;function n(r){var i=r;return Q.defined(i)&&Q.string(i.uri)&&Q.integer(i.version)}h(n,"is"),e.is=n})(DC||(DC={}));var mg;(function(e){function t(r,i){return{uri:r,version:i}}h(t,"create"),e.create=t;function n(r){var i=r;return Q.defined(i)&&Q.string(i.uri)&&(i.version===null||Q.integer(i.version))}h(n,"is"),e.is=n})(mg||(mg={}));var OC;(function(e){function t(r,i,o,a){return{uri:r,languageId:i,version:o,text:a}}h(t,"create"),e.create=t;function n(r){var i=r;return Q.defined(i)&&Q.string(i.uri)&&Q.string(i.languageId)&&Q.integer(i.version)&&Q.string(i.text)}h(n,"is"),e.is=n})(OC||(OC={}));var ew;(function(e){e.PlainText="plaintext",e.Markdown="markdown";function t(n){var r=n;return r===e.PlainText||r===e.Markdown}h(t,"is"),e.is=t})(ew||(ew={}));var Pd;(function(e){function t(n){var r=n;return Q.objectLiteral(n)&&ew.is(r.kind)&&Q.string(r.value)}h(t,"is"),e.is=t})(Pd||(Pd={}));var CC;(function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25})(CC||(CC={}));var tw;(function(e){e.PlainText=1,e.Snippet=2})(tw||(tw={}));var kC;(function(e){e.Deprecated=1})(kC||(kC={}));var AC;(function(e){function t(r,i,o){return{newText:r,insert:i,replace:o}}h(t,"create"),e.create=t;function n(r){var i=r;return i&&Q.string(i.newText)&&Xt.is(i.insert)&&Xt.is(i.replace)}h(n,"is"),e.is=n})(AC||(AC={}));var FC;(function(e){e.asIs=1,e.adjustIndentation=2})(FC||(FC={}));var RC;(function(e){function t(n){var r=n;return r&&(Q.string(r.detail)||r.detail===void 0)&&(Q.string(r.description)||r.description===void 0)}h(t,"is"),e.is=t})(RC||(RC={}));var LC;(function(e){function t(n){return{label:n}}h(t,"create"),e.create=t})(LC||(LC={}));var $C;(function(e){function t(n,r){return{items:n||[],isIncomplete:!!r}}h(t,"create"),e.create=t})($C||($C={}));var vg;(function(e){function t(r){return r.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}h(t,"fromPlainText"),e.fromPlainText=t;function n(r){var i=r;return Q.string(i)||Q.objectLiteral(i)&&Q.string(i.language)&&Q.string(i.value)}h(n,"is"),e.is=n})(vg||(vg={}));var PC;(function(e){function t(n){var r=n;return!!r&&Q.objectLiteral(r)&&(Pd.is(r.contents)||vg.is(r.contents)||Q.typedArray(r.contents,vg.is))&&(n.range===void 0||Xt.is(n.range))}h(t,"is"),e.is=t})(PC||(PC={}));var MC;(function(e){function t(n,r){return r?{label:n,documentation:r}:{label:n}}h(t,"create"),e.create=t})(MC||(MC={}));var VC;(function(e){function t(n,r){for(var i=[],o=2;o=0;c--){var f=l[c],d=o.offsetAt(f.range.start),p=o.offsetAt(f.range.end);if(p<=u)s=s.substring(0,d)+f.newText+s.substring(p,s.length);else throw new Error("Overlapping edit");u=d}return s}h(r,"applyEdits"),e.applyEdits=r;function i(o,a){if(o.length<=1)return o;var s=o.length/2|0,l=o.slice(0,s),u=o.slice(s);i(l,a),i(u,a);for(var c=0,f=0,d=0;c0&&t.push(n.length),this._lineOffsets=t}return this._lineOffsets},e.prototype.positionAt=function(t){t=Math.max(Math.min(t,this._content.length),0);var n=this.getLineOffsets(),r=0,i=n.length;if(i===0)return Ci.create(0,t);for(;rt?i=o:r=o+1}var a=r-1;return Ci.create(a,t-n[a])},e.prototype.offsetAt=function(t){var n=this.getLineOffsets();if(t.line>=n.length)return this._content.length;if(t.line<0)return 0;var r=n[t.line],i=t.line+1"u"}h(r,"undefined$1"),e.undefined=r;function i(p){return p===!0||p===!1}h(i,"boolean"),e.boolean=i;function o(p){return t.call(p)==="[object String]"}h(o,"string"),e.string=o;function a(p){return t.call(p)==="[object Number]"}h(a,"number"),e.number=a;function s(p,m,v){return t.call(p)==="[object Number]"&&m<=p&&p<=v}h(s,"numberRange"),e.numberRange=s;function l(p){return t.call(p)==="[object Number]"&&-2147483648<=p&&p<=2147483647}h(l,"integer"),e.integer=l;function u(p){return t.call(p)==="[object Number]"&&0<=p&&p<=2147483647}h(u,"uinteger"),e.uinteger=u;function c(p){return t.call(p)==="[object Function]"}h(c,"func"),e.func=c;function f(p){return p!==null&&typeof p=="object"}h(f,"objectLiteral"),e.objectLiteral=f;function d(p,m){return Array.isArray(p)&&p.every(m)}h(d,"typedArray"),e.typedArray=d})(Q||(Q={}));var Ce;(function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25})(Ce||(Ce={}));class iw{constructor(t){this.getStartOfToken=()=>this._start,this.getCurrentPosition=()=>this._pos,this.eol=()=>this._sourceText.length===this._pos,this.sol=()=>this._pos===0,this.peek=()=>this._sourceText.charAt(this._pos)||null,this.next=()=>{const n=this._sourceText.charAt(this._pos);return this._pos++,n},this.eat=n=>{if(this._testNextCharacter(n))return this._start=this._pos,this._pos++,this._sourceText.charAt(this._pos-1)},this.eatWhile=n=>{let r=this._testNextCharacter(n),i=!1;for(r&&(i=r,this._start=this._pos);r;)this._pos++,r=this._testNextCharacter(n),i=!0;return i},this.eatSpace=()=>this.eatWhile(/[\s\u00a0]/),this.skipToEnd=()=>{this._pos=this._sourceText.length},this.skipTo=n=>{this._pos=n},this.match=(n,r=!0,i=!1)=>{let o=null,a=null;return typeof n=="string"?(a=new RegExp(n,i?"i":"g").test(this._sourceText.substr(this._pos,n.length)),o=n):n instanceof RegExp&&(a=this._sourceText.slice(this._pos).match(n),o=a==null?void 0:a[0]),a!=null&&(typeof n=="string"||a instanceof Array&&this._sourceText.startsWith(a[0],this._pos))?(r&&(this._start=this._pos,o&&o.length&&(this._pos+=o.length)),a):!1},this.backUp=n=>{this._pos-=n},this.column=()=>this._pos,this.indentation=()=>{const n=this._sourceText.match(/\s*/);let r=0;if(n&&n.length!==0){const i=n[0];let o=0;for(;i.length>o;)i.charCodeAt(o)===9?r+=2:r++,o++}return r},this.current=()=>this._sourceText.slice(this._start,this._pos),this._start=0,this._pos=0,this._sourceText=t}_testNextCharacter(t){const n=this._sourceText.charAt(this._pos);let r=!1;return typeof t=="string"?r=n===t:r=t instanceof RegExp?t.test(n):t(n),r}}h(iw,"CharacterStream");function Mt(e){return{ofRule:e}}h(Mt,"opt");function Ge(e,t){return{ofRule:e,isList:!0,separator:t}}h(Ge,"list$1");function k3(e,t){const n=e.match;return e.match=r=>{let i=!1;return n&&(i=n(r)),i&&t.every(o=>o.match&&!o.match(r))},e}h(k3,"butNot");function ev(e,t){return{style:t,match:n=>n.kind===e}}h(ev,"t$2");function Ie(e,t){return{style:t||"punctuation",match:n=>n.kind==="Punctuation"&&n.value===e}}h(Ie,"p$1");const rZ=h(e=>e===" "||e===" "||e===","||e===` +`||e==="\r"||e==="\uFEFF"||e===" ","isIgnored"),iZ={Name:/^[_A-Za-z][_0-9A-Za-z]*/,Punctuation:/^(?:!|\$|\(|\)|\.\.\.|:|=|&|@|\[|]|\{|\||\})/,Number:/^-?(?:0|(?:[1-9][0-9]*))(?:\.[0-9]*)?(?:[eE][+-]?[0-9]+)?/,String:/^(?:"""(?:\\"""|[^"]|"[^"]|""[^"])*(?:""")?|"(?:[^"\\]|\\(?:"|\/|\\|b|f|n|r|t|u[0-9a-fA-F]{4}))*"?)/,Comment:/^#.*/},oZ={Document:[Ge("Definition")],Definition(e){switch(e.value){case"{":return"ShortQuery";case"query":return"Query";case"mutation":return"Mutation";case"subscription":return"Subscription";case"fragment":return D.FRAGMENT_DEFINITION;case"schema":return"SchemaDef";case"scalar":return"ScalarDef";case"type":return"ObjectTypeDef";case"interface":return"InterfaceDef";case"union":return"UnionDef";case"enum":return"EnumDef";case"input":return"InputDef";case"extend":return"ExtendDef";case"directive":return"DirectiveDef"}},ShortQuery:["SelectionSet"],Query:[yn("query"),Mt(ht("def")),Mt("VariableDefinitions"),Ge("Directive"),"SelectionSet"],Mutation:[yn("mutation"),Mt(ht("def")),Mt("VariableDefinitions"),Ge("Directive"),"SelectionSet"],Subscription:[yn("subscription"),Mt(ht("def")),Mt("VariableDefinitions"),Ge("Directive"),"SelectionSet"],VariableDefinitions:[Ie("("),Ge("VariableDefinition"),Ie(")")],VariableDefinition:["Variable",Ie(":"),"Type",Mt("DefaultValue")],Variable:[Ie("$","variable"),ht("variable")],DefaultValue:[Ie("="),"Value"],SelectionSet:[Ie("{"),Ge("Selection"),Ie("}")],Selection(e,t){return e.value==="..."?t.match(/[\s\u00a0,]*(on\b|@|{)/,!1)?"InlineFragment":"FragmentSpread":t.match(/[\s\u00a0,]*:/,!1)?"AliasedField":"Field"},AliasedField:[ht("property"),Ie(":"),ht("qualifier"),Mt("Arguments"),Ge("Directive"),Mt("SelectionSet")],Field:[ht("property"),Mt("Arguments"),Ge("Directive"),Mt("SelectionSet")],Arguments:[Ie("("),Ge("Argument"),Ie(")")],Argument:[ht("attribute"),Ie(":"),"Value"],FragmentSpread:[Ie("..."),ht("def"),Ge("Directive")],InlineFragment:[Ie("..."),Mt("TypeCondition"),Ge("Directive"),"SelectionSet"],FragmentDefinition:[yn("fragment"),Mt(k3(ht("def"),[yn("on")])),"TypeCondition",Ge("Directive"),"SelectionSet"],TypeCondition:[yn("on"),"NamedType"],Value(e){switch(e.kind){case"Number":return"NumberValue";case"String":return"StringValue";case"Punctuation":switch(e.value){case"[":return"ListValue";case"{":return"ObjectValue";case"$":return"Variable";case"&":return"NamedType"}return null;case"Name":switch(e.value){case"true":case"false":return"BooleanValue"}return e.value==="null"?"NullValue":"EnumValue"}},NumberValue:[ev("Number","number")],StringValue:[{style:"string",match:e=>e.kind==="String",update(e,t){t.value.startsWith('"""')&&(e.inBlockstring=!t.value.slice(3).endsWith('"""'))}}],BooleanValue:[ev("Name","builtin")],NullValue:[ev("Name","keyword")],EnumValue:[ht("string-2")],ListValue:[Ie("["),Ge("Value"),Ie("]")],ObjectValue:[Ie("{"),Ge("ObjectField"),Ie("}")],ObjectField:[ht("attribute"),Ie(":"),"Value"],Type(e){return e.value==="["?"ListType":"NonNullType"},ListType:[Ie("["),"Type",Ie("]"),Mt(Ie("!"))],NonNullType:["NamedType",Mt(Ie("!"))],NamedType:[A3("atom")],Directive:[Ie("@","meta"),ht("meta"),Mt("Arguments")],DirectiveDef:[yn("directive"),Ie("@","meta"),ht("meta"),Mt("ArgumentsDef"),yn("on"),Ge("DirectiveLocation",Ie("|"))],InterfaceDef:[yn("interface"),ht("atom"),Mt("Implements"),Ge("Directive"),Ie("{"),Ge("FieldDef"),Ie("}")],Implements:[yn("implements"),Ge("NamedType",Ie("&"))],DirectiveLocation:[ht("string-2")],SchemaDef:[yn("schema"),Ge("Directive"),Ie("{"),Ge("OperationTypeDef"),Ie("}")],OperationTypeDef:[ht("keyword"),Ie(":"),ht("atom")],ScalarDef:[yn("scalar"),ht("atom"),Ge("Directive")],ObjectTypeDef:[yn("type"),ht("atom"),Mt("Implements"),Ge("Directive"),Ie("{"),Ge("FieldDef"),Ie("}")],FieldDef:[ht("property"),Mt("ArgumentsDef"),Ie(":"),"Type",Ge("Directive")],ArgumentsDef:[Ie("("),Ge("InputValueDef"),Ie(")")],InputValueDef:[ht("attribute"),Ie(":"),"Type",Mt("DefaultValue"),Ge("Directive")],UnionDef:[yn("union"),ht("atom"),Ge("Directive"),Ie("="),Ge("UnionMember",Ie("|"))],UnionMember:["NamedType"],EnumDef:[yn("enum"),ht("atom"),Ge("Directive"),Ie("{"),Ge("EnumValueDef"),Ie("}")],EnumValueDef:[ht("string-2"),Ge("Directive")],InputDef:[yn("input"),ht("atom"),Ge("Directive"),Ie("{"),Ge("InputValueDef"),Ie("}")],ExtendDef:[yn("extend"),"ExtensionDefinition"],ExtensionDefinition(e){switch(e.value){case"schema":return D.SCHEMA_EXTENSION;case"scalar":return D.SCALAR_TYPE_EXTENSION;case"type":return D.OBJECT_TYPE_EXTENSION;case"interface":return D.INTERFACE_TYPE_EXTENSION;case"union":return D.UNION_TYPE_EXTENSION;case"enum":return D.ENUM_TYPE_EXTENSION;case"input":return D.INPUT_OBJECT_TYPE_EXTENSION}},[D.SCHEMA_EXTENSION]:["SchemaDef"],[D.SCALAR_TYPE_EXTENSION]:["ScalarDef"],[D.OBJECT_TYPE_EXTENSION]:["ObjectTypeDef"],[D.INTERFACE_TYPE_EXTENSION]:["InterfaceDef"],[D.UNION_TYPE_EXTENSION]:["UnionDef"],[D.ENUM_TYPE_EXTENSION]:["EnumDef"],[D.INPUT_OBJECT_TYPE_EXTENSION]:["InputDef"]};function yn(e){return{style:"keyword",match:t=>t.kind==="Name"&&t.value===e}}h(yn,"word");function ht(e){return{style:e,match:t=>t.kind==="Name",update(t,n){t.name=n.value}}}h(ht,"name");function A3(e){return{style:e,match:t=>t.kind==="Name",update(t,n){var r;!((r=t.prevState)===null||r===void 0)&&r.prevState&&(t.name=n.value,t.prevState.prevState.type=n.value)}}}h(A3,"type");function F3(e={eatWhitespace:t=>t.eatWhile(rZ),lexRules:iZ,parseRules:oZ,editorConfig:{}}){return{startState(){const t={level:0,step:0,name:null,kind:null,type:null,rule:null,needsSeparator:!1,prevState:null};return mu(e.parseRules,t,D.DOCUMENT),t},token(t,n){return R3(t,n,e)}}}h(F3,"onlineParser");function R3(e,t,n){var r;if(t.inBlockstring)return e.match(/.*"""/)?(t.inBlockstring=!1,"string"):(e.skipToEnd(),"string");const{lexRules:i,parseRules:o,eatWhitespace:a,editorConfig:s}=n;if(t.rule&&t.rule.length===0?Ky(t):t.needsAdvance&&(t.needsAdvance=!1,yg(t,!0)),e.sol()){const c=(s==null?void 0:s.tabSize)||2;t.indentLevel=Math.floor(e.indentation()/c)}if(a(e))return"ws";const l=$3(i,e);if(!l)return e.match(/\S+/)||e.match(/\s/),mu(h1,t,"Invalid"),"invalidchar";if(l.kind==="Comment")return mu(h1,t,"Comment"),"comment";const u=ow({},t);if(l.kind==="Punctuation"){if(/^[{([]/.test(l.value))t.indentLevel!==void 0&&(t.levels=(t.levels||[]).concat(t.indentLevel+1));else if(/^[})\]]/.test(l.value)){const c=t.levels=(t.levels||[]).slice(0,-1);t.indentLevel&&c.length>0&&c[c.length-1]{const t=[];if(e)try{Ht(qr(e),{FragmentDefinition(n){t.push(n)}})}catch{return[]}return t},"collectFragmentDefs"),lZ=[D.SCHEMA_DEFINITION,D.OPERATION_TYPE_DEFINITION,D.SCALAR_TYPE_DEFINITION,D.OBJECT_TYPE_DEFINITION,D.INTERFACE_TYPE_DEFINITION,D.UNION_TYPE_DEFINITION,D.ENUM_TYPE_DEFINITION,D.INPUT_OBJECT_TYPE_DEFINITION,D.DIRECTIVE_DEFINITION,D.SCHEMA_EXTENSION,D.SCALAR_TYPE_EXTENSION,D.OBJECT_TYPE_EXTENSION,D.INTERFACE_TYPE_EXTENSION,D.UNION_TYPE_EXTENSION,D.ENUM_TYPE_EXTENSION,D.INPUT_OBJECT_TYPE_EXTENSION],uZ=h(e=>{let t=!1;if(e)try{Ht(qr(e),{enter(n){if(n.kind!=="Document")return lZ.includes(n.kind)?(t=!0,Qo):!1}})}catch{return t}return t},"hasTypeSystemDefinitions");function cZ(e,t,n,r,i,o){var a;const s=Object.assign(Object.assign({},o),{schema:e}),l=r||Y3(t,n),u=l.state.kind==="Invalid"?l.state.prevState:l.state,c=(o==null?void 0:o.mode)||X3(t,o==null?void 0:o.uri);if(!u)return[];const{kind:f,step:d,prevState:p}=u,m=K3(e,l.state);if(f===de.DOCUMENT)return c===ul.TYPE_SYSTEM?M3(l):V3(l);if(f===de.EXTEND_DEF)return j3(l);if(((a=p==null?void 0:p.prevState)===null||a===void 0?void 0:a.kind)===de.EXTENSION_DEFINITION&&u.name)return It(l,[]);if((p==null?void 0:p.kind)===D.SCALAR_TYPE_EXTENSION)return It(l,Object.values(e.getTypeMap()).filter(hr).map(b=>({label:b.name,kind:Ce.Function})));if((p==null?void 0:p.kind)===D.OBJECT_TYPE_EXTENSION)return It(l,Object.values(e.getTypeMap()).filter(b=>Le(b)&&!b.name.startsWith("__")).map(b=>({label:b.name,kind:Ce.Function})));if((p==null?void 0:p.kind)===D.INTERFACE_TYPE_EXTENSION)return It(l,Object.values(e.getTypeMap()).filter(je).map(b=>({label:b.name,kind:Ce.Function})));if((p==null?void 0:p.kind)===D.UNION_TYPE_EXTENSION)return It(l,Object.values(e.getTypeMap()).filter(Zt).map(b=>({label:b.name,kind:Ce.Function})));if((p==null?void 0:p.kind)===D.ENUM_TYPE_EXTENSION)return It(l,Object.values(e.getTypeMap()).filter(b=>Lt(b)&&!b.name.startsWith("__")).map(b=>({label:b.name,kind:Ce.Function})));if((p==null?void 0:p.kind)===D.INPUT_OBJECT_TYPE_EXTENSION)return It(l,Object.values(e.getTypeMap()).filter(st).map(b=>({label:b.name,kind:Ce.Function})));if(f===de.IMPLEMENTS||f===de.NAMED_TYPE&&(p==null?void 0:p.kind)===de.IMPLEMENTS)return q3(l,u,e,t,m);if(f===de.SELECTION_SET||f===de.FIELD||f===de.ALIASED_FIELD)return U3(l,m,s);if(f===de.ARGUMENTS||f===de.ARGUMENT&&d===0){const{argDefs:b}=m;if(b)return It(l,b.map(E=>{var y;return{label:E.name,insertText:E.name+": ",command:P3,detail:String(E.type),documentation:(y=E.description)!==null&&y!==void 0?y:void 0,kind:Ce.Variable,type:E.type}}))}if((f===de.OBJECT_VALUE||f===de.OBJECT_FIELD&&d===0)&&m.objectFieldDefs){const b=ls(m.objectFieldDefs),E=f===de.OBJECT_VALUE?Ce.Value:Ce.Field;return It(l,b.map(y=>{var T;return{label:y.name,detail:String(y.type),documentation:(T=y.description)!==null&&T!==void 0?T:void 0,kind:E,type:y.type}}))}if(f===de.ENUM_VALUE||f===de.LIST_VALUE&&d===1||f===de.OBJECT_FIELD&&d===2||f===de.ARGUMENT&&d===2)return B3(l,m,t,e);if(f===de.VARIABLE&&d===1){const b=At(m.inputType),E=PN(t,e,l);return It(l,E.filter(y=>y.detail===(b==null?void 0:b.name)))}if(f===de.TYPE_CONDITION&&d===1||f===de.NAMED_TYPE&&p!=null&&p.kind===de.TYPE_CONDITION)return z3(l,m,e);if(f===de.FRAGMENT_SPREAD&&d===1)return Q3(l,m,e,t,Array.isArray(i)?i:sZ(i));const v=MN(u);if(c===ul.TYPE_SYSTEM&&!v.needsAdvance&&f===de.NAMED_TYPE||f===de.LIST_TYPE){if(v.kind===de.FIELD_DEF)return It(l,Object.values(e.getTypeMap()).filter(b=>Ko(b)&&!b.name.startsWith("__")).map(b=>({label:b.name,kind:Ce.Function})));if(v.kind===de.INPUT_VALUE_DEF)return It(l,Object.values(e.getTypeMap()).filter(b=>Kn(b)&&!b.name.startsWith("__")).map(b=>({label:b.name,kind:Ce.Function})))}return f===de.VARIABLE_DEFINITION&&d===2||f===de.LIST_TYPE&&d===1||f===de.NAMED_TYPE&&p&&(p.kind===de.VARIABLE_DEFINITION||p.kind===de.LIST_TYPE||p.kind===de.NON_NULL_TYPE)?H3(l,e):f===de.DIRECTIVE?W3(l,u,e):[]}h(cZ,"getAutocompleteSuggestions");const $h=` { + $1 +}`,fZ=h(e=>{const{type:t}=e;return pn(t)||ut(t)&&pn(t.ofType)||_e(t)&&(pn(t.ofType)||ut(t.ofType)&&pn(t.ofType.ofType))?$h:null},"getInsertText");function M3(e){return It(e,[{label:"extend",kind:Ce.Function},{label:"type",kind:Ce.Function},{label:"interface",kind:Ce.Function},{label:"union",kind:Ce.Function},{label:"input",kind:Ce.Function},{label:"scalar",kind:Ce.Function},{label:"schema",kind:Ce.Function}])}h(M3,"getSuggestionsForTypeSystemDefinitions");function V3(e){return It(e,[{label:"query",kind:Ce.Function},{label:"mutation",kind:Ce.Function},{label:"subscription",kind:Ce.Function},{label:"fragment",kind:Ce.Function},{label:"{",kind:Ce.Constructor}])}h(V3,"getSuggestionsForExecutableDefinitions");function j3(e){return It(e,[{label:"type",kind:Ce.Function},{label:"interface",kind:Ce.Function},{label:"union",kind:Ce.Function},{label:"input",kind:Ce.Function},{label:"scalar",kind:Ce.Function},{label:"schema",kind:Ce.Function}])}h(j3,"getSuggestionsForExtensionDefinitions");function U3(e,t,n){var r;if(t.parentType){const{parentType:i}=t;let o=[];return"getFields"in i&&(o=ls(i.getFields())),pn(i)&&o.push(Ku),i===((r=n==null?void 0:n.schema)===null||r===void 0?void 0:r.getQueryType())&&o.push(Yu,Ju),It(e,o.map((a,s)=>{var l;const u={sortText:String(s)+a.name,label:a.name,detail:String(a.type),documentation:(l=a.description)!==null&&l!==void 0?l:void 0,deprecated:Boolean(a.deprecationReason),isDeprecated:Boolean(a.deprecationReason),deprecationReason:a.deprecationReason,kind:Ce.Field,type:a.type};if(n!=null&&n.fillLeafsOnComplete){const c=fZ(a);c&&(u.insertText=a.name+c,u.insertTextFormat=tw.Snippet,u.command=P3)}return u}))}return[]}h(U3,"getSuggestionsForFieldNames");function B3(e,t,n,r){const i=At(t.inputType),o=PN(n,r,e).filter(a=>a.detail===i.name);if(i instanceof Io){const a=i.getValues();return It(e,a.map(s=>{var l;return{label:s.name,detail:String(i),documentation:(l=s.description)!==null&&l!==void 0?l:void 0,deprecated:Boolean(s.deprecationReason),isDeprecated:Boolean(s.deprecationReason),deprecationReason:s.deprecationReason,kind:Ce.EnumMember,type:i}}).concat(o))}return i===In?It(e,o.concat([{label:"true",detail:String(In),documentation:"Not false.",kind:Ce.Variable,type:In},{label:"false",detail:String(In),documentation:"Not true.",kind:Ce.Variable,type:In}])):o}h(B3,"getSuggestionsForInputValues");function q3(e,t,n,r,i){if(t.needsSeparator)return[];const o=n.getTypeMap(),a=ls(o).filter(je),s=a.map(({name:p})=>p),l=new Set;qp(r,(p,m)=>{var v,b,E,y,T;if(m.name&&(m.kind===de.INTERFACE_DEF&&!s.includes(m.name)&&l.add(m.name),m.kind===de.NAMED_TYPE&&((v=m.prevState)===null||v===void 0?void 0:v.kind)===de.IMPLEMENTS)){if(i.interfaceDef){if((b=i.interfaceDef)===null||b===void 0?void 0:b.getInterfaces().find(({name:I})=>I===m.name))return;const S=n.getType(m.name),_=(E=i.interfaceDef)===null||E===void 0?void 0:E.toConfig();i.interfaceDef=new Eo(Object.assign(Object.assign({},_),{interfaces:[..._.interfaces,S||new Eo({name:m.name,fields:{}})]}))}else if(i.objectTypeDef){if((y=i.objectTypeDef)===null||y===void 0?void 0:y.getInterfaces().find(({name:I})=>I===m.name))return;const S=n.getType(m.name),_=(T=i.objectTypeDef)===null||T===void 0?void 0:T.toConfig();i.objectTypeDef=new Ir(Object.assign(Object.assign({},_),{interfaces:[..._.interfaces,S||new Eo({name:m.name,fields:{}})]}))}}});const u=i.interfaceDef||i.objectTypeDef,f=((u==null?void 0:u.getInterfaces())||[]).map(({name:p})=>p),d=a.concat([...l].map(p=>({name:p}))).filter(({name:p})=>p!==(u==null?void 0:u.name)&&!f.includes(p));return It(e,d.map(p=>{const m={label:p.name,kind:Ce.Interface,type:p};return p!=null&&p.description&&(m.documentation=p.description),m}))}h(q3,"getSuggestionsForImplements");function z3(e,t,n,r){let i;if(t.parentType)if(ui(t.parentType)){const o=RF(t.parentType),a=n.getPossibleTypes(o),s=Object.create(null);a.forEach(l=>{l.getInterfaces().forEach(u=>{s[u.name]=u})}),i=a.concat(ls(s))}else i=[t.parentType];else{const o=n.getTypeMap();i=ls(o).filter(a=>pn(a)&&!a.name.startsWith("__"))}return It(e,i.map(o=>{const a=At(o);return{label:String(o),documentation:(a==null?void 0:a.description)||"",kind:Ce.Field}}))}h(z3,"getSuggestionsForFragmentTypeConditions");function Q3(e,t,n,r,i){if(!r)return[];const o=n.getTypeMap(),a=x3(e.state),s=G3(r);i&&i.length>0&&s.push(...i);const l=s.filter(u=>o[u.typeCondition.name.value]&&!(a&&a.kind===de.FRAGMENT_DEFINITION&&a.name===u.name.value)&&pn(t.parentType)&&pn(o[u.typeCondition.name.value])&&gv(n,t.parentType,o[u.typeCondition.name.value]));return It(e,l.map(u=>({label:u.name.value,detail:String(o[u.typeCondition.name.value]),documentation:`fragment ${u.name.value} on ${u.typeCondition.name.value}`,kind:Ce.Field,type:o[u.typeCondition.name.value]})))}h(Q3,"getSuggestionsForFragmentSpread");const dZ=h((e,t)=>{var n,r,i,o,a,s,l,u,c,f;if(((n=e.prevState)===null||n===void 0?void 0:n.kind)===t)return e.prevState;if(((i=(r=e.prevState)===null||r===void 0?void 0:r.prevState)===null||i===void 0?void 0:i.kind)===t)return e.prevState.prevState;if(((s=(a=(o=e.prevState)===null||o===void 0?void 0:o.prevState)===null||a===void 0?void 0:a.prevState)===null||s===void 0?void 0:s.kind)===t)return e.prevState.prevState.prevState;if(((f=(c=(u=(l=e.prevState)===null||l===void 0?void 0:l.prevState)===null||u===void 0?void 0:u.prevState)===null||c===void 0?void 0:c.prevState)===null||f===void 0?void 0:f.kind)===t)return e.prevState.prevState.prevState.prevState},"getParentDefinition");function PN(e,t,n){let r=null,i;const o=Object.create({});return qp(e,(a,s)=>{if((s==null?void 0:s.kind)===de.VARIABLE&&s.name&&(r=s.name),(s==null?void 0:s.kind)===de.NAMED_TYPE&&r){const l=dZ(s,de.TYPE);l!=null&&l.type&&(i=t.getType(l==null?void 0:l.type))}r&&i&&!o[r]&&(o[r]={detail:i.toString(),insertText:n.string==="$"?r:"$"+r,label:r,type:i,kind:Ce.Variable},r=null,i=null)}),ls(o)}h(PN,"getVariableCompletions");function G3(e){const t=[];return qp(e,(n,r)=>{r.kind===de.FRAGMENT_DEFINITION&&r.name&&r.type&&t.push({kind:de.FRAGMENT_DEFINITION,name:{kind:D.NAME,value:r.name},selectionSet:{kind:de.SELECTION_SET,selections:[]},typeCondition:{kind:de.NAMED_TYPE,name:{kind:D.NAME,value:r.type}}})}),t}h(G3,"getFragmentDefinitions");function H3(e,t,n){const r=t.getTypeMap(),i=ls(r).filter(Kn);return It(e,i.map(o=>({label:o.name,documentation:o.description,kind:Ce.Variable})))}h(H3,"getSuggestionsForVariableDefinition");function W3(e,t,n,r){var i;if(!((i=t.prevState)===null||i===void 0)&&i.kind){const o=n.getDirectives().filter(a=>J3(t.prevState,a));return It(e,o.map(a=>({label:a.name,documentation:a.description||"",kind:Ce.Function})))}return[]}h(W3,"getSuggestionsForDirective");function Y3(e,t){let n=null,r=null,i=null;const o=qp(e,(a,s,l,u)=>{if(u===t.line&&a.getCurrentPosition()>=t.character)return n=l,r=Object.assign({},s),i=a.current(),"BREAK"});return{start:o.start,end:o.end,string:i||o.string,state:r||o.state,style:n||o.style}}h(Y3,"getTokenAtPosition");function qp(e,t){const n=e.split(` +`),r=F3();let i=r.startState(),o="",a=new iw("");for(let s=0;s{var m;switch(p.kind){case de.QUERY:case"ShortQuery":f=e.getQueryType();break;case de.MUTATION:f=e.getMutationType();break;case de.SUBSCRIPTION:f=e.getSubscriptionType();break;case de.INLINE_FRAGMENT:case de.FRAGMENT_DEFINITION:p.type&&(f=e.getType(p.type));break;case de.FIELD:case de.ALIASED_FIELD:{!f||!p.name?a=null:(a=c?YT(e,c,p.name):null,f=a?a.type:null);break}case de.SELECTION_SET:c=At(f);break;case de.DIRECTIVE:i=p.name?e.getDirective(p.name):null;break;case de.INTERFACE_DEF:p.name&&(l=null,d=new Eo({name:p.name,interfaces:[],fields:{}}));break;case de.OBJECT_TYPE_DEF:p.name&&(d=null,l=new Ir({name:p.name,interfaces:[],fields:{}}));break;case de.ARGUMENTS:{if(p.prevState)switch(p.prevState.kind){case de.FIELD:r=a&&a.args;break;case de.DIRECTIVE:r=i&&i.args;break;case de.ALIASED_FIELD:{const T=(m=p.prevState)===null||m===void 0?void 0:m.name;if(!T){r=null;break}const w=c?YT(e,c,T):null;if(!w){r=null;break}r=w.args;break}default:r=null;break}else r=null;break}case de.ARGUMENT:if(r){for(let T=0;TT.value===p.name):null;break;case de.LIST_VALUE:const b=ry(s);s=b instanceof Nn?b.ofType:null;break;case de.OBJECT_VALUE:const E=At(s);u=E instanceof dl?E.getFields():null;break;case de.OBJECT_FIELD:const y=p.name&&u?u[p.name]:null;s=y==null?void 0:y.type;break;case de.NAMED_TYPE:p.name&&(f=e.getType(p.name));break}}),{argDef:n,argDefs:r,directiveDef:i,enumValue:o,fieldDef:a,inputType:s,objectFieldDefs:u,parentType:c,type:f,interfaceDef:d,objectTypeDef:l}}h(K3,"getTypeInfo");var ul;(function(e){e.TYPE_SYSTEM="TYPE_SYSTEM",e.EXECUTABLE="EXECUTABLE"})(ul||(ul={}));function X3(e,t){return t!=null&&t.endsWith(".graphqls")||uZ(e)?ul.TYPE_SYSTEM:ul.EXECUTABLE}h(X3,"getDocumentMode");function MN(e){return e.prevState&&e.kind&&[de.NAMED_TYPE,de.LIST_TYPE,de.TYPE,de.NON_NULL_TYPE].includes(e.kind)?MN(e.prevState):e}h(MN,"unwrapType");var Xy={exports:{}};function VN(e,t){if(e!=null)return e;var n=new Error(t!==void 0?t:"Got unexpected "+e);throw n.framesToPop=1,n}h(VN,"nullthrows");Xy.exports=VN;Xy.exports.default=VN;Object.defineProperty(Xy.exports,"__esModule",{value:!0});var ck=VP(Xy.exports);const pZ=h((e,t)=>{if(!t)return[];const n=new Map,r=new Set;Ht(e,{FragmentDefinition(a){n.set(a.name.value,!0)},FragmentSpread(a){r.has(a.name.value)||r.add(a.name.value)}});const i=new Set;r.forEach(a=>{!n.has(a)&&t.has(a)&&i.add(ck(t.get(a)))});const o=[];return i.forEach(a=>{Ht(a,{FragmentSpread(s){!r.has(s.name.value)&&t.get(s.name.value)&&(i.add(ck(t.get(s.name.value))),r.add(s.name.value))}}),n.has(a.name.value)||o.push(a)}),o},"getFragmentDependenciesForAST");function Z3(e,t){const n=Object.create(null);return t.definitions.forEach(r=>{if(r.kind==="OperationDefinition"){const{variableDefinitions:i}=r;i&&i.forEach(({variable:o,type:a})=>{const s=cr(e,a);s?n[o.name.value]=s:a.kind===D.NAMED_TYPE&&a.name.value==="Float"&&(n[o.name.value]=y_)})}}),n}h(Z3,"collectVariables");function eM(e,t){const n=t?Z3(t,e):void 0,r=[];return Ht(e,{OperationDefinition(i){r.push(i)}}),{variableToType:n,operations:r}}h(eM,"getOperationASTFacts");function tM(e,t){if(t)try{const n=qr(t);return Object.assign(Object.assign({},eM(n,e)),{documentAST:n})}catch{return}}h(tM,"getOperationFacts");/*! + * is-primitive + * + * Copyright (c) 2014-present, Jon Schlinkert. + * Released under the MIT License. + */var hZ=h(function(t){return typeof t=="object"?t===null:typeof t!="function"},"isPrimitive");/*! + * isobject + * + * Copyright (c) 2014-2017, Jon Schlinkert. + * Released under the MIT License. + */var mZ=h(function(t){return t!=null&&typeof t=="object"&&Array.isArray(t)===!1},"isObject");/*! + * is-plain-object + * + * Copyright (c) 2014-2017, Jon Schlinkert. + * Released under the MIT License. + */var vZ=mZ;function sw(e){return vZ(e)===!0&&Object.prototype.toString.call(e)==="[object Object]"}h(sw,"isObjectObject");var gZ=h(function(t){var n,r;return!(sw(t)===!1||(n=t.constructor,typeof n!="function")||(r=n.prototype,sw(r)===!1)||r.hasOwnProperty("isPrototypeOf")===!1)},"isPlainObject");/*! + * set-value + * + * Copyright (c) Jon Schlinkert (https://github.com/jonschlinkert). + * Released under the MIT License. + */const{deleteProperty:yZ}=Reflect,EZ=hZ,fk=gZ,dk=h(e=>typeof e=="object"&&e!==null||typeof e=="function","isObject$1"),bZ=h(e=>e==="__proto__"||e==="constructor"||e==="prototype","isUnsafeKey"),jN=h(e=>{if(!EZ(e))throw new TypeError("Object keys must be strings or symbols");if(bZ(e))throw new Error(`Cannot set unsafe key: "${e}"`)},"validateKey"),TZ=h(e=>Array.isArray(e)?e.flat().map(String).join(","):e,"toStringKey"),wZ=h((e,t)=>{if(typeof e!="string"||!t)return e;let n=e+";";return t.arrays!==void 0&&(n+=`arrays=${t.arrays};`),t.separator!==void 0&&(n+=`separator=${t.separator};`),t.split!==void 0&&(n+=`split=${t.split};`),t.merge!==void 0&&(n+=`merge=${t.merge};`),t.preservePaths!==void 0&&(n+=`preservePaths=${t.preservePaths};`),n},"createMemoKey"),_Z=h((e,t,n)=>{const r=TZ(t?wZ(e,t):e);jN(r);const i=wl.cache.get(r)||n();return wl.cache.set(r,i),i},"memoize"),SZ=h((e,t={})=>{const n=t.separator||".",r=n==="/"?!1:t.preservePaths;if(typeof e=="string"&&r!==!1&&/\//.test(e))return[e];const i=[];let o="";const a=h(s=>{let l;s.trim()!==""&&Number.isInteger(l=Number(s))?i.push(l):i.push(s)},"push");for(let s=0;st&&typeof t.split=="function"?t.split(e):typeof e=="symbol"?[e]:Array.isArray(e)?e:_Z(e,t,()=>SZ(e,t)),"split"),NZ=h((e,t,n,r)=>{if(jN(t),n===void 0)yZ(e,t);else if(r&&r.merge){const i=r.merge==="function"?r.merge:Object.assign;i&&fk(e[t])&&fk(n)?e[t]=i(e[t],n):e[t]=n}else e[t]=n;return e},"assignProp"),wl=h((e,t,n,r)=>{if(!t||!dk(e))return e;const i=nM(t,r);let o=e;for(let a=0;a{wl.cache=new Map};var IZ=wl;function rM(e){var t=e,{title:n,titleId:r}=t,i=Me(t,["title","titleId"]);return g.createElement("svg",Object.assign({height:"1em",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":r},i),n?g.createElement("title",{id:r},n):null,g.createElement("path",{d:"M5.0484 1.40838C6.12624 0.33054 7.87376 0.330541 8.9516 1.40838L12.5916 5.0484C13.6695 6.12624 13.6695 7.87376 12.5916 8.9516L8.9516 12.5916C7.87376 13.6695 6.12624 13.6695 5.0484 12.5916L1.40838 8.9516C0.33054 7.87376 0.330541 6.12624 1.40838 5.0484L5.0484 1.40838Z",stroke:"currentColor",strokeWidth:1.2}),g.createElement("rect",{x:6,y:6,width:2,height:2,rx:1,fill:"currentColor"}))}h(rM,"SvgArgument");function iM(e){var t=e,{title:n,titleId:r}=t,i=Me(t,["title","titleId"]);return g.createElement("svg",Object.assign({height:"1em",viewBox:"0 0 14 9",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":r},i),n?g.createElement("title",{id:r},n):null,g.createElement("path",{d:"M1 1L7 7L13 1",stroke:"currentColor",strokeWidth:1.5}))}h(iM,"SvgChevronDown");function oM(e){var t=e,{title:n,titleId:r}=t,i=Me(t,["title","titleId"]);return g.createElement("svg",Object.assign({height:"1em",viewBox:"0 0 7 10",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":r},i),n?g.createElement("title",{id:r},n):null,g.createElement("path",{d:"M6 1.04819L2 5.04819L6 9.04819",stroke:"currentColor",strokeWidth:1.75}))}h(oM,"SvgChevronLeft");function aM(e){var t=e,{title:n,titleId:r}=t,i=Me(t,["title","titleId"]);return g.createElement("svg",Object.assign({height:"1em",viewBox:"0 0 14 9",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":r},i),n?g.createElement("title",{id:r},n):null,g.createElement("path",{d:"M13 8L7 2L1 8",stroke:"currentColor",strokeWidth:1.5}))}h(aM,"SvgChevronUp");function sM(e){var t=e,{title:n,titleId:r}=t,i=Me(t,["title","titleId"]);return g.createElement("svg",Object.assign({height:"1em",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":r},i),n?g.createElement("title",{id:r},n):null,g.createElement("path",{d:"M1 1L12.9998 12.9997",stroke:"currentColor",strokeWidth:1.5}),g.createElement("path",{d:"M13 1L1.00079 13.0003",stroke:"currentColor",strokeWidth:1.5}))}h(sM,"SvgClose");function lM(e){var t=e,{title:n,titleId:r}=t,i=Me(t,["title","titleId"]);return g.createElement("svg",Object.assign({height:"1em",viewBox:"-2 -2 22 22",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":r},i),n?g.createElement("title",{id:r},n):null,g.createElement("path",{d:"M11.25 14.2105V15.235C11.25 16.3479 10.3479 17.25 9.23501 17.25H2.76499C1.65214 17.25 0.75 16.3479 0.75 15.235L0.75 8.76499C0.75 7.65214 1.65214 6.75 2.76499 6.75L3.78947 6.75",stroke:"currentColor",strokeWidth:1.5}),g.createElement("rect",{x:6.75,y:.75,width:10.5,height:10.5,rx:2.2069,stroke:"currentColor",strokeWidth:1.5}))}h(lM,"SvgCopy");function uM(e){var t=e,{title:n,titleId:r}=t,i=Me(t,["title","titleId"]);return g.createElement("svg",Object.assign({height:"1em",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":r},i),n?g.createElement("title",{id:r},n):null,g.createElement("path",{d:"M5.0484 1.40838C6.12624 0.33054 7.87376 0.330541 8.9516 1.40838L12.5916 5.0484C13.6695 6.12624 13.6695 7.87376 12.5916 8.9516L8.9516 12.5916C7.87376 13.6695 6.12624 13.6695 5.0484 12.5916L1.40838 8.9516C0.33054 7.87376 0.330541 6.12624 1.40838 5.0484L5.0484 1.40838Z",stroke:"currentColor",strokeWidth:1.2}),g.createElement("path",{d:"M5 9L9 5",stroke:"currentColor",strokeWidth:1.2}),g.createElement("path",{d:"M5 5L9 9",stroke:"currentColor",strokeWidth:1.2}))}h(uM,"SvgDeprecatedArgument");function cM(e){var t=e,{title:n,titleId:r}=t,i=Me(t,["title","titleId"]);return g.createElement("svg",Object.assign({height:"1em",viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":r},i),n?g.createElement("title",{id:r},n):null,g.createElement("path",{d:"M4 8L8 4",stroke:"currentColor",strokeWidth:1.2}),g.createElement("path",{d:"M4 4L8 8",stroke:"currentColor",strokeWidth:1.2}),g.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M8.5 1.2H9C9.99411 1.2 10.8 2.00589 10.8 3V9C10.8 9.99411 9.99411 10.8 9 10.8H8.5V12H9C10.6569 12 12 10.6569 12 9V3C12 1.34315 10.6569 0 9 0H8.5V1.2ZM3.5 1.2V0H3C1.34315 0 0 1.34315 0 3V9C0 10.6569 1.34315 12 3 12H3.5V10.8H3C2.00589 10.8 1.2 9.99411 1.2 9V3C1.2 2.00589 2.00589 1.2 3 1.2H3.5Z",fill:"currentColor"}))}h(cM,"SvgDeprecatedEnumValue");function fM(e){var t=e,{title:n,titleId:r}=t,i=Me(t,["title","titleId"]);return g.createElement("svg",Object.assign({height:"1em",viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":r},i),n?g.createElement("title",{id:r},n):null,g.createElement("rect",{x:.6,y:.6,width:10.8,height:10.8,rx:3.4,stroke:"currentColor",strokeWidth:1.2}),g.createElement("path",{d:"M4 8L8 4",stroke:"currentColor",strokeWidth:1.2}),g.createElement("path",{d:"M4 4L8 8",stroke:"currentColor",strokeWidth:1.2}))}h(fM,"SvgDeprecatedField");function dM(e){var t=e,{title:n,titleId:r}=t,i=Me(t,["title","titleId"]);return g.createElement("svg",Object.assign({height:"1em",viewBox:"0 0.5 12 12",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":r},i),n?g.createElement("title",{id:r},n):null,g.createElement("rect",{x:7,y:5.5,width:2,height:2,rx:1,transform:"rotate(90 7 5.5)",fill:"currentColor"}),g.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M10.8 9L10.8 9.5C10.8 10.4941 9.99411 11.3 9 11.3L3 11.3C2.00589 11.3 1.2 10.4941 1.2 9.5L1.2 9L-3.71547e-07 9L-3.93402e-07 9.5C-4.65826e-07 11.1569 1.34314 12.5 3 12.5L9 12.5C10.6569 12.5 12 11.1569 12 9.5L12 9L10.8 9ZM10.8 4L12 4L12 3.5C12 1.84315 10.6569 0.5 9 0.5L3 0.5C1.34315 0.5 -5.87117e-08 1.84315 -1.31135e-07 3.5L-1.5299e-07 4L1.2 4L1.2 3.5C1.2 2.50589 2.00589 1.7 3 1.7L9 1.7C9.99411 1.7 10.8 2.50589 10.8 3.5L10.8 4Z",fill:"currentColor"}))}h(dM,"SvgDirective");function pM(e){var t=e,{title:n,titleId:r}=t,i=Me(t,["title","titleId"]);return g.createElement("svg",Object.assign({height:"1em",viewBox:"0 0 20 24",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":r},i),n?g.createElement("title",{id:r},n):null,g.createElement("path",{d:"M0.75 3C0.75 1.75736 1.75736 0.75 3 0.75H17.25C17.8023 0.75 18.25 1.19772 18.25 1.75V5.25",stroke:"currentColor",strokeWidth:1.5}),g.createElement("path",{d:"M0.75 3C0.75 4.24264 1.75736 5.25 3 5.25H18.25C18.8023 5.25 19.25 5.69771 19.25 6.25V22.25C19.25 22.8023 18.8023 23.25 18.25 23.25H3C1.75736 23.25 0.75 22.2426 0.75 21V3Z",stroke:"currentColor",strokeWidth:1.5}),g.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M3 5.25C1.75736 5.25 0.75 4.24264 0.75 3V21C0.75 22.2426 1.75736 23.25 3 23.25H18.25C18.8023 23.25 19.25 22.8023 19.25 22.25V6.25C19.25 5.69771 18.8023 5.25 18.25 5.25H3ZM13 11L6 11V12.5L13 12.5V11Z",fill:"currentColor"}))}h(pM,"SvgDocsFilled");function hM(e){var t=e,{title:n,titleId:r}=t,i=Me(t,["title","titleId"]);return g.createElement("svg",Object.assign({height:"1em",viewBox:"0 0 20 24",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":r},i),n?g.createElement("title",{id:r},n):null,g.createElement("path",{d:"M0.75 3C0.75 4.24264 1.75736 5.25 3 5.25H17.25M0.75 3C0.75 1.75736 1.75736 0.75 3 0.75H16.25C16.8023 0.75 17.25 1.19772 17.25 1.75V5.25M0.75 3V21C0.75 22.2426 1.75736 23.25 3 23.25H18.25C18.8023 23.25 19.25 22.8023 19.25 22.25V6.25C19.25 5.69771 18.8023 5.25 18.25 5.25H17.25",stroke:"currentColor",strokeWidth:1.5}),g.createElement("line",{x1:13,y1:11.75,x2:6,y2:11.75,stroke:"currentColor",strokeWidth:1.5}))}h(hM,"SvgDocs");function mM(e){var t=e,{title:n,titleId:r}=t,i=Me(t,["title","titleId"]);return g.createElement("svg",Object.assign({height:"1em",viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":r},i),n?g.createElement("title",{id:r},n):null,g.createElement("rect",{x:5,y:5,width:2,height:2,rx:1,fill:"currentColor"}),g.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M8.5 1.2H9C9.99411 1.2 10.8 2.00589 10.8 3V9C10.8 9.99411 9.99411 10.8 9 10.8H8.5V12H9C10.6569 12 12 10.6569 12 9V3C12 1.34315 10.6569 0 9 0H8.5V1.2ZM3.5 1.2V0H3C1.34315 0 0 1.34315 0 3V9C0 10.6569 1.34315 12 3 12H3.5V10.8H3C2.00589 10.8 1.2 9.99411 1.2 9V3C1.2 2.00589 2.00589 1.2 3 1.2H3.5Z",fill:"currentColor"}))}h(mM,"SvgEnumValue");function vM(e){var t=e,{title:n,titleId:r}=t,i=Me(t,["title","titleId"]);return g.createElement("svg",Object.assign({height:"1em",viewBox:"0 0 12 13",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":r},i),n?g.createElement("title",{id:r},n):null,g.createElement("rect",{x:.6,y:1.1,width:10.8,height:10.8,rx:2.4,stroke:"currentColor",strokeWidth:1.2}),g.createElement("rect",{x:5,y:5.5,width:2,height:2,rx:1,fill:"currentColor"}))}h(vM,"SvgField");function gM(e){var t=e,{title:n,titleId:r}=t,i=Me(t,["title","titleId"]);return g.createElement("svg",Object.assign({height:"1em",viewBox:"0 0 24 20",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":r},i),n?g.createElement("title",{id:r},n):null,g.createElement("path",{d:"M1.59375 9.52344L4.87259 12.9944L8.07872 9.41249",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"square"}),g.createElement("path",{d:"M13.75 5.25V10.75H18.75",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"square"}),g.createElement("path",{d:"M4.95427 11.9332C4.55457 10.0629 4.74441 8.11477 5.49765 6.35686C6.25089 4.59894 7.5305 3.11772 9.16034 2.11709C10.7902 1.11647 12.6901 0.645626 14.5986 0.769388C16.5071 0.893151 18.3303 1.60543 19.8172 2.80818C21.3042 4.01093 22.3818 5.64501 22.9017 7.48548C23.4216 9.32595 23.3582 11.2823 22.7203 13.0853C22.0824 14.8883 20.9013 16.4492 19.3396 17.5532C17.778 18.6572 15.9125 19.25 14 19.25",stroke:"currentColor",strokeWidth:1.5}))}h(gM,"SvgHistory");function yM(e){var t=e,{title:n,titleId:r}=t,i=Me(t,["title","titleId"]);return g.createElement("svg",Object.assign({height:"1em",viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":r},i),n?g.createElement("title",{id:r},n):null,g.createElement("circle",{cx:6,cy:6,r:5.4,stroke:"currentColor",strokeWidth:1.2,strokeDasharray:"4.241025 4.241025",transform:"rotate(22.5)","transform-origin":"center"}),g.createElement("circle",{cx:6,cy:6,r:1,fill:"currentColor"}))}h(yM,"SvgImplements");function EM(e){var t=e,{title:n,titleId:r}=t,i=Me(t,["title","titleId"]);return g.createElement("svg",Object.assign({height:"1em",viewBox:"0 0 19 18",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":r},i),n?g.createElement("title",{id:r},n):null,g.createElement("path",{d:"M1.5 14.5653C1.5 15.211 1.75652 15.8303 2.21314 16.2869C2.66975 16.7435 3.28905 17 3.9348 17C4.58054 17 5.19984 16.7435 5.65646 16.2869C6.11307 15.8303 6.36959 15.211 6.36959 14.5653V12.1305H3.9348C3.28905 12.1305 2.66975 12.387 2.21314 12.8437C1.75652 13.3003 1.5 13.9195 1.5 14.5653Z",stroke:"currentColor",strokeWidth:1.125,strokeLinecap:"round",strokeLinejoin:"round"}),g.createElement("path",{d:"M3.9348 1.00063C3.28905 1.00063 2.66975 1.25715 2.21314 1.71375C1.75652 2.17035 1.5 2.78964 1.5 3.43537C1.5 4.0811 1.75652 4.70038 2.21314 5.15698C2.66975 5.61358 3.28905 5.8701 3.9348 5.8701H6.36959V3.43537C6.36959 2.78964 6.11307 2.17035 5.65646 1.71375C5.19984 1.25715 4.58054 1.00063 3.9348 1.00063Z",stroke:"currentColor",strokeWidth:1.125,strokeLinecap:"round",strokeLinejoin:"round"}),g.createElement("path",{d:"M15.0652 12.1305H12.6304V14.5653C12.6304 15.0468 12.7732 15.5175 13.0407 15.9179C13.3083 16.3183 13.6885 16.6304 14.1334 16.8147C14.5783 16.9989 15.0679 17.0472 15.5402 16.9532C16.0125 16.8593 16.4464 16.6274 16.7869 16.2869C17.1274 15.9464 17.3593 15.5126 17.4532 15.0403C17.5472 14.568 17.4989 14.0784 17.3147 13.6335C17.1304 13.1886 16.8183 12.8084 16.4179 12.5409C16.0175 12.2733 15.5468 12.1305 15.0652 12.1305Z",stroke:"currentColor",strokeWidth:1.125,strokeLinecap:"round",strokeLinejoin:"round"}),g.createElement("path",{d:"M12.6318 5.86775H6.36955V12.1285H12.6318V5.86775Z",stroke:"currentColor",strokeWidth:1.125,strokeLinecap:"round",strokeLinejoin:"round"}),g.createElement("path",{d:"M17.5 3.43473C17.5 2.789 17.2435 2.16972 16.7869 1.71312C16.3303 1.25652 15.711 1 15.0652 1C14.4195 1 13.8002 1.25652 13.3435 1.71312C12.8869 2.16972 12.6304 2.789 12.6304 3.43473V5.86946H15.0652C15.711 5.86946 16.3303 5.61295 16.7869 5.15635C17.2435 4.69975 17.5 4.08046 17.5 3.43473Z",stroke:"currentColor",strokeWidth:1.125,strokeLinecap:"round",strokeLinejoin:"round"}))}h(EM,"SvgKeyboardShortcut");function bM(e){var t=e,{title:n,titleId:r}=t,i=Me(t,["title","titleId"]);return g.createElement("svg",Object.assign({height:"1em",viewBox:"0 0 13 13",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":r},i),n?g.createElement("title",{id:r},n):null,g.createElement("circle",{cx:5,cy:5,r:4.35,stroke:"currentColor",strokeWidth:1.3}),g.createElement("line",{x1:8.45962,y1:8.54038,x2:11.7525,y2:11.8333,stroke:"currentColor",strokeWidth:1.3}))}h(bM,"SvgMagnifyingGlass");function TM(e){var t=e,{title:n,titleId:r}=t,i=Me(t,["title","titleId"]);return g.createElement("svg",Object.assign({height:"1em",viewBox:"-2 -2 22 22",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":r},i),n?g.createElement("title",{id:r},n):null,g.createElement("path",{d:"M17.2492 6V2.9569C17.2492 1.73806 16.2611 0.75 15.0423 0.75L2.9569 0.75C1.73806 0.75 0.75 1.73806 0.75 2.9569L0.75 6",stroke:"currentColor",strokeWidth:1.5}),g.createElement("path",{d:"M0.749873 12V15.0431C0.749873 16.2619 1.73794 17.25 2.95677 17.25H15.0421C16.261 17.25 17.249 16.2619 17.249 15.0431V12",stroke:"currentColor",strokeWidth:1.5}),g.createElement("path",{d:"M6 4.5L9 7.5L12 4.5",stroke:"currentColor",strokeWidth:1.5}),g.createElement("path",{d:"M12 13.5L9 10.5L6 13.5",stroke:"currentColor",strokeWidth:1.5}))}h(TM,"SvgMerge");function wM(e){var t=e,{title:n,titleId:r}=t,i=Me(t,["title","titleId"]);return g.createElement("svg",Object.assign({height:"1em",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":r},i),n?g.createElement("title",{id:r},n):null,g.createElement("path",{d:"M0.75 13.25L0.0554307 12.967C-0.0593528 13.2488 0.00743073 13.5719 0.224488 13.7851C0.441545 13.9983 0.765869 14.0592 1.04549 13.9393L0.75 13.25ZM12.8214 1.83253L12.2911 2.36286L12.2911 2.36286L12.8214 1.83253ZM12.8214 3.90194L13.3517 4.43227L12.8214 3.90194ZM10.0981 1.17859L9.56773 0.648259L10.0981 1.17859ZM12.1675 1.17859L12.6978 0.648258L12.6978 0.648257L12.1675 1.17859ZM2.58049 8.75697L3.27506 9.03994L2.58049 8.75697ZM2.70066 8.57599L3.23099 9.10632L2.70066 8.57599ZM5.2479 11.4195L4.95355 10.7297L5.2479 11.4195ZM5.42036 11.303L4.89003 10.7727L5.42036 11.303ZM4.95355 10.7297C4.08882 11.0987 3.41842 11.362 2.73535 11.6308C2.05146 11.9 1.35588 12.1743 0.454511 12.5607L1.04549 13.9393C1.92476 13.5624 2.60256 13.2951 3.28469 13.0266C3.96762 12.7578 4.65585 12.4876 5.54225 12.1093L4.95355 10.7297ZM1.44457 13.533L3.27506 9.03994L1.88592 8.474L0.0554307 12.967L1.44457 13.533ZM3.23099 9.10632L10.6284 1.70892L9.56773 0.648259L2.17033 8.04566L3.23099 9.10632ZM11.6371 1.70892L12.2911 2.36286L13.3517 1.3022L12.6978 0.648258L11.6371 1.70892ZM12.2911 3.37161L4.89003 10.7727L5.95069 11.8333L13.3517 4.43227L12.2911 3.37161ZM12.2911 2.36286C12.5696 2.64142 12.5696 3.09305 12.2911 3.37161L13.3517 4.43227C14.2161 3.56792 14.2161 2.16654 13.3517 1.3022L12.2911 2.36286ZM10.6284 1.70892C10.9069 1.43036 11.3586 1.43036 11.6371 1.70892L12.6978 0.648257C11.8335 -0.216088 10.4321 -0.216084 9.56773 0.648259L10.6284 1.70892ZM3.27506 9.03994C3.26494 9.06479 3.24996 9.08735 3.23099 9.10632L2.17033 8.04566C2.04793 8.16806 1.95123 8.31369 1.88592 8.474L3.27506 9.03994ZM5.54225 12.1093C5.69431 12.0444 5.83339 11.9506 5.95069 11.8333L4.89003 10.7727C4.90863 10.7541 4.92988 10.7398 4.95355 10.7297L5.54225 12.1093Z",fill:"currentColor"}),g.createElement("path",{d:"M11.5 4.5L9.5 2.5",stroke:"currentColor",strokeWidth:1.4026,strokeLinecap:"round",strokeLinejoin:"round"}),g.createElement("path",{d:"M5.5 10.5L3.5 8.5",stroke:"currentColor",strokeWidth:1.4026,strokeLinecap:"round",strokeLinejoin:"round"}))}h(wM,"SvgPen");function _M(e){var t=e,{title:n,titleId:r}=t,i=Me(t,["title","titleId"]);return g.createElement("svg",Object.assign({height:"1em",viewBox:"0 0 16 18",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":r},i),n?g.createElement("title",{id:r},n):null,g.createElement("path",{d:"M1.32226e-07 1.6609C7.22332e-08 0.907329 0.801887 0.424528 1.46789 0.777117L15.3306 8.11621C16.0401 8.49182 16.0401 9.50818 15.3306 9.88379L1.46789 17.2229C0.801886 17.5755 1.36076e-06 17.0927 1.30077e-06 16.3391L1.32226e-07 1.6609Z",fill:"currentColor"}))}h(_M,"SvgPlay");function SM(e){var t=e,{title:n,titleId:r}=t,i=Me(t,["title","titleId"]);return g.createElement("svg",Object.assign({height:"1em",viewBox:"0 0 10 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":r},i),n?g.createElement("title",{id:r},n):null,g.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M4.25 9.25V13.5H5.75V9.25L10 9.25V7.75L5.75 7.75V3.5H4.25V7.75L0 7.75V9.25L4.25 9.25Z",fill:"currentColor"}))}h(SM,"SvgPlus");function NM(e){var t=e,{title:n,titleId:r}=t,i=Me(t,["title","titleId"]);return g.createElement("svg",Object.assign({width:25,height:25,viewBox:"0 0 25 25",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":r},i),n?g.createElement("title",{id:r},n):null,g.createElement("path",{d:"M10.2852 24.0745L13.7139 18.0742",stroke:"currentColor",strokeWidth:1.5625}),g.createElement("path",{d:"M14.5742 24.0749L17.1457 19.7891",stroke:"currentColor",strokeWidth:1.5625}),g.createElement("path",{d:"M19.4868 24.0735L20.7229 21.7523C21.3259 20.6143 21.5457 19.3122 21.3496 18.0394C21.1535 16.7666 20.5519 15.591 19.6342 14.6874L23.7984 6.87853C24.0123 6.47728 24.0581 6.00748 23.9256 5.57249C23.7932 5.1375 23.4933 4.77294 23.0921 4.55901C22.6908 4.34509 22.221 4.29932 21.7861 4.43178C21.3511 4.56424 20.9865 4.86408 20.7726 5.26533L16.6084 13.0742C15.3474 12.8142 14.0362 12.9683 12.8699 13.5135C11.7035 14.0586 10.7443 14.9658 10.135 16.1L6 24.0735",stroke:"currentColor",strokeWidth:1.5625}),g.createElement("path",{d:"M4 15L5 13L7 12L5 11L4 9L3 11L1 12L3 13L4 15Z",stroke:"currentColor",strokeWidth:1.5625,strokeLinejoin:"round"}),g.createElement("path",{d:"M11.5 8L12.6662 5.6662L15 4.5L12.6662 3.3338L11.5 1L10.3338 3.3338L8 4.5L10.3338 5.6662L11.5 8Z",stroke:"currentColor",strokeWidth:1.5625,strokeLinejoin:"round"}))}h(NM,"SvgPrettify");function IM(e){var t=e,{title:n,titleId:r}=t,i=Me(t,["title","titleId"]);return g.createElement("svg",Object.assign({height:"1em",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":r},i),n?g.createElement("title",{id:r},n):null,g.createElement("path",{d:"M4.75 9.25H1.25V12.75",stroke:"currentColor",strokeWidth:1,strokeLinecap:"square"}),g.createElement("path",{d:"M11.25 6.75H14.75V3.25",stroke:"currentColor",strokeWidth:1,strokeLinecap:"square"}),g.createElement("path",{d:"M14.1036 6.65539C13.8 5.27698 13.0387 4.04193 11.9437 3.15131C10.8487 2.26069 9.48447 1.76694 8.0731 1.75043C6.66173 1.73392 5.28633 2.19563 4.17079 3.0604C3.05526 3.92516 2.26529 5.14206 1.92947 6.513",stroke:"currentColor",strokeWidth:1}),g.createElement("path",{d:"M1.89635 9.34461C2.20001 10.723 2.96131 11.9581 4.05631 12.8487C5.15131 13.7393 6.51553 14.2331 7.9269 14.2496C9.33827 14.2661 10.7137 13.8044 11.8292 12.9396C12.9447 12.0748 13.7347 10.8579 14.0705 9.487",stroke:"currentColor",strokeWidth:1}))}h(IM,"SvgReload");function xM(e){var t=e,{title:n,titleId:r}=t,i=Me(t,["title","titleId"]);return g.createElement("svg",Object.assign({height:"1em",viewBox:"0 0 13 13",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":r},i),n?g.createElement("title",{id:r},n):null,g.createElement("rect",{x:.6,y:.6,width:11.8,height:11.8,rx:5.9,stroke:"currentColor",strokeWidth:1.2}),g.createElement("path",{d:"M4.25 7.5C4.25 6 5.75 5 6.5 6.5C7.25 8 8.75 7 8.75 5.5",stroke:"currentColor",strokeWidth:1.2}))}h(xM,"SvgRootType");function DM(e){var t=e,{title:n,titleId:r}=t,i=Me(t,["title","titleId"]);return g.createElement("svg",Object.assign({height:"1em",viewBox:"0 0 21 20",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":r},i),n?g.createElement("title",{id:r},n):null,g.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9.29186 1.92702C9.06924 1.82745 8.87014 1.68202 8.70757 1.50024L7.86631 0.574931C7.62496 0.309957 7.30773 0.12592 6.95791 0.0479385C6.60809 -0.0300431 6.24274 0.00182978 5.91171 0.139208C5.58068 0.276585 5.3001 0.512774 5.10828 0.815537C4.91645 1.1183 4.82272 1.47288 4.83989 1.83089L4.90388 3.08019C4.91612 3.32348 4.87721 3.56662 4.78968 3.79394C4.70215 4.02126 4.56794 4.2277 4.39571 4.39994C4.22347 4.57219 4.01704 4.7064 3.78974 4.79394C3.56243 4.88147 3.3193 4.92038 3.07603 4.90814L1.8308 4.84414C1.47162 4.82563 1.11553 4.91881 0.811445 5.11086C0.507359 5.30292 0.270203 5.58443 0.132561 5.91671C-0.00508149 6.249 -0.0364554 6.61576 0.0427496 6.9666C0.121955 7.31744 0.307852 7.63514 0.5749 7.87606L1.50016 8.71204C1.68193 8.87461 1.82735 9.07373 1.92692 9.29636C2.02648 9.51898 2.07794 9.76012 2.07794 10.004C2.07794 10.2479 2.02648 10.489 1.92692 10.7116C1.82735 10.9343 1.68193 11.1334 1.50016 11.296L0.5749 12.1319C0.309856 12.3729 0.125575 12.6898 0.0471809 13.0393C-0.0312128 13.3888 9.64098e-05 13.754 0.13684 14.0851C0.273583 14.4162 0.509106 14.6971 0.811296 14.8894C1.11349 15.0817 1.46764 15.1762 1.82546 15.1599L3.0707 15.0959C3.31397 15.0836 3.5571 15.1225 3.7844 15.2101C4.01171 15.2976 4.21814 15.4318 4.39037 15.6041C4.56261 15.7763 4.69682 15.9827 4.78435 16.2101C4.87188 16.4374 4.91078 16.6805 4.89855 16.9238L4.83455 18.1691C4.81605 18.5283 4.90921 18.8844 5.10126 19.1885C5.2933 19.4926 5.5748 19.7298 5.90707 19.8674C6.23934 20.0051 6.60608 20.0365 6.9569 19.9572C7.30772 19.878 7.6254 19.6921 7.86631 19.4251L8.7129 18.4998C8.87547 18.318 9.07458 18.1725 9.29719 18.073C9.51981 17.9734 9.76093 17.9219 10.0048 17.9219C10.2487 17.9219 10.4898 17.9734 10.7124 18.073C10.935 18.1725 11.1341 18.318 11.2967 18.4998L12.1326 19.4251C12.3735 19.6921 12.6912 19.878 13.042 19.9572C13.3929 20.0365 13.7596 20.0051 14.0919 19.8674C14.4241 19.7298 14.7056 19.4926 14.8977 19.1885C15.0897 18.8844 15.1829 18.5283 15.1644 18.1691L15.1004 16.9238C15.0882 16.6805 15.1271 16.4374 15.2146 16.2101C15.3021 15.9827 15.4363 15.7763 15.6086 15.6041C15.7808 15.4318 15.9872 15.2976 16.2145 15.2101C16.4418 15.1225 16.685 15.0836 16.9282 15.0959L18.1735 15.1599C18.5326 15.1784 18.8887 15.0852 19.1928 14.8931C19.4969 14.7011 19.7341 14.4196 19.8717 14.0873C20.0093 13.755 20.0407 13.3882 19.9615 13.0374C19.8823 12.6866 19.6964 12.3689 19.4294 12.1279L18.5041 11.292C18.3223 11.1294 18.1769 10.9303 18.0774 10.7076C17.9778 10.485 17.9263 10.2439 17.9263 10C17.9263 9.75612 17.9778 9.51499 18.0774 9.29236C18.1769 9.06973 18.3223 8.87062 18.5041 8.70804L19.4294 7.87206C19.6964 7.63114 19.8823 7.31344 19.9615 6.9626C20.0407 6.61176 20.0093 6.245 19.8717 5.91271C19.7341 5.58043 19.4969 5.29892 19.1928 5.10686C18.8887 4.91481 18.5326 4.82163 18.1735 4.84014L16.9282 4.90414C16.685 4.91638 16.4418 4.87747 16.2145 4.78994C15.9872 4.7024 15.7808 4.56818 15.6086 4.39594C15.4363 4.2237 15.3021 4.01726 15.2146 3.78994C15.1271 3.56262 15.0882 3.31948 15.1004 3.07619L15.1644 1.83089C15.1829 1.4717 15.0897 1.11559 14.8977 0.811487C14.7056 0.507385 14.4241 0.270217 14.0919 0.132568C13.7596 -0.00508182 13.3929 -0.0364573 13.042 0.0427519C12.6912 0.121961 12.3735 0.307869 12.1326 0.574931L11.2914 1.50024C11.1288 1.68202 10.9297 1.82745 10.7071 1.92702C10.4845 2.02659 10.2433 2.07805 9.99947 2.07805C9.7556 2.07805 9.51448 2.02659 9.29186 1.92702ZM14.3745 10C14.3745 12.4162 12.4159 14.375 9.99977 14.375C7.58365 14.375 5.625 12.4162 5.625 10C5.625 7.58375 7.58365 5.625 9.99977 5.625C12.4159 5.625 14.3745 7.58375 14.3745 10Z",fill:"currentColor"}))}h(DM,"SvgSettings");function OM(e){var t=e,{title:n,titleId:r}=t,i=Me(t,["title","titleId"]);return g.createElement("svg",Object.assign({height:"1em",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":r},i),n?g.createElement("title",{id:r},n):null,g.createElement("path",{d:"M6.5782 1.07092C6.71096 0.643026 7.28904 0.643027 7.4218 1.07092L8.59318 4.84622C8.65255 5.03758 8.82284 5.16714 9.01498 5.16714L12.8056 5.16714C13.2353 5.16714 13.4139 5.74287 13.0663 6.00732L9.99962 8.34058C9.84418 8.45885 9.77913 8.66848 9.83851 8.85984L11.0099 12.6351C11.1426 13.063 10.675 13.4189 10.3274 13.1544L7.26069 10.8211C7.10524 10.7029 6.89476 10.7029 6.73931 10.8211L3.6726 13.1544C3.32502 13.4189 2.85735 13.063 2.99012 12.6351L4.16149 8.85984C4.22087 8.66848 4.15582 8.45885 4.00038 8.34058L0.933671 6.00732C0.586087 5.74287 0.764722 5.16714 1.19436 5.16714L4.98502 5.16714C5.17716 5.16714 5.34745 5.03758 5.40682 4.84622L6.5782 1.07092Z",fill:"currentColor",stroke:"currentColor"}))}h(OM,"SvgStarFilled");function CM(e){var t=e,{title:n,titleId:r}=t,i=Me(t,["title","titleId"]);return g.createElement("svg",Object.assign({height:"1em",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":r},i),n?g.createElement("title",{id:r},n):null,g.createElement("path",{d:"M6.5782 1.07092C6.71096 0.643026 7.28904 0.643027 7.4218 1.07092L8.59318 4.84622C8.65255 5.03758 8.82284 5.16714 9.01498 5.16714L12.8056 5.16714C13.2353 5.16714 13.4139 5.74287 13.0663 6.00732L9.99962 8.34058C9.84418 8.45885 9.77913 8.66848 9.83851 8.85984L11.0099 12.6351C11.1426 13.063 10.675 13.4189 10.3274 13.1544L7.26069 10.8211C7.10524 10.7029 6.89476 10.7029 6.73931 10.8211L3.6726 13.1544C3.32502 13.4189 2.85735 13.063 2.99012 12.6351L4.16149 8.85984C4.22087 8.66848 4.15582 8.45885 4.00038 8.34058L0.933671 6.00732C0.586087 5.74287 0.764722 5.16714 1.19436 5.16714L4.98502 5.16714C5.17716 5.16714 5.34745 5.03758 5.40682 4.84622L6.5782 1.07092Z",stroke:"currentColor",strokeWidth:1.5}))}h(CM,"SvgStar");function kM(e){var t=e,{title:n,titleId:r}=t,i=Me(t,["title","titleId"]);return g.createElement("svg",Object.assign({height:"1em",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":r},i),n?g.createElement("title",{id:r},n):null,g.createElement("rect",{width:16,height:16,rx:2,fill:"currentColor"}))}h(kM,"SvgStop");function AM(e){var t=e,{title:n,titleId:r}=t,i=Me(t,["title","titleId"]);return g.createElement("svg",Object.assign({height:"1em",viewBox:"0 0 13 13",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":r},i),n?g.createElement("title",{id:r},n):null,g.createElement("rect",{x:.6,y:.6,width:11.8,height:11.8,rx:5.9,stroke:"currentColor",strokeWidth:1.2}),g.createElement("rect",{x:5.5,y:5.5,width:2,height:2,rx:1,fill:"currentColor"}))}h(AM,"SvgType");var xZ=Object.defineProperty,FM=h((e,t)=>xZ(e,"name",{value:t,configurable:!0}),"__name$E");const DZ=tt(rM,"argument icon"),OZ=tt(iM,"chevron down icon"),CZ=tt(oM,"chevron left icon"),kZ=tt(aM,"chevron up icon"),UN=tt(sM,"close icon"),AZ=tt(lM,"copy icon"),FZ=tt(uM,"deprecated argument icon"),RZ=tt(cM,"deprecated enum value icon"),LZ=tt(fM,"deprecated field icon"),$Z=tt(dM,"directive icon"),PZ=tt(pM,"filled docs icon"),MZ=tt(hM,"docs icon"),VZ=tt(mM,"enum value icon"),jZ=tt(vM,"field icon"),UZ=tt(gM,"history icon"),BZ=tt(yM,"implements icon"),qZ=tt(EM,"keyboard shortcut icon"),zZ=tt(bM,"magnifying glass icon"),QZ=tt(TM,"merge icon"),GZ=tt(wM,"pen icon"),HZ=tt(_M,"play icon"),pk=tt(SM,"plus icon"),WZ=tt(NM,"prettify icon"),YZ=tt(IM,"reload icon"),JZ=tt(xM,"root type icon"),KZ=tt(DM,"settings icon"),XZ=tt(OM,"filled star icon"),ZZ=tt(CM,"star icon"),eee=tt(kM,"stop icon"),m1=tt(AM,"type icon");function tt(e,t){const n=FM(h(function(i){return q(e,Tt(et({},i),{title:t}))},"IconComponent"),"IconComponent");return Object.defineProperty(n,"name",{value:e.name}),n}h(tt,"generateIcon");FM(tt,"generateIcon");const ln=g.forwardRef((e,t)=>q("button",Tt(et({},e),{ref:t,className:gn("graphiql-un-styled",e.className)})));ln.displayName="UnStyledButton";const co=g.forwardRef((e,t)=>q("button",Tt(et({},e),{ref:t,className:gn("graphiql-button",{success:"graphiql-button-success",error:"graphiql-button-error"}[e.state],e.className)})));co.displayName="Button";const lw=g.forwardRef((e,t)=>q("div",Tt(et({},e),{ref:t,className:gn("graphiql-button-group",e.className)})));lw.displayName="ButtonGroup";function BN(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}h(BN,"canUseDOM");var na=BN()?g.useLayoutEffect:g.useEffect;function qN(){var e=g.useState(Object.create(null)),t=e[1];return g.useCallback(function(){t(Object.create(null))},[])}h(qN,"useForceUpdate");function RM(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}h(RM,"_objectWithoutPropertiesLoose$b");var tee=["unstable_skipInitialRender"],nee=h(function(t){var n=t.children,r=t.type,i=r===void 0?"reach-portal":r,o=t.containerRef,a=g.useRef(null),s=g.useRef(null),l=qN();return na(function(){if(a.current){var u=a.current.ownerDocument,c=(o==null?void 0:o.current)||u.body;return s.current=u==null?void 0:u.createElement(i),c.appendChild(s.current),l(),function(){s.current&&c&&c.removeChild(s.current)}}},[i,l,o]),s.current?rc.createPortal(n,s.current):g.createElement("span",{ref:a})},"PortalImpl"),zN=h(function(t){var n=t.unstable_skipInitialRender,r=RM(t,tee),i=g.useState(!1),o=i[0],a=i[1];return g.useEffect(function(){n&&a(!0)},[n]),n&&!o?null:g.createElement(nee,r)},"Portal");function ji(e){return BN()?e?e.ownerDocument:document:null}h(ji,"getOwnerDocument");function QN(e){return typeof e=="boolean"}h(QN,"isBoolean");function ko(e){return!!(e&&{}.toString.call(e)=="[object Function]")}h(ko,"isFunction$1");function Zy(e){return typeof e=="string"}h(Zy,"isString$1");function _l(){}h(_l,"noop");function uw(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n"u"||e[Symbol.iterator]==null){if(Array.isArray(e)||(n=LM(e))||t&&e&&typeof e.length=="number"){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}return n=e[Symbol.iterator](),n.next.bind(n)}h($M,"_createForOfIteratorHelperLoose");function PM(e,t){if(e!=null)if(ko(e))e(t);else try{e.current=t}catch{throw new Error('Cannot assign value "'+t+'" to ref "'+e+'"')}}h(PM,"assignRef$1");function zn(){for(var e=arguments.length,t=new Array(e),n=0;n=0)&&(n[i]=e[i]);return n}h(MM,"_objectWithoutPropertiesLoose$a");function mc(){return mc=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0}).sort(bee)},"orderByTabIndex"),Tee=["button:enabled","select:enabled","textarea:enabled","input:enabled","a[href]","area[href]","summary","iframe","object","embed","audio[controls]","video[controls]","[tabindex]","[contenteditable]","[autofocus]"],tI=Tee.join(","),wee="".concat(tI,", [data-focus-guard]"),o4=h(function(e,t){var n;return Ao(((n=e.shadowRoot)===null||n===void 0?void 0:n.children)||e.children).reduce(function(r,i){return r.concat(i.matches(t?wee:tI)?[i]:[],o4(i))},[])},"getFocusablesWithShadowDom"),nI=h(function(e,t){return e.reduce(function(n,r){return n.concat(o4(r,t),r.parentNode?Ao(r.parentNode.querySelectorAll(tI)).filter(function(i){return i===r}):[])},[])},"getFocusables"),_ee=h(function(e){var t=e.querySelectorAll("[".concat(lee,"]"));return Ao(t).map(function(n){return nI([n])}).reduce(function(n,r){return n.concat(r)},[])},"getParentAutofocusables"),rI=h(function(e,t){return Ao(e).filter(function(n){return ZM(t,n)}).filter(function(n){return gee(n)})},"filterFocusable"),hk=h(function(e,t){return t===void 0&&(t=new Map),Ao(e).filter(function(n){return e4(t,n)})},"filterAutoFocusable"),dw=h(function(e,t,n){return i4(rI(nI(e,n),t),!0,n)},"getTabbableNodes"),mk=h(function(e,t){return i4(rI(nI(e),t),!1)},"getAllTabbableNodes"),See=h(function(e,t){return rI(_ee(e),t)},"parentAutofocusables"),Md=h(function(e,t){return(e.shadowRoot?Md(e.shadowRoot,t):Object.getPrototypeOf(e).contains.call(e,t))||Ao(e.children).some(function(n){return Md(n,t)})},"contains"),Nee=h(function(e){for(var t=new Set,n=e.length,r=0;r0&&t.add(i),(o&Node.DOCUMENT_POSITION_CONTAINS)>0&&t.add(r)}return e.filter(function(a,s){return!t.has(s)})},"filterNested"),a4=h(function(e){return e.parentNode?a4(e.parentNode):e},"getTopParent"),iI=h(function(e){var t=fw(e);return t.filter(Boolean).reduce(function(n,r){var i=r.getAttribute(cw);return n.push.apply(n,i?Nee(Ao(a4(r).querySelectorAll("[".concat(cw,'="').concat(i,'"]:not([').concat(VM,'="disabled"])')))):[r]),n},[])},"getAllAffectedNodes"),s4=h(function(e){return e.activeElement?e.activeElement.shadowRoot?s4(e.activeElement.shadowRoot):e.activeElement:void 0},"getNestedShadowActiveElement"),oI=h(function(){return document.activeElement?document.activeElement.shadowRoot?s4(document.activeElement.shadowRoot):document.activeElement:void 0},"getActiveElement"),Iee=h(function(e){return e===document.activeElement},"focusInFrame"),xee=h(function(e){return Boolean(Ao(e.querySelectorAll("iframe")).some(function(t){return Iee(t)}))},"focusInsideIframe"),l4=h(function(e){var t=document&&oI();return!t||t.dataset&&t.dataset.focusGuard?!1:iI(e).some(function(n){return Md(n,t)||xee(n)})},"focusInside"),Dee=h(function(){var e=document&&oI();return e?Ao(document.querySelectorAll("[".concat(see,"]"))).some(function(t){return Md(t,e)}):!1},"focusIsHidden"),Oee=h(function(e,t){return t.filter(r4).filter(function(n){return n.name===e.name}).filter(function(n){return n.checked})[0]||e},"findSelectedRadio"),aI=h(function(e,t){return r4(e)&&e.name?Oee(e,t):e},"correctNode"),Cee=h(function(e){var t=new Set;return e.forEach(function(n){return t.add(aI(n,e))}),e.filter(function(n){return t.has(n)})},"correctNodes"),vk=h(function(e){return e[0]&&e.length>1?aI(e[0],e):e[0]},"pickFirstFocus"),gk=h(function(e,t){return e.length>1?e.indexOf(aI(e[t],e)):t},"pickFocusable"),u4="NEW_FOCUS",kee=h(function(e,t,n,r){var i=e.length,o=e[0],a=e[i-1],s=eI(n);if(!(n&&e.indexOf(n)>=0)){var l=n!==void 0?t.indexOf(n):-1,u=r?t.indexOf(r):l,c=r?e.indexOf(r):-1,f=l-u,d=t.indexOf(o),p=t.indexOf(a),m=Cee(t),v=n!==void 0?m.indexOf(n):-1,b=v-(r?m.indexOf(r):l),E=gk(e,0),y=gk(e,i-1);if(l===-1||c===-1)return u4;if(!f&&c>=0)return c;if(l<=d&&s&&Math.abs(f)>1)return y;if(l>=p&&s&&Math.abs(f)>1)return E;if(f&&Math.abs(b)>1)return c;if(l<=d)return y;if(l>p)return E;if(f)return Math.abs(f)>1?c:(i+c+f)%i}},"newFocus"),pw=h(function(e,t){return t===void 0&&(t=[]),t.push(e),e.parentNode&&pw(e.parentNode.host||e.parentNode,t),t},"getParents"),g1=h(function(e,t){for(var n=pw(e),r=pw(t),i=0;i=0)return o}return!1},"getCommonParent"),c4=h(function(e,t,n){var r=fw(e),i=fw(t),o=r[0],a=!1;return i.filter(Boolean).forEach(function(s){a=g1(a||s,s)||a,n.filter(Boolean).forEach(function(l){var u=g1(o,l);u&&(!a||Md(u,a)?a=u:a=g1(u,a))})}),a},"getTopCommonParent"),Aee=h(function(e,t){return e.reduce(function(n,r){return n.concat(See(r,t))},[])},"allParentAutofocusables"),Fee=h(function(e){return function(t){var n;return t.autofocus||!!(!((n=t4(t))===null||n===void 0)&&n.autofocus)||e.indexOf(t)>=0}},"findAutoFocused"),Ree=h(function(e,t){var n=new Map;return t.forEach(function(r){return n.set(r.node,r)}),e.map(function(r){return n.get(r)}).filter(Eee)},"reorderNodes"),Lee=h(function(e,t){var n=document&&oI(),r=iI(e).filter(bg),i=c4(n||e,e,r),o=new Map,a=mk(r,o),s=dw(r,o).filter(function(p){var m=p.node;return bg(m)});if(!(!s[0]&&(s=a,!s[0]))){var l=mk([i],o).map(function(p){var m=p.node;return m}),u=Ree(l,s),c=u.map(function(p){var m=p.node;return m}),f=kee(c,l,n,t);if(f===u4){var d=hk(a.map(function(p){var m=p.node;return m})).filter(Fee(Aee(r,o)));return{node:d&&d.length?vk(d):vk(hk(c))}}return f===void 0?f:u[f]}},"getFocusMerge"),$ee=h(function(e){var t=iI(e).filter(bg),n=c4(e,e,t),r=new Map,i=dw([n],r,!0),o=dw(t,r).filter(function(a){var s=a.node;return bg(s)}).map(function(a){var s=a.node;return s});return i.map(function(a){var s=a.node,l=a.index;return{node:s,index:l,lockItem:o.indexOf(s)>=0,guard:eI(s)}})},"getFocusabledIn"),Pee=h(function(e,t){"focus"in e&&e.focus(t),"contentWindow"in e&&e.contentWindow&&e.contentWindow.focus()},"focusOn"),y1=0,E1=!1,Mee=h(function(e,t,n){n===void 0&&(n={});var r=Lee(e,t);if(!E1&&r){if(y1>2){console.error("FocusLock: focus-fighting detected. Only one focus management system could be active. See https://github.com/theKashey/focus-lock/#focus-fighting"),E1=!0,setTimeout(function(){E1=!1},1);return}y1++,Pee(r.node,n.focusOptions),y1--}},"setFocus"),f4=Mee;function sI(e){var t=window,n=t.setImmediate;typeof n<"u"?n(e):setTimeout(e,1)}h(sI,"deferAction");var Vee=h(function(){return document&&document.activeElement===document.body},"focusOnBody"),jee=h(function(){return Vee()||Dee()},"isFreeFocus"),$u=null,vu=null,Pu=null,Vd=!1,Uee=h(function(){return!0},"defaultWhitelist"),Bee=h(function(t){return($u.whiteList||Uee)(t)},"focusWhitelisted"),qee=h(function(t,n){Pu={observerNode:t,portaledElement:n}},"recordPortal"),zee=h(function(t){return Pu&&Pu.portaledElement===t},"focusIsPortaledPair");function hw(e,t,n,r){var i=null,o=e;do{var a=r[o];if(a.guard)a.node.dataset.focusAutoGuard&&(i=a);else if(a.lockItem){if(o!==e)return;i=null}else break}while((o+=n)!==t);i&&(i.node.tabIndex=0)}h(hw,"autoGuard");var Qee=h(function(t){return t&&"current"in t?t.current:t},"extractRef"),Gee=h(function(t){return t?Boolean(Vd):Vd==="meanwhile"},"focusWasOutside"),Hee=h(function e(t,n,r){return n&&(n.host===t&&(!n.activeElement||r.contains(n.activeElement))||n.parentNode&&e(t,n.parentNode,r))},"checkInHost"),Wee=h(function(t,n){return n.some(function(r){return Hee(t,r,r)})},"withinHost"),Tg=h(function(){var t=!1;if($u){var n=$u,r=n.observed,i=n.persistentFocus,o=n.autoFocus,a=n.shards,s=n.crossFrame,l=n.focusOptions,u=r||Pu&&Pu.portaledElement,c=document&&document.activeElement;if(u){var f=[u].concat(a.map(Qee).filter(Boolean));if((!c||Bee(c))&&(i||Gee(s)||!jee()||!vu&&o)&&(u&&!(l4(f)||c&&Wee(c,f)||zee(c))&&(document&&!vu&&c&&!o?(c.blur&&c.blur(),document.body.focus()):(t=f4(f,vu,{focusOptions:l}),Pu={})),Vd=!1,vu=document&&document.activeElement),document){var d=document&&document.activeElement,p=$ee(f),m=p.map(function(v){var b=v.node;return b}).indexOf(d);m>-1&&(p.filter(function(v){var b=v.guard,E=v.node;return b&&E.dataset.focusAutoGuard}).forEach(function(v){var b=v.node;return b.removeAttribute("tabIndex")}),hw(m,p.length,1,p),hw(m,-1,-1,p))}}}return t},"activateTrap"),d4=h(function(t){Tg()&&t&&(t.stopPropagation(),t.preventDefault())},"onTrap"),lI=h(function(){return sI(Tg)},"onBlur"),Yee=h(function(t){var n=t.target,r=t.currentTarget;r.contains(n)||qee(r,n)},"onFocus"),Jee=h(function(){return null},"FocusWatcher"),p4=h(function(){Vd="just",setTimeout(function(){Vd="meanwhile"},0)},"onWindowBlur"),Kee=h(function(){document.addEventListener("focusin",d4),document.addEventListener("focusout",lI),window.addEventListener("blur",p4)},"attachHandler"),Xee=h(function(){document.removeEventListener("focusin",d4),document.removeEventListener("focusout",lI),window.removeEventListener("blur",p4)},"detachHandler");function h4(e){return e.filter(function(t){var n=t.disabled;return!n})}h(h4,"reducePropsToState");function m4(e){var t=e.slice(-1)[0];t&&!$u&&Kee();var n=$u,r=n&&t&&t.id===n.id;$u=t,n&&!r&&(n.onDeactivation(),e.filter(function(i){var o=i.id;return o===n.id}).length||n.returnFocus(!t)),t?(vu=null,(!r||n.observed!==t.observed)&&t.onActivation(),Tg(),sI(Tg)):(Xee(),vu=null)}h(m4,"handleStateChangeOnClient");QM.assignSyncMedium(Yee);GM.assignMedium(lI);cee.assignMedium(function(e){return e({moveFocusInside:f4,focusInside:l4})});var Zee=JM(h4,m4)(Jee),v4=g.forwardRef(h(function(t,n){return g.createElement(HM,mc({sideCar:Zee,ref:n},t))},"FocusLockUICombination")),g4=HM.propTypes||{};g4.sideCar;MM(g4,["sideCar"]);v4.propTypes={};var ete=v4,tv="right-scroll-bar-position",nv="width-before-scroll-bar",tte="with-scroll-bars-hidden",nte="--removed-body-scroll-bar-size",y4=XN(),b1=h(function(){},"nothing"),t0=g.forwardRef(function(e,t){var n=g.useRef(null),r=g.useState({onScrollCapture:b1,onWheelCapture:b1,onTouchMoveCapture:b1}),i=r[0],o=r[1],a=e.forwardProps,s=e.children,l=e.className,u=e.removeScrollBar,c=e.enabled,f=e.shards,d=e.sideCar,p=e.noIsolation,m=e.inert,v=e.allowPinchZoom,b=e.as,E=b===void 0?"div":b,y=YN(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noIsolation","inert","allowPinchZoom","as"]),T=d,w=WN([n,t]),S=po(po({},y),i);return g.createElement(g.Fragment,null,c&&g.createElement(T,{sideCar:y4,removeScrollBar:u,shards:f,noIsolation:p,inert:m,setCallbacks:o,allowPinchZoom:!!v,lockRef:n}),a?g.cloneElement(g.Children.only(s),po(po({},S),{ref:w})):g.createElement(E,po({},S,{className:l,ref:w}),s))});t0.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};t0.classNames={fullWidth:nv,zeroRight:tv};var rte=h(function(){if(typeof __webpack_nonce__<"u")return __webpack_nonce__},"getNonce");function E4(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=rte();return t&&e.setAttribute("nonce",t),e}h(E4,"makeStyleTag");function b4(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}h(b4,"injectStyles");function T4(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}h(T4,"insertStyleTag");var ite=h(function(){var e=0,t=null;return{add:function(n){e==0&&(t=E4())&&(b4(t,n),T4(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},"stylesheetSingleton"),ote=h(function(){var e=ite();return function(t,n){g.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},"styleHookSingleton"),w4=h(function(){var e=ote(),t=h(function(n){var r=n.styles,i=n.dynamic;return e(r,i),null},"Sheet");return t},"styleSingleton"),ate={left:0,top:0,right:0,gap:0},T1=h(function(e){return parseInt(e||"",10)||0},"parse$1"),ste=h(function(e){var t=window.getComputedStyle(document.body),n=t[e==="padding"?"paddingLeft":"marginLeft"],r=t[e==="padding"?"paddingTop":"marginTop"],i=t[e==="padding"?"paddingRight":"marginRight"];return[T1(n),T1(r),T1(i)]},"getOffset"),lte=h(function(e){if(e===void 0&&(e="margin"),typeof window>"u")return ate;var t=ste(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},"getGapWidth"),ute=w4(),cte=h(function(e,t,n,r){var i=e.left,o=e.top,a=e.right,s=e.gap;return n===void 0&&(n="margin"),` + .`.concat(tte,` { + overflow: hidden `).concat(r,`; + padding-right: `).concat(s,"px ").concat(r,`; + } + body { + overflow: hidden `).concat(r,`; + overscroll-behavior: contain; + `).concat([t&&"position: relative ".concat(r,";"),n==="margin"&&` + padding-left: `.concat(i,`px; + padding-top: `).concat(o,`px; + padding-right: `).concat(a,`px; + margin-left:0; + margin-top:0; + margin-right: `).concat(s,"px ").concat(r,`; + `),n==="padding"&&"padding-right: ".concat(s,"px ").concat(r,";")].filter(Boolean).join(""),` + } + + .`).concat(tv,` { + right: `).concat(s,"px ").concat(r,`; + } + + .`).concat(nv,` { + margin-right: `).concat(s,"px ").concat(r,`; + } + + .`).concat(tv," .").concat(tv,` { + right: 0 `).concat(r,`; + } + + .`).concat(nv," .").concat(nv,` { + margin-right: 0 `).concat(r,`; + } + + body { + `).concat(nte,": ").concat(s,`px; + } +`)},"getStyles$2"),fte=h(function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,i=r===void 0?"margin":r,o=g.useMemo(function(){return lte(i)},[i]);return g.createElement(ute,{styles:cte(o,!t,i,n?"":"!important")})},"RemoveScrollBar"),mw=!1;if(typeof window<"u")try{var Ph=Object.defineProperty({},"passive",{get:function(){return mw=!0,!0}});window.addEventListener("test",Ph,Ph),window.removeEventListener("test",Ph,Ph)}catch{mw=!1}var Ql=mw?{passive:!1}:!1,dte=h(function(e){return e.tagName==="TEXTAREA"},"alwaysContainsScroll"),_4=h(function(e,t){var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!dte(e)&&n[t]==="visible")},"elementCanBeScrolled"),pte=h(function(e){return _4(e,"overflowY")},"elementCouldBeVScrolled"),hte=h(function(e){return _4(e,"overflowX")},"elementCouldBeHScrolled"),yk=h(function(e,t){var n=t;do{typeof ShadowRoot<"u"&&n instanceof ShadowRoot&&(n=n.host);var r=S4(e,n);if(r){var i=N4(e,n),o=i[1],a=i[2];if(o>a)return!0}n=n.parentNode}while(n&&n!==document.body);return!1},"locationCouldBeScrolled"),mte=h(function(e){var t=e.scrollTop,n=e.scrollHeight,r=e.clientHeight;return[t,n,r]},"getVScrollVariables"),vte=h(function(e){var t=e.scrollLeft,n=e.scrollWidth,r=e.clientWidth;return[t,n,r]},"getHScrollVariables"),S4=h(function(e,t){return e==="v"?pte(t):hte(t)},"elementCouldBeScrolled"),N4=h(function(e,t){return e==="v"?mte(t):vte(t)},"getScrollVariables"),gte=h(function(e,t){return e==="h"&&t==="rtl"?-1:1},"getDirectionFactor"),yte=h(function(e,t,n,r,i){var o=gte(e,window.getComputedStyle(t).direction),a=o*r,s=n.target,l=t.contains(s),u=!1,c=a>0,f=0,d=0;do{var p=N4(e,s),m=p[0],v=p[1],b=p[2],E=v-b-o*m;(m||E)&&S4(e,s)&&(f+=E,d+=m),s=s.parentNode}while(!l&&s!==document.body||l&&(t.contains(s)||t===s));return(c&&(i&&f===0||!i&&a>f)||!c&&(i&&d===0||!i&&-a>d))&&(u=!0),u},"handleScroll"),Mh=h(function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},"getTouchXY"),Ek=h(function(e){return[e.deltaX,e.deltaY]},"getDeltaXY"),bk=h(function(e){return e&&"current"in e?e.current:e},"extractRef"),Ete=h(function(e,t){return e[0]===t[0]&&e[1]===t[1]},"deltaCompare"),bte=h(function(e){return` + .block-interactivity-`.concat(e,` {pointer-events: none;} + .allow-interactivity-`).concat(e,` {pointer-events: all;} +`)},"generateStyle"),Tte=0,Gl=[];function I4(e){var t=g.useRef([]),n=g.useRef([0,0]),r=g.useRef(),i=g.useState(Tte++)[0],o=g.useState(function(){return w4()})[0],a=g.useRef(e);g.useEffect(function(){a.current=e},[e]),g.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(i));var v=BM([e.lockRef.current],(e.shards||[]).map(bk),!0).filter(Boolean);return v.forEach(function(b){return b.classList.add("allow-interactivity-".concat(i))}),function(){document.body.classList.remove("block-interactivity-".concat(i)),v.forEach(function(b){return b.classList.remove("allow-interactivity-".concat(i))})}}},[e.inert,e.lockRef.current,e.shards]);var s=g.useCallback(function(v,b){if("touches"in v&&v.touches.length===2)return!a.current.allowPinchZoom;var E=Mh(v),y=n.current,T="deltaX"in v?v.deltaX:y[0]-E[0],w="deltaY"in v?v.deltaY:y[1]-E[1],S,_=v.target,I=Math.abs(T)>Math.abs(w)?"h":"v";if("touches"in v&&I==="h"&&_.type==="range")return!1;var A=yk(I,_);if(!A)return!0;if(A?S=I:(S=I==="v"?"h":"v",A=yk(I,_)),!A)return!1;if(!r.current&&"changedTouches"in v&&(T||w)&&(r.current=S),!S)return!0;var N=r.current||S;return yte(N,b,v,N==="h"?T:w,!0)},[]),l=g.useCallback(function(v){var b=v;if(!(!Gl.length||Gl[Gl.length-1]!==o)){var E="deltaY"in b?Ek(b):Mh(b),y=t.current.filter(function(S){return S.name===b.type&&S.target===b.target&&Ete(S.delta,E)})[0];if(y&&y.should){b.cancelable&&b.preventDefault();return}if(!y){var T=(a.current.shards||[]).map(bk).filter(Boolean).filter(function(S){return S.contains(b.target)}),w=T.length>0?s(b,T[0]):!a.current.noIsolation;w&&b.cancelable&&b.preventDefault()}}},[]),u=g.useCallback(function(v,b,E,y){var T={name:v,delta:b,target:E,should:y};t.current.push(T),setTimeout(function(){t.current=t.current.filter(function(w){return w!==T})},1)},[]),c=g.useCallback(function(v){n.current=Mh(v),r.current=void 0},[]),f=g.useCallback(function(v){u(v.type,Ek(v),v.target,s(v,e.lockRef.current))},[]),d=g.useCallback(function(v){u(v.type,Mh(v),v.target,s(v,e.lockRef.current))},[]);g.useEffect(function(){return Gl.push(o),e.setCallbacks({onScrollCapture:f,onWheelCapture:f,onTouchMoveCapture:d}),document.addEventListener("wheel",l,Ql),document.addEventListener("touchmove",l,Ql),document.addEventListener("touchstart",c,Ql),function(){Gl=Gl.filter(function(v){return v!==o}),document.removeEventListener("wheel",l,Ql),document.removeEventListener("touchmove",l,Ql),document.removeEventListener("touchstart",c,Ql)}},[]);var p=e.removeScrollBar,m=e.inert;return g.createElement(g.Fragment,null,m?g.createElement(o,{styles:bte(i)}):null,p?g.createElement(fte,{gapMode:"margin"}):null)}h(I4,"RemoveScrollSideCar");var wte=zM(y4,I4),x4=g.forwardRef(function(e,t){return g.createElement(t0,po({},e,{ref:t,sideCar:wte}))});x4.classNames=t0.classNames;var _te=x4,D4={exports:{}},Ste="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",Nte=Ste,Ite=Nte;function uI(){}h(uI,"emptyFunction");function cI(){}h(cI,"emptyFunctionWithReset");cI.resetWarningCache=uI;var xte=h(function(){function e(r,i,o,a,s,l){if(l!==Ite){var u=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw u.name="Invariant Violation",u}}h(e,"shim"),e.isRequired=e;function t(){return e}h(t,"getShim");var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:cI,resetWarningCache:uI};return n.PropTypes=n,n},"factoryWithThrowingShims");D4.exports=xte();var Vh=D4.exports;function Sl(){return Sl=Object.assign||function(e){for(var t=1;t=0)&&(n[i]=e[i]);return n}h(zp,"_objectWithoutPropertiesLoose$9");var Dte=["as","isOpen"],Ote=["allowPinchZoom","as","dangerouslyBypassFocusLock","dangerouslyBypassScrollLock","initialFocusRef","onClick","onDismiss","onKeyDown","onMouseDown","unstable_lockFocusAcrossFrames"],Cte=["as","onClick","onKeyDown"],kte=["allowPinchZoom","initialFocusRef","isOpen","onDismiss"];Vh.bool,Vh.bool,Vh.bool,Vh.func;var Ate=g.forwardRef(h(function(t,n){var r=t.as,i=r===void 0?"div":r,o=t.isOpen,a=o===void 0?!0:o,s=zp(t,Dte);return g.useEffect(function(){a?window.__REACH_DISABLE_TOOLTIPS=!0:window.requestAnimationFrame(function(){window.__REACH_DISABLE_TOOLTIPS=!1})},[a]),a?g.createElement(zN,{"data-reach-dialog-wrapper":""},g.createElement(Fte,Sl({ref:n,as:i},s))):null},"DialogOverlay")),Fte=g.forwardRef(h(function(t,n){var r=t.allowPinchZoom,i=t.as,o=i===void 0?"div":i,a=t.dangerouslyBypassFocusLock,s=a===void 0?!1:a,l=t.dangerouslyBypassScrollLock,u=l===void 0?!1:l,c=t.initialFocusRef,f=t.onClick,d=t.onDismiss,p=d===void 0?_l:d,m=t.onKeyDown,v=t.onMouseDown,b=t.unstable_lockFocusAcrossFrames,E=zp(t,Ote),y=g.useRef(null),T=g.useRef(null),w=zn(T,n),S=g.useCallback(function(){c&&c.current&&c.current.focus()},[c]);function _(N){y.current===N.target&&(N.stopPropagation(),p(N))}h(_,"handleClick");function I(N){N.key==="Escape"&&(N.stopPropagation(),p(N))}h(I,"handleKeyDown");function A(N){y.current=N.target}return h(A,"handleMouseDown"),g.useEffect(function(){return T.current?O4(T.current):void 0},[]),g.createElement(ete,{autoFocus:!0,returnFocus:!0,onActivation:S,disabled:s,crossFrame:b??!0},g.createElement(_te,{allowPinchZoom:r,enabled:!u},g.createElement(o,Sl({},E,{ref:w,"data-reach-dialog-overlay":"",onClick:we(f,_),onKeyDown:we(m,I),onMouseDown:we(v,A)}))))},"DialogInner")),Rte=g.forwardRef(h(function(t,n){var r=t.as,i=r===void 0?"div":r,o=t.onClick;t.onKeyDown;var a=zp(t,Cte);return g.createElement(i,Sl({"aria-modal":"true",role:"dialog",tabIndex:-1},a,{ref:n,"data-reach-dialog-content":"",onClick:we(o,function(s){s.stopPropagation()})}))},"DialogContent")),Lte=g.forwardRef(h(function(t,n){var r=t.allowPinchZoom,i=r===void 0?!1:r,o=t.initialFocusRef,a=t.isOpen,s=t.onDismiss,l=s===void 0?_l:s,u=zp(t,kte);return g.createElement(Ate,{allowPinchZoom:i,initialFocusRef:o,isOpen:a,onDismiss:l},g.createElement(Rte,Sl({ref:n},u)))},"Dialog"));function O4(e){var t=[],n=[],r=ji(e);return e?(Array.prototype.forEach.call(r.querySelectorAll("body > *"),function(i){var o,a,s=(o=e.parentNode)==null||(a=o.parentNode)==null?void 0:a.parentNode;if(i!==s){var l=i.getAttribute("aria-hidden"),u=l!==null&&l!=="false";u||(t.push(l),n.push(i),i.setAttribute("aria-hidden","true"))}}),function(){n.forEach(function(i,o){var a=t[o];a===null?i.removeAttribute("aria-hidden"):i.setAttribute("aria-hidden",a)})}):_l}h(O4,"createAriaHider");function jd(){return jd=Object.assign||function(e){for(var t=1;t=0)&&(n[i]=e[i]);return n}h(C4,"_objectWithoutPropertiesLoose$8");var $te=["as","style"],k4=g.forwardRef(h(function(t,n){var r=t.as,i=r===void 0?"span":r,o=t.style,a=o===void 0?{}:o,s=C4(t,$te);return g.createElement(i,jd({ref:n,style:jd({border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"absolute",width:"1px",whiteSpace:"nowrap",wordWrap:"normal"},a)},s))},"VisuallyHidden")),Pte=Object.defineProperty,Mte=h((e,t)=>Pte(e,"name",{value:t,configurable:!0}),"__name$D");const Fc=Mte((e,t)=>Object.entries(t).reduce((n,[r,i])=>(n[r]=i,n),e),"createComponentGroup"),A4=g.forwardRef((e,t)=>q(Lte,Tt(et({},e),{ref:t})));A4.displayName="Dialog";const F4=g.forwardRef((e,t)=>Ne(ln,Tt(et({},e),{ref:t,type:"button",className:gn("graphiql-dialog-close",e.className),children:[q(k4,{children:"Close dialog"}),q(UN,{})]})));F4.displayName="Dialog.Close";const jh=Fc(A4,{Close:F4});var w1=!1,Vte=0;function vw(){return++Vte}h(vw,"genId");function Qp(e){var t;if(typeof g.useId=="function"){var n=g.useId(e);return e??n}var r=e??(w1?vw():null),i=g.useState(r),o=i[0],a=i[1];return na(function(){o===null&&a(vw())},[]),g.useEffect(function(){w1===!1&&(w1=!0)},[]),(t=e??o)!=null?t:void 0}h(Qp,"useId");var jte=["bottom","height","left","right","top","width"],Ute=h(function(t,n){return t===void 0&&(t={}),n===void 0&&(n={}),jte.some(function(r){return t[r]!==n[r]})},"rectChanged"),Sa=new Map,R4,Bte=h(function e(){var t=[];Sa.forEach(function(n,r){var i=r.getBoundingClientRect();Ute(i,n.rect)&&(n.rect=i,t.push(n))}),t.forEach(function(n){n.callbacks.forEach(function(r){return r(n.rect)})}),R4=window.requestAnimationFrame(e)},"run");function L4(e,t){return{observe:h(function(){var r=Sa.size===0;Sa.has(e)?Sa.get(e).callbacks.push(t):Sa.set(e,{rect:void 0,hasRectChanged:!1,callbacks:[t]}),r&&Bte()},"observe"),unobserve:h(function(){var r=Sa.get(e);if(r){var i=r.callbacks.indexOf(t);i>=0&&r.callbacks.splice(i,1),r.callbacks.length||Sa.delete(e),Sa.size||cancelAnimationFrame(R4)}},"unobserve")}}h(L4,"observeRect");function Ud(e,t,n){var r,i;if(QN(t))r=t;else{var o;r=(o=t==null?void 0:t.observe)!=null?o:!0,i=t==null?void 0:t.onChange}ko(n)&&(i=n);var a=g.useState(e.current),s=a[0],l=a[1],u=g.useRef(!1),c=g.useRef(!1),f=g.useState(null),d=f[0],p=f[1],m=g.useRef(i);return na(function(){m.current=i,e.current!==s&&l(e.current)}),na(function(){s&&!u.current&&(u.current=!0,p(s.getBoundingClientRect()))},[s]),na(function(){if(r){var v=s;if(c.current||(c.current=!0,v=e.current),!!v){var b=L4(v,function(E){m.current==null||m.current(E),p(E)});return b.observe(),function(){b.unobserve()}}}},[r,s,e]),d}h(Ud,"useRect");var $4=["input","select","textarea","a[href]","button","[tabindex]","audio[controls]","video[controls]",'[contenteditable]:not([contenteditable="false"])'],gw=$4.join(","),fI=typeof Element>"u"?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector;function n0(e,t){t=t||{};var n=[],r=[],i=e.querySelectorAll(gw);t.includeContainer&&fI.call(e,gw)&&(i=Array.prototype.slice.apply(i),i.unshift(e));var o,a,s;for(o=0;o=0)&&(n[i]=e[i]);return n}h(vI,"_objectWithoutPropertiesLoose$7");var zte=["unstable_skipInitialPortalRender"],Qte=["as","targetRef","position","unstable_observableRefs"],gI=g.forwardRef(h(function(t,n){var r=t.unstable_skipInitialPortalRender,i=vI(t,zte);return g.createElement(zN,{unstable_skipInitialRender:r},g.createElement(Gte,us({ref:n},i)))},"Popover")),Gte=g.forwardRef(h(function(t,n){var r=t.as,i=r===void 0?"div":r,o=t.targetRef,a=t.position,s=a===void 0?Hte:a,l=t.unstable_observableRefs,u=l===void 0?[]:l,c=vI(t,Qte),f=g.useRef(null),d=Ud(f,{observe:!c.hidden}),p=Ud(o,{observe:!c.hidden}),m=zn(f,n);return Y4(o,f),g.createElement(i,us({"data-reach-popover":"",ref:m},c,{style:us({position:"absolute"},H4.apply(void 0,[s,p,d].concat(u)),c.style)}))},"PopoverImpl"));function H4(e,t,n){for(var r=arguments.length,i=new Array(r>3?r-3:0),o=3;o=0)&&(n[i]=e[i]);return n}h(J4,"_objectWithoutPropertiesLoose$6");function Jo(){return Jo=Object.assign||function(e){for(var t=1;t=0)&&(n[i]=e[i]);return n}h(Z4,"_objectWithoutPropertiesLoose$5");var Yte=["children"];function l0(e,t){var n=g.createContext(t);return n}h(l0,"createNamedContext");function e6(e,t){var n=g.createContext(t);function r(o){var a=o.children,s=Z4(o,Yte),l=g.useMemo(function(){return s},Object.values(s));return g.createElement(n.Provider,{value:l},a)}h(r,"Provider");function i(o){var a=g.useContext(n);if(a)return a;if(t)return t;throw Error(o+" must be rendered inside of a "+e+" component.")}return h(i,"useContext$1"),[r,i]}h(e6,"createContext");function Ui(){for(var e=arguments.length,t=new Array(e),n=0;n0||C,matches:wg(w)}}}},"x");try{for(var m=function(E){var y=typeof Symbol=="function"&&E[Symbol.iterator],T=0;return y?y.call(E):{next:function(){return E&&T>=E.length&&(E=void 0),{value:E&&E[T++],done:!E}}}}(d),v=m.next();!v.done;v=m.next()){var b=p(v.value);if(typeof b=="object")return b.value}}catch(E){o={error:E}}finally{try{v&&!v.done&&(a=m.return)&&a.call(m)}finally{if(o)throw o.error}}}return bw(l,u)}};return n}h(t6,"c$1");var Tk=h(function(e,t){return e.actions.forEach(function(n){var r=n.exec;return r&&r(e.context,t)})},"s");function n6(e){var t=e.initialState,n=gu.NotStarted,r=new Set,i={_machine:e,send:function(o){n===gu.Running&&(t=e.transition(t,o),Tk(t,TI(o)),r.forEach(function(a){return a(t)}))},subscribe:function(o){return r.add(o),o(t),{unsubscribe:function(){return r.delete(o)}}},start:function(){return n=gu.Running,Tk(t,Jte),i},stop:function(){return n=gu.Stopped,r.clear(),i},get state(){return t},get status(){return n}};return i}h(n6,"f$1");function wI(e){var t=g.useRef();return t.current||(t.current={v:e()}),t.current.v}h(wI,"useConstant");function Bd(){return Bd=Object.assign||function(e){for(var t=1;t=0)&&(n[i]=e[i]);return n}h(Ds,"_objectWithoutPropertiesLoose$4");var Uh,ie;(function(e){e.Idle="IDLE",e.Open="OPEN",e.Navigating="NAVIGATING",e.Dragging="DRAGGING",e.Interacting="INTERACTING"})(ie||(ie={}));var ne;(function(e){e.ButtonMouseDown="BUTTON_MOUSE_DOWN",e.ButtonMouseUp="BUTTON_MOUSE_UP",e.Blur="BLUR",e.ClearNavSelection="CLEAR_NAV_SELECTION",e.ClearTypeahead="CLEAR_TYPEAHEAD",e.GetDerivedData="GET_DERIVED_DATA",e.KeyDownEscape="KEY_DOWN_ESCAPE",e.KeyDownEnter="KEY_DOWN_ENTER",e.KeyDownSpace="KEY_DOWN_SPACE",e.KeyDownNavigate="KEY_DOWN_NAVIGATE",e.KeyDownSearch="KEY_DOWN_SEARCH",e.KeyDownTab="KEY_DOWN_TAB",e.KeyDownShiftTab="KEY_DOWN_SHIFT_TAB",e.OptionTouchStart="OPTION_TOUCH_START",e.OptionMouseMove="OPTION_MOUSE_MOVE",e.OptionMouseEnter="OPTION_MOUSE_ENTER",e.OptionMouseDown="OPTION_MOUSE_DOWN",e.OptionMouseUp="OPTION_MOUSE_UP",e.OptionClick="OPTION_CLICK",e.ListMouseUp="LIST_MOUSE_UP",e.OptionPress="OPTION_PRESS",e.OutsideMouseDown="OUTSIDE_MOUSE_DOWN",e.OutsideMouseUp="OUTSIDE_MOUSE_UP",e.ValueChange="VALUE_CHANGE",e.PopoverPointerDown="POPOVER_POINTER_DOWN",e.PopoverPointerUp="POPOVER_POINTER_UP",e.UpdateAfterTypeahead="UPDATE_AFTER_TYPEAHEAD"})(ne||(ne={}));var uf=Fo({navigationValue:null}),Ee=Fo({typeaheadQuery:null}),En=Fo({value:h(function(t,n){return n.value},"value")}),vr=Fo({navigationValue:h(function(t,n){return n.value},"navigationValue")}),$s=Fo({navigationValue:h(function(t){var n=s6(t.value,t.options);if(n&&!n.disabled)return t.value;var r;return((r=t.options.find(function(i){return!i.disabled}))==null?void 0:r.value)||null},"navigationValue")});function Df(e,t){if(t.type===ne.Blur){var n=t.refs,r=n.list,i=n.popover,o=t.relatedTarget,a=ji(i);return!!((a==null?void 0:a.activeElement)!==r&&i&&!i.contains(o||(a==null?void 0:a.activeElement)))}return!1}h(Df,"listboxLostFocus");function Mo(e,t){if(t.type===ne.OutsideMouseDown||t.type===ne.OutsideMouseUp){var n=t.refs,r=n.button,i=n.popover,o=t.relatedTarget;return!!(o!==r&&r&&!r.contains(o)&&i&&!i.contains(o))}return!1}h(Mo,"clickedOutsideOfListbox");function uo(e,t){return!!e.options.find(function(n){return n.value===e.navigationValue})}h(uo,"optionIsActive");function Of(e,t){var n=t.refs,r=n.popover,i=n.list,o=t.relatedTarget;return r&&o&&r.contains(o)&&o!==i?!1:uo(e)}h(Of,"shouldNavigate");function tr(e,t){requestAnimationFrame(function(){t.refs.list&&t.refs.list.focus()})}h(tr,"focusList");function yt(e,t){t.refs.button&&t.refs.button.focus()}h(yt,"focusButton");function Bs(e,t){return!t.disabled}h(Bs,"listboxIsNotDisabled");function Ni(e,t){return!(t.type===ne.OptionTouchStart&&t&&t.disabled)}h(Ni,"optionIsNavigable");function bn(e,t){return"disabled"in t&&t.disabled?!1:"value"in t?t.value!=null:e.navigationValue!=null}h(bn,"optionIsSelectable");function an(e,t){t.callback&&t.callback(t.value)}h(an,"selectOption");function a6(e,t){if(t.type===ne.KeyDownEnter){var n=t.refs.hiddenInput;if(n&&n.form){var r=n.form.querySelector("button:not([type]),[type='submit']");r&&r.click()}}}h(a6,"submitForm");var Bh=Fo({typeaheadQuery:h(function(t,n){return(t.typeaheadQuery||"")+n.query},"typeaheadQuery")}),Xte=Fo({value:h(function(t,n){if(n.type===ne.UpdateAfterTypeahead&&n.query){var r=_I(t.options,n.query);if(r&&!r.disabled)return n.callback&&n.callback(r.value),r.value}return t.value},"value")}),_1=Fo({navigationValue:h(function(t,n){if(n.type===ne.UpdateAfterTypeahead&&n.query){var r=_I(t.options,n.query);if(r&&!r.disabled)return r.value}return t.navigationValue},"navigationValue")}),cf=(Uh={},Uh[ne.GetDerivedData]={actions:Fo(function(e,t){return Pn({},e,t.data)})},Uh[ne.ValueChange]={actions:[En,an]},Uh),Zte=h(function(t){var n,r,i,o,a,s,l=t.value;return{id:"listbox",initial:ie.Idle,context:{value:l,options:[],navigationValue:null,typeaheadQuery:null},states:(s={},s[ie.Idle]={on:Pn({},cf,(n={},n[ne.ButtonMouseDown]={target:ie.Open,actions:[$s],cond:Bs},n[ne.KeyDownSpace]={target:ie.Navigating,actions:[$s,tr],cond:Bs},n[ne.KeyDownSearch]={target:ie.Idle,actions:Bh,cond:Bs},n[ne.UpdateAfterTypeahead]={target:ie.Idle,actions:[Xte],cond:Bs},n[ne.ClearTypeahead]={target:ie.Idle,actions:Ee},n[ne.KeyDownNavigate]={target:ie.Navigating,actions:[$s,Ee,tr],cond:Bs},n[ne.KeyDownEnter]={actions:[a6],cond:Bs},n))},s[ie.Interacting]={entry:[uf],on:Pn({},cf,(r={},r[ne.ClearNavSelection]={actions:[uf,tr]},r[ne.KeyDownEnter]={target:ie.Idle,actions:[En,Ee,yt,an],cond:bn},r[ne.KeyDownSpace]={target:ie.Idle,actions:[En,Ee,yt,an],cond:bn},r[ne.ButtonMouseDown]={target:ie.Idle,actions:[yt]},r[ne.KeyDownEscape]={target:ie.Idle,actions:[yt]},r[ne.OptionMouseDown]={target:ie.Dragging},r[ne.OutsideMouseDown]=[{target:ie.Idle,cond:Mo,actions:Ee},{target:ie.Dragging,actions:Ee,cond:uo}],r[ne.OutsideMouseUp]=[{target:ie.Idle,cond:Mo,actions:Ee},{target:ie.Navigating,cond:uo},{target:ie.Interacting,actions:Ee}],r[ne.KeyDownEnter]=ie.Interacting,r[ne.Blur]=[{target:ie.Idle,cond:Df,actions:Ee},{target:ie.Navigating,cond:Of},{target:ie.Interacting,actions:Ee}],r[ne.OptionTouchStart]={target:ie.Navigating,actions:[vr,Ee],cond:Ni},r[ne.OptionClick]={target:ie.Idle,actions:[En,Ee,yt,an],cond:bn},r[ne.OptionPress]={target:ie.Idle,actions:[En,Ee,yt,an],cond:bn},r[ne.OptionMouseEnter]={target:ie.Navigating,actions:[vr,Ee],cond:Ni},r[ne.KeyDownNavigate]={target:ie.Navigating,actions:[vr,Ee,tr]},r))},s[ie.Open]={on:Pn({},cf,(i={},i[ne.ClearNavSelection]={actions:[uf]},i[ne.KeyDownEnter]={target:ie.Idle,actions:[En,Ee,yt,an],cond:bn},i[ne.KeyDownSpace]={target:ie.Idle,actions:[En,Ee,yt,an],cond:bn},i[ne.ButtonMouseDown]={target:ie.Idle,actions:[yt]},i[ne.KeyDownEscape]={target:ie.Idle,actions:[yt]},i[ne.OptionMouseDown]={target:ie.Dragging},i[ne.OutsideMouseDown]=[{target:ie.Idle,cond:Mo,actions:Ee},{target:ie.Dragging,cond:uo},{target:ie.Interacting,actions:Ee}],i[ne.OutsideMouseUp]=[{target:ie.Idle,cond:Mo,actions:Ee},{target:ie.Navigating,cond:uo},{target:ie.Interacting,actions:Ee}],i[ne.Blur]=[{target:ie.Idle,cond:Df,actions:Ee},{target:ie.Navigating,cond:Of},{target:ie.Interacting,actions:Ee}],i[ne.ButtonMouseUp]={target:ie.Navigating,actions:[$s,tr]},i[ne.ListMouseUp]={target:ie.Navigating,actions:[$s,tr]},i[ne.OptionTouchStart]={target:ie.Navigating,actions:[vr,Ee],cond:Ni},i[ne.OptionClick]={target:ie.Idle,actions:[En,Ee,yt,an],cond:bn},i[ne.OptionPress]={target:ie.Idle,actions:[En,Ee,yt,an],cond:bn},i[ne.KeyDownNavigate]={target:ie.Navigating,actions:[vr,Ee,tr]},i[ne.KeyDownSearch]={target:ie.Navigating,actions:Bh},i[ne.UpdateAfterTypeahead]={actions:[_1]},i[ne.ClearTypeahead]={actions:Ee},i[ne.OptionMouseMove]=[{target:ie.Dragging,actions:[vr],cond:Ni},{target:ie.Dragging}],i))},s[ie.Dragging]={on:Pn({},cf,(o={},o[ne.ClearNavSelection]={actions:[uf]},o[ne.KeyDownEnter]={target:ie.Idle,actions:[En,Ee,yt,an],cond:bn},o[ne.KeyDownSpace]={target:ie.Idle,actions:[En,Ee,yt,an],cond:bn},o[ne.ButtonMouseDown]={target:ie.Idle,actions:[yt]},o[ne.KeyDownEscape]={target:ie.Idle,actions:[yt]},o[ne.OptionMouseDown]={target:ie.Dragging},o[ne.OutsideMouseDown]=[{target:ie.Idle,cond:Mo,actions:Ee},{target:ie.Navigating,cond:uo},{target:ie.Interacting,actions:Ee}],o[ne.OutsideMouseUp]=[{target:ie.Idle,cond:Mo,actions:Ee},{target:ie.Navigating,cond:uo,actions:tr},{target:ie.Interacting,actions:[Ee,tr]}],o[ne.Blur]=[{target:ie.Idle,cond:Df,actions:Ee},{target:ie.Navigating,cond:Of},{target:ie.Interacting,actions:Ee}],o[ne.ButtonMouseUp]={target:ie.Navigating,actions:[$s,tr]},o[ne.OptionTouchStart]={target:ie.Navigating,actions:[vr,Ee],cond:Ni},o[ne.OptionClick]={target:ie.Idle,actions:[En,Ee,yt,an],cond:bn},o[ne.OptionPress]={target:ie.Idle,actions:[En,Ee,yt,an],cond:bn},o[ne.OptionMouseEnter]={target:ie.Dragging,actions:[vr,Ee],cond:Ni},o[ne.KeyDownNavigate]={target:ie.Navigating,actions:[vr,Ee,tr]},o[ne.KeyDownSearch]={target:ie.Navigating,actions:Bh},o[ne.UpdateAfterTypeahead]={actions:[_1]},o[ne.ClearTypeahead]={actions:Ee},o[ne.OptionMouseMove]=[{target:ie.Navigating,actions:[vr],cond:Ni},{target:ie.Navigating}],o[ne.OptionMouseUp]={target:ie.Idle,actions:[En,Ee,yt,an],cond:bn},o))},s[ie.Navigating]={on:Pn({},cf,(a={},a[ne.ClearNavSelection]={actions:[uf,tr]},a[ne.KeyDownEnter]={target:ie.Idle,actions:[En,Ee,yt,an],cond:bn},a[ne.KeyDownSpace]={target:ie.Idle,actions:[En,Ee,yt,an],cond:bn},a[ne.ButtonMouseDown]={target:ie.Idle,actions:[yt]},a[ne.KeyDownEscape]={target:ie.Idle,actions:[yt]},a[ne.OptionMouseDown]={target:ie.Dragging},a[ne.OutsideMouseDown]=[{target:ie.Idle,cond:Mo,actions:Ee},{target:ie.Navigating,cond:uo},{target:ie.Interacting,actions:Ee}],a[ne.OutsideMouseUp]=[{target:ie.Idle,cond:Mo,actions:Ee},{target:ie.Navigating,cond:uo},{target:ie.Interacting,actions:Ee}],a[ne.Blur]=[{target:ie.Idle,cond:Df,actions:Ee},{target:ie.Navigating,cond:Of},{target:ie.Interacting,actions:Ee}],a[ne.ButtonMouseUp]={target:ie.Navigating,actions:[$s,tr]},a[ne.OptionTouchStart]={target:ie.Navigating,actions:[vr,Ee],cond:Ni},a[ne.OptionClick]={target:ie.Idle,actions:[En,Ee,yt,an],cond:bn},a[ne.OptionPress]={target:ie.Idle,actions:[En,Ee,yt,an],cond:bn},a[ne.OptionMouseEnter]={target:ie.Navigating,actions:[vr,Ee],cond:Ni},a[ne.KeyDownNavigate]={target:ie.Navigating,actions:[vr,Ee,tr]},a[ne.KeyDownSearch]={target:ie.Navigating,actions:Bh},a[ne.UpdateAfterTypeahead]={actions:[_1]},a[ne.ClearTypeahead]={actions:Ee},a[ne.OptionMouseMove]=[{target:ie.Navigating,actions:[vr],cond:Ni},{target:ie.Navigating}],a))},s)}},"createMachineDefinition");function _I(e,t){if(t===void 0&&(t=""),!t)return null;var n=e.find(function(r){return!r.disabled&&r.label&&r.label.toLowerCase().startsWith(t.toLowerCase())});return n||null}h(_I,"findOptionFromTypeahead");function s6(e,t){return e?t.find(function(n){return n.value===e}):void 0}h(s6,"findOptionFromValue");var ene=["as","aria-labelledby","aria-label","children","defaultValue","disabled","form","name","onChange","required","value","__componentName"],tne=["arrow","button","children","portal"],nne=["aria-label","arrow","as","children","onKeyDown","onMouseDown","onMouseUp"],rne=["as","children"],ine=["as","position","onBlur","onKeyDown","onMouseUp","portal","unstable_observableRefs"],one=["as"],ane=["as","children","disabled","index","label","onClick","onMouseDown","onMouseEnter","onMouseLeave","onMouseMove","onMouseUp","onTouchStart","value"],sne=!1,_g=r0(),Os=l0("ListboxContext",{}),l6=g.forwardRef(h(function(t,n){var r=t.as,i=r===void 0?"div":r,o=t["aria-labelledby"],a=t["aria-label"],s=t.children,l=t.defaultValue,u=t.disabled,c=u===void 0?!1:u,f=t.form,d=t.name,p=t.onChange,m=t.required,v=t.value;t.__componentName;var b=Ds(t,ene),E=g.useRef(v!=null),y=o0(),T=y[0],w=y[1],S=g.useRef(null),_=g.useRef(null),I=g.useRef(null),A=g.useRef(null),N=g.useRef(null),C=g.useRef(null),U=g.useRef(null),G=o6(Zte({value:(E.current?v:l)||null})),Y=r6(G,{button:S,hiddenInput:_,highlightedOption:I,input:A,list:N,popover:C,selectedOption:U},sne),P=Y[0],V=Y[1];function j(R){R!==P.context.value&&(p==null||p(R))}h(j,"handleValueChange");var H=Qp(b.id),F=b.id||Ui("listbox-input",H),z=zn(A,n),B=g.useMemo(function(){var R=T.find(function(J){return J.value===P.context.value});return R?R.label:null},[T,P.context.value]),X=f6(P.value),x={ariaLabel:a,ariaLabelledBy:o,buttonRef:S,disabled:c,highlightedOptionRef:I,isExpanded:X,listboxId:F,listboxValueLabel:B,listRef:N,onValueChange:j,popoverRef:C,selectedOptionRef:U,send:V,state:P.value,stateData:P.context},M=g.useRef(!1);if(!E.current&&l==null&&!M.current&&T.length){M.current=!0;var L=T.find(function(R){return!R.disabled});L&&L.value&&V({type:ne.ValueChange,value:L.value})}return d6(v,P.context.value,function(){V({type:ne.ValueChange,value:v})}),na(function(){V({type:ne.GetDerivedData,data:{options:T}})},[T,V]),g.useEffect(function(){function R(J){var ae=J.target,se=J.relatedTarget;Tw(C.current,ae)||V({type:ne.OutsideMouseDown,relatedTarget:se||ae})}return h(R,"handleMouseDown"),X&&window.addEventListener("mousedown",R),function(){window.removeEventListener("mousedown",R)}},[V,X]),g.useEffect(function(){function R(J){var ae=J.target,se=J.relatedTarget;Tw(C.current,ae)||V({type:ne.OutsideMouseUp,relatedTarget:se||ae})}return h(R,"handleMouseUp"),X&&window.addEventListener("mouseup",R),function(){window.removeEventListener("mouseup",R)}},[V,X]),g.createElement(i,Pn({},b,{ref:z,"data-reach-listbox-input":"","data-state":X?"expanded":"closed","data-value":P.context.value,id:F}),g.createElement(Os.Provider,{value:x},g.createElement(s0,{context:_g,items:T,set:w},ko(s)?s({id:F,isExpanded:X,value:P.context.value,selectedOptionRef:U,highlightedOptionRef:I,valueLabel:B,expanded:X}):s,(f||d||m)&&g.createElement("input",{ref:_,"data-reach-listbox-hidden-input":"",disabled:c,form:f,name:d,readOnly:!0,required:m,tabIndex:-1,type:"hidden",value:P.context.value||""}))))},"ListboxInput")),lne=g.forwardRef(h(function(t,n){var r=t.arrow,i=r===void 0?"▼":r,o=t.button,a=t.children,s=t.portal,l=s===void 0?!0:s,u=Ds(t,tne);return g.createElement(l6,Pn({},u,{__componentName:"Listbox",ref:n}),function(c){var f=c.value,d=c.valueLabel;return g.createElement(g.Fragment,null,g.createElement(u6,{arrow:i,children:o?ko(o)?o({value:f,label:d}):o:void 0}),g.createElement(c6,{portal:l},g.createElement(pne,null,a)))})},"Listbox")),une=g.forwardRef(h(function(t,n){var r=t["aria-label"],i=t.arrow,o=i===void 0?!1:i,a=t.as,s=a===void 0?"span":a,l=t.children,u=t.onKeyDown,c=t.onMouseDown,f=t.onMouseUp,d=Ds(t,nne),p=g.useContext(Os),m=p.buttonRef,v=p.send,b=p.ariaLabelledBy,E=p.disabled,y=p.isExpanded,T=p.listboxId,w=p.stateData,S=p.listboxValueLabel,_=w.value,I=zn(m,n),A=SI();function N(Y){_o(Y.nativeEvent)||(Y.preventDefault(),Y.stopPropagation(),v({type:ne.ButtonMouseDown,disabled:E}))}h(N,"handleMouseDown");function C(Y){_o(Y.nativeEvent)||(Y.preventDefault(),Y.stopPropagation(),v({type:ne.ButtonMouseUp}))}h(C,"handleMouseUp");var U=Ui("button",T),G=g.useMemo(function(){if(l){if(ko(l))return l({isExpanded:y,label:S,value:_,expanded:y})}else return S;return l},[l,S,y,_]);return g.createElement(s,Pn({"aria-disabled":E||void 0,"aria-expanded":y||void 0,"aria-haspopup":"listbox","aria-labelledby":r?void 0:[b,U].filter(Boolean).join(" "),"aria-label":r,role:"button",tabIndex:E?-1:0},d,{ref:I,"data-reach-listbox-button":"",id:U,onKeyDown:we(u,A),onMouseDown:we(c,N),onMouseUp:we(f,C)}),G,o&&g.createElement(fne,null,QN(o)?null:o))},"ListboxButton")),u6=g.memo(une),cne=g.forwardRef(h(function(t,n){var r=t.as,i=r===void 0?"span":r,o=t.children,a=Ds(t,rne),s=g.useContext(Os),l=s.isExpanded;return g.createElement(i,Pn({"aria-hidden":!0},a,{ref:n,"data-reach-listbox-arrow":"","data-expanded":l?"":void 0}),ko(o)?o({isExpanded:l,expanded:l}):o||"▼")},"ListboxArrow")),fne=g.memo(cne),dne=g.forwardRef(h(function(t,n){var r=t.as,i=r===void 0?"div":r,o=t.position,a=o===void 0?W4:o,s=t.onBlur,l=t.onKeyDown,u=t.onMouseUp,c=t.portal,f=c===void 0?!0:c,d=t.unstable_observableRefs,p=Ds(t,ine),m=g.useContext(Os),v=m.isExpanded,b=m.buttonRef,E=m.popoverRef,y=m.send,T=zn(E,n),w=SI();function S(){y({type:ne.ListMouseUp})}h(S,"handleMouseUp");var _=Pn({hidden:!v,tabIndex:-1},p,{ref:T,"data-reach-listbox-popover":"",onMouseUp:we(u,S),onBlur:we(s,I),onKeyDown:we(l,w)});function I(A){var N=A.nativeEvent;requestAnimationFrame(function(){y({type:ne.Blur,relatedTarget:N.relatedTarget||N.target})})}return h(I,"handleBlur"),f?g.createElement(gI,Pn({},_,{as:i,targetRef:b,position:a,unstable_observableRefs:d,unstable_skipInitialPortalRender:!0})):g.createElement(i,_)},"ListboxPopover")),c6=g.memo(dne),pne=g.forwardRef(h(function(t,n){var r=t.as,i=r===void 0?"ul":r,o=Ds(t,one),a=g.useContext(Os),s=a.listRef,l=a.ariaLabel,u=a.ariaLabelledBy,c=a.isExpanded,f=a.listboxId,d=a.stateData,p=d.value,m=d.navigationValue,v=zn(n,s);return g.createElement(i,Pn({"aria-activedescendant":NI(c?m:p),"aria-labelledby":l?void 0:u,"aria-label":l,role:"listbox",tabIndex:-1},o,{ref:v,"data-reach-listbox-list":"",id:Ui("listbox",f)}))},"ListboxList")),hne=g.forwardRef(h(function(t,n){var r=t.as,i=r===void 0?"li":r,o=t.children,a=t.disabled,s=t.index,l=t.label,u=t.onClick,c=t.onMouseDown,f=t.onMouseEnter,d=t.onMouseLeave,p=t.onMouseMove,m=t.onMouseUp,v=t.onTouchStart,b=t.value,E=Ds(t,ane),y=g.useContext(Os),T=y.highlightedOptionRef,w=y.selectedOptionRef,S=y.send,_=y.isExpanded,I=y.onValueChange,A=y.state,N=y.stateData,C=N.value,U=N.navigationValue,G=g.useState(l),Y=G[0],P=G[1],V=l||Y||"",j=g.useRef(null),H=u0(j,null),F=H[0],z=H[1],B=g.useMemo(function(){return{element:F,value:b,label:V,disabled:!!a}},[a,F,V,b]);i0(B,_g,s);var X=g.useCallback(function(Oe){!l&&Oe&&P(function(gt){return Oe.textContent&>!==Oe.textContent?Oe.textContent:gt||""})},[l]),x=U?U===b:!1,M=C===b,L=zn(X,n,z,M?w:null,x?T:null);function R(){S({type:ne.OptionMouseEnter,value:b,disabled:!!a})}h(R,"handleMouseEnter");function J(){S({type:ne.OptionTouchStart,value:b,disabled:!!a})}h(J,"handleTouchStart");function ae(){S({type:ne.ClearNavSelection})}h(ae,"handleMouseLeave");function se(Oe){_o(Oe.nativeEvent)||(Oe.preventDefault(),S({type:ne.OptionMouseDown}))}h(se,"handleMouseDown");function $e(Oe){_o(Oe.nativeEvent)||S({type:ne.OptionMouseUp,value:b,callback:I,disabled:!!a})}h($e,"handleMouseUp");function tn(Oe){_o(Oe.nativeEvent)||S({type:ne.OptionClick,value:b,callback:I,disabled:!!a})}h(tn,"handleClick");function An(){(A===ie.Open||U!==b)&&S({type:ne.OptionMouseMove,value:b,disabled:!!a})}return h(An,"handleMouseMove"),g.createElement(i,Pn({"aria-selected":(_?x:M)||void 0,"aria-disabled":a||void 0,role:"option"},E,{ref:L,id:NI(b),"data-reach-listbox-option":"","data-current-nav":x?"":void 0,"data-current-selected":M?"":void 0,"data-label":V,"data-value":b,onClick:we(u,tn),onMouseDown:we(c,se),onMouseEnter:we(f,R),onMouseLeave:we(d,ae),onMouseMove:we(p,An),onMouseUp:we(m,$e),onTouchStart:we(v,J)}),o)},"ListboxOption"));function f6(e){return[ie.Navigating,ie.Open,ie.Dragging,ie.Interacting].includes(e)}h(f6,"isListboxExpanded");function SI(){var e=g.useContext(Os),t=e.send,n=e.disabled,r=e.onValueChange,i=e.stateData,o=i.navigationValue,a=i.typeaheadQuery,s=a0(_g),l=X4(r);g.useEffect(function(){a&&t({type:ne.UpdateAfterTypeahead,query:a,callback:l});var f=window.setTimeout(function(){a!=null&&t({type:ne.ClearTypeahead})},1e3);return function(){window.clearTimeout(f)}},[l,t,a]);var u=s.findIndex(function(f){var d=f.value;return d===o}),c=we(function(f){var d=f.key,p=Zy(d)&&d.length===1,m=s.find(function(b){return b.value===o});switch(d){case"Enter":t({type:ne.KeyDownEnter,value:o,callback:r,disabled:!!(m!=null&&m.disabled||n)});return;case" ":f.preventDefault(),t({type:ne.KeyDownSpace,value:o,callback:r,disabled:!!(m!=null&&m.disabled||n)});return;case"Escape":t({type:ne.KeyDownEscape});return;case"Tab":var v=f.shiftKey?ne.KeyDownShiftTab:ne.KeyDownTab;t({type:v});return;default:p&&t({type:ne.KeyDownSearch,query:d,disabled:n});return}},bI(_g,{currentIndex:u,orientation:"vertical",key:"index",rotate:!0,filter:h(function(d){return!d.disabled},"filter"),callback:h(function(d){t({type:ne.KeyDownNavigate,value:s[d].value,disabled:n})},"callback")}));return c}h(SI,"useKeyDown$1");function NI(e){var t=g.useContext(Os),n=t.listboxId;return e?Ui("option-"+e,n):void 0}h(NI,"useOptionId");function Tw(e,t){return!!(e&&e.contains(t))}h(Tw,"popoverContainsEventTarget$1");function d6(e,t,n){var r=g.useRef(e!=null),i=r.current;i&&e!==t&&n()}h(d6,"useControlledStateSync");function rv(e){var t=g.useRef(null);return g.useEffect(function(){t.current=e},[e]),t.current}h(rv,"usePrevious");function Gp(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}h(Gp,"_objectWithoutPropertiesLoose$3");function Ln(){return Ln=Object.assign||function(e){for(var t=1;tTa||Kj>Ta)&&(S.current=!0)}!x&&X!=null&&!d&&y({type:qa,payload:{index:X,dropdownRef:T}})}h(tn,"handleMouseMove");function An(){S.current=!0,!x&&X!=null&&!d&&y({type:qa,payload:{index:X}})}h(An,"handleFocus");function Oe(gt){if(!_o(gt.nativeEvent)){if(!S.current){S.current=!0;return}r?j.current?j.current=!1:U.current&&U.current.click():d||L()}}return h(Oe,"handleMouseUp"),g.useEffect(function(){if(C){var gt=window.setTimeout(function(){S.current=!0},400);return function(){window.clearTimeout(gt)}}else S.current=!1},[C,S]),g.useEffect(function(){var gt=ji(U.current);return gt.addEventListener("mouseup",Ta),function(){gt.removeEventListener("mouseup",Ta)};function Ta(){j.current=!1}},[]),{data:{disabled:d},props:Ln({id:xI(X),tabIndex:-1},b,{ref:M,"data-disabled":d?"":void 0,"data-selected":x?"":void 0,"data-valuetext":Y,onClick:we(i,R),onDragStart:we(o,J),onMouseDown:we(a,ae),onMouseEnter:we(s,se),onMouseLeave:we(l,$e),onMouseMove:we(u,tn),onFocus:we(p,An),onMouseUp:we(c,Oe)})}}h(y6,"useDropdownItem");function E6(e){e.id;var t=e.onKeyDown,n=e.ref,r=Gp(e,gne),i=Hp("useDropdownItems"),o=i.dispatch,a=i.triggerRef,s=i.dropdownRef,l=i.selectCallbacks,u=i.dropdownId,c=i.state,f=c.isExpanded,d=c.triggerId,p=c.selectionIndex,m=c.typeaheadQuery,v=DI(),b=zn(s,n);g.useEffect(function(){var S=T6(v,m);m&&S!=null&&o({type:qa,payload:{index:S,dropdownRef:s}});var _=window.setTimeout(function(){return m&&o({type:_w,payload:""})},1e3);return function(){return window.clearTimeout(_)}},[o,v,m,s]);var E=rv(v.length),y=rv(v[p]),T=rv(p);g.useEffect(function(){p>v.length-1?o({type:qa,payload:{index:v.length-1,dropdownRef:s}}):E!==v.length&&p>-1&&y&&T===p&&v[p]!==y&&o({type:qa,payload:{index:v.findIndex(function(S){return S.key===(y==null?void 0:y.key)}),dropdownRef:s}})},[s,o,v,E,y,T,p]);var w=we(h(function(_){var I=_.key;if(f)switch(I){case"Enter":case" ":var A=v.find(function(C){return C.index===p});A&&!A.disabled&&(_.preventDefault(),A.isLink&&A.element?A.element.click():(zd(a.current),l.current[A.index]&&l.current[A.index](),o({type:II})));break;case"Escape":zd(a.current),o({type:qd});break;case"Tab":_.preventDefault();break;default:if(Zy(I)&&I.length===1){var N=m+I.toLowerCase();o({type:_w,payload:N})}break}},"handleKeyDown"),bI(c0,{currentIndex:p,orientation:"vertical",rotate:!1,filter:h(function(_){return!_.disabled},"filter"),callback:h(function(_){o({type:qa,payload:{index:_,dropdownRef:s}})},"callback"),key:"index"}));return{data:{activeDescendant:xI(p)||void 0,triggerId:d},props:Ln({tabIndex:-1},r,{ref:b,id:u,onKeyDown:we(t,w)})}}h(E6,"useDropdownItems");function b6(e){var t=e.onBlur,n=e.portal,r=n===void 0?!0:n,i=e.position,o=e.ref,a=Gp(e,yne),s=Hp("useDropdownPopover"),l=s.triggerRef,u=s.triggerClickedRef,c=s.dispatch,f=s.dropdownRef,d=s.popoverRef,p=s.state.isExpanded,m=zn(d,o);return g.useEffect(function(){if(!p)return;var v=ji(d.current);function b(E){u.current?u.current=!1:w6(d.current,E.target)||c({type:qd})}return h(b,"listener"),v.addEventListener("mousedown",b),function(){v.removeEventListener("mousedown",b)}},[u,l,c,f,d,p]),{data:{portal:r,position:i,targetRef:l,isExpanded:p},props:Ln({ref:m,hidden:!p,onBlur:we(t,function(v){v.currentTarget.contains(v.relatedTarget)||c({type:qd})})},a)}}h(b6,"useDropdownPopover");function T6(e,t){if(t===void 0&&(t=""),!t)return null;var n=e.find(function(r){var i,o,a;return r.disabled?!1:(i=r.element)==null||(o=i.dataset)==null||(a=o.valuetext)==null?void 0:a.toLowerCase().startsWith(t)});return n?e.indexOf(n):null}h(T6,"findItemFromTypeahead");function xI(e){var t=Hp("useItemId"),n=t.dropdownId;return e!=null&&e>-1?Ui("option-"+e,n):void 0}h(xI,"useItemId");function zd(e){e&&e.focus()}h(zd,"focus");function w6(e,t){return!!(e&&e.contains(t))}h(w6,"popoverContainsEventTarget");function _6(e,t){switch(t===void 0&&(t={}),t.type){case II:return Ln({},e,{isExpanded:!1,selectionIndex:-1});case qd:return Ln({},e,{isExpanded:!1,selectionIndex:-1});case Ene:return Ln({},e,{isExpanded:!0,selectionIndex:0});case ww:return Ln({},e,{isExpanded:!0,selectionIndex:t.payload.index});case h6:return Ln({},e,{isExpanded:!0,selectionIndex:-1});case qa:{var n=t.payload.dropdownRef,r=n===void 0?{current:null}:n;if(t.payload.index>=0&&t.payload.index!==e.selectionIndex){if(r.current){var i=ji(r.current);r.current!==(i==null?void 0:i.activeElement)&&r.current.focus()}return Ln({},e,{selectionIndex:t.payload.max!=null?Math.min(Math.max(t.payload.index,0),t.payload.max):Math.max(t.payload.index,0)})}return e}case p6:return Ln({},e,{selectionIndex:-1});case m6:return Ln({},e,{triggerId:t.payload});case _w:return typeof t.payload<"u"?Ln({},e,{typeaheadQuery:t.payload}):e;default:return e}}h(_6,"reducer$1");function DI(){return a0(c0)}h(DI,"useDropdownDescendants");var S6={exports:{}},ft={};/** @license React v16.13.1 + * react-is.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var kn=typeof Symbol=="function"&&Symbol.for,OI=kn?Symbol.for("react.element"):60103,CI=kn?Symbol.for("react.portal"):60106,f0=kn?Symbol.for("react.fragment"):60107,d0=kn?Symbol.for("react.strict_mode"):60108,p0=kn?Symbol.for("react.profiler"):60114,h0=kn?Symbol.for("react.provider"):60109,m0=kn?Symbol.for("react.context"):60110,kI=kn?Symbol.for("react.async_mode"):60111,v0=kn?Symbol.for("react.concurrent_mode"):60111,g0=kn?Symbol.for("react.forward_ref"):60112,y0=kn?Symbol.for("react.suspense"):60113,_ne=kn?Symbol.for("react.suspense_list"):60120,E0=kn?Symbol.for("react.memo"):60115,b0=kn?Symbol.for("react.lazy"):60116,Sne=kn?Symbol.for("react.block"):60121,Nne=kn?Symbol.for("react.fundamental"):60117,Ine=kn?Symbol.for("react.responder"):60118,xne=kn?Symbol.for("react.scope"):60119;function Cr(e){if(typeof e=="object"&&e!==null){var t=e.$$typeof;switch(t){case OI:switch(e=e.type,e){case kI:case v0:case f0:case p0:case d0:case y0:return e;default:switch(e=e&&e.$$typeof,e){case m0:case g0:case b0:case E0:case h0:return e;default:return t}}case CI:return t}}}h(Cr,"z");function AI(e){return Cr(e)===v0}h(AI,"A");ft.AsyncMode=kI;ft.ConcurrentMode=v0;ft.ContextConsumer=m0;ft.ContextProvider=h0;ft.Element=OI;ft.ForwardRef=g0;ft.Fragment=f0;ft.Lazy=b0;ft.Memo=E0;ft.Portal=CI;ft.Profiler=p0;ft.StrictMode=d0;ft.Suspense=y0;ft.isAsyncMode=function(e){return AI(e)||Cr(e)===kI};ft.isConcurrentMode=AI;ft.isContextConsumer=function(e){return Cr(e)===m0};ft.isContextProvider=function(e){return Cr(e)===h0};ft.isElement=function(e){return typeof e=="object"&&e!==null&&e.$$typeof===OI};ft.isForwardRef=function(e){return Cr(e)===g0};ft.isFragment=function(e){return Cr(e)===f0};ft.isLazy=function(e){return Cr(e)===b0};ft.isMemo=function(e){return Cr(e)===E0};ft.isPortal=function(e){return Cr(e)===CI};ft.isProfiler=function(e){return Cr(e)===p0};ft.isStrictMode=function(e){return Cr(e)===d0};ft.isSuspense=function(e){return Cr(e)===y0};ft.isValidElementType=function(e){return typeof e=="string"||typeof e=="function"||e===f0||e===v0||e===p0||e===d0||e===y0||e===_ne||typeof e=="object"&&e!==null&&(e.$$typeof===b0||e.$$typeof===E0||e.$$typeof===h0||e.$$typeof===m0||e.$$typeof===g0||e.$$typeof===Nne||e.$$typeof===Ine||e.$$typeof===xne||e.$$typeof===Sne)};ft.typeOf=Cr;S6.exports=ft;function sr(){return sr=Object.assign||function(e){for(var t=1;t=0)&&(n[i]=e[i]);return n}h(Cs,"_objectWithoutPropertiesLoose$2");var Dne=["as","id","children"],One=["as"],Cne=["as"],kne=["as"],Ane=["as"],Fne=["portal"],Rne=["as"],Lne=g.forwardRef(function(e,t){var n=e.as,r=n===void 0?g.Fragment:n,i=e.id,o=e.children,a=Cs(e,Dne),s=g.useMemo(function(){try{return S6.exports.isFragment(g.createElement(r,null))}catch{return!1}},[r]),l=s?{}:sr({ref:t,id:i,"data-reach-menu":""},a);return g.createElement(r,l,g.createElement(wne,{id:i,children:o}))}),$ne=g.forwardRef(function(e,t){var n=e.as,r=n===void 0?"button":n,i=Cs(e,One),o=g6(sr({},i,{ref:t})),a=o.data,s=a.isExpanded,l=a.controls,u=o.props;return g.createElement(r,sr({"aria-expanded":s?!0:void 0,"aria-haspopup":!0,"aria-controls":l},u,{"data-reach-menu-button":""}))}),Pne=g.forwardRef(function(e,t){var n=e.as,r=n===void 0?"div":n,i=Cs(e,Cne),o=y6(sr({},i,{ref:t})),a=o.data.disabled,s=o.props;return g.createElement(r,sr({role:"menuitem"},s,{"aria-disabled":a||void 0,"data-reach-menu-item":""}))}),Mne=g.forwardRef(function(e,t){var n=e.as,r=n===void 0?"div":n,i=Cs(e,kne);return g.createElement(Pne,sr({},i,{ref:t,as:r}))}),Vne=g.forwardRef(function(e,t){var n=e.as,r=n===void 0?"div":n,i=Cs(e,Ane),o=E6(sr({},i,{ref:t})),a=o.data,s=a.activeDescendant,l=a.triggerId,u=o.props;return g.createElement(r,sr({"aria-activedescendant":s,"aria-labelledby":l||void 0,role:"menu"},u,{"data-reach-menu-items":""}))}),jne=g.forwardRef(function(e,t){var n=e.portal,r=n===void 0?!0:n,i=Cs(e,Fne);return g.createElement(Une,{portal:r},g.createElement(Vne,sr({},i,{ref:t,"data-reach-menu-list":""})))}),Une=g.forwardRef(function(e,t){var n=e.as,r=n===void 0?"div":n,i=Cs(e,Rne),o=b6(sr({},i,{ref:t})),a=o.data,s=a.portal,l=a.targetRef,u=a.position,c=o.props,f={"data-reach-menu-popover":""};return s?g.createElement(gI,sr({},c,f,{as:r,targetRef:l,position:u,unstable_skipInitialPortalRender:!0})):g.createElement(r,sr({},c,f))});const N6=g.forwardRef((e,t)=>q($ne,Tt(et({},e),{ref:t,className:gn("graphiql-un-styled",e.className)})));N6.displayName="MenuButton";const za=Fc(Lne,{Button:N6,Item:Mne,List:jne}),I6=g.forwardRef((e,t)=>q(u6,Tt(et({},e),{ref:t,className:gn("graphiql-un-styled",e.className)})));I6.displayName="ListboxButton";const iv=Fc(lne,{Button:I6,Input:l6,Option:hne,Popover:c6});var at={};const Bne="Á",qne="á",zne="Ă",Qne="ă",Gne="∾",Hne="∿",Wne="∾̳",Yne="Â",Jne="â",Kne="´",Xne="А",Zne="а",ere="Æ",tre="æ",nre="⁡",rre="𝔄",ire="𝔞",ore="À",are="à",sre="ℵ",lre="ℵ",ure="Α",cre="α",fre="Ā",dre="ā",pre="⨿",hre="&",mre="&",vre="⩕",gre="⩓",yre="∧",Ere="⩜",bre="⩘",Tre="⩚",wre="∠",_re="⦤",Sre="∠",Nre="⦨",Ire="⦩",xre="⦪",Dre="⦫",Ore="⦬",Cre="⦭",kre="⦮",Are="⦯",Fre="∡",Rre="∟",Lre="⊾",$re="⦝",Pre="∢",Mre="Å",Vre="⍼",jre="Ą",Ure="ą",Bre="𝔸",qre="𝕒",zre="⩯",Qre="≈",Gre="⩰",Hre="≊",Wre="≋",Yre="'",Jre="⁡",Kre="≈",Xre="≊",Zre="Å",eie="å",tie="𝒜",nie="𝒶",rie="≔",iie="*",oie="≈",aie="≍",sie="Ã",lie="ã",uie="Ä",cie="ä",fie="∳",die="⨑",pie="≌",hie="϶",mie="‵",vie="∽",gie="⋍",yie="∖",Eie="⫧",bie="⊽",Tie="⌅",wie="⌆",_ie="⌅",Sie="⎵",Nie="⎶",Iie="≌",xie="Б",Die="б",Oie="„",Cie="∵",kie="∵",Aie="∵",Fie="⦰",Rie="϶",Lie="ℬ",$ie="ℬ",Pie="Β",Mie="β",Vie="ℶ",jie="≬",Uie="𝔅",Bie="𝔟",qie="⋂",zie="◯",Qie="⋃",Gie="⨀",Hie="⨁",Wie="⨂",Yie="⨆",Jie="★",Kie="▽",Xie="△",Zie="⨄",eoe="⋁",toe="⋀",noe="⤍",roe="⧫",ioe="▪",ooe="▴",aoe="▾",soe="◂",loe="▸",uoe="␣",coe="▒",foe="░",doe="▓",poe="█",hoe="=⃥",moe="≡⃥",voe="⫭",goe="⌐",yoe="𝔹",Eoe="𝕓",boe="⊥",Toe="⊥",woe="⋈",_oe="⧉",Soe="┐",Noe="╕",Ioe="╖",xoe="╗",Doe="┌",Ooe="╒",Coe="╓",koe="╔",Aoe="─",Foe="═",Roe="┬",Loe="╤",$oe="╥",Poe="╦",Moe="┴",Voe="╧",joe="╨",Uoe="╩",Boe="⊟",qoe="⊞",zoe="⊠",Qoe="┘",Goe="╛",Hoe="╜",Woe="╝",Yoe="└",Joe="╘",Koe="╙",Xoe="╚",Zoe="│",eae="║",tae="┼",nae="╪",rae="╫",iae="╬",oae="┤",aae="╡",sae="╢",lae="╣",uae="├",cae="╞",fae="╟",dae="╠",pae="‵",hae="˘",mae="˘",vae="¦",gae="𝒷",yae="ℬ",Eae="⁏",bae="∽",Tae="⋍",wae="⧅",_ae="\\",Sae="⟈",Nae="•",Iae="•",xae="≎",Dae="⪮",Oae="≏",Cae="≎",kae="≏",Aae="Ć",Fae="ć",Rae="⩄",Lae="⩉",$ae="⩋",Pae="∩",Mae="⋒",Vae="⩇",jae="⩀",Uae="ⅅ",Bae="∩︀",qae="⁁",zae="ˇ",Qae="ℭ",Gae="⩍",Hae="Č",Wae="č",Yae="Ç",Jae="ç",Kae="Ĉ",Xae="ĉ",Zae="∰",ese="⩌",tse="⩐",nse="Ċ",rse="ċ",ise="¸",ose="¸",ase="⦲",sse="¢",lse="·",use="·",cse="𝔠",fse="ℭ",dse="Ч",pse="ч",hse="✓",mse="✓",vse="Χ",gse="χ",yse="ˆ",Ese="≗",bse="↺",Tse="↻",wse="⊛",_se="⊚",Sse="⊝",Nse="⊙",Ise="®",xse="Ⓢ",Dse="⊖",Ose="⊕",Cse="⊗",kse="○",Ase="⧃",Fse="≗",Rse="⨐",Lse="⫯",$se="⧂",Pse="∲",Mse="”",Vse="’",jse="♣",Use="♣",Bse=":",qse="∷",zse="⩴",Qse="≔",Gse="≔",Hse=",",Wse="@",Yse="∁",Jse="∘",Kse="∁",Xse="ℂ",Zse="≅",ele="⩭",tle="≡",nle="∮",rle="∯",ile="∮",ole="𝕔",ale="ℂ",sle="∐",lle="∐",ule="©",cle="©",fle="℗",dle="∳",ple="↵",hle="✗",mle="⨯",vle="𝒞",gle="𝒸",yle="⫏",Ele="⫑",ble="⫐",Tle="⫒",wle="⋯",_le="⤸",Sle="⤵",Nle="⋞",Ile="⋟",xle="↶",Dle="⤽",Ole="⩈",Cle="⩆",kle="≍",Ale="∪",Fle="⋓",Rle="⩊",Lle="⊍",$le="⩅",Ple="∪︀",Mle="↷",Vle="⤼",jle="⋞",Ule="⋟",Ble="⋎",qle="⋏",zle="¤",Qle="↶",Gle="↷",Hle="⋎",Wle="⋏",Yle="∲",Jle="∱",Kle="⌭",Xle="†",Zle="‡",eue="ℸ",tue="↓",nue="↡",rue="⇓",iue="‐",oue="⫤",aue="⊣",sue="⤏",lue="˝",uue="Ď",cue="ď",fue="Д",due="д",pue="‡",hue="⇊",mue="ⅅ",vue="ⅆ",gue="⤑",yue="⩷",Eue="°",bue="∇",Tue="Δ",wue="δ",_ue="⦱",Sue="⥿",Nue="𝔇",Iue="𝔡",xue="⥥",Due="⇃",Oue="⇂",Cue="´",kue="˙",Aue="˝",Fue="`",Rue="˜",Lue="⋄",$ue="⋄",Pue="⋄",Mue="♦",Vue="♦",jue="¨",Uue="ⅆ",Bue="ϝ",que="⋲",zue="÷",Que="÷",Gue="⋇",Hue="⋇",Wue="Ђ",Yue="ђ",Jue="⌞",Kue="⌍",Xue="$",Zue="𝔻",ece="𝕕",tce="¨",nce="˙",rce="⃜",ice="≐",oce="≑",ace="≐",sce="∸",lce="∔",uce="⊡",cce="⌆",fce="∯",dce="¨",pce="⇓",hce="⇐",mce="⇔",vce="⫤",gce="⟸",yce="⟺",Ece="⟹",bce="⇒",Tce="⊨",wce="⇑",_ce="⇕",Sce="∥",Nce="⤓",Ice="↓",xce="↓",Dce="⇓",Oce="⇵",Cce="̑",kce="⇊",Ace="⇃",Fce="⇂",Rce="⥐",Lce="⥞",$ce="⥖",Pce="↽",Mce="⥟",Vce="⥗",jce="⇁",Uce="↧",Bce="⊤",qce="⤐",zce="⌟",Qce="⌌",Gce="𝒟",Hce="𝒹",Wce="Ѕ",Yce="ѕ",Jce="⧶",Kce="Đ",Xce="đ",Zce="⋱",efe="▿",tfe="▾",nfe="⇵",rfe="⥯",ife="⦦",ofe="Џ",afe="џ",sfe="⟿",lfe="É",ufe="é",cfe="⩮",ffe="Ě",dfe="ě",pfe="Ê",hfe="ê",mfe="≖",vfe="≕",gfe="Э",yfe="э",Efe="⩷",bfe="Ė",Tfe="ė",wfe="≑",_fe="ⅇ",Sfe="≒",Nfe="𝔈",Ife="𝔢",xfe="⪚",Dfe="È",Ofe="è",Cfe="⪖",kfe="⪘",Afe="⪙",Ffe="∈",Rfe="⏧",Lfe="ℓ",$fe="⪕",Pfe="⪗",Mfe="Ē",Vfe="ē",jfe="∅",Ufe="∅",Bfe="◻",qfe="∅",zfe="▫",Qfe=" ",Gfe=" ",Hfe=" ",Wfe="Ŋ",Yfe="ŋ",Jfe=" ",Kfe="Ę",Xfe="ę",Zfe="𝔼",ede="𝕖",tde="⋕",nde="⧣",rde="⩱",ide="ε",ode="Ε",ade="ε",sde="ϵ",lde="≖",ude="≕",cde="≂",fde="⪖",dde="⪕",pde="⩵",hde="=",mde="≂",vde="≟",gde="⇌",yde="≡",Ede="⩸",bde="⧥",Tde="⥱",wde="≓",_de="ℯ",Sde="ℰ",Nde="≐",Ide="⩳",xde="≂",Dde="Η",Ode="η",Cde="Ð",kde="ð",Ade="Ë",Fde="ë",Rde="€",Lde="!",$de="∃",Pde="∃",Mde="ℰ",Vde="ⅇ",jde="ⅇ",Ude="≒",Bde="Ф",qde="ф",zde="♀",Qde="ffi",Gde="ff",Hde="ffl",Wde="𝔉",Yde="𝔣",Jde="fi",Kde="◼",Xde="▪",Zde="fj",epe="♭",tpe="fl",npe="▱",rpe="ƒ",ipe="𝔽",ope="𝕗",ape="∀",spe="∀",lpe="⋔",upe="⫙",cpe="ℱ",fpe="⨍",dpe="½",ppe="⅓",hpe="¼",mpe="⅕",vpe="⅙",gpe="⅛",ype="⅔",Epe="⅖",bpe="¾",Tpe="⅗",wpe="⅜",_pe="⅘",Spe="⅚",Npe="⅝",Ipe="⅞",xpe="⁄",Dpe="⌢",Ope="𝒻",Cpe="ℱ",kpe="ǵ",Ape="Γ",Fpe="γ",Rpe="Ϝ",Lpe="ϝ",$pe="⪆",Ppe="Ğ",Mpe="ğ",Vpe="Ģ",jpe="Ĝ",Upe="ĝ",Bpe="Г",qpe="г",zpe="Ġ",Qpe="ġ",Gpe="≥",Hpe="≧",Wpe="⪌",Ype="⋛",Jpe="≥",Kpe="≧",Xpe="⩾",Zpe="⪩",ehe="⩾",the="⪀",nhe="⪂",rhe="⪄",ihe="⋛︀",ohe="⪔",ahe="𝔊",she="𝔤",lhe="≫",uhe="⋙",che="⋙",fhe="ℷ",dhe="Ѓ",phe="ѓ",hhe="⪥",mhe="≷",vhe="⪒",ghe="⪤",yhe="⪊",Ehe="⪊",bhe="⪈",The="≩",whe="⪈",_he="≩",She="⋧",Nhe="𝔾",Ihe="𝕘",xhe="`",Dhe="≥",Ohe="⋛",Che="≧",khe="⪢",Ahe="≷",Fhe="⩾",Rhe="≳",Lhe="𝒢",$he="ℊ",Phe="≳",Mhe="⪎",Vhe="⪐",jhe="⪧",Uhe="⩺",Bhe=">",qhe=">",zhe="≫",Qhe="⋗",Ghe="⦕",Hhe="⩼",Whe="⪆",Yhe="⥸",Jhe="⋗",Khe="⋛",Xhe="⪌",Zhe="≷",eme="≳",tme="≩︀",nme="≩︀",rme="ˇ",ime=" ",ome="½",ame="ℋ",sme="Ъ",lme="ъ",ume="⥈",cme="↔",fme="⇔",dme="↭",pme="^",hme="ℏ",mme="Ĥ",vme="ĥ",gme="♥",yme="♥",Eme="…",bme="⊹",Tme="𝔥",wme="ℌ",_me="ℋ",Sme="⤥",Nme="⤦",Ime="⇿",xme="∻",Dme="↩",Ome="↪",Cme="𝕙",kme="ℍ",Ame="―",Fme="─",Rme="𝒽",Lme="ℋ",$me="ℏ",Pme="Ħ",Mme="ħ",Vme="≎",jme="≏",Ume="⁃",Bme="‐",qme="Í",zme="í",Qme="⁣",Gme="Î",Hme="î",Wme="И",Yme="и",Jme="İ",Kme="Е",Xme="е",Zme="¡",eve="⇔",tve="𝔦",nve="ℑ",rve="Ì",ive="ì",ove="ⅈ",ave="⨌",sve="∭",lve="⧜",uve="℩",cve="IJ",fve="ij",dve="Ī",pve="ī",hve="ℑ",mve="ⅈ",vve="ℐ",gve="ℑ",yve="ı",Eve="ℑ",bve="⊷",Tve="Ƶ",wve="⇒",_ve="℅",Sve="∞",Nve="⧝",Ive="ı",xve="⊺",Dve="∫",Ove="∬",Cve="ℤ",kve="∫",Ave="⊺",Fve="⋂",Rve="⨗",Lve="⨼",$ve="⁣",Pve="⁢",Mve="Ё",Vve="ё",jve="Į",Uve="į",Bve="𝕀",qve="𝕚",zve="Ι",Qve="ι",Gve="⨼",Hve="¿",Wve="𝒾",Yve="ℐ",Jve="∈",Kve="⋵",Xve="⋹",Zve="⋴",ege="⋳",tge="∈",nge="⁢",rge="Ĩ",ige="ĩ",oge="І",age="і",sge="Ï",lge="ï",uge="Ĵ",cge="ĵ",fge="Й",dge="й",pge="𝔍",hge="𝔧",mge="ȷ",vge="𝕁",gge="𝕛",yge="𝒥",Ege="𝒿",bge="Ј",Tge="ј",wge="Є",_ge="є",Sge="Κ",Nge="κ",Ige="ϰ",xge="Ķ",Dge="ķ",Oge="К",Cge="к",kge="𝔎",Age="𝔨",Fge="ĸ",Rge="Х",Lge="х",$ge="Ќ",Pge="ќ",Mge="𝕂",Vge="𝕜",jge="𝒦",Uge="𝓀",Bge="⇚",qge="Ĺ",zge="ĺ",Qge="⦴",Gge="ℒ",Hge="Λ",Wge="λ",Yge="⟨",Jge="⟪",Kge="⦑",Xge="⟨",Zge="⪅",eye="ℒ",tye="«",nye="⇤",rye="⤟",iye="←",oye="↞",aye="⇐",sye="⤝",lye="↩",uye="↫",cye="⤹",fye="⥳",dye="↢",pye="⤙",hye="⤛",mye="⪫",vye="⪭",gye="⪭︀",yye="⤌",Eye="⤎",bye="❲",Tye="{",wye="[",_ye="⦋",Sye="⦏",Nye="⦍",Iye="Ľ",xye="ľ",Dye="Ļ",Oye="ļ",Cye="⌈",kye="{",Aye="Л",Fye="л",Rye="⤶",Lye="“",$ye="„",Pye="⥧",Mye="⥋",Vye="↲",jye="≤",Uye="≦",Bye="⟨",qye="⇤",zye="←",Qye="←",Gye="⇐",Hye="⇆",Wye="↢",Yye="⌈",Jye="⟦",Kye="⥡",Xye="⥙",Zye="⇃",e0e="⌊",t0e="↽",n0e="↼",r0e="⇇",i0e="↔",o0e="↔",a0e="⇔",s0e="⇆",l0e="⇋",u0e="↭",c0e="⥎",f0e="↤",d0e="⊣",p0e="⥚",h0e="⋋",m0e="⧏",v0e="⊲",g0e="⊴",y0e="⥑",E0e="⥠",b0e="⥘",T0e="↿",w0e="⥒",_0e="↼",S0e="⪋",N0e="⋚",I0e="≤",x0e="≦",D0e="⩽",O0e="⪨",C0e="⩽",k0e="⩿",A0e="⪁",F0e="⪃",R0e="⋚︀",L0e="⪓",$0e="⪅",P0e="⋖",M0e="⋚",V0e="⪋",j0e="⋚",U0e="≦",B0e="≶",q0e="≶",z0e="⪡",Q0e="≲",G0e="⩽",H0e="≲",W0e="⥼",Y0e="⌊",J0e="𝔏",K0e="𝔩",X0e="≶",Z0e="⪑",eEe="⥢",tEe="↽",nEe="↼",rEe="⥪",iEe="▄",oEe="Љ",aEe="љ",sEe="⇇",lEe="≪",uEe="⋘",cEe="⌞",fEe="⇚",dEe="⥫",pEe="◺",hEe="Ŀ",mEe="ŀ",vEe="⎰",gEe="⎰",yEe="⪉",EEe="⪉",bEe="⪇",TEe="≨",wEe="⪇",_Ee="≨",SEe="⋦",NEe="⟬",IEe="⇽",xEe="⟦",DEe="⟵",OEe="⟵",CEe="⟸",kEe="⟷",AEe="⟷",FEe="⟺",REe="⟼",LEe="⟶",$Ee="⟶",PEe="⟹",MEe="↫",VEe="↬",jEe="⦅",UEe="𝕃",BEe="𝕝",qEe="⨭",zEe="⨴",QEe="∗",GEe="_",HEe="↙",WEe="↘",YEe="◊",JEe="◊",KEe="⧫",XEe="(",ZEe="⦓",e1e="⇆",t1e="⌟",n1e="⇋",r1e="⥭",i1e="‎",o1e="⊿",a1e="‹",s1e="𝓁",l1e="ℒ",u1e="↰",c1e="↰",f1e="≲",d1e="⪍",p1e="⪏",h1e="[",m1e="‘",v1e="‚",g1e="Ł",y1e="ł",E1e="⪦",b1e="⩹",T1e="<",w1e="<",_1e="≪",S1e="⋖",N1e="⋋",I1e="⋉",x1e="⥶",D1e="⩻",O1e="◃",C1e="⊴",k1e="◂",A1e="⦖",F1e="⥊",R1e="⥦",L1e="≨︀",$1e="≨︀",P1e="¯",M1e="♂",V1e="✠",j1e="✠",U1e="↦",B1e="↦",q1e="↧",z1e="↤",Q1e="↥",G1e="▮",H1e="⨩",W1e="М",Y1e="м",J1e="—",K1e="∺",X1e="∡",Z1e=" ",ebe="ℳ",tbe="𝔐",nbe="𝔪",rbe="℧",ibe="µ",obe="*",abe="⫰",sbe="∣",lbe="·",ube="⊟",cbe="−",fbe="∸",dbe="⨪",pbe="∓",hbe="⫛",mbe="…",vbe="∓",gbe="⊧",ybe="𝕄",Ebe="𝕞",bbe="∓",Tbe="𝓂",wbe="ℳ",_be="∾",Sbe="Μ",Nbe="μ",Ibe="⊸",xbe="⊸",Dbe="∇",Obe="Ń",Cbe="ń",kbe="∠⃒",Abe="≉",Fbe="⩰̸",Rbe="≋̸",Lbe="ʼn",$be="≉",Pbe="♮",Mbe="ℕ",Vbe="♮",jbe=" ",Ube="≎̸",Bbe="≏̸",qbe="⩃",zbe="Ň",Qbe="ň",Gbe="Ņ",Hbe="ņ",Wbe="≇",Ybe="⩭̸",Jbe="⩂",Kbe="Н",Xbe="н",Zbe="–",eTe="⤤",tTe="↗",nTe="⇗",rTe="↗",iTe="≠",oTe="≐̸",aTe="​",sTe="​",lTe="​",uTe="​",cTe="≢",fTe="⤨",dTe="≂̸",pTe="≫",hTe="≪",mTe=` +`,vTe="∄",gTe="∄",yTe="𝔑",ETe="𝔫",bTe="≧̸",TTe="≱",wTe="≱",_Te="≧̸",STe="⩾̸",NTe="⩾̸",ITe="⋙̸",xTe="≵",DTe="≫⃒",OTe="≯",CTe="≯",kTe="≫̸",ATe="↮",FTe="⇎",RTe="⫲",LTe="∋",$Te="⋼",PTe="⋺",MTe="∋",VTe="Њ",jTe="њ",UTe="↚",BTe="⇍",qTe="‥",zTe="≦̸",QTe="≰",GTe="↚",HTe="⇍",WTe="↮",YTe="⇎",JTe="≰",KTe="≦̸",XTe="⩽̸",ZTe="⩽̸",ewe="≮",twe="⋘̸",nwe="≴",rwe="≪⃒",iwe="≮",owe="⋪",awe="⋬",swe="≪̸",lwe="∤",uwe="⁠",cwe=" ",fwe="𝕟",dwe="ℕ",pwe="⫬",hwe="¬",mwe="≢",vwe="≭",gwe="∦",ywe="∉",Ewe="≠",bwe="≂̸",Twe="∄",wwe="≯",_we="≱",Swe="≧̸",Nwe="≫̸",Iwe="≹",xwe="⩾̸",Dwe="≵",Owe="≎̸",Cwe="≏̸",kwe="∉",Awe="⋵̸",Fwe="⋹̸",Rwe="∉",Lwe="⋷",$we="⋶",Pwe="⧏̸",Mwe="⋪",Vwe="⋬",jwe="≮",Uwe="≰",Bwe="≸",qwe="≪̸",zwe="⩽̸",Qwe="≴",Gwe="⪢̸",Hwe="⪡̸",Wwe="∌",Ywe="∌",Jwe="⋾",Kwe="⋽",Xwe="⊀",Zwe="⪯̸",e_e="⋠",t_e="∌",n_e="⧐̸",r_e="⋫",i_e="⋭",o_e="⊏̸",a_e="⋢",s_e="⊐̸",l_e="⋣",u_e="⊂⃒",c_e="⊈",f_e="⊁",d_e="⪰̸",p_e="⋡",h_e="≿̸",m_e="⊃⃒",v_e="⊉",g_e="≁",y_e="≄",E_e="≇",b_e="≉",T_e="∤",w_e="∦",__e="∦",S_e="⫽⃥",N_e="∂̸",I_e="⨔",x_e="⊀",D_e="⋠",O_e="⊀",C_e="⪯̸",k_e="⪯̸",A_e="⤳̸",F_e="↛",R_e="⇏",L_e="↝̸",$_e="↛",P_e="⇏",M_e="⋫",V_e="⋭",j_e="⊁",U_e="⋡",B_e="⪰̸",q_e="𝒩",z_e="𝓃",Q_e="∤",G_e="∦",H_e="≁",W_e="≄",Y_e="≄",J_e="∤",K_e="∦",X_e="⋢",Z_e="⋣",eSe="⊄",tSe="⫅̸",nSe="⊈",rSe="⊂⃒",iSe="⊈",oSe="⫅̸",aSe="⊁",sSe="⪰̸",lSe="⊅",uSe="⫆̸",cSe="⊉",fSe="⊃⃒",dSe="⊉",pSe="⫆̸",hSe="≹",mSe="Ñ",vSe="ñ",gSe="≸",ySe="⋪",ESe="⋬",bSe="⋫",TSe="⋭",wSe="Ν",_Se="ν",SSe="#",NSe="№",ISe=" ",xSe="≍⃒",DSe="⊬",OSe="⊭",CSe="⊮",kSe="⊯",ASe="≥⃒",FSe=">⃒",RSe="⤄",LSe="⧞",$Se="⤂",PSe="≤⃒",MSe="<⃒",VSe="⊴⃒",jSe="⤃",USe="⊵⃒",BSe="∼⃒",qSe="⤣",zSe="↖",QSe="⇖",GSe="↖",HSe="⤧",WSe="Ó",YSe="ó",JSe="⊛",KSe="Ô",XSe="ô",ZSe="⊚",eNe="О",tNe="о",nNe="⊝",rNe="Ő",iNe="ő",oNe="⨸",aNe="⊙",sNe="⦼",lNe="Œ",uNe="œ",cNe="⦿",fNe="𝔒",dNe="𝔬",pNe="˛",hNe="Ò",mNe="ò",vNe="⧁",gNe="⦵",yNe="Ω",ENe="∮",bNe="↺",TNe="⦾",wNe="⦻",_Ne="‾",SNe="⧀",NNe="Ō",INe="ō",xNe="Ω",DNe="ω",ONe="Ο",CNe="ο",kNe="⦶",ANe="⊖",FNe="𝕆",RNe="𝕠",LNe="⦷",$Ne="“",PNe="‘",MNe="⦹",VNe="⊕",jNe="↻",UNe="⩔",BNe="∨",qNe="⩝",zNe="ℴ",QNe="ℴ",GNe="ª",HNe="º",WNe="⊶",YNe="⩖",JNe="⩗",KNe="⩛",XNe="Ⓢ",ZNe="𝒪",eIe="ℴ",tIe="Ø",nIe="ø",rIe="⊘",iIe="Õ",oIe="õ",aIe="⨶",sIe="⨷",lIe="⊗",uIe="Ö",cIe="ö",fIe="⌽",dIe="‾",pIe="⏞",hIe="⎴",mIe="⏜",vIe="¶",gIe="∥",yIe="∥",EIe="⫳",bIe="⫽",TIe="∂",wIe="∂",_Ie="П",SIe="п",NIe="%",IIe=".",xIe="‰",DIe="⊥",OIe="‱",CIe="𝔓",kIe="𝔭",AIe="Φ",FIe="φ",RIe="ϕ",LIe="ℳ",$Ie="☎",PIe="Π",MIe="π",VIe="⋔",jIe="ϖ",UIe="ℏ",BIe="ℎ",qIe="ℏ",zIe="⨣",QIe="⊞",GIe="⨢",HIe="+",WIe="∔",YIe="⨥",JIe="⩲",KIe="±",XIe="±",ZIe="⨦",exe="⨧",txe="±",nxe="ℌ",rxe="⨕",ixe="𝕡",oxe="ℙ",axe="£",sxe="⪷",lxe="⪻",uxe="≺",cxe="≼",fxe="⪷",dxe="≺",pxe="≼",hxe="≺",mxe="⪯",vxe="≼",gxe="≾",yxe="⪯",Exe="⪹",bxe="⪵",Txe="⋨",wxe="⪯",_xe="⪳",Sxe="≾",Nxe="′",Ixe="″",xxe="ℙ",Dxe="⪹",Oxe="⪵",Cxe="⋨",kxe="∏",Axe="∏",Fxe="⌮",Rxe="⌒",Lxe="⌓",$xe="∝",Pxe="∝",Mxe="∷",Vxe="∝",jxe="≾",Uxe="⊰",Bxe="𝒫",qxe="𝓅",zxe="Ψ",Qxe="ψ",Gxe=" ",Hxe="𝔔",Wxe="𝔮",Yxe="⨌",Jxe="𝕢",Kxe="ℚ",Xxe="⁗",Zxe="𝒬",eDe="𝓆",tDe="ℍ",nDe="⨖",rDe="?",iDe="≟",oDe='"',aDe='"',sDe="⇛",lDe="∽̱",uDe="Ŕ",cDe="ŕ",fDe="√",dDe="⦳",pDe="⟩",hDe="⟫",mDe="⦒",vDe="⦥",gDe="⟩",yDe="»",EDe="⥵",bDe="⇥",TDe="⤠",wDe="⤳",_De="→",SDe="↠",NDe="⇒",IDe="⤞",xDe="↪",DDe="↬",ODe="⥅",CDe="⥴",kDe="⤖",ADe="↣",FDe="↝",RDe="⤚",LDe="⤜",$De="∶",PDe="ℚ",MDe="⤍",VDe="⤏",jDe="⤐",UDe="❳",BDe="}",qDe="]",zDe="⦌",QDe="⦎",GDe="⦐",HDe="Ř",WDe="ř",YDe="Ŗ",JDe="ŗ",KDe="⌉",XDe="}",ZDe="Р",eOe="р",tOe="⤷",nOe="⥩",rOe="”",iOe="”",oOe="↳",aOe="ℜ",sOe="ℛ",lOe="ℜ",uOe="ℝ",cOe="ℜ",fOe="▭",dOe="®",pOe="®",hOe="∋",mOe="⇋",vOe="⥯",gOe="⥽",yOe="⌋",EOe="𝔯",bOe="ℜ",TOe="⥤",wOe="⇁",_Oe="⇀",SOe="⥬",NOe="Ρ",IOe="ρ",xOe="ϱ",DOe="⟩",OOe="⇥",COe="→",kOe="→",AOe="⇒",FOe="⇄",ROe="↣",LOe="⌉",$Oe="⟧",POe="⥝",MOe="⥕",VOe="⇂",jOe="⌋",UOe="⇁",BOe="⇀",qOe="⇄",zOe="⇌",QOe="⇉",GOe="↝",HOe="↦",WOe="⊢",YOe="⥛",JOe="⋌",KOe="⧐",XOe="⊳",ZOe="⊵",e2e="⥏",t2e="⥜",n2e="⥔",r2e="↾",i2e="⥓",o2e="⇀",a2e="˚",s2e="≓",l2e="⇄",u2e="⇌",c2e="‏",f2e="⎱",d2e="⎱",p2e="⫮",h2e="⟭",m2e="⇾",v2e="⟧",g2e="⦆",y2e="𝕣",E2e="ℝ",b2e="⨮",T2e="⨵",w2e="⥰",_2e=")",S2e="⦔",N2e="⨒",I2e="⇉",x2e="⇛",D2e="›",O2e="𝓇",C2e="ℛ",k2e="↱",A2e="↱",F2e="]",R2e="’",L2e="’",$2e="⋌",P2e="⋊",M2e="▹",V2e="⊵",j2e="▸",U2e="⧎",B2e="⧴",q2e="⥨",z2e="℞",Q2e="Ś",G2e="ś",H2e="‚",W2e="⪸",Y2e="Š",J2e="š",K2e="⪼",X2e="≻",Z2e="≽",eCe="⪰",tCe="⪴",nCe="Ş",rCe="ş",iCe="Ŝ",oCe="ŝ",aCe="⪺",sCe="⪶",lCe="⋩",uCe="⨓",cCe="≿",fCe="С",dCe="с",pCe="⊡",hCe="⋅",mCe="⩦",vCe="⤥",gCe="↘",yCe="⇘",ECe="↘",bCe="§",TCe=";",wCe="⤩",_Ce="∖",SCe="∖",NCe="✶",ICe="𝔖",xCe="𝔰",DCe="⌢",OCe="♯",CCe="Щ",kCe="щ",ACe="Ш",FCe="ш",RCe="↓",LCe="←",$Ce="∣",PCe="∥",MCe="→",VCe="↑",jCe="­",UCe="Σ",BCe="σ",qCe="ς",zCe="ς",QCe="∼",GCe="⩪",HCe="≃",WCe="≃",YCe="⪞",JCe="⪠",KCe="⪝",XCe="⪟",ZCe="≆",eke="⨤",tke="⥲",nke="←",rke="∘",ike="∖",oke="⨳",ake="⧤",ske="∣",lke="⌣",uke="⪪",cke="⪬",fke="⪬︀",dke="Ь",pke="ь",hke="⌿",mke="⧄",vke="/",gke="𝕊",yke="𝕤",Eke="♠",bke="♠",Tke="∥",wke="⊓",_ke="⊓︀",Ske="⊔",Nke="⊔︀",Ike="√",xke="⊏",Dke="⊑",Oke="⊏",Cke="⊑",kke="⊐",Ake="⊒",Fke="⊐",Rke="⊒",Lke="□",$ke="□",Pke="⊓",Mke="⊏",Vke="⊑",jke="⊐",Uke="⊒",Bke="⊔",qke="▪",zke="□",Qke="▪",Gke="→",Hke="𝒮",Wke="𝓈",Yke="∖",Jke="⌣",Kke="⋆",Xke="⋆",Zke="☆",eAe="★",tAe="ϵ",nAe="ϕ",rAe="¯",iAe="⊂",oAe="⋐",aAe="⪽",sAe="⫅",lAe="⊆",uAe="⫃",cAe="⫁",fAe="⫋",dAe="⊊",pAe="⪿",hAe="⥹",mAe="⊂",vAe="⋐",gAe="⊆",yAe="⫅",EAe="⊆",bAe="⊊",TAe="⫋",wAe="⫇",_Ae="⫕",SAe="⫓",NAe="⪸",IAe="≻",xAe="≽",DAe="≻",OAe="⪰",CAe="≽",kAe="≿",AAe="⪰",FAe="⪺",RAe="⪶",LAe="⋩",$Ae="≿",PAe="∋",MAe="∑",VAe="∑",jAe="♪",UAe="¹",BAe="²",qAe="³",zAe="⊃",QAe="⋑",GAe="⪾",HAe="⫘",WAe="⫆",YAe="⊇",JAe="⫄",KAe="⊃",XAe="⊇",ZAe="⟉",eFe="⫗",tFe="⥻",nFe="⫂",rFe="⫌",iFe="⊋",oFe="⫀",aFe="⊃",sFe="⋑",lFe="⊇",uFe="⫆",cFe="⊋",fFe="⫌",dFe="⫈",pFe="⫔",hFe="⫖",mFe="⤦",vFe="↙",gFe="⇙",yFe="↙",EFe="⤪",bFe="ß",TFe=" ",wFe="⌖",_Fe="Τ",SFe="τ",NFe="⎴",IFe="Ť",xFe="ť",DFe="Ţ",OFe="ţ",CFe="Т",kFe="т",AFe="⃛",FFe="⌕",RFe="𝔗",LFe="𝔱",$Fe="∴",PFe="∴",MFe="∴",VFe="Θ",jFe="θ",UFe="ϑ",BFe="ϑ",qFe="≈",zFe="∼",QFe="  ",GFe=" ",HFe=" ",WFe="≈",YFe="∼",JFe="Þ",KFe="þ",XFe="˜",ZFe="∼",eRe="≃",tRe="≅",nRe="≈",rRe="⨱",iRe="⊠",oRe="×",aRe="⨰",sRe="∭",lRe="⤨",uRe="⌶",cRe="⫱",fRe="⊤",dRe="𝕋",pRe="𝕥",hRe="⫚",mRe="⤩",vRe="‴",gRe="™",yRe="™",ERe="▵",bRe="▿",TRe="◃",wRe="⊴",_Re="≜",SRe="▹",NRe="⊵",IRe="◬",xRe="≜",DRe="⨺",ORe="⃛",CRe="⨹",kRe="⧍",ARe="⨻",FRe="⏢",RRe="𝒯",LRe="𝓉",$Re="Ц",PRe="ц",MRe="Ћ",VRe="ћ",jRe="Ŧ",URe="ŧ",BRe="≬",qRe="↞",zRe="↠",QRe="Ú",GRe="ú",HRe="↑",WRe="↟",YRe="⇑",JRe="⥉",KRe="Ў",XRe="ў",ZRe="Ŭ",eLe="ŭ",tLe="Û",nLe="û",rLe="У",iLe="у",oLe="⇅",aLe="Ű",sLe="ű",lLe="⥮",uLe="⥾",cLe="𝔘",fLe="𝔲",dLe="Ù",pLe="ù",hLe="⥣",mLe="↿",vLe="↾",gLe="▀",yLe="⌜",ELe="⌜",bLe="⌏",TLe="◸",wLe="Ū",_Le="ū",SLe="¨",NLe="_",ILe="⏟",xLe="⎵",DLe="⏝",OLe="⋃",CLe="⊎",kLe="Ų",ALe="ų",FLe="𝕌",RLe="𝕦",LLe="⤒",$Le="↑",PLe="↑",MLe="⇑",VLe="⇅",jLe="↕",ULe="↕",BLe="⇕",qLe="⥮",zLe="↿",QLe="↾",GLe="⊎",HLe="↖",WLe="↗",YLe="υ",JLe="ϒ",KLe="ϒ",XLe="Υ",ZLe="υ",e5e="↥",t5e="⊥",n5e="⇈",r5e="⌝",i5e="⌝",o5e="⌎",a5e="Ů",s5e="ů",l5e="◹",u5e="𝒰",c5e="𝓊",f5e="⋰",d5e="Ũ",p5e="ũ",h5e="▵",m5e="▴",v5e="⇈",g5e="Ü",y5e="ü",E5e="⦧",b5e="⦜",T5e="ϵ",w5e="ϰ",_5e="∅",S5e="ϕ",N5e="ϖ",I5e="∝",x5e="↕",D5e="⇕",O5e="ϱ",C5e="ς",k5e="⊊︀",A5e="⫋︀",F5e="⊋︀",R5e="⫌︀",L5e="ϑ",$5e="⊲",P5e="⊳",M5e="⫨",V5e="⫫",j5e="⫩",U5e="В",B5e="в",q5e="⊢",z5e="⊨",Q5e="⊩",G5e="⊫",H5e="⫦",W5e="⊻",Y5e="∨",J5e="⋁",K5e="≚",X5e="⋮",Z5e="|",e$e="‖",t$e="|",n$e="‖",r$e="∣",i$e="|",o$e="❘",a$e="≀",s$e=" ",l$e="𝔙",u$e="𝔳",c$e="⊲",f$e="⊂⃒",d$e="⊃⃒",p$e="𝕍",h$e="𝕧",m$e="∝",v$e="⊳",g$e="𝒱",y$e="𝓋",E$e="⫋︀",b$e="⊊︀",T$e="⫌︀",w$e="⊋︀",_$e="⊪",S$e="⦚",N$e="Ŵ",I$e="ŵ",x$e="⩟",D$e="∧",O$e="⋀",C$e="≙",k$e="℘",A$e="𝔚",F$e="𝔴",R$e="𝕎",L$e="𝕨",$$e="℘",P$e="≀",M$e="≀",V$e="𝒲",j$e="𝓌",U$e="⋂",B$e="◯",q$e="⋃",z$e="▽",Q$e="𝔛",G$e="𝔵",H$e="⟷",W$e="⟺",Y$e="Ξ",J$e="ξ",K$e="⟵",X$e="⟸",Z$e="⟼",ePe="⋻",tPe="⨀",nPe="𝕏",rPe="𝕩",iPe="⨁",oPe="⨂",aPe="⟶",sPe="⟹",lPe="𝒳",uPe="𝓍",cPe="⨆",fPe="⨄",dPe="△",pPe="⋁",hPe="⋀",mPe="Ý",vPe="ý",gPe="Я",yPe="я",EPe="Ŷ",bPe="ŷ",TPe="Ы",wPe="ы",_Pe="¥",SPe="𝔜",NPe="𝔶",IPe="Ї",xPe="ї",DPe="𝕐",OPe="𝕪",CPe="𝒴",kPe="𝓎",APe="Ю",FPe="ю",RPe="ÿ",LPe="Ÿ",$Pe="Ź",PPe="ź",MPe="Ž",VPe="ž",jPe="З",UPe="з",BPe="Ż",qPe="ż",zPe="ℨ",QPe="​",GPe="Ζ",HPe="ζ",WPe="𝔷",YPe="ℨ",JPe="Ж",KPe="ж",XPe="⇝",ZPe="𝕫",e3e="ℤ",t3e="𝒵",n3e="𝓏",r3e="‍",i3e="‌";var o3e={Aacute:Bne,aacute:qne,Abreve:zne,abreve:Qne,ac:Gne,acd:Hne,acE:Wne,Acirc:Yne,acirc:Jne,acute:Kne,Acy:Xne,acy:Zne,AElig:ere,aelig:tre,af:nre,Afr:rre,afr:ire,Agrave:ore,agrave:are,alefsym:sre,aleph:lre,Alpha:ure,alpha:cre,Amacr:fre,amacr:dre,amalg:pre,amp:hre,AMP:mre,andand:vre,And:gre,and:yre,andd:Ere,andslope:bre,andv:Tre,ang:wre,ange:_re,angle:Sre,angmsdaa:Nre,angmsdab:Ire,angmsdac:xre,angmsdad:Dre,angmsdae:Ore,angmsdaf:Cre,angmsdag:kre,angmsdah:Are,angmsd:Fre,angrt:Rre,angrtvb:Lre,angrtvbd:$re,angsph:Pre,angst:Mre,angzarr:Vre,Aogon:jre,aogon:Ure,Aopf:Bre,aopf:qre,apacir:zre,ap:Qre,apE:Gre,ape:Hre,apid:Wre,apos:Yre,ApplyFunction:Jre,approx:Kre,approxeq:Xre,Aring:Zre,aring:eie,Ascr:tie,ascr:nie,Assign:rie,ast:iie,asymp:oie,asympeq:aie,Atilde:sie,atilde:lie,Auml:uie,auml:cie,awconint:fie,awint:die,backcong:pie,backepsilon:hie,backprime:mie,backsim:vie,backsimeq:gie,Backslash:yie,Barv:Eie,barvee:bie,barwed:Tie,Barwed:wie,barwedge:_ie,bbrk:Sie,bbrktbrk:Nie,bcong:Iie,Bcy:xie,bcy:Die,bdquo:Oie,becaus:Cie,because:kie,Because:Aie,bemptyv:Fie,bepsi:Rie,bernou:Lie,Bernoullis:$ie,Beta:Pie,beta:Mie,beth:Vie,between:jie,Bfr:Uie,bfr:Bie,bigcap:qie,bigcirc:zie,bigcup:Qie,bigodot:Gie,bigoplus:Hie,bigotimes:Wie,bigsqcup:Yie,bigstar:Jie,bigtriangledown:Kie,bigtriangleup:Xie,biguplus:Zie,bigvee:eoe,bigwedge:toe,bkarow:noe,blacklozenge:roe,blacksquare:ioe,blacktriangle:ooe,blacktriangledown:aoe,blacktriangleleft:soe,blacktriangleright:loe,blank:uoe,blk12:coe,blk14:foe,blk34:doe,block:poe,bne:hoe,bnequiv:moe,bNot:voe,bnot:goe,Bopf:yoe,bopf:Eoe,bot:boe,bottom:Toe,bowtie:woe,boxbox:_oe,boxdl:Soe,boxdL:Noe,boxDl:Ioe,boxDL:xoe,boxdr:Doe,boxdR:Ooe,boxDr:Coe,boxDR:koe,boxh:Aoe,boxH:Foe,boxhd:Roe,boxHd:Loe,boxhD:$oe,boxHD:Poe,boxhu:Moe,boxHu:Voe,boxhU:joe,boxHU:Uoe,boxminus:Boe,boxplus:qoe,boxtimes:zoe,boxul:Qoe,boxuL:Goe,boxUl:Hoe,boxUL:Woe,boxur:Yoe,boxuR:Joe,boxUr:Koe,boxUR:Xoe,boxv:Zoe,boxV:eae,boxvh:tae,boxvH:nae,boxVh:rae,boxVH:iae,boxvl:oae,boxvL:aae,boxVl:sae,boxVL:lae,boxvr:uae,boxvR:cae,boxVr:fae,boxVR:dae,bprime:pae,breve:hae,Breve:mae,brvbar:vae,bscr:gae,Bscr:yae,bsemi:Eae,bsim:bae,bsime:Tae,bsolb:wae,bsol:_ae,bsolhsub:Sae,bull:Nae,bullet:Iae,bump:xae,bumpE:Dae,bumpe:Oae,Bumpeq:Cae,bumpeq:kae,Cacute:Aae,cacute:Fae,capand:Rae,capbrcup:Lae,capcap:$ae,cap:Pae,Cap:Mae,capcup:Vae,capdot:jae,CapitalDifferentialD:Uae,caps:Bae,caret:qae,caron:zae,Cayleys:Qae,ccaps:Gae,Ccaron:Hae,ccaron:Wae,Ccedil:Yae,ccedil:Jae,Ccirc:Kae,ccirc:Xae,Cconint:Zae,ccups:ese,ccupssm:tse,Cdot:nse,cdot:rse,cedil:ise,Cedilla:ose,cemptyv:ase,cent:sse,centerdot:lse,CenterDot:use,cfr:cse,Cfr:fse,CHcy:dse,chcy:pse,check:hse,checkmark:mse,Chi:vse,chi:gse,circ:yse,circeq:Ese,circlearrowleft:bse,circlearrowright:Tse,circledast:wse,circledcirc:_se,circleddash:Sse,CircleDot:Nse,circledR:Ise,circledS:xse,CircleMinus:Dse,CirclePlus:Ose,CircleTimes:Cse,cir:kse,cirE:Ase,cire:Fse,cirfnint:Rse,cirmid:Lse,cirscir:$se,ClockwiseContourIntegral:Pse,CloseCurlyDoubleQuote:Mse,CloseCurlyQuote:Vse,clubs:jse,clubsuit:Use,colon:Bse,Colon:qse,Colone:zse,colone:Qse,coloneq:Gse,comma:Hse,commat:Wse,comp:Yse,compfn:Jse,complement:Kse,complexes:Xse,cong:Zse,congdot:ele,Congruent:tle,conint:nle,Conint:rle,ContourIntegral:ile,copf:ole,Copf:ale,coprod:sle,Coproduct:lle,copy:ule,COPY:cle,copysr:fle,CounterClockwiseContourIntegral:dle,crarr:ple,cross:hle,Cross:mle,Cscr:vle,cscr:gle,csub:yle,csube:Ele,csup:ble,csupe:Tle,ctdot:wle,cudarrl:_le,cudarrr:Sle,cuepr:Nle,cuesc:Ile,cularr:xle,cularrp:Dle,cupbrcap:Ole,cupcap:Cle,CupCap:kle,cup:Ale,Cup:Fle,cupcup:Rle,cupdot:Lle,cupor:$le,cups:Ple,curarr:Mle,curarrm:Vle,curlyeqprec:jle,curlyeqsucc:Ule,curlyvee:Ble,curlywedge:qle,curren:zle,curvearrowleft:Qle,curvearrowright:Gle,cuvee:Hle,cuwed:Wle,cwconint:Yle,cwint:Jle,cylcty:Kle,dagger:Xle,Dagger:Zle,daleth:eue,darr:tue,Darr:nue,dArr:rue,dash:iue,Dashv:oue,dashv:aue,dbkarow:sue,dblac:lue,Dcaron:uue,dcaron:cue,Dcy:fue,dcy:due,ddagger:pue,ddarr:hue,DD:mue,dd:vue,DDotrahd:gue,ddotseq:yue,deg:Eue,Del:bue,Delta:Tue,delta:wue,demptyv:_ue,dfisht:Sue,Dfr:Nue,dfr:Iue,dHar:xue,dharl:Due,dharr:Oue,DiacriticalAcute:Cue,DiacriticalDot:kue,DiacriticalDoubleAcute:Aue,DiacriticalGrave:Fue,DiacriticalTilde:Rue,diam:Lue,diamond:$ue,Diamond:Pue,diamondsuit:Mue,diams:Vue,die:jue,DifferentialD:Uue,digamma:Bue,disin:que,div:zue,divide:Que,divideontimes:Gue,divonx:Hue,DJcy:Wue,djcy:Yue,dlcorn:Jue,dlcrop:Kue,dollar:Xue,Dopf:Zue,dopf:ece,Dot:tce,dot:nce,DotDot:rce,doteq:ice,doteqdot:oce,DotEqual:ace,dotminus:sce,dotplus:lce,dotsquare:uce,doublebarwedge:cce,DoubleContourIntegral:fce,DoubleDot:dce,DoubleDownArrow:pce,DoubleLeftArrow:hce,DoubleLeftRightArrow:mce,DoubleLeftTee:vce,DoubleLongLeftArrow:gce,DoubleLongLeftRightArrow:yce,DoubleLongRightArrow:Ece,DoubleRightArrow:bce,DoubleRightTee:Tce,DoubleUpArrow:wce,DoubleUpDownArrow:_ce,DoubleVerticalBar:Sce,DownArrowBar:Nce,downarrow:Ice,DownArrow:xce,Downarrow:Dce,DownArrowUpArrow:Oce,DownBreve:Cce,downdownarrows:kce,downharpoonleft:Ace,downharpoonright:Fce,DownLeftRightVector:Rce,DownLeftTeeVector:Lce,DownLeftVectorBar:$ce,DownLeftVector:Pce,DownRightTeeVector:Mce,DownRightVectorBar:Vce,DownRightVector:jce,DownTeeArrow:Uce,DownTee:Bce,drbkarow:qce,drcorn:zce,drcrop:Qce,Dscr:Gce,dscr:Hce,DScy:Wce,dscy:Yce,dsol:Jce,Dstrok:Kce,dstrok:Xce,dtdot:Zce,dtri:efe,dtrif:tfe,duarr:nfe,duhar:rfe,dwangle:ife,DZcy:ofe,dzcy:afe,dzigrarr:sfe,Eacute:lfe,eacute:ufe,easter:cfe,Ecaron:ffe,ecaron:dfe,Ecirc:pfe,ecirc:hfe,ecir:mfe,ecolon:vfe,Ecy:gfe,ecy:yfe,eDDot:Efe,Edot:bfe,edot:Tfe,eDot:wfe,ee:_fe,efDot:Sfe,Efr:Nfe,efr:Ife,eg:xfe,Egrave:Dfe,egrave:Ofe,egs:Cfe,egsdot:kfe,el:Afe,Element:Ffe,elinters:Rfe,ell:Lfe,els:$fe,elsdot:Pfe,Emacr:Mfe,emacr:Vfe,empty:jfe,emptyset:Ufe,EmptySmallSquare:Bfe,emptyv:qfe,EmptyVerySmallSquare:zfe,emsp13:Qfe,emsp14:Gfe,emsp:Hfe,ENG:Wfe,eng:Yfe,ensp:Jfe,Eogon:Kfe,eogon:Xfe,Eopf:Zfe,eopf:ede,epar:tde,eparsl:nde,eplus:rde,epsi:ide,Epsilon:ode,epsilon:ade,epsiv:sde,eqcirc:lde,eqcolon:ude,eqsim:cde,eqslantgtr:fde,eqslantless:dde,Equal:pde,equals:hde,EqualTilde:mde,equest:vde,Equilibrium:gde,equiv:yde,equivDD:Ede,eqvparsl:bde,erarr:Tde,erDot:wde,escr:_de,Escr:Sde,esdot:Nde,Esim:Ide,esim:xde,Eta:Dde,eta:Ode,ETH:Cde,eth:kde,Euml:Ade,euml:Fde,euro:Rde,excl:Lde,exist:$de,Exists:Pde,expectation:Mde,exponentiale:Vde,ExponentialE:jde,fallingdotseq:Ude,Fcy:Bde,fcy:qde,female:zde,ffilig:Qde,fflig:Gde,ffllig:Hde,Ffr:Wde,ffr:Yde,filig:Jde,FilledSmallSquare:Kde,FilledVerySmallSquare:Xde,fjlig:Zde,flat:epe,fllig:tpe,fltns:npe,fnof:rpe,Fopf:ipe,fopf:ope,forall:ape,ForAll:spe,fork:lpe,forkv:upe,Fouriertrf:cpe,fpartint:fpe,frac12:dpe,frac13:ppe,frac14:hpe,frac15:mpe,frac16:vpe,frac18:gpe,frac23:ype,frac25:Epe,frac34:bpe,frac35:Tpe,frac38:wpe,frac45:_pe,frac56:Spe,frac58:Npe,frac78:Ipe,frasl:xpe,frown:Dpe,fscr:Ope,Fscr:Cpe,gacute:kpe,Gamma:Ape,gamma:Fpe,Gammad:Rpe,gammad:Lpe,gap:$pe,Gbreve:Ppe,gbreve:Mpe,Gcedil:Vpe,Gcirc:jpe,gcirc:Upe,Gcy:Bpe,gcy:qpe,Gdot:zpe,gdot:Qpe,ge:Gpe,gE:Hpe,gEl:Wpe,gel:Ype,geq:Jpe,geqq:Kpe,geqslant:Xpe,gescc:Zpe,ges:ehe,gesdot:the,gesdoto:nhe,gesdotol:rhe,gesl:ihe,gesles:ohe,Gfr:ahe,gfr:she,gg:lhe,Gg:uhe,ggg:che,gimel:fhe,GJcy:dhe,gjcy:phe,gla:hhe,gl:mhe,glE:vhe,glj:ghe,gnap:yhe,gnapprox:Ehe,gne:bhe,gnE:The,gneq:whe,gneqq:_he,gnsim:She,Gopf:Nhe,gopf:Ihe,grave:xhe,GreaterEqual:Dhe,GreaterEqualLess:Ohe,GreaterFullEqual:Che,GreaterGreater:khe,GreaterLess:Ahe,GreaterSlantEqual:Fhe,GreaterTilde:Rhe,Gscr:Lhe,gscr:$he,gsim:Phe,gsime:Mhe,gsiml:Vhe,gtcc:jhe,gtcir:Uhe,gt:Bhe,GT:qhe,Gt:zhe,gtdot:Qhe,gtlPar:Ghe,gtquest:Hhe,gtrapprox:Whe,gtrarr:Yhe,gtrdot:Jhe,gtreqless:Khe,gtreqqless:Xhe,gtrless:Zhe,gtrsim:eme,gvertneqq:tme,gvnE:nme,Hacek:rme,hairsp:ime,half:ome,hamilt:ame,HARDcy:sme,hardcy:lme,harrcir:ume,harr:cme,hArr:fme,harrw:dme,Hat:pme,hbar:hme,Hcirc:mme,hcirc:vme,hearts:gme,heartsuit:yme,hellip:Eme,hercon:bme,hfr:Tme,Hfr:wme,HilbertSpace:_me,hksearow:Sme,hkswarow:Nme,hoarr:Ime,homtht:xme,hookleftarrow:Dme,hookrightarrow:Ome,hopf:Cme,Hopf:kme,horbar:Ame,HorizontalLine:Fme,hscr:Rme,Hscr:Lme,hslash:$me,Hstrok:Pme,hstrok:Mme,HumpDownHump:Vme,HumpEqual:jme,hybull:Ume,hyphen:Bme,Iacute:qme,iacute:zme,ic:Qme,Icirc:Gme,icirc:Hme,Icy:Wme,icy:Yme,Idot:Jme,IEcy:Kme,iecy:Xme,iexcl:Zme,iff:eve,ifr:tve,Ifr:nve,Igrave:rve,igrave:ive,ii:ove,iiiint:ave,iiint:sve,iinfin:lve,iiota:uve,IJlig:cve,ijlig:fve,Imacr:dve,imacr:pve,image:hve,ImaginaryI:mve,imagline:vve,imagpart:gve,imath:yve,Im:Eve,imof:bve,imped:Tve,Implies:wve,incare:_ve,in:"∈",infin:Sve,infintie:Nve,inodot:Ive,intcal:xve,int:Dve,Int:Ove,integers:Cve,Integral:kve,intercal:Ave,Intersection:Fve,intlarhk:Rve,intprod:Lve,InvisibleComma:$ve,InvisibleTimes:Pve,IOcy:Mve,iocy:Vve,Iogon:jve,iogon:Uve,Iopf:Bve,iopf:qve,Iota:zve,iota:Qve,iprod:Gve,iquest:Hve,iscr:Wve,Iscr:Yve,isin:Jve,isindot:Kve,isinE:Xve,isins:Zve,isinsv:ege,isinv:tge,it:nge,Itilde:rge,itilde:ige,Iukcy:oge,iukcy:age,Iuml:sge,iuml:lge,Jcirc:uge,jcirc:cge,Jcy:fge,jcy:dge,Jfr:pge,jfr:hge,jmath:mge,Jopf:vge,jopf:gge,Jscr:yge,jscr:Ege,Jsercy:bge,jsercy:Tge,Jukcy:wge,jukcy:_ge,Kappa:Sge,kappa:Nge,kappav:Ige,Kcedil:xge,kcedil:Dge,Kcy:Oge,kcy:Cge,Kfr:kge,kfr:Age,kgreen:Fge,KHcy:Rge,khcy:Lge,KJcy:$ge,kjcy:Pge,Kopf:Mge,kopf:Vge,Kscr:jge,kscr:Uge,lAarr:Bge,Lacute:qge,lacute:zge,laemptyv:Qge,lagran:Gge,Lambda:Hge,lambda:Wge,lang:Yge,Lang:Jge,langd:Kge,langle:Xge,lap:Zge,Laplacetrf:eye,laquo:tye,larrb:nye,larrbfs:rye,larr:iye,Larr:oye,lArr:aye,larrfs:sye,larrhk:lye,larrlp:uye,larrpl:cye,larrsim:fye,larrtl:dye,latail:pye,lAtail:hye,lat:mye,late:vye,lates:gye,lbarr:yye,lBarr:Eye,lbbrk:bye,lbrace:Tye,lbrack:wye,lbrke:_ye,lbrksld:Sye,lbrkslu:Nye,Lcaron:Iye,lcaron:xye,Lcedil:Dye,lcedil:Oye,lceil:Cye,lcub:kye,Lcy:Aye,lcy:Fye,ldca:Rye,ldquo:Lye,ldquor:$ye,ldrdhar:Pye,ldrushar:Mye,ldsh:Vye,le:jye,lE:Uye,LeftAngleBracket:Bye,LeftArrowBar:qye,leftarrow:zye,LeftArrow:Qye,Leftarrow:Gye,LeftArrowRightArrow:Hye,leftarrowtail:Wye,LeftCeiling:Yye,LeftDoubleBracket:Jye,LeftDownTeeVector:Kye,LeftDownVectorBar:Xye,LeftDownVector:Zye,LeftFloor:e0e,leftharpoondown:t0e,leftharpoonup:n0e,leftleftarrows:r0e,leftrightarrow:i0e,LeftRightArrow:o0e,Leftrightarrow:a0e,leftrightarrows:s0e,leftrightharpoons:l0e,leftrightsquigarrow:u0e,LeftRightVector:c0e,LeftTeeArrow:f0e,LeftTee:d0e,LeftTeeVector:p0e,leftthreetimes:h0e,LeftTriangleBar:m0e,LeftTriangle:v0e,LeftTriangleEqual:g0e,LeftUpDownVector:y0e,LeftUpTeeVector:E0e,LeftUpVectorBar:b0e,LeftUpVector:T0e,LeftVectorBar:w0e,LeftVector:_0e,lEg:S0e,leg:N0e,leq:I0e,leqq:x0e,leqslant:D0e,lescc:O0e,les:C0e,lesdot:k0e,lesdoto:A0e,lesdotor:F0e,lesg:R0e,lesges:L0e,lessapprox:$0e,lessdot:P0e,lesseqgtr:M0e,lesseqqgtr:V0e,LessEqualGreater:j0e,LessFullEqual:U0e,LessGreater:B0e,lessgtr:q0e,LessLess:z0e,lesssim:Q0e,LessSlantEqual:G0e,LessTilde:H0e,lfisht:W0e,lfloor:Y0e,Lfr:J0e,lfr:K0e,lg:X0e,lgE:Z0e,lHar:eEe,lhard:tEe,lharu:nEe,lharul:rEe,lhblk:iEe,LJcy:oEe,ljcy:aEe,llarr:sEe,ll:lEe,Ll:uEe,llcorner:cEe,Lleftarrow:fEe,llhard:dEe,lltri:pEe,Lmidot:hEe,lmidot:mEe,lmoustache:vEe,lmoust:gEe,lnap:yEe,lnapprox:EEe,lne:bEe,lnE:TEe,lneq:wEe,lneqq:_Ee,lnsim:SEe,loang:NEe,loarr:IEe,lobrk:xEe,longleftarrow:DEe,LongLeftArrow:OEe,Longleftarrow:CEe,longleftrightarrow:kEe,LongLeftRightArrow:AEe,Longleftrightarrow:FEe,longmapsto:REe,longrightarrow:LEe,LongRightArrow:$Ee,Longrightarrow:PEe,looparrowleft:MEe,looparrowright:VEe,lopar:jEe,Lopf:UEe,lopf:BEe,loplus:qEe,lotimes:zEe,lowast:QEe,lowbar:GEe,LowerLeftArrow:HEe,LowerRightArrow:WEe,loz:YEe,lozenge:JEe,lozf:KEe,lpar:XEe,lparlt:ZEe,lrarr:e1e,lrcorner:t1e,lrhar:n1e,lrhard:r1e,lrm:i1e,lrtri:o1e,lsaquo:a1e,lscr:s1e,Lscr:l1e,lsh:u1e,Lsh:c1e,lsim:f1e,lsime:d1e,lsimg:p1e,lsqb:h1e,lsquo:m1e,lsquor:v1e,Lstrok:g1e,lstrok:y1e,ltcc:E1e,ltcir:b1e,lt:T1e,LT:w1e,Lt:_1e,ltdot:S1e,lthree:N1e,ltimes:I1e,ltlarr:x1e,ltquest:D1e,ltri:O1e,ltrie:C1e,ltrif:k1e,ltrPar:A1e,lurdshar:F1e,luruhar:R1e,lvertneqq:L1e,lvnE:$1e,macr:P1e,male:M1e,malt:V1e,maltese:j1e,Map:"⤅",map:U1e,mapsto:B1e,mapstodown:q1e,mapstoleft:z1e,mapstoup:Q1e,marker:G1e,mcomma:H1e,Mcy:W1e,mcy:Y1e,mdash:J1e,mDDot:K1e,measuredangle:X1e,MediumSpace:Z1e,Mellintrf:ebe,Mfr:tbe,mfr:nbe,mho:rbe,micro:ibe,midast:obe,midcir:abe,mid:sbe,middot:lbe,minusb:ube,minus:cbe,minusd:fbe,minusdu:dbe,MinusPlus:pbe,mlcp:hbe,mldr:mbe,mnplus:vbe,models:gbe,Mopf:ybe,mopf:Ebe,mp:bbe,mscr:Tbe,Mscr:wbe,mstpos:_be,Mu:Sbe,mu:Nbe,multimap:Ibe,mumap:xbe,nabla:Dbe,Nacute:Obe,nacute:Cbe,nang:kbe,nap:Abe,napE:Fbe,napid:Rbe,napos:Lbe,napprox:$be,natural:Pbe,naturals:Mbe,natur:Vbe,nbsp:jbe,nbump:Ube,nbumpe:Bbe,ncap:qbe,Ncaron:zbe,ncaron:Qbe,Ncedil:Gbe,ncedil:Hbe,ncong:Wbe,ncongdot:Ybe,ncup:Jbe,Ncy:Kbe,ncy:Xbe,ndash:Zbe,nearhk:eTe,nearr:tTe,neArr:nTe,nearrow:rTe,ne:iTe,nedot:oTe,NegativeMediumSpace:aTe,NegativeThickSpace:sTe,NegativeThinSpace:lTe,NegativeVeryThinSpace:uTe,nequiv:cTe,nesear:fTe,nesim:dTe,NestedGreaterGreater:pTe,NestedLessLess:hTe,NewLine:mTe,nexist:vTe,nexists:gTe,Nfr:yTe,nfr:ETe,ngE:bTe,nge:TTe,ngeq:wTe,ngeqq:_Te,ngeqslant:STe,nges:NTe,nGg:ITe,ngsim:xTe,nGt:DTe,ngt:OTe,ngtr:CTe,nGtv:kTe,nharr:ATe,nhArr:FTe,nhpar:RTe,ni:LTe,nis:$Te,nisd:PTe,niv:MTe,NJcy:VTe,njcy:jTe,nlarr:UTe,nlArr:BTe,nldr:qTe,nlE:zTe,nle:QTe,nleftarrow:GTe,nLeftarrow:HTe,nleftrightarrow:WTe,nLeftrightarrow:YTe,nleq:JTe,nleqq:KTe,nleqslant:XTe,nles:ZTe,nless:ewe,nLl:twe,nlsim:nwe,nLt:rwe,nlt:iwe,nltri:owe,nltrie:awe,nLtv:swe,nmid:lwe,NoBreak:uwe,NonBreakingSpace:cwe,nopf:fwe,Nopf:dwe,Not:pwe,not:hwe,NotCongruent:mwe,NotCupCap:vwe,NotDoubleVerticalBar:gwe,NotElement:ywe,NotEqual:Ewe,NotEqualTilde:bwe,NotExists:Twe,NotGreater:wwe,NotGreaterEqual:_we,NotGreaterFullEqual:Swe,NotGreaterGreater:Nwe,NotGreaterLess:Iwe,NotGreaterSlantEqual:xwe,NotGreaterTilde:Dwe,NotHumpDownHump:Owe,NotHumpEqual:Cwe,notin:kwe,notindot:Awe,notinE:Fwe,notinva:Rwe,notinvb:Lwe,notinvc:$we,NotLeftTriangleBar:Pwe,NotLeftTriangle:Mwe,NotLeftTriangleEqual:Vwe,NotLess:jwe,NotLessEqual:Uwe,NotLessGreater:Bwe,NotLessLess:qwe,NotLessSlantEqual:zwe,NotLessTilde:Qwe,NotNestedGreaterGreater:Gwe,NotNestedLessLess:Hwe,notni:Wwe,notniva:Ywe,notnivb:Jwe,notnivc:Kwe,NotPrecedes:Xwe,NotPrecedesEqual:Zwe,NotPrecedesSlantEqual:e_e,NotReverseElement:t_e,NotRightTriangleBar:n_e,NotRightTriangle:r_e,NotRightTriangleEqual:i_e,NotSquareSubset:o_e,NotSquareSubsetEqual:a_e,NotSquareSuperset:s_e,NotSquareSupersetEqual:l_e,NotSubset:u_e,NotSubsetEqual:c_e,NotSucceeds:f_e,NotSucceedsEqual:d_e,NotSucceedsSlantEqual:p_e,NotSucceedsTilde:h_e,NotSuperset:m_e,NotSupersetEqual:v_e,NotTilde:g_e,NotTildeEqual:y_e,NotTildeFullEqual:E_e,NotTildeTilde:b_e,NotVerticalBar:T_e,nparallel:w_e,npar:__e,nparsl:S_e,npart:N_e,npolint:I_e,npr:x_e,nprcue:D_e,nprec:O_e,npreceq:C_e,npre:k_e,nrarrc:A_e,nrarr:F_e,nrArr:R_e,nrarrw:L_e,nrightarrow:$_e,nRightarrow:P_e,nrtri:M_e,nrtrie:V_e,nsc:j_e,nsccue:U_e,nsce:B_e,Nscr:q_e,nscr:z_e,nshortmid:Q_e,nshortparallel:G_e,nsim:H_e,nsime:W_e,nsimeq:Y_e,nsmid:J_e,nspar:K_e,nsqsube:X_e,nsqsupe:Z_e,nsub:eSe,nsubE:tSe,nsube:nSe,nsubset:rSe,nsubseteq:iSe,nsubseteqq:oSe,nsucc:aSe,nsucceq:sSe,nsup:lSe,nsupE:uSe,nsupe:cSe,nsupset:fSe,nsupseteq:dSe,nsupseteqq:pSe,ntgl:hSe,Ntilde:mSe,ntilde:vSe,ntlg:gSe,ntriangleleft:ySe,ntrianglelefteq:ESe,ntriangleright:bSe,ntrianglerighteq:TSe,Nu:wSe,nu:_Se,num:SSe,numero:NSe,numsp:ISe,nvap:xSe,nvdash:DSe,nvDash:OSe,nVdash:CSe,nVDash:kSe,nvge:ASe,nvgt:FSe,nvHarr:RSe,nvinfin:LSe,nvlArr:$Se,nvle:PSe,nvlt:MSe,nvltrie:VSe,nvrArr:jSe,nvrtrie:USe,nvsim:BSe,nwarhk:qSe,nwarr:zSe,nwArr:QSe,nwarrow:GSe,nwnear:HSe,Oacute:WSe,oacute:YSe,oast:JSe,Ocirc:KSe,ocirc:XSe,ocir:ZSe,Ocy:eNe,ocy:tNe,odash:nNe,Odblac:rNe,odblac:iNe,odiv:oNe,odot:aNe,odsold:sNe,OElig:lNe,oelig:uNe,ofcir:cNe,Ofr:fNe,ofr:dNe,ogon:pNe,Ograve:hNe,ograve:mNe,ogt:vNe,ohbar:gNe,ohm:yNe,oint:ENe,olarr:bNe,olcir:TNe,olcross:wNe,oline:_Ne,olt:SNe,Omacr:NNe,omacr:INe,Omega:xNe,omega:DNe,Omicron:ONe,omicron:CNe,omid:kNe,ominus:ANe,Oopf:FNe,oopf:RNe,opar:LNe,OpenCurlyDoubleQuote:$Ne,OpenCurlyQuote:PNe,operp:MNe,oplus:VNe,orarr:jNe,Or:UNe,or:BNe,ord:qNe,order:zNe,orderof:QNe,ordf:GNe,ordm:HNe,origof:WNe,oror:YNe,orslope:JNe,orv:KNe,oS:XNe,Oscr:ZNe,oscr:eIe,Oslash:tIe,oslash:nIe,osol:rIe,Otilde:iIe,otilde:oIe,otimesas:aIe,Otimes:sIe,otimes:lIe,Ouml:uIe,ouml:cIe,ovbar:fIe,OverBar:dIe,OverBrace:pIe,OverBracket:hIe,OverParenthesis:mIe,para:vIe,parallel:gIe,par:yIe,parsim:EIe,parsl:bIe,part:TIe,PartialD:wIe,Pcy:_Ie,pcy:SIe,percnt:NIe,period:IIe,permil:xIe,perp:DIe,pertenk:OIe,Pfr:CIe,pfr:kIe,Phi:AIe,phi:FIe,phiv:RIe,phmmat:LIe,phone:$Ie,Pi:PIe,pi:MIe,pitchfork:VIe,piv:jIe,planck:UIe,planckh:BIe,plankv:qIe,plusacir:zIe,plusb:QIe,pluscir:GIe,plus:HIe,plusdo:WIe,plusdu:YIe,pluse:JIe,PlusMinus:KIe,plusmn:XIe,plussim:ZIe,plustwo:exe,pm:txe,Poincareplane:nxe,pointint:rxe,popf:ixe,Popf:oxe,pound:axe,prap:sxe,Pr:lxe,pr:uxe,prcue:cxe,precapprox:fxe,prec:dxe,preccurlyeq:pxe,Precedes:hxe,PrecedesEqual:mxe,PrecedesSlantEqual:vxe,PrecedesTilde:gxe,preceq:yxe,precnapprox:Exe,precneqq:bxe,precnsim:Txe,pre:wxe,prE:_xe,precsim:Sxe,prime:Nxe,Prime:Ixe,primes:xxe,prnap:Dxe,prnE:Oxe,prnsim:Cxe,prod:kxe,Product:Axe,profalar:Fxe,profline:Rxe,profsurf:Lxe,prop:$xe,Proportional:Pxe,Proportion:Mxe,propto:Vxe,prsim:jxe,prurel:Uxe,Pscr:Bxe,pscr:qxe,Psi:zxe,psi:Qxe,puncsp:Gxe,Qfr:Hxe,qfr:Wxe,qint:Yxe,qopf:Jxe,Qopf:Kxe,qprime:Xxe,Qscr:Zxe,qscr:eDe,quaternions:tDe,quatint:nDe,quest:rDe,questeq:iDe,quot:oDe,QUOT:aDe,rAarr:sDe,race:lDe,Racute:uDe,racute:cDe,radic:fDe,raemptyv:dDe,rang:pDe,Rang:hDe,rangd:mDe,range:vDe,rangle:gDe,raquo:yDe,rarrap:EDe,rarrb:bDe,rarrbfs:TDe,rarrc:wDe,rarr:_De,Rarr:SDe,rArr:NDe,rarrfs:IDe,rarrhk:xDe,rarrlp:DDe,rarrpl:ODe,rarrsim:CDe,Rarrtl:kDe,rarrtl:ADe,rarrw:FDe,ratail:RDe,rAtail:LDe,ratio:$De,rationals:PDe,rbarr:MDe,rBarr:VDe,RBarr:jDe,rbbrk:UDe,rbrace:BDe,rbrack:qDe,rbrke:zDe,rbrksld:QDe,rbrkslu:GDe,Rcaron:HDe,rcaron:WDe,Rcedil:YDe,rcedil:JDe,rceil:KDe,rcub:XDe,Rcy:ZDe,rcy:eOe,rdca:tOe,rdldhar:nOe,rdquo:rOe,rdquor:iOe,rdsh:oOe,real:aOe,realine:sOe,realpart:lOe,reals:uOe,Re:cOe,rect:fOe,reg:dOe,REG:pOe,ReverseElement:hOe,ReverseEquilibrium:mOe,ReverseUpEquilibrium:vOe,rfisht:gOe,rfloor:yOe,rfr:EOe,Rfr:bOe,rHar:TOe,rhard:wOe,rharu:_Oe,rharul:SOe,Rho:NOe,rho:IOe,rhov:xOe,RightAngleBracket:DOe,RightArrowBar:OOe,rightarrow:COe,RightArrow:kOe,Rightarrow:AOe,RightArrowLeftArrow:FOe,rightarrowtail:ROe,RightCeiling:LOe,RightDoubleBracket:$Oe,RightDownTeeVector:POe,RightDownVectorBar:MOe,RightDownVector:VOe,RightFloor:jOe,rightharpoondown:UOe,rightharpoonup:BOe,rightleftarrows:qOe,rightleftharpoons:zOe,rightrightarrows:QOe,rightsquigarrow:GOe,RightTeeArrow:HOe,RightTee:WOe,RightTeeVector:YOe,rightthreetimes:JOe,RightTriangleBar:KOe,RightTriangle:XOe,RightTriangleEqual:ZOe,RightUpDownVector:e2e,RightUpTeeVector:t2e,RightUpVectorBar:n2e,RightUpVector:r2e,RightVectorBar:i2e,RightVector:o2e,ring:a2e,risingdotseq:s2e,rlarr:l2e,rlhar:u2e,rlm:c2e,rmoustache:f2e,rmoust:d2e,rnmid:p2e,roang:h2e,roarr:m2e,robrk:v2e,ropar:g2e,ropf:y2e,Ropf:E2e,roplus:b2e,rotimes:T2e,RoundImplies:w2e,rpar:_2e,rpargt:S2e,rppolint:N2e,rrarr:I2e,Rrightarrow:x2e,rsaquo:D2e,rscr:O2e,Rscr:C2e,rsh:k2e,Rsh:A2e,rsqb:F2e,rsquo:R2e,rsquor:L2e,rthree:$2e,rtimes:P2e,rtri:M2e,rtrie:V2e,rtrif:j2e,rtriltri:U2e,RuleDelayed:B2e,ruluhar:q2e,rx:z2e,Sacute:Q2e,sacute:G2e,sbquo:H2e,scap:W2e,Scaron:Y2e,scaron:J2e,Sc:K2e,sc:X2e,sccue:Z2e,sce:eCe,scE:tCe,Scedil:nCe,scedil:rCe,Scirc:iCe,scirc:oCe,scnap:aCe,scnE:sCe,scnsim:lCe,scpolint:uCe,scsim:cCe,Scy:fCe,scy:dCe,sdotb:pCe,sdot:hCe,sdote:mCe,searhk:vCe,searr:gCe,seArr:yCe,searrow:ECe,sect:bCe,semi:TCe,seswar:wCe,setminus:_Ce,setmn:SCe,sext:NCe,Sfr:ICe,sfr:xCe,sfrown:DCe,sharp:OCe,SHCHcy:CCe,shchcy:kCe,SHcy:ACe,shcy:FCe,ShortDownArrow:RCe,ShortLeftArrow:LCe,shortmid:$Ce,shortparallel:PCe,ShortRightArrow:MCe,ShortUpArrow:VCe,shy:jCe,Sigma:UCe,sigma:BCe,sigmaf:qCe,sigmav:zCe,sim:QCe,simdot:GCe,sime:HCe,simeq:WCe,simg:YCe,simgE:JCe,siml:KCe,simlE:XCe,simne:ZCe,simplus:eke,simrarr:tke,slarr:nke,SmallCircle:rke,smallsetminus:ike,smashp:oke,smeparsl:ake,smid:ske,smile:lke,smt:uke,smte:cke,smtes:fke,SOFTcy:dke,softcy:pke,solbar:hke,solb:mke,sol:vke,Sopf:gke,sopf:yke,spades:Eke,spadesuit:bke,spar:Tke,sqcap:wke,sqcaps:_ke,sqcup:Ske,sqcups:Nke,Sqrt:Ike,sqsub:xke,sqsube:Dke,sqsubset:Oke,sqsubseteq:Cke,sqsup:kke,sqsupe:Ake,sqsupset:Fke,sqsupseteq:Rke,square:Lke,Square:$ke,SquareIntersection:Pke,SquareSubset:Mke,SquareSubsetEqual:Vke,SquareSuperset:jke,SquareSupersetEqual:Uke,SquareUnion:Bke,squarf:qke,squ:zke,squf:Qke,srarr:Gke,Sscr:Hke,sscr:Wke,ssetmn:Yke,ssmile:Jke,sstarf:Kke,Star:Xke,star:Zke,starf:eAe,straightepsilon:tAe,straightphi:nAe,strns:rAe,sub:iAe,Sub:oAe,subdot:aAe,subE:sAe,sube:lAe,subedot:uAe,submult:cAe,subnE:fAe,subne:dAe,subplus:pAe,subrarr:hAe,subset:mAe,Subset:vAe,subseteq:gAe,subseteqq:yAe,SubsetEqual:EAe,subsetneq:bAe,subsetneqq:TAe,subsim:wAe,subsub:_Ae,subsup:SAe,succapprox:NAe,succ:IAe,succcurlyeq:xAe,Succeeds:DAe,SucceedsEqual:OAe,SucceedsSlantEqual:CAe,SucceedsTilde:kAe,succeq:AAe,succnapprox:FAe,succneqq:RAe,succnsim:LAe,succsim:$Ae,SuchThat:PAe,sum:MAe,Sum:VAe,sung:jAe,sup1:UAe,sup2:BAe,sup3:qAe,sup:zAe,Sup:QAe,supdot:GAe,supdsub:HAe,supE:WAe,supe:YAe,supedot:JAe,Superset:KAe,SupersetEqual:XAe,suphsol:ZAe,suphsub:eFe,suplarr:tFe,supmult:nFe,supnE:rFe,supne:iFe,supplus:oFe,supset:aFe,Supset:sFe,supseteq:lFe,supseteqq:uFe,supsetneq:cFe,supsetneqq:fFe,supsim:dFe,supsub:pFe,supsup:hFe,swarhk:mFe,swarr:vFe,swArr:gFe,swarrow:yFe,swnwar:EFe,szlig:bFe,Tab:TFe,target:wFe,Tau:_Fe,tau:SFe,tbrk:NFe,Tcaron:IFe,tcaron:xFe,Tcedil:DFe,tcedil:OFe,Tcy:CFe,tcy:kFe,tdot:AFe,telrec:FFe,Tfr:RFe,tfr:LFe,there4:$Fe,therefore:PFe,Therefore:MFe,Theta:VFe,theta:jFe,thetasym:UFe,thetav:BFe,thickapprox:qFe,thicksim:zFe,ThickSpace:QFe,ThinSpace:GFe,thinsp:HFe,thkap:WFe,thksim:YFe,THORN:JFe,thorn:KFe,tilde:XFe,Tilde:ZFe,TildeEqual:eRe,TildeFullEqual:tRe,TildeTilde:nRe,timesbar:rRe,timesb:iRe,times:oRe,timesd:aRe,tint:sRe,toea:lRe,topbot:uRe,topcir:cRe,top:fRe,Topf:dRe,topf:pRe,topfork:hRe,tosa:mRe,tprime:vRe,trade:gRe,TRADE:yRe,triangle:ERe,triangledown:bRe,triangleleft:TRe,trianglelefteq:wRe,triangleq:_Re,triangleright:SRe,trianglerighteq:NRe,tridot:IRe,trie:xRe,triminus:DRe,TripleDot:ORe,triplus:CRe,trisb:kRe,tritime:ARe,trpezium:FRe,Tscr:RRe,tscr:LRe,TScy:$Re,tscy:PRe,TSHcy:MRe,tshcy:VRe,Tstrok:jRe,tstrok:URe,twixt:BRe,twoheadleftarrow:qRe,twoheadrightarrow:zRe,Uacute:QRe,uacute:GRe,uarr:HRe,Uarr:WRe,uArr:YRe,Uarrocir:JRe,Ubrcy:KRe,ubrcy:XRe,Ubreve:ZRe,ubreve:eLe,Ucirc:tLe,ucirc:nLe,Ucy:rLe,ucy:iLe,udarr:oLe,Udblac:aLe,udblac:sLe,udhar:lLe,ufisht:uLe,Ufr:cLe,ufr:fLe,Ugrave:dLe,ugrave:pLe,uHar:hLe,uharl:mLe,uharr:vLe,uhblk:gLe,ulcorn:yLe,ulcorner:ELe,ulcrop:bLe,ultri:TLe,Umacr:wLe,umacr:_Le,uml:SLe,UnderBar:NLe,UnderBrace:ILe,UnderBracket:xLe,UnderParenthesis:DLe,Union:OLe,UnionPlus:CLe,Uogon:kLe,uogon:ALe,Uopf:FLe,uopf:RLe,UpArrowBar:LLe,uparrow:$Le,UpArrow:PLe,Uparrow:MLe,UpArrowDownArrow:VLe,updownarrow:jLe,UpDownArrow:ULe,Updownarrow:BLe,UpEquilibrium:qLe,upharpoonleft:zLe,upharpoonright:QLe,uplus:GLe,UpperLeftArrow:HLe,UpperRightArrow:WLe,upsi:YLe,Upsi:JLe,upsih:KLe,Upsilon:XLe,upsilon:ZLe,UpTeeArrow:e5e,UpTee:t5e,upuparrows:n5e,urcorn:r5e,urcorner:i5e,urcrop:o5e,Uring:a5e,uring:s5e,urtri:l5e,Uscr:u5e,uscr:c5e,utdot:f5e,Utilde:d5e,utilde:p5e,utri:h5e,utrif:m5e,uuarr:v5e,Uuml:g5e,uuml:y5e,uwangle:E5e,vangrt:b5e,varepsilon:T5e,varkappa:w5e,varnothing:_5e,varphi:S5e,varpi:N5e,varpropto:I5e,varr:x5e,vArr:D5e,varrho:O5e,varsigma:C5e,varsubsetneq:k5e,varsubsetneqq:A5e,varsupsetneq:F5e,varsupsetneqq:R5e,vartheta:L5e,vartriangleleft:$5e,vartriangleright:P5e,vBar:M5e,Vbar:V5e,vBarv:j5e,Vcy:U5e,vcy:B5e,vdash:q5e,vDash:z5e,Vdash:Q5e,VDash:G5e,Vdashl:H5e,veebar:W5e,vee:Y5e,Vee:J5e,veeeq:K5e,vellip:X5e,verbar:Z5e,Verbar:e$e,vert:t$e,Vert:n$e,VerticalBar:r$e,VerticalLine:i$e,VerticalSeparator:o$e,VerticalTilde:a$e,VeryThinSpace:s$e,Vfr:l$e,vfr:u$e,vltri:c$e,vnsub:f$e,vnsup:d$e,Vopf:p$e,vopf:h$e,vprop:m$e,vrtri:v$e,Vscr:g$e,vscr:y$e,vsubnE:E$e,vsubne:b$e,vsupnE:T$e,vsupne:w$e,Vvdash:_$e,vzigzag:S$e,Wcirc:N$e,wcirc:I$e,wedbar:x$e,wedge:D$e,Wedge:O$e,wedgeq:C$e,weierp:k$e,Wfr:A$e,wfr:F$e,Wopf:R$e,wopf:L$e,wp:$$e,wr:P$e,wreath:M$e,Wscr:V$e,wscr:j$e,xcap:U$e,xcirc:B$e,xcup:q$e,xdtri:z$e,Xfr:Q$e,xfr:G$e,xharr:H$e,xhArr:W$e,Xi:Y$e,xi:J$e,xlarr:K$e,xlArr:X$e,xmap:Z$e,xnis:ePe,xodot:tPe,Xopf:nPe,xopf:rPe,xoplus:iPe,xotime:oPe,xrarr:aPe,xrArr:sPe,Xscr:lPe,xscr:uPe,xsqcup:cPe,xuplus:fPe,xutri:dPe,xvee:pPe,xwedge:hPe,Yacute:mPe,yacute:vPe,YAcy:gPe,yacy:yPe,Ycirc:EPe,ycirc:bPe,Ycy:TPe,ycy:wPe,yen:_Pe,Yfr:SPe,yfr:NPe,YIcy:IPe,yicy:xPe,Yopf:DPe,yopf:OPe,Yscr:CPe,yscr:kPe,YUcy:APe,yucy:FPe,yuml:RPe,Yuml:LPe,Zacute:$Pe,zacute:PPe,Zcaron:MPe,zcaron:VPe,Zcy:jPe,zcy:UPe,Zdot:BPe,zdot:qPe,zeetrf:zPe,ZeroWidthSpace:QPe,Zeta:GPe,zeta:HPe,zfr:WPe,Zfr:YPe,ZHcy:JPe,zhcy:KPe,zigrarr:XPe,zopf:ZPe,Zopf:e3e,Zscr:t3e,zscr:n3e,zwj:r3e,zwnj:i3e},x6=o3e,FI=/[!-#%-\*,-\/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4E\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDF55-\uDF59]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDF3C-\uDF3E]|\uD806[\uDC3B\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]/,Rc={},wk={};function D6(e){var t,n,r=wk[e];if(r)return r;for(r=wk[e]=[],t=0;t<128;t++)n=String.fromCharCode(t),/^[0-9a-z]$/i.test(n)?r.push(n):r.push("%"+("0"+t.toString(16).toUpperCase()).slice(-2));for(t=0;t"u"&&(n=!0),s=D6(t),r=0,i=e.length;r=55296&&o<=57343){if(o>=55296&&o<=56319&&r+1=56320&&a<=57343)){l+=encodeURIComponent(e[r]+e[r+1]),r++;continue}l+="%EF%BF%BD";continue}l+=encodeURIComponent(e[r])}return l}h(Wp,"encode$1");Wp.defaultChars=";/?:@&=+$,-_.!~*'()#";Wp.componentChars="-_.!~*'()";var a3e=Wp,_k={};function O6(e){var t,n,r=_k[e];if(r)return r;for(r=_k[e]=[],t=0;t<128;t++)n=String.fromCharCode(t),r.push(n);for(t=0;t=55296&&c<=57343?f+="���":f+=String.fromCharCode(c),i+=6;continue}if((a&248)===240&&i+91114111?f+="����":(c-=65536,f+=String.fromCharCode(55296+(c>>10),56320+(c&1023))),i+=9;continue}f+="�"}return f})}h(Yp,"decode$1");Yp.defaultChars=";/?:@&=+$,#";Yp.componentChars="";var s3e=Yp,l3e=h(function(t){var n="";return n+=t.protocol||"",n+=t.slashes?"//":"",n+=t.auth?t.auth+"@":"",t.hostname&&t.hostname.indexOf(":")!==-1?n+="["+t.hostname+"]":n+=t.hostname||"",n+=t.port?":"+t.port:"",n+=t.pathname||"",n+=t.search||"",n+=t.hash||"",n},"format");function Qd(){this.protocol=null,this.slashes=null,this.auth=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.pathname=null}h(Qd,"Url");var u3e=/^([a-z0-9.+-]+:)/i,c3e=/:[0-9]*$/,f3e=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,d3e=["<",">",'"',"`"," ","\r",` +`," "],p3e=["{","}","|","\\","^","`"].concat(d3e),h3e=["'"].concat(p3e),Sk=["%","/","?",";","#"].concat(h3e),Nk=["/","?","#"],m3e=255,Ik=/^[+a-z0-9A-Z_-]{0,63}$/,v3e=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,xk={javascript:!0,"javascript:":!0},Dk={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0};function C6(e,t){if(e&&e instanceof Qd)return e;var n=new Qd;return n.parse(e,t),n}h(C6,"urlParse");Qd.prototype.parse=function(e,t){var n,r,i,o,a,s=e;if(s=s.trim(),!t&&e.split("#").length===1){var l=f3e.exec(s);if(l)return this.pathname=l[1],l[2]&&(this.search=l[2]),this}var u=u3e.exec(s);if(u&&(u=u[0],i=u.toLowerCase(),this.protocol=u,s=s.substr(u.length)),(t||u||s.match(/^\/\/[^@\/]+@[^@\/]+/))&&(a=s.substr(0,2)==="//",a&&!(u&&xk[u])&&(s=s.substr(2),this.slashes=!0)),!xk[u]&&(a||u&&!Dk[u])){var c=-1;for(n=0;n127?E+="x":E+=b[y];if(!E.match(Ik)){var w=v.slice(0,n),S=v.slice(n+1),_=b.match(v3e);_&&(w.push(_[1]),S.unshift(_[2])),S.length&&(s=S.join(".")+s),this.hostname=w.join(".");break}}}}this.hostname.length>m3e&&(this.hostname=""),m&&(this.hostname=this.hostname.substr(1,this.hostname.length-2))}var I=s.indexOf("#");I!==-1&&(this.hash=s.substr(I),s=s.slice(0,I));var A=s.indexOf("?");return A!==-1&&(this.search=s.substr(A),s=s.slice(0,A)),s&&(this.pathname=s),Dk[i]&&this.hostname&&!this.pathname&&(this.pathname=""),this};Qd.prototype.parseHost=function(e){var t=c3e.exec(e);t&&(t=t[0],t!==":"&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)};var g3e=C6;Rc.encode=a3e;Rc.decode=s3e;Rc.format=l3e;Rc.parse=g3e;var Lc={},k6=/[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,A6=/[\0-\x1F\x7F-\x9F]/,y3e=/[\xAD\u0600-\u0605\u061C\u06DD\u070F\u08E2\u180E\u200B-\u200F\u202A-\u202E\u2060-\u2064\u2066-\u206F\uFEFF\uFFF9-\uFFFB]|\uD804[\uDCBD\uDCCD]|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|\uDB40[\uDC01\uDC20-\uDC7F]/,F6=/[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/;Lc.Any=k6;Lc.Cc=A6;Lc.Cf=y3e;Lc.P=FI;Lc.Z=F6;(function(e){function t(P){return Object.prototype.toString.call(P)}h(t,"_class");function n(P){return t(P)==="[object String]"}h(n,"isString");var r=Object.prototype.hasOwnProperty;function i(P,V){return r.call(P,V)}h(i,"has");function o(P){var V=Array.prototype.slice.call(arguments,1);return V.forEach(function(j){if(j){if(typeof j!="object")throw new TypeError(j+"must be object");Object.keys(j).forEach(function(H){P[H]=j[H]})}}),P}h(o,"assign");function a(P,V,j){return[].concat(P.slice(0,V),j,P.slice(V+1))}h(a,"arrayReplaceAt");function s(P){return!(P>=55296&&P<=57343||P>=64976&&P<=65007||(P&65535)===65535||(P&65535)===65534||P>=0&&P<=8||P===11||P>=14&&P<=31||P>=127&&P<=159||P>1114111)}h(s,"isValidEntityCode");function l(P){if(P>65535){P-=65536;var V=55296+(P>>10),j=56320+(P&1023);return String.fromCharCode(V,j)}return String.fromCharCode(P)}h(l,"fromCodePoint");var u=/\\([!"#$%&'()*+,\-.\/:;<=>?@[\\\]^_`{|}~])/g,c=/&([a-z#][a-z0-9]{1,31});/gi,f=new RegExp(u.source+"|"+c.source,"gi"),d=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))/i,p=x6;function m(P,V){var j=0;return i(p,V)?p[V]:V.charCodeAt(0)===35&&d.test(V)&&(j=V[1].toLowerCase()==="x"?parseInt(V.slice(2),16):parseInt(V.slice(1),10),s(j))?l(j):P}h(m,"replaceEntityPattern");function v(P){return P.indexOf("\\")<0?P:P.replace(u,"$1")}h(v,"unescapeMd");function b(P){return P.indexOf("\\")<0&&P.indexOf("&")<0?P:P.replace(f,function(V,j,H){return j||m(V,H)})}h(b,"unescapeAll");var E=/[&<>"]/,y=/[&<>"]/g,T={"&":"&","<":"<",">":">",'"':"""};function w(P){return T[P]}h(w,"replaceUnsafeChar");function S(P){return E.test(P)?P.replace(y,w):P}h(S,"escapeHtml");var _=/[.?*+^$[\]\\(){}|-]/g;function I(P){return P.replace(_,"\\$&")}h(I,"escapeRE");function A(P){switch(P){case 9:case 32:return!0}return!1}h(A,"isSpace");function N(P){if(P>=8192&&P<=8202)return!0;switch(P){case 9:case 10:case 11:case 12:case 13:case 32:case 160:case 5760:case 8239:case 8287:case 12288:return!0}return!1}h(N,"isWhiteSpace");var C=FI;function U(P){return C.test(P)}h(U,"isPunctChar");function G(P){switch(P){case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 124:case 125:case 126:return!0;default:return!1}}h(G,"isMdAsciiPunct");function Y(P){return P=P.trim().replace(/\s+/g," "),"ẞ".toLowerCase()==="Ṿ"&&(P=P.replace(/ẞ/g,"ß")),P.toLowerCase().toUpperCase()}h(Y,"normalizeReference"),e.lib={},e.lib.mdurl=Rc,e.lib.ucmicro=Lc,e.assign=o,e.isString=n,e.has=i,e.unescapeMd=v,e.unescapeAll=b,e.isValidEntityCode=s,e.fromCodePoint=l,e.escapeHtml=S,e.arrayReplaceAt=a,e.isSpace=A,e.isWhiteSpace=N,e.isMdAsciiPunct=G,e.isPunctChar=U,e.escapeRE=I,e.normalizeReference=Y})(at);var T0={},E3e=h(function(t,n,r){var i,o,a,s,l=-1,u=t.posMax,c=t.pos;for(t.pos=n+1,i=1;t.pos32))return l;if(i===41){if(o===0)break;o--}n++}return s===n||o!==0||(l.str=Ok(t.slice(s,n)),l.lines=a,l.pos=n,l.ok=!0),l},"parseLinkDestination"),T3e=at.unescapeAll,w3e=h(function(t,n,r){var i,o,a=0,s=n,l={ok:!1,pos:0,lines:0,str:""};if(n>=r||(o=t.charCodeAt(n),o!==34&&o!==39&&o!==40))return l;for(n++,o===40&&(o=41);n"+Nl(e[t].content)+""};Ro.code_block=function(e,t,n,r,i){var o=e[t];return""+Nl(e[t].content)+` +`};Ro.fence=function(e,t,n,r,i){var o=e[t],a=o.info?S3e(o.info).trim():"",s="",l="",u,c,f,d,p;return a&&(f=a.split(/(\s+)/g),s=f[0],l=f.slice(2).join("")),n.highlight?u=n.highlight(o.content,s,l)||Nl(o.content):u=Nl(o.content),u.indexOf(""+u+` +`):"
"+u+`
+`};Ro.image=function(e,t,n,r,i){var o=e[t];return o.attrs[o.attrIndex("alt")][1]=i.renderInlineAsText(o.children,n,r),i.renderToken(e,t,n)};Ro.hardbreak=function(e,t,n){return n.xhtmlOut?`
+`:`
+`};Ro.softbreak=function(e,t,n){return n.breaks?n.xhtmlOut?`
+`:`
+`:` +`};Ro.text=function(e,t){return Nl(e[t].content)};Ro.html_block=function(e,t){return e[t].content};Ro.html_inline=function(e,t){return e[t].content};function $l(){this.rules=_3e({},Ro)}h($l,"Renderer$1");$l.prototype.renderAttrs=h(function(t){var n,r,i;if(!t.attrs)return"";for(i="",n=0,r=t.attrs.length;n +`:">",o)},"renderToken");$l.prototype.renderInline=function(e,t,n){for(var r,i="",o=this.rules,a=0,s=e.length;a\s]/i.test(e)}h(R6,"isLinkOpen");function L6(e){return/^<\/a\s*>/i.test(e)}h(L6,"isLinkClose");var A3e=h(function(t){var n,r,i,o,a,s,l,u,c,f,d,p,m,v,b,E,y=t.tokens,T;if(t.md.options.linkify){for(r=0,i=y.length;r=0;n--){if(s=o[n],s.type==="link_close"){for(n--;o[n].level!==s.level&&o[n].type!=="link_open";)n--;continue}if(s.type==="html_inline"&&(R6(s.content)&&m>0&&m--,L6(s.content)&&m++),!(m>0)&&s.type==="text"&&t.md.linkify.test(s.content)){for(c=s.content,T=t.md.linkify.match(c),l=[],p=s.level,d=0,u=0;ud&&(a=new t.Token("text","",0),a.content=c.slice(d,f),a.level=p,l.push(a)),a=new t.Token("link_open","a",1),a.attrs=[["href",b]],a.level=p++,a.markup="linkify",a.info="auto",l.push(a),a=new t.Token("text","",0),a.content=E,a.level=p,l.push(a),a=new t.Token("link_close","a",-1),a.level=--p,a.markup="linkify",a.info="auto",l.push(a),d=T[u].lastIndex);d=0;t--)n=e[t],n.type==="text"&&!r&&(n.content=n.content.replace(R3e,P6)),n.type==="link_open"&&n.info==="auto"&&r--,n.type==="link_close"&&n.info==="auto"&&r++}h(M6,"replace_scoped");function V6(e){var t,n,r=0;for(t=e.length-1;t>=0;t--)n=e[t],n.type==="text"&&!r&&$6.test(n.content)&&(n.content=n.content.replace(/\+-/g,"±").replace(/\.{2,}/g,"…").replace(/([?!])…/g,"$1..").replace(/([?!]){4,}/g,"$1$1$1").replace(/,{2,}/g,",").replace(/(^|[^-])---(?=[^-]|$)/mg,"$1—").replace(/(^|\s)--(?=\s|$)/mg,"$1–").replace(/(^|[^-\s])--(?=[^-\s]|$)/mg,"$1–")),n.type==="link_open"&&n.info==="auto"&&r--,n.type==="link_close"&&n.info==="auto"&&r++}h(V6,"replace_rare");var $3e=h(function(t){var n;if(t.md.options.typographer)for(n=t.tokens.length-1;n>=0;n--)t.tokens[n].type==="inline"&&(F3e.test(t.tokens[n].content)&&M6(t.tokens[n].children),$6.test(t.tokens[n].content)&&V6(t.tokens[n].children))},"replace"),Ck=at.isWhiteSpace,kk=at.isPunctChar,Ak=at.isMdAsciiPunct,P3e=/['"]/,Fk=/['"]/g,Rk="’";function Cf(e,t,n){return e.substr(0,t)+n+e.substr(t+1)}h(Cf,"replaceAt");function j6(e,t){var n,r,i,o,a,s,l,u,c,f,d,p,m,v,b,E,y,T,w,S,_;for(w=[],n=0;n=0&&!(w[y].level<=l);y--);if(w.length=y+1,r.type!=="text")continue;i=r.content,a=0,s=i.length;e:for(;a=0)c=i.charCodeAt(o.index-1);else for(y=n-1;y>=0&&!(e[y].type==="softbreak"||e[y].type==="hardbreak");y--)if(e[y].content){c=e[y].content.charCodeAt(e[y].content.length-1);break}if(f=32,a=48&&c<=57&&(E=b=!1),b&&E&&(b=d,E=p),!b&&!E){T&&(r.content=Cf(r.content,o.index,Rk));continue}if(E){for(y=w.length-1;y>=0&&(u=w[y],!(w[y].level=0;n--)t.tokens[n].type!=="inline"||!P3e.test(t.tokens[n].content)||j6(t.tokens[n].children,t)},"smartquotes");function Pl(e,t,n){this.type=e,this.tag=t,this.attrs=null,this.map=null,this.nesting=n,this.level=0,this.children=null,this.content="",this.markup="",this.info="",this.meta=null,this.block=!1,this.hidden=!1}h(Pl,"Token$3");Pl.prototype.attrIndex=h(function(t){var n,r,i;if(!this.attrs)return-1;for(n=this.attrs,r=0,i=n.length;r=0&&(r=this.attrs[n][1]),r},"attrGet");Pl.prototype.attrJoin=h(function(t,n){var r=this.attrIndex(t);r<0?this.attrPush([t,n]):this.attrs[r][1]=this.attrs[r][1]+" "+n},"attrJoin");var LI=Pl,V3e=LI;function $I(e,t,n){this.src=e,this.env=n,this.tokens=[],this.inlineMode=!1,this.md=t}h($I,"StateCore");$I.prototype.Token=V3e;var j3e=$I,U3e=RI,S1=[["normalize",D3e],["block",O3e],["inline",C3e],["linkify",A3e],["replacements",$3e],["smartquotes",M3e]];function w0(){this.ruler=new U3e;for(var e=0;er||(c=n+1,t.sCount[c]=4||(s=t.bMarks[c]+t.tShift[c],s>=t.eMarks[c])||(S=t.src.charCodeAt(s++),S!==124&&S!==45&&S!==58)||s>=t.eMarks[c]||(_=t.src.charCodeAt(s++),_!==124&&_!==45&&_!==58&&!N1(_))||S===45&&N1(_))return!1;for(;s=4||(f=Sw(a),f.length&&f[0]===""&&f.shift(),f.length&&f[f.length-1]===""&&f.pop(),d=f.length,d===0||d!==m.length))return!1;if(i)return!0;for(y=t.parentType,t.parentType="table",w=t.md.block.ruler.getRules("blockquote"),p=t.push("table_open","table",1),p.map=b=[n,0],p=t.push("thead_open","thead",1),p.map=[n,n+1],p=t.push("tr_open","tr",1),p.map=[n,n+1],l=0;l=4)break;for(f=Sw(a),f.length&&f[0]===""&&f.shift(),f.length&&f[f.length-1]===""&&f.pop(),c===n+2&&(p=t.push("tbody_open","tbody",1),p.map=E=[n+2,0]),p=t.push("tr_open","tr",1),p.map=[c,c+1],l=0;l=4){i++,o=i;continue}break}return t.line=o,a=t.push("code_block","code",0),a.content=t.getLines(n,o,4+t.blkIndent,!1)+` +`,a.map=[n,t.line],!0},"code"),Q3e=h(function(t,n,r,i){var o,a,s,l,u,c,f,d=!1,p=t.bMarks[n]+t.tShift[n],m=t.eMarks[n];if(t.sCount[n]-t.blkIndent>=4||p+3>m||(o=t.src.charCodeAt(p),o!==126&&o!==96)||(u=p,p=t.skipChars(p,o),a=p-u,a<3)||(f=t.src.slice(u,p),s=t.src.slice(p,m),o===96&&s.indexOf(String.fromCharCode(o))>=0))return!1;if(i)return!0;for(l=n;l++,!(l>=r||(p=u=t.bMarks[l]+t.tShift[l],m=t.eMarks[l],p=4)&&(p=t.skipChars(p,o),!(p-u=4||t.src.charCodeAt(C++)!==62)return!1;if(i)return!0;for(l=p=t.sCount[n]+1,t.src.charCodeAt(C)===32?(C++,l++,p++,o=!1,w=!0):t.src.charCodeAt(C)===9?(w=!0,(t.bsCount[n]+p)%4===3?(C++,l++,p++,o=!1):o=!0):w=!1,m=[t.bMarks[n]],t.bMarks[n]=C;C=U,y=[t.sCount[n]],t.sCount[n]=p-l,T=[t.tShift[n]],t.tShift[n]=C-t.bMarks[n],_=t.md.block.ruler.getRules("blockquote"),E=t.parentType,t.parentType="blockquote",d=n+1;d=U));d++){if(t.src.charCodeAt(C++)===62&&!A){for(l=p=t.sCount[d]+1,t.src.charCodeAt(C)===32?(C++,l++,p++,o=!1,w=!0):t.src.charCodeAt(C)===9?(w=!0,(t.bsCount[d]+p)%4===3?(C++,l++,p++,o=!1):o=!0):w=!1,m.push(t.bMarks[d]),t.bMarks[d]=C;C=U,v.push(t.bsCount[d]),t.bsCount[d]=t.sCount[d]+1+(w?1:0),y.push(t.sCount[d]),t.sCount[d]=p-l,T.push(t.tShift[d]),t.tShift[d]=C-t.bMarks[d];continue}if(c)break;for(S=!1,s=0,u=_.length;s",I.map=f=[n,0],t.md.block.tokenize(t,n,d),I=t.push("blockquote_close","blockquote",-1),I.markup=">",t.lineMax=N,t.parentType=E,f[1]=t.line,s=0;s=4||(o=t.src.charCodeAt(u++),o!==42&&o!==45&&o!==95))return!1;for(a=1;u=o||(n=e.src.charCodeAt(i++),n<48||n>57))return-1;for(;;){if(i>=o)return-1;if(n=e.src.charCodeAt(i++),n>=48&&n<=57){if(i-r>=10)return-1;continue}if(n===41||n===46)break;return-1}return i=4||t.listIndent>=0&&t.sCount[n]-t.listIndent>=4&&t.sCount[n]=t.blkIndent&&(H=!0),(U=Iw(t,n))>=0){if(f=!0,Y=t.bMarks[n]+t.tShift[n],E=Number(t.src.slice(Y,U-1)),H&&E!==1)return!1}else if((U=Nw(t,n))>=0)f=!1;else return!1;if(H&&t.skipSpaces(U)>=t.eMarks[n])return!1;if(b=t.src.charCodeAt(U-1),i)return!0;for(v=t.tokens.length,f?(j=t.push("ordered_list_open","ol",1),E!==1&&(j.attrs=[["start",E]])):j=t.push("bullet_list_open","ul",1),j.map=m=[n,0],j.markup=String.fromCharCode(b),T=n,G=!1,V=t.md.block.ruler.getRules("list"),_=t.parentType,t.parentType="list";T=y?u=1:u=w-c,u>4&&(u=1),l=c+u,j=t.push("list_item_open","li",1),j.markup=String.fromCharCode(b),j.map=d=[n,0],f&&(j.info=t.src.slice(Y,U-1)),N=t.tight,A=t.tShift[n],I=t.sCount[n],S=t.listIndent,t.listIndent=t.blkIndent,t.blkIndent=l,t.tight=!0,t.tShift[n]=a-t.bMarks[n],t.sCount[n]=w,a>=y&&t.isEmpty(n+1)?t.line=Math.min(t.line+2,r):t.md.block.tokenize(t,n,r,!0),(!t.tight||G)&&(F=!1),G=t.line-n>1&&t.isEmpty(t.line-1),t.blkIndent=t.listIndent,t.listIndent=S,t.tShift[n]=A,t.sCount[n]=I,t.tight=N,j=t.push("list_item_close","li",-1),j.markup=String.fromCharCode(b),T=n=t.line,d[1]=T,a=t.bMarks[n],T>=r||t.sCount[T]=4)break;for(P=!1,s=0,p=V.length;s=4||t.src.charCodeAt(_)!==91)return!1;for(;++_3)&&!(t.sCount[A]<0)){for(y=!1,c=0,f=T.length;c"u"&&(t.env.references={}),typeof t.env.references[d]>"u"&&(t.env.references[d]={title:w,href:u}),t.parentType=m,t.line=n+S+1),!0)},"reference"),X3e=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","section","source","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],_0={},Z3e="[a-zA-Z_:][a-zA-Z0-9:._-]*",eMe="[^\"'=<>`\\x00-\\x20]+",tMe="'[^']*'",nMe='"[^"]*"',rMe="(?:"+eMe+"|"+tMe+"|"+nMe+")",iMe="(?:\\s+"+Z3e+"(?:\\s*=\\s*"+rMe+")?)",q6="<[A-Za-z][A-Za-z0-9\\-]*"+iMe+"*\\s*\\/?>",z6="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>",oMe="|",aMe="<[?][\\s\\S]*?[?]>",sMe="]*>",lMe="",uMe=new RegExp("^(?:"+q6+"|"+z6+"|"+oMe+"|"+aMe+"|"+sMe+"|"+lMe+")"),cMe=new RegExp("^(?:"+q6+"|"+z6+")");_0.HTML_TAG_RE=uMe;_0.HTML_OPEN_CLOSE_TAG_RE=cMe;var fMe=X3e,dMe=_0.HTML_OPEN_CLOSE_TAG_RE,Hl=[[/^<(script|pre|style|textarea)(?=(\s|>|$))/i,/<\/(script|pre|style|textarea)>/i,!0],[/^/,!0],[/^<\?/,/\?>/,!0],[/^/,!0],[/^/,!0],[new RegExp("^|$))","i"),/^$/,!0],[new RegExp(dMe.source+"\\s*$"),/^$/,!1]],pMe=h(function(t,n,r,i){var o,a,s,l,u=t.bMarks[n]+t.tShift[n],c=t.eMarks[n];if(t.sCount[n]-t.blkIndent>=4||!t.md.options.html||t.src.charCodeAt(u)!==60)return!1;for(l=t.src.slice(u,c),o=0;o=4||(o=t.src.charCodeAt(u),o!==35||u>=c))return!1;for(a=1,o=t.src.charCodeAt(++u);o===35&&u6||uu&&$k(t.src.charCodeAt(s-1))&&(c=s),t.line=n+1,l=t.push("heading_open","h"+String(a),1),l.markup="########".slice(0,a),l.map=[n,t.line],l=t.push("inline","",0),l.content=t.src.slice(u,c).trim(),l.map=[n,t.line],l.children=[],l=t.push("heading_close","h"+String(a),-1),l.markup="########".slice(0,a)),!0)},"heading"),mMe=h(function(t,n,r){var i,o,a,s,l,u,c,f,d,p=n+1,m,v=t.md.block.ruler.getRules("paragraph");if(t.sCount[n]-t.blkIndent>=4)return!1;for(m=t.parentType,t.parentType="paragraph";p3)){if(t.sCount[p]>=t.blkIndent&&(u=t.bMarks[p]+t.tShift[p],c=t.eMarks[p],u=c)))){f=d===61?1:2;break}if(!(t.sCount[p]<0)){for(o=!1,a=0,s=v.length;a3)&&!(t.sCount[u]<0)){for(i=!1,o=0,a=c.length;o0&&this.level++,this.tokens.push(r),r};Ji.prototype.isEmpty=h(function(t){return this.bMarks[t]+this.tShift[t]>=this.eMarks[t]},"isEmpty");Ji.prototype.skipEmptyLines=h(function(t){for(var n=this.lineMax;tn;)if(!S0(this.src.charCodeAt(--t)))return t+1;return t},"skipSpacesBack");Ji.prototype.skipChars=h(function(t,n){for(var r=this.src.length;tr;)if(n!==this.src.charCodeAt(--t))return t+1;return t},"skipCharsBack");Ji.prototype.getLines=h(function(t,n,r,i){var o,a,s,l,u,c,f,d=t;if(t>=n)return"";for(c=new Array(n-t),o=0;dr?c[o]=new Array(a-r+1).join(" ")+this.src.slice(l,u):c[o]=this.src.slice(l,u)}return c.join("")},"getLines");Ji.prototype.Token=Q6;var gMe=Ji,yMe=RI,zh=[["table",q3e,["paragraph","reference"]],["code",z3e],["fence",Q3e,["paragraph","reference","blockquote","list"]],["blockquote",G3e,["paragraph","reference","blockquote","list"]],["hr",W3e,["paragraph","reference","blockquote","list"]],["list",Y3e,["paragraph","reference","blockquote"]],["reference",K3e],["html_block",pMe,["paragraph","reference","blockquote"]],["heading",hMe,["paragraph","reference","blockquote"]],["lheading",mMe],["paragraph",vMe]];function Jp(){this.ruler=new yMe;for(var e=0;e=n||e.sCount[s]=u){e.line=n;break}for(i=0;i=0&&t.pending.charCodeAt(r)===32?r>=1&&t.pending.charCodeAt(r-1)===32?(t.pending=t.pending.replace(/ +$/,""),t.push("hardbreak","br",0)):(t.pending=t.pending.slice(0,-1),t.push("softbreak","br",0)):t.push("softbreak","br",0)),o++;o?@[]^_`{|}~-".split("").forEach(function(e){PI[e.charCodeAt(0)]=1});var SMe=h(function(t,n){var r,i=t.pos,o=t.posMax;if(t.src.charCodeAt(i)!==92)return!1;if(i++,i=0;n--)r=t[n],!(r.marker!==95&&r.marker!==42)&&r.end!==-1&&(i=t[r.end],s=n>0&&t[n-1].end===r.end+1&&t[n-1].token===r.token-1&&t[r.end+1].token===i.token+1&&t[n-1].marker===r.marker,a=String.fromCharCode(r.marker),o=e.tokens[r.token],o.type=s?"strong_open":"em_open",o.tag=s?"strong":"em",o.nesting=1,o.markup=s?a+a:a,o.content="",o=e.tokens[i.token],o.type=s?"strong_close":"em_close",o.tag=s?"strong":"em",o.nesting=-1,o.markup=s?a+a:a,o.content="",s&&(e.tokens[t[n-1].token].content="",e.tokens[t[r.end+1].token].content="",n--))}h(Dw,"postProcess");I0.postProcess=h(function(t){var n,r=t.tokens_meta,i=t.tokens_meta.length;for(Dw(t,t.delimiters),n=0;n=v)return!1;if(b=l,u=t.md.helpers.parseLinkDestination(t.src,l,t.posMax),u.ok){for(d=t.md.normalizeLink(u.str),t.md.validateLink(d)?l=u.pos:d="",b=l;l=v||t.src.charCodeAt(l)!==41)&&(E=!0),l++}if(E){if(typeof t.env.references>"u")return!1;if(l=0?o=t.src.slice(b,l++):l=a+1):l=a+1,o||(o=t.src.slice(s,a)),c=t.env.references[IMe(o)],!c)return t.pos=m,!1;d=c.href,p=c.title}return n||(t.pos=s,t.posMax=a,f=t.push("link_open","a",1),f.attrs=r=[["href",d]],p&&r.push(["title",p]),t.md.inline.tokenize(t),f=t.push("link_close","a",-1)),t.pos=l,t.posMax=v,!0},"link"),DMe=at.normalizeReference,x1=at.isSpace,OMe=h(function(t,n){var r,i,o,a,s,l,u,c,f,d,p,m,v,b="",E=t.pos,y=t.posMax;if(t.src.charCodeAt(t.pos)!==33||t.src.charCodeAt(t.pos+1)!==91||(l=t.pos+2,s=t.md.helpers.parseLinkLabel(t,t.pos+1,!1),s<0))return!1;if(u=s+1,u=y)return!1;for(v=u,f=t.md.helpers.parseLinkDestination(t.src,u,t.posMax),f.ok&&(b=t.md.normalizeLink(f.str),t.md.validateLink(b)?u=f.pos:b=""),v=u;u=y||t.src.charCodeAt(u)!==41)return t.pos=E,!1;u++}else{if(typeof t.env.references>"u")return!1;if(u=0?a=t.src.slice(v,u++):u=s+1):u=s+1,a||(a=t.src.slice(l,s)),c=t.env.references[DMe(a)],!c)return t.pos=E,!1;b=c.href,d=c.title}return n||(o=t.src.slice(l,s),t.md.inline.parse(o,t.md,t.env,m=[]),p=t.push("image","img",0),p.attrs=r=[["src",b],["alt",""]],p.children=m,p.content=o,d&&r.push(["title",d])),t.pos=u,t.posMax=y,!0},"image"),CMe=/^([a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)$/,kMe=/^([a-zA-Z][a-zA-Z0-9+.\-]{1,31}):([^<>\x00-\x20]*)$/,AMe=h(function(t,n){var r,i,o,a,s,l,u=t.pos;if(t.src.charCodeAt(u)!==60)return!1;for(s=t.pos,l=t.posMax;;){if(++u>=l||(a=t.src.charCodeAt(u),a===60))return!1;if(a===62)break}return r=t.src.slice(s+1,u),kMe.test(r)?(i=t.md.normalizeLink(r),t.md.validateLink(i)?(n||(o=t.push("link_open","a",1),o.attrs=[["href",i]],o.markup="autolink",o.info="auto",o=t.push("text","",0),o.content=t.md.normalizeLinkText(r),o=t.push("link_close","a",-1),o.markup="autolink",o.info="auto"),t.pos+=r.length+2,!0):!1):CMe.test(r)?(i=t.md.normalizeLink("mailto:"+r),t.md.validateLink(i)?(n||(o=t.push("link_open","a",1),o.attrs=[["href",i]],o.markup="autolink",o.info="auto",o=t.push("text","",0),o.content=t.md.normalizeLinkText(r),o=t.push("link_close","a",-1),o.markup="autolink",o.info="auto"),t.pos+=r.length+2,!0):!1):!1},"autolink"),FMe=_0.HTML_TAG_RE;function H6(e){var t=e|32;return t>=97&&t<=122}h(H6,"isLetter");var RMe=h(function(t,n){var r,i,o,a,s=t.pos;return!t.md.options.html||(o=t.posMax,t.src.charCodeAt(s)!==60||s+2>=o)||(r=t.src.charCodeAt(s+1),r!==33&&r!==63&&r!==47&&!H6(r))||(i=t.src.slice(s).match(FMe),!i)?!1:(n||(a=t.push("html_inline","",0),a.content=t.src.slice(s,s+i[0].length)),t.pos+=i[0].length,!0)},"html_inline"),Mk=x6,LMe=at.has,$Me=at.isValidEntityCode,Vk=at.fromCodePoint,PMe=/^&#((?:x[a-f0-9]{1,6}|[0-9]{1,7}));/i,MMe=/^&([a-z][a-z0-9]{1,31});/i,VMe=h(function(t,n){var r,i,o,a=t.pos,s=t.posMax;if(t.src.charCodeAt(a)!==38)return!1;if(a+1a;r-=o.jump+1)if(o=t[r],o.marker===i.marker&&o.open&&o.end<0&&(l=!1,(o.close||i.open)&&(o.length+i.length)%3===0&&(o.length%3!==0||i.length%3!==0)&&(l=!0),!l)){u=r>0&&!t[r-1].open?t[r-1].jump+1:0,i.jump=n-r+u,i.open=!1,o.end=n,o.jump=u,o.close=!1,s=-1;break}s!==-1&&(c[i.marker][(i.open?3:0)+(i.length||0)%3]=s)}}h(Ow,"processDelimiters");var jMe=h(function(t){var n,r=t.tokens_meta,i=t.tokens_meta.length;for(Ow(t,t.delimiters),n=0;n0&&i++,o[n].type==="text"&&n+10&&(this.level++,this._prev_delimiters.push(this.delimiters),this.delimiters=[],i={delimiters:this.delimiters}),this.pendingLevel=this.level,this.tokens.push(r),this.tokens_meta.push(i),r};$c.prototype.scanDelims=function(e,t){var n=e,r,i,o,a,s,l,u,c,f,d=!0,p=!0,m=this.posMax,v=this.src.charCodeAt(e);for(r=e>0?this.src.charCodeAt(e-1):32;n=o)break;continue}e.pending+=e.src[e.pos++]}e.pending&&e.pushPending()};Pc.prototype.parse=function(e,t,n,r){var i,o,a,s=new this.State(e,t,n,r);for(this.tokenize(s),o=this.ruler2.getRules(""),a=o.length,i=0;i|$))",t.tpl_email_fuzzy="(^|"+n+'|"|\\(|'+t.src_ZCc+")("+t.src_email_name+"@"+t.tpl_host_fuzzy_strict+")",t.tpl_link_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`||]|"+t.src_ZPCc+"))((?![$+<=>^`||])"+t.tpl_host_port_fuzzy_strict+t.src_path+")",t.tpl_link_no_ip_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`||]|"+t.src_ZPCc+"))((?![$+<=>^`||])"+t.tpl_host_port_no_ip_fuzzy_strict+t.src_path+")",t},"re");function Sg(e){var t=Array.prototype.slice.call(arguments,1);return t.forEach(function(n){n&&Object.keys(n).forEach(function(r){e[r]=n[r]})}),e}h(Sg,"assign");function Kp(e){return Object.prototype.toString.call(e)}h(Kp,"_class");function W6(e){return Kp(e)==="[object String]"}h(W6,"isString");function Y6(e){return Kp(e)==="[object Object]"}h(Y6,"isObject");function J6(e){return Kp(e)==="[object RegExp]"}h(J6,"isRegExp");function Cw(e){return Kp(e)==="[object Function]"}h(Cw,"isFunction");function K6(e){return e.replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}h(K6,"escapeRE");var X6={fuzzyLink:!0,fuzzyEmail:!0,fuzzyIP:!1};function Z6(e){return Object.keys(e||{}).reduce(function(t,n){return t||X6.hasOwnProperty(n)},!1)}h(Z6,"isOptionsObj");var QMe={"http:":{validate:function(e,t,n){var r=e.slice(t);return n.re.http||(n.re.http=new RegExp("^\\/\\/"+n.re.src_auth+n.re.src_host_port_strict+n.re.src_path,"i")),n.re.http.test(r)?r.match(n.re.http)[0].length:0}},"https:":"http:","ftp:":"http:","//":{validate:function(e,t,n){var r=e.slice(t);return n.re.no_http||(n.re.no_http=new RegExp("^"+n.re.src_auth+"(?:localhost|(?:(?:"+n.re.src_domain+")\\.)+"+n.re.src_domain_root+")"+n.re.src_port+n.re.src_host_terminator+n.re.src_path,"i")),n.re.no_http.test(r)?t>=3&&e[t-3]===":"||t>=3&&e[t-3]==="/"?0:r.match(n.re.no_http)[0].length:0}},"mailto:":{validate:function(e,t,n){var r=e.slice(t);return n.re.mailto||(n.re.mailto=new RegExp("^"+n.re.src_email_name+"@"+n.re.src_host_strict,"i")),n.re.mailto.test(r)?r.match(n.re.mailto)[0].length:0}}},GMe="a[cdefgilmnoqrstuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eosuw]|s[abcdeghijklmnortuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]",HMe="biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф".split("|");function eV(e){e.__index__=-1,e.__text_cache__=""}h(eV,"resetScanCache");function tV(e){return function(t,n){var r=t.slice(n);return e.test(r)?r.match(e)[0].length:0}}h(tV,"createValidator");function kw(){return function(e,t){t.normalize(e)}}h(kw,"createNormalizer");function Gd(e){var t=e.re=zMe(e.__opts__),n=e.__tlds__.slice();e.onCompile(),e.__tlds_replaced__||n.push(GMe),n.push(t.src_xn),t.src_tlds=n.join("|");function r(s){return s.replace("%TLDS%",t.src_tlds)}h(r,"untpl"),t.email_fuzzy=RegExp(r(t.tpl_email_fuzzy),"i"),t.link_fuzzy=RegExp(r(t.tpl_link_fuzzy),"i"),t.link_no_ip_fuzzy=RegExp(r(t.tpl_link_no_ip_fuzzy),"i"),t.host_fuzzy_test=RegExp(r(t.tpl_host_fuzzy_test),"i");var i=[];e.__compiled__={};function o(s,l){throw new Error('(LinkifyIt) Invalid schema "'+s+'": '+l)}h(o,"schemaError"),Object.keys(e.__schemas__).forEach(function(s){var l=e.__schemas__[s];if(l!==null){var u={validate:null,link:null};if(e.__compiled__[s]=u,Y6(l)){J6(l.validate)?u.validate=tV(l.validate):Cw(l.validate)?u.validate=l.validate:o(s,l),Cw(l.normalize)?u.normalize=l.normalize:l.normalize?o(s,l):u.normalize=kw();return}if(W6(l)){i.push(s);return}o(s,l)}}),i.forEach(function(s){e.__compiled__[e.__schemas__[s]]&&(e.__compiled__[s].validate=e.__compiled__[e.__schemas__[s]].validate,e.__compiled__[s].normalize=e.__compiled__[e.__schemas__[s]].normalize)}),e.__compiled__[""]={validate:null,normalize:kw()};var a=Object.keys(e.__compiled__).filter(function(s){return s.length>0&&e.__compiled__[s]}).map(K6).join("|");e.re.schema_test=RegExp("(^|(?!_)(?:[><|]|"+t.src_ZPCc+"))("+a+")","i"),e.re.schema_search=RegExp("(^|(?!_)(?:[><|]|"+t.src_ZPCc+"))("+a+")","ig"),e.re.pretest=RegExp("("+e.re.schema_test.source+")|("+e.re.host_fuzzy_test.source+")|@","i"),eV(e)}h(Gd,"compile");function nV(e,t){var n=e.__index__,r=e.__last_index__,i=e.__text_cache__.slice(n,r);this.schema=e.__schema__.toLowerCase(),this.index=n+t,this.lastIndex=r+t,this.raw=i,this.text=i,this.url=i}h(nV,"Match");function Aw(e,t){var n=new nV(e,t);return e.__compiled__[n.schema].normalize(n,e),n}h(Aw,"createMatch");function jr(e,t){if(!(this instanceof jr))return new jr(e,t);t||Z6(e)&&(t=e,e={}),this.__opts__=Sg({},X6,t),this.__index__=-1,this.__last_index__=-1,this.__schema__="",this.__text_cache__="",this.__schemas__=Sg({},QMe,e),this.__compiled__={},this.__tlds__=HMe,this.__tlds_replaced__=!1,this.re={},Gd(this)}h(jr,"LinkifyIt$1");jr.prototype.add=h(function(t,n){return this.__schemas__[t]=n,Gd(this),this},"add");jr.prototype.set=h(function(t){return this.__opts__=Sg(this.__opts__,t),this},"set");jr.prototype.test=h(function(t){if(this.__text_cache__=t,this.__index__=-1,!t.length)return!1;var n,r,i,o,a,s,l,u,c;if(this.re.schema_test.test(t)){for(l=this.re.schema_search,l.lastIndex=0;(n=l.exec(t))!==null;)if(o=this.testSchemaAt(t,n[2],l.lastIndex),o){this.__schema__=n[2],this.__index__=n.index+n[1].length,this.__last_index__=n.index+n[0].length+o;break}}return this.__opts__.fuzzyLink&&this.__compiled__["http:"]&&(u=t.search(this.re.host_fuzzy_test),u>=0&&(this.__index__<0||u=0&&(i=t.match(this.re.email_fuzzy))!==null&&(a=i.index+i[1].length,s=i.index+i[0].length,(this.__index__<0||athis.__last_index__)&&(this.__schema__="mailto:",this.__index__=a,this.__last_index__=s))),this.__index__>=0},"test");jr.prototype.pretest=h(function(t){return this.re.pretest.test(t)},"pretest");jr.prototype.testSchemaAt=h(function(t,n,r){return this.__compiled__[n.toLowerCase()]?this.__compiled__[n.toLowerCase()].validate(t,r,this):0},"testSchemaAt");jr.prototype.match=h(function(t){var n=0,r=[];this.__index__>=0&&this.__text_cache__===t&&(r.push(Aw(this,n)),n=this.__last_index__);for(var i=n?t.slice(n):t;this.test(i);)r.push(Aw(this,n)),i=i.slice(this.__last_index__),n+=this.__last_index__;return r.length?r:null},"match");jr.prototype.tlds=h(function(t,n){return t=Array.isArray(t)?t:[t],n?(this.__tlds__=this.__tlds__.concat(t).sort().filter(function(r,i,o){return r!==o[i-1]}).reverse(),Gd(this),this):(this.__tlds__=t.slice(),this.__tlds_replaced__=!0,Gd(this),this)},"tlds");jr.prototype.normalize=h(function(t){t.schema||(t.url="http://"+t.url),t.schema==="mailto:"&&!/^mailto:/i.test(t.url)&&(t.url="mailto:"+t.url)},"normalize");jr.prototype.onCompile=h(function(){},"onCompile");var WMe=jr;const Mu=2147483647,vo=36,VI=1,Hd=26,YMe=38,JMe=700,rV=72,iV=128,oV="-",KMe=/^xn--/,XMe=/[^\0-\x7E]/,ZMe=/[\x2E\u3002\uFF0E\uFF61]/g,e4e={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},C1=vo-VI,go=Math.floor,k1=String.fromCharCode;function $a(e){throw new RangeError(e4e[e])}h($a,"error");function aV(e,t){const n=[];let r=e.length;for(;r--;)n[r]=t(e[r]);return n}h(aV,"map");function jI(e,t){const n=e.split("@");let r="";n.length>1&&(r=n[0]+"@",e=n[1]),e=e.replace(ZMe,".");const i=e.split("."),o=aV(i,t).join(".");return r+o}h(jI,"mapDomain");function x0(e){const t=[];let n=0;const r=e.length;for(;n=55296&&i<=56319&&nString.fromCodePoint(...e),"ucs2encode"),t4e=h(function(e){return e-48<10?e-22:e-65<26?e-65:e-97<26?e-97:vo},"basicToDigit"),zk=h(function(e,t){return e+22+75*(e<26)-((t!=0)<<5)},"digitToBasic"),lV=h(function(e,t,n){let r=0;for(e=n?go(e/JMe):e>>1,e+=go(e/t);e>C1*Hd>>1;r+=vo)e=go(e/C1);return go(r+(C1+1)*e/(e+YMe))},"adapt"),UI=h(function(e){const t=[],n=e.length;let r=0,i=iV,o=rV,a=e.lastIndexOf(oV);a<0&&(a=0);for(let s=0;s=128&&$a("not-basic"),t.push(e.charCodeAt(s));for(let s=a>0?a+1:0;s=n&&$a("invalid-input");const d=t4e(e.charCodeAt(s++));(d>=vo||d>go((Mu-r)/c))&&$a("overflow"),r+=d*c;const p=f<=o?VI:f>=o+Hd?Hd:f-o;if(dgo(Mu/m)&&$a("overflow"),c*=m}const u=t.length+1;o=lV(r-l,u,l==0),go(r/u)>Mu-i&&$a("overflow"),i+=go(r/u),r%=u,t.splice(r++,0,i)}return String.fromCodePoint(...t)},"decode"),BI=h(function(e){const t=[];e=x0(e);let n=e.length,r=iV,i=0,o=rV;for(const l of e)l<128&&t.push(k1(l));let a=t.length,s=a;for(a&&t.push(oV);s=r&&cgo((Mu-i)/u)&&$a("overflow"),i+=(l-r)*u,r=l;for(const c of e)if(cMu&&$a("overflow"),c==r){let f=i;for(let d=vo;;d+=vo){const p=d<=o?VI:d>=o+Hd?Hd:d-o;if(f=0))try{t.hostname=fV.toASCII(t.hostname)}catch{}return Xs.encode(Xs.format(t))}h(hV,"normalizeLink");function mV(e){var t=Xs.parse(e,!0);if(t.hostname&&(!t.protocol||pV.indexOf(t.protocol)>=0))try{t.hostname=fV.toUnicode(t.hostname)}catch{}return Xs.decode(Xs.format(t),Xs.decode.defaultChars+"%")}h(mV,"normalizeLinkText");function Ur(e,t){if(!(this instanceof Ur))return new Ur(e,t);t||Zf.isString(e)||(t=e||{},e="default"),this.inline=new d4e,this.block=new f4e,this.core=new c4e,this.renderer=new u4e,this.linkify=new p4e,this.validateLink=dV,this.normalizeLink=hV,this.normalizeLinkText=mV,this.utils=Zf,this.helpers=Zf.assign({},l4e),this.options={},this.configure(e),t&&this.set(t)}h(Ur,"MarkdownIt");Ur.prototype.set=function(e){return Zf.assign(this.options,e),this};Ur.prototype.configure=function(e){var t=this,n;if(Zf.isString(e)&&(n=e,e=h4e[n],!e))throw new Error('Wrong `markdown-it` preset "'+n+'", check name');if(!e)throw new Error("Wrong `markdown-it` preset, can't be empty");return e.options&&t.set(e.options),e.components&&Object.keys(e.components).forEach(function(r){e.components[r].rules&&t[r].ruler.enableOnly(e.components[r].rules),e.components[r].rules2&&t[r].ruler2.enableOnly(e.components[r].rules2)}),this};Ur.prototype.enable=function(e,t){var n=[];Array.isArray(e)||(e=[e]),["core","block","inline"].forEach(function(i){n=n.concat(this[i].ruler.enable(e,!0))},this),n=n.concat(this.inline.ruler2.enable(e,!0));var r=e.filter(function(i){return n.indexOf(i)<0});if(r.length&&!t)throw new Error("MarkdownIt. Failed to enable unknown rule(s): "+r);return this};Ur.prototype.disable=function(e,t){var n=[];Array.isArray(e)||(e=[e]),["core","block","inline"].forEach(function(i){n=n.concat(this[i].ruler.disable(e,!0))},this),n=n.concat(this.inline.ruler2.disable(e,!0));var r=e.filter(function(i){return n.indexOf(i)<0});if(r.length&&!t)throw new Error("MarkdownIt. Failed to disable unknown rule(s): "+r);return this};Ur.prototype.use=function(e){var t=[this].concat(Array.prototype.slice.call(arguments,1));return e.apply(e,t),this};Ur.prototype.parse=function(e,t){if(typeof e!="string")throw new Error("Input data should be a String");var n=new this.core.State(e,this,t);return this.core.process(n),n.tokens};Ur.prototype.render=function(e,t){return t=t||{},this.renderer.render(this.parse(e,t),this.options,t)};Ur.prototype.parseInline=function(e,t){var n=new this.core.State(e,this,t);return n.inlineMode=!0,this.core.process(n),n.tokens};Ur.prototype.renderInline=function(e,t){return t=t||{},this.renderer.render(this.parseInline(e,t),this.options,t)};var g4e=Ur,y4e=g4e;const Ng=new y4e({breaks:!0,linkify:!0}),Do=g.forwardRef((e,t)=>{var n=e,{children:r,onlyShowFirstChild:i,type:o}=n,a=Me(n,["children","onlyShowFirstChild","type"]);return q("div",Tt(et({},a),{ref:t,className:gn(`graphiql-markdown-${o}`,i&&"graphiql-markdown-preview",a.className),dangerouslySetInnerHTML:{__html:Ng.render(r)}}))});Do.displayName="MarkdownContent";const qI=g.forwardRef((e,t)=>q("div",Tt(et({},e),{ref:t,className:gn("graphiql-spinner",e.className)})));qI.displayName="Spinner";function vV(e){var t,n,r=ji(e),i=r.defaultView||window;return r?{width:(t=r.documentElement.clientWidth)!=null?t:i.innerWidth,height:(n=r.documentElement.clientHeight)!=null?n:i.innerHeight}:{width:0,height:0}}h(vV,"getDocumentDimensions");function da(){return da=Object.assign||function(e){for(var t=1;t=0)&&(n[i]=e[i]);return n}h(Xp,"_objectWithoutPropertiesLoose$1");var E4e=["children","label","ariaLabel","id","DEBUG_STYLE"],b4e=["label","ariaLabel","isVisible","id"],T4e=["ariaLabel","aria-label","as","id","isVisible","label","position","style","triggerRect"],w4e=["type"],Qh,Ps,Po,ff,Gh,Ms,_4e=100,S4e=500,nt;(function(e){e.Idle="IDLE",e.Focused="FOCUSED",e.Visible="VISIBLE",e.LeavingVisible="LEAVING_VISIBLE",e.Dismissed="DISMISSED"})(nt||(nt={}));var Ye;(function(e){e.Blur="BLUR",e.Focus="FOCUS",e.GlobalMouseMove="GLOBAL_MOUSE_MOVE",e.MouseDown="MOUSE_DOWN",e.MouseEnter="MOUSE_ENTER",e.MouseLeave="MOUSE_LEAVE",e.MouseMove="MOUSE_MOVE",e.Rest="REST",e.SelectWithKeyboard="SELECT_WITH_KEYBOARD",e.TimeComplete="TIME_COMPLETE"})(Ye||(Ye={}));var Fw={initial:nt.Idle,states:(Ms={},Ms[nt.Idle]={enter:sv,on:(Qh={},Qh[Ye.MouseEnter]=nt.Focused,Qh[Ye.Focus]=nt.Visible,Qh)},Ms[nt.Focused]={enter:EV,leave:bV,on:(Ps={},Ps[Ye.MouseMove]=nt.Focused,Ps[Ye.MouseLeave]=nt.Idle,Ps[Ye.MouseDown]=nt.Dismissed,Ps[Ye.Blur]=nt.Idle,Ps[Ye.Rest]=nt.Visible,Ps)},Ms[nt.Visible]={on:(Po={},Po[Ye.Focus]=nt.Focused,Po[Ye.MouseEnter]=nt.Focused,Po[Ye.MouseLeave]=nt.LeavingVisible,Po[Ye.Blur]=nt.LeavingVisible,Po[Ye.MouseDown]=nt.Dismissed,Po[Ye.SelectWithKeyboard]=nt.Dismissed,Po[Ye.GlobalMouseMove]=nt.LeavingVisible,Po)},Ms[nt.LeavingVisible]={enter:TV,leave:h(function(){wV(),sv()},"leave"),on:(ff={},ff[Ye.MouseEnter]=nt.Visible,ff[Ye.Focus]=nt.Visible,ff[Ye.TimeComplete]=nt.Idle,ff)},Ms[nt.Dismissed]={leave:h(function(){sv()},"leave"),on:(Gh={},Gh[Ye.MouseLeave]=nt.Idle,Gh[Ye.Blur]=nt.Idle,Gh)},Ms)},oi={value:Fw.initial,context:{id:null}},av=[];function gV(e){return av.push(e),function(){av.splice(av.indexOf(e),1)}}h(gV,"subscribe");function yV(){av.forEach(function(e){return e(oi)})}h(yV,"notify");var Rw;function EV(){window.clearTimeout(Rw),Rw=window.setTimeout(function(){Kr({type:Ye.Rest})},_4e)}h(EV,"startRestTimer");function bV(){window.clearTimeout(Rw)}h(bV,"clearRestTimer");var Lw;function TV(){window.clearTimeout(Lw),Lw=window.setTimeout(function(){return Kr({type:Ye.TimeComplete})},S4e)}h(TV,"startLeavingVisibleTimer");function wV(){window.clearTimeout(Lw)}h(wV,"clearLeavingVisibleTimer");function sv(){oi.context.id=null}h(sv,"clearContextId");function _V(e){var t=e===void 0?{}:e,n=t.id,r=t.onPointerEnter,i=t.onPointerMove,o=t.onPointerLeave,a=t.onPointerDown,s=t.onMouseEnter,l=t.onMouseMove,u=t.onMouseLeave,c=t.onMouseDown,f=t.onFocus,d=t.onBlur,p=t.onKeyDown,m=t.disabled,v=t.ref,b=t.DEBUG_STYLE,E=String(Qp(n)),y=g.useState(b?!0:$w(E,!0)),T=y[0],w=y[1],S=g.useRef(null),_=zn(v,S),I=Ud(S,{observe:T});g.useEffect(function(){return gV(function(){w($w(E))})},[E]),g.useEffect(function(){var z=ji(S.current);function B(X){(X.key==="Escape"||X.key==="Esc")&&oi.value===nt.Visible&&Kr({type:Ye.SelectWithKeyboard})}return h(B,"listener"),z.addEventListener("keydown",B),function(){return z.removeEventListener("keydown",B)}},[]),NV({disabled:m,isVisible:T,ref:S});function A(z,B){return typeof window<"u"&&"PointerEvent"in window?z:we(z,B)}h(A,"wrapMouseEvent");function N(z){return h(function(X){X.pointerType==="mouse"&&z(X)},"onPointerEvent")}h(N,"wrapPointerEventHandler");function C(){Kr({type:Ye.MouseEnter,id:E})}h(C,"handleMouseEnter");function U(){Kr({type:Ye.MouseMove,id:E})}h(U,"handleMouseMove");function G(){Kr({type:Ye.MouseLeave})}h(G,"handleMouseLeave");function Y(){oi.context.id===E&&Kr({type:Ye.MouseDown})}h(Y,"handleMouseDown");function P(){window.__REACH_DISABLE_TOOLTIPS||Kr({type:Ye.Focus,id:E})}h(P,"handleFocus");function V(){oi.context.id===E&&Kr({type:Ye.Blur})}h(V,"handleBlur");function j(z){(z.key==="Enter"||z.key===" ")&&Kr({type:Ye.SelectWithKeyboard})}h(j,"handleKeyDown");var H={"aria-describedby":T?Ui("tooltip",E):void 0,"data-state":T?"tooltip-visible":"tooltip-hidden","data-reach-tooltip-trigger":"",ref:_,onPointerEnter:we(r,N(C)),onPointerMove:we(i,N(U)),onPointerLeave:we(o,N(G)),onPointerDown:we(a,N(Y)),onMouseEnter:A(s,C),onMouseMove:A(l,U),onMouseLeave:A(u,G),onMouseDown:A(c,Y),onFocus:we(f,P),onBlur:we(d,V),onKeyDown:we(p,j)},F={id:E,triggerRect:I,isVisible:T};return[H,F,T]}h(_V,"useTooltip");var rr=g.forwardRef(function(e,t){var n=e.children,r=e.label,i=e.ariaLabel,o=e.id,a=e.DEBUG_STYLE,s=Xp(e,E4e),l=g.Children.only(n),u=_V({id:o,onPointerEnter:l.props.onPointerEnter,onPointerMove:l.props.onPointerMove,onPointerLeave:l.props.onPointerLeave,onPointerDown:l.props.onPointerDown,onMouseEnter:l.props.onMouseEnter,onMouseMove:l.props.onMouseMove,onMouseLeave:l.props.onMouseLeave,onMouseDown:l.props.onMouseDown,onFocus:l.props.onFocus,onBlur:l.props.onBlur,onKeyDown:l.props.onKeyDown,disabled:l.props.disabled,ref:l.ref,DEBUG_STYLE:a}),c=u[0],f=u[1];return g.createElement(g.Fragment,null,g.cloneElement(l,c),g.createElement(N4e,da({ref:t,label:r,"aria-label":i},f,s)))}),N4e=g.forwardRef(h(function(t,n){var r=t.label,i=t.ariaLabel,o=t.isVisible,a=t.id,s=Xp(t,b4e);return o?g.createElement(zN,null,g.createElement(I4e,da({ref:n,label:r,"aria-label":i,isVisible:o},s,{id:Ui("tooltip",String(a))}))):null},"TooltipPopup")),I4e=g.forwardRef(h(function(t,n){var r=t.ariaLabel,i=t["aria-label"],o=t.as,a=o===void 0?"div":o,s=t.id,l=t.isVisible,u=t.label,c=t.position,f=c===void 0?D4e:c,d=t.style,p=t.triggerRect,m=Xp(t,T4e),v=(i||r)!=null,b=g.useRef(null),E=zn(n,b),y=Ud(b,{observe:l});return g.createElement(g.Fragment,null,g.createElement(a,da({role:v?void 0:"tooltip"},m,{ref:E,"data-reach-tooltip":"",id:v?void 0:s,style:da({},d,SV(f,p,y))}),u),v&&g.createElement(k4,{role:"tooltip",id:s},i||r))},"TooltipContent"));function SV(e,t,n){var r=!n;return r?{visibility:"hidden"}:e(t,n)}h(SV,"getStyles");var x4e=8,D4e=h(function(t,n,r){r===void 0&&(r=x4e);var i=vV(),o=i.width,a=i.height;if(!t||!n)return{};var s={top:t.top-n.height<0,right:o{var n=e,{isActive:r}=n,i=Me(n,["isActive"]);return q("div",Tt(et({},i),{ref:t,role:"tab","aria-selected":r,className:gn("graphiql-tab",r&&"graphiql-tab-active",i.className),children:i.children}))});xV.displayName="Tab";const DV=g.forwardRef((e,t)=>q(ln,Tt(et({},e),{ref:t,type:"button",className:gn("graphiql-tab-button",e.className),children:e.children})));DV.displayName="Tab.Button";const OV=g.forwardRef((e,t)=>q(rr,{label:"Close Tab",children:q(ln,Tt(et({"aria-label":"Close Tab"},e),{ref:t,type:"button",className:gn("graphiql-tab-close",e.className),children:q(UN,{})}))}));OV.displayName="Tab.Close";const A1=Fc(xV,{Button:DV,Close:OV}),CV=g.forwardRef((e,t)=>q("div",Tt(et({},e),{ref:t,role:"tablist",className:gn("graphiql-tabs",e.className),children:e.children})));CV.displayName="Tabs";var O4e=Object.defineProperty,C4e=h((e,t)=>O4e(e,"name",{value:t,configurable:!0}),"__name$C");const kV=Ea("HistoryContext");function zI(e){var t;const n=Ns(),r=g.useRef(new MP(n||new lg(null),e.maxHistoryLength||k4e)),[i,o]=g.useState(((t=r.current)==null?void 0:t.queries)||[]),a=g.useCallback(({query:c,variables:f,headers:d,operationName:p})=>{var m;(m=r.current)==null||m.updateHistory(c,f,d,p),o(r.current.queries)},[]),s=g.useCallback(({query:c,variables:f,headers:d,operationName:p,label:m,favorite:v})=>{r.current.editLabel(c,f,d,p,m,v),o(r.current.queries)},[]),l=g.useCallback(({query:c,variables:f,headers:d,operationName:p,label:m,favorite:v})=>{r.current.toggleFavorite(c,f,d,p,m,v),o(r.current.queries)},[]),u=g.useMemo(()=>({addToHistory:a,editLabel:s,items:i,toggleFavorite:l}),[a,s,i,l]);return q(kV.Provider,{value:u,children:e.children})}h(zI,"HistoryContextProvider");C4e(zI,"HistoryContextProvider");const D0=ba(kV),k4e=20;var A4e=Object.defineProperty,QI=h((e,t)=>A4e(e,"name",{value:t,configurable:!0}),"__name$B");function GI(){const{items:e}=D0({nonNull:!0}),t=e.slice().reverse();return Ne("section",{"aria-label":"History",className:"graphiql-history",children:[q("div",{className:"graphiql-history-header",children:"History"}),q("ul",{className:"graphiql-history-items",children:t.map((n,r)=>Ne(g.Fragment,{children:[q(Wd,{item:n}),n.favorite&&t[r+1]&&!t[r+1].favorite?q("div",{className:"graphiql-history-item-spacer"}):null]},`${r}:${n.label||n.query}`))})]})}h(GI,"History");QI(GI,"History");function Wd(e){const{editLabel:t,toggleFavorite:n}=D0({nonNull:!0,caller:Wd}),{headerEditor:r,queryEditor:i,variableEditor:o}=Gn({nonNull:!0,caller:Wd}),a=g.useRef(null),s=g.useRef(null),[l,u]=g.useState(!1);g.useEffect(()=>{l&&a.current&&a.current.focus()},[l]);const c=e.item.label||e.item.operationName||HI(e.item.query);return q("li",{className:gn("graphiql-history-item",l&&"editable"),children:l?Ne(Dr,{children:[q("input",{type:"text",defaultValue:e.item.label,ref:a,onKeyDown:f=>{f.keyCode===27?u(!1):f.keyCode===13&&(u(!1),t(Tt(et({},e.item),{label:f.currentTarget.value})))},placeholder:"Type a label"}),q(ln,{type:"button",ref:s,onClick:()=>{var f;u(!1),t(Tt(et({},e.item),{label:(f=a.current)==null?void 0:f.value}))},children:"Save"}),q(ln,{type:"button",ref:s,onClick:()=>{u(!1)},children:q(UN,{})})]}):Ne(Dr,{children:[q(ln,{type:"button",className:"graphiql-history-item-label",onClick:()=>{var f,d,p;i==null||i.setValue((f=e.item.query)!=null?f:""),o==null||o.setValue((d=e.item.variables)!=null?d:""),r==null||r.setValue((p=e.item.headers)!=null?p:"")},children:c}),q(rr,{label:"Edit label",children:q(ln,{type:"button",className:"graphiql-history-item-action",onClick:f=>{f.stopPropagation(),u(!0)},"aria-label":"Edit label",children:q(GZ,{"aria-hidden":"true"})})}),q(rr,{label:e.item.favorite?"Remove favorite":"Add favorite",children:q(ln,{type:"button",className:"graphiql-history-item-action",onClick:f=>{f.stopPropagation(),n(e.item)},"aria-label":e.item.favorite?"Remove favorite":"Add favorite",children:e.item.favorite?q(XZ,{"aria-hidden":"true"}):q(ZZ,{"aria-hidden":"true"})})})]})})}h(Wd,"HistoryItem");QI(Wd,"HistoryItem");function HI(e){return e==null?void 0:e.split(` +`).map(t=>t.replace(/#(.*)/,"")).join(" ").replace(/{/g," { ").replace(/}/g," } ").replace(/[\s]{2,}/g," ")}h(HI,"formatQuery");QI(HI,"formatQuery");var F4e=Object.defineProperty,Ig=h((e,t)=>F4e(e,"name",{value:t,configurable:!0}),"__name$A");const AV=Ea("ExecutionContext");function Yd(e){if(!e.fetcher)throw new TypeError("The `ExecutionContextProvider` component requires a `fetcher` function to be passed as prop.");const{externalFragments:t,headerEditor:n,queryEditor:r,responseEditor:i,variableEditor:o,updateActiveTabValues:a}=Gn({nonNull:!0,caller:Yd}),s=D0(),l=tp({getDefaultFieldNames:e.getDefaultFieldNames,caller:Yd}),[u,c]=g.useState(!1),[f,d]=g.useState(null),p=g.useRef(0),m=g.useCallback(()=>{f==null||f.unsubscribe(),c(!1),d(null)},[f]),{fetcher:v,children:b,operationName:E}=e,y=g.useCallback(async()=>{var S,_;if(!r||!i)return;if(f){m();return}const I=Ig(V=>{i.setValue(V),a({response:V})},"setResponse");p.current+=1;const A=p.current;let N=l()||r.getValue();const C=o==null?void 0:o.getValue();let U;try{U=xg({json:C,errorMessageParse:"Variables are invalid JSON",errorMessageType:"Variables are not a JSON object."})}catch(V){I(V instanceof Error?V.message:`${V}`);return}const G=n==null?void 0:n.getValue();let Y;try{Y=xg({json:G,errorMessageParse:"Headers are invalid JSON",errorMessageType:"Headers are not a JSON object."})}catch(V){I(V instanceof Error?V.message:`${V}`);return}if(t){const V=r.documentAST?pZ(r.documentAST,t):[];V.length>0&&(N+=` +`+V.map(j=>ot(j)).join(` +`))}I(""),c(!0);const P=(S=E??r.operationName)!=null?S:void 0;s==null||s.addToHistory({query:N,variables:C,headers:G,operationName:P});try{let V={data:{}};const j=Ig(z=>{if(A!==p.current)return;let B=Array.isArray(z)?z:!1;if(!B&&typeof z=="object"&&z!==null&&"hasNext"in z&&(B=[z]),B){const X={data:V.data},x=[...(V==null?void 0:V.errors)||[],...B.map(M=>M.errors).flat().filter(Boolean)];x.length&&(X.errors=x);for(const M of B){const L=M,{path:R,data:J,errors:ae}=L,se=Me(L,["path","data","errors"]);if(R){if(!J)throw new Error(`Expected part to contain a data property, but got ${M}`);IZ(X.data,R,J,{merge:!0})}else J&&(X.data=J);V=et(et({},X),se)}c(!1),I(sg(V))}else{const X=sg(z);c(!1),I(X)}},"handleResponse"),H=v({query:N,variables:U,operationName:P},{headers:Y??void 0,documentAST:(_=r.documentAST)!=null?_:void 0}),F=await Promise.resolve(H);if(EN(F))d(F.subscribe({next(z){j(z)},error(z){c(!1),z&&I(sl(z)),d(null)},complete(){c(!1),d(null)}}));else if(bN(F)){d({unsubscribe:()=>{var z,B;return(B=(z=F[Symbol.asyncIterator]()).return)==null?void 0:B.call(z)}});try{for await(const z of F)j(z);c(!1),d(null)}catch(z){c(!1),I(sl(z)),d(null)}}else j(F)}catch(V){c(!1),I(sl(V)),d(null)}},[l,t,v,n,s,E,r,i,m,f,a,o]),T=Boolean(f),w=g.useMemo(()=>({isFetching:u,isSubscribed:T,operationName:E??null,run:y,stop:m}),[u,T,E,y,m]);return q(AV.Provider,{value:w,children:b})}h(Yd,"ExecutionContextProvider");Ig(Yd,"ExecutionContextProvider");const Mc=ba(AV);function xg({json:e,errorMessageParse:t,errorMessageType:n}){let r;try{r=e&&e.trim()!==""?JSON.parse(e):void 0}catch(o){throw new Error(`${t}: ${o instanceof Error?o.message:o}.`)}const i=typeof r=="object"&&r!==null&&!Array.isArray(r);if(r!==void 0&&!i)throw new Error(n);return r}h(xg,"tryParseJsonObject");Ig(xg,"tryParseJsonObject");var R4e=Object.defineProperty,L4e=h((e,t)=>R4e(e,"name",{value:t,configurable:!0}),"__name$z");const O0="graphiql",C0="sublime";let FV=!1;typeof window=="object"&&(FV=window.navigator.platform.toLowerCase().indexOf("mac")===0);const k0={[FV?"Cmd-F":"Ctrl-F"]:"findPersistent","Cmd-G":"findPersistent","Ctrl-G":"findPersistent","Ctrl-Left":"goSubwordLeft","Ctrl-Right":"goSubwordRight","Alt-Left":"goGroupLeft","Alt-Right":"goGroupRight"};async function Ml(e,t){const n=await Xe(()=>import("./codemirror.es-2fb7d200.js"),[]).then(function(r){return r.c}).then(r=>typeof r=="function"?r:r.default);return await Promise.all((t==null?void 0:t.useCommonAddons)===!1?e:[Xe(()=>import("./show-hint.es-add0cd11.js"),["assets/show-hint.es-add0cd11.js","assets/codemirror.es-2fb7d200.js"]).then(function(r){return r.s}),Xe(()=>import("./matchbrackets.es-41794d05.js"),["assets/matchbrackets.es-41794d05.js","assets/codemirror.es-2fb7d200.js"]).then(function(r){return r.m}),Xe(()=>import("./closebrackets.es-1b039fdb.js"),["assets/closebrackets.es-1b039fdb.js","assets/codemirror.es-2fb7d200.js"]).then(function(r){return r.c}),Xe(()=>import("./brace-fold.es-fafe635c.js"),["assets/brace-fold.es-fafe635c.js","assets/codemirror.es-2fb7d200.js"]).then(function(r){return r.b}),Xe(()=>import("./foldgutter.es-1cf7ffbd.js"),["assets/foldgutter.es-1cf7ffbd.js","assets/codemirror.es-2fb7d200.js"]).then(function(r){return r.f}),Xe(()=>import("./lint.es3-1cbd4a05.js"),["assets/lint.es3-1cbd4a05.js","assets/codemirror.es-2fb7d200.js"]).then(function(r){return r.l}),Xe(()=>import("./searchcursor.es-34813366.js"),["assets/searchcursor.es-34813366.js","assets/codemirror.es-2fb7d200.js"]).then(function(r){return r.s}),Xe(()=>import("./jump-to-line.es-d1e12e3b.js"),["assets/jump-to-line.es-d1e12e3b.js","assets/codemirror.es-2fb7d200.js","assets/dialog.es-aa8a9c34.js"]).then(function(r){return r.j}),Xe(()=>import("./dialog.es-aa8a9c34.js"),["assets/dialog.es-aa8a9c34.js","assets/codemirror.es-2fb7d200.js"]).then(function(r){return r.d}),Xe(()=>import("./sublime.es-281dd5a5.js"),["assets/sublime.es-281dd5a5.js","assets/codemirror.es-2fb7d200.js","assets/searchcursor.es-34813366.js","assets/matchbrackets.es-41794d05.js"]).then(function(r){return r.s}),...e]),n}h(Ml,"importCodeMirror");L4e(Ml,"importCodeMirror");var $4e=h(function(){var e=document.getSelection();if(!e.rangeCount)return function(){};for(var t=document.activeElement,n=[],r=0;r"u"){n&&console.warn("unable to use e.clipboardData"),n&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var f=Qk[t.format]||Qk.default;window.clipboardData.setData(f,e)}else c.clipboardData.clearData(),c.clipboardData.setData(t.format,e);t.onCopy&&(c.preventDefault(),t.onCopy(c.clipboardData))}),document.body.appendChild(s),o.selectNodeContents(s),a.addRange(o);var u=document.execCommand("copy");if(!u)throw new Error("copy command was unsuccessful");l=!0}catch(c){n&&console.error("unable to copy using execCommand: ",c),n&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(t.format||"text",e),t.onCopy&&t.onCopy(window.clipboardData),l=!0}catch(f){n&&console.error("unable to copy using clipboardData: ",f),n&&console.error("falling back to prompt"),r=RV("message"in t?t.message:M4e),window.prompt(r,e)}}finally{a&&(typeof a.removeRange=="function"?a.removeRange(o):a.removeAllRanges()),s&&document.body.removeChild(s),i()}return l}h(LV,"copy");var V4e=LV,j4e=Object.defineProperty,$V=h((e,t)=>j4e(e,"name",{value:t,configurable:!0}),"__name$y");const U4e=$V(e=>e?ot(e):"","printDefault");function A0({field:e}){if(!("defaultValue"in e)||e.defaultValue===void 0)return null;const t=Go(e.defaultValue,e.type);return t?Ne(Dr,{children:[" = ",q("span",{className:"graphiql-doc-explorer-default-value",children:U4e(t)})]}):null}h(A0,"DefaultValue");$V(A0,"DefaultValue");var B4e=Object.defineProperty,Jd=h((e,t)=>B4e(e,"name",{value:t,configurable:!0}),"__name$x");const PV=Ea("SchemaContext");function F0(e){if(!e.fetcher)throw new TypeError("The `SchemaContextProvider` component requires a `fetcher` function to be passed as prop.");const{initialHeaders:t,headerEditor:n}=Gn({nonNull:!0,caller:F0}),[r,i]=g.useState(),[o,a]=g.useState(!1),[s,l]=g.useState(null),u=g.useRef(0);g.useEffect(()=>{i(yv(e.schema)||e.schema===null||e.schema===void 0?e.schema:void 0),u.current++},[e.schema]);const c=g.useRef(t);g.useEffect(()=>{n&&(c.current=n.getValue())});const{introspectionQuery:f,introspectionQueryName:d,introspectionQuerySansSubscriptions:p}=WI({inputValueDeprecation:e.inputValueDeprecation,introspectionQueryName:e.introspectionQueryName,schemaDescription:e.schemaDescription}),{fetcher:m,onSchemaChange:v,dangerouslyAssumeSchemaIsValid:b,children:E}=e,y=g.useCallback(()=>{if(yv(e.schema)||e.schema===null)return;const S=++u.current,_=e.schema;async function I(){if(_)return _;const A=YI(c.current);if(!A.isValidJSON){l("Introspection failed as headers are invalid.");return}const N=A.headers?{headers:A.headers}:{},C=MT(m({query:f,operationName:d},N));if(!PT(C)){l("Fetcher did not return a Promise for introspection.");return}a(!0),l(null);let U=await C;if(typeof U!="object"||U===null||!("data"in U)){const Y=MT(m({query:p,operationName:d},N));if(!PT(Y))throw new Error("Fetcher did not return a Promise for introspection.");U=await Y}if(a(!1),U!=null&&U.data&&"__schema"in U.data)return U.data;const G=typeof U=="string"?U:sg(U);l(G)}h(I,"fetchIntrospectionData"),Jd(I,"fetchIntrospectionData"),I().then(A=>{if(!(S!==u.current||!A))try{const N=BR(A);i(N),v==null||v(N)}catch(N){l(sl(N))}}).catch(A=>{S===u.current&&(l(sl(A)),a(!1))})},[m,d,f,p,v,e.schema]);g.useEffect(()=>{y()},[y]),g.useEffect(()=>{function S(_){_.keyCode===82&&_.shiftKey&&_.ctrlKey&&y()}return h(S,"triggerIntrospection"),Jd(S,"triggerIntrospection"),window.addEventListener("keydown",S),()=>window.removeEventListener("keydown",S)});const T=g.useMemo(()=>!r||b?[]:uy(r),[r,b]),w=g.useMemo(()=>({fetchError:s,introspect:y,isFetching:o,schema:r,validationErrors:T}),[s,y,o,r,T]);return q(PV.Provider,{value:w,children:E})}h(F0,"SchemaContextProvider");Jd(F0,"SchemaContextProvider");const Ki=ba(PV);function WI({inputValueDeprecation:e,introspectionQueryName:t,schemaDescription:n}){return g.useMemo(()=>{const r=t||"IntrospectionQuery";let i=Q_({inputValueDeprecation:e,schemaDescription:n});t&&(i=i.replace("query IntrospectionQuery",`query ${r}`));const o=i.replace("subscriptionType { name }","");return{introspectionQueryName:r,introspectionQuery:i,introspectionQuerySansSubscriptions:o}},[e,t,n])}h(WI,"useIntrospectionQuery");Jd(WI,"useIntrospectionQuery");function YI(e){let t=null,n=!0;try{e&&(t=JSON.parse(e))}catch{n=!1}return{headers:t,isValidJSON:n}}h(YI,"parseHeaderString");Jd(YI,"parseHeaderString");var q4e=Object.defineProperty,z4e=h((e,t)=>q4e(e,"name",{value:t,configurable:!0}),"__name$w");const Hh={name:"Docs"},MV=Ea("ExplorerContext");function R0(e){const{schema:t,validationErrors:n}=Ki({nonNull:!0,caller:R0}),[r,i]=g.useState([Hh]),o=g.useCallback(u=>{i(c=>c[c.length-1].def===u.def?c:[...c,u])},[]),a=g.useCallback(()=>{i(u=>u.length>1?u.slice(0,-1):u)},[]),s=g.useCallback(()=>{i(u=>u.length===1?u:[Hh])},[]);g.useEffect(()=>{t==null||n.length>0?s():i(u=>{if(u.length===1)return u;const c=[Hh];let f=null;for(const d of u)if(d!==Hh)if(d.def)if(Cl(d.def)){const p=t.getType(d.def.name);if(p)c.push({name:d.name,def:p}),f=p;else break}else{if(f===null)break;if(Le(f)||st(f)){const p=f.getFields()[d.name];if(p)c.push({name:d.name,def:p});else break}else{if(hr(f)||Lt(f)||je(f)||Zt(f))break;{const p=f;if(p.args.find(v=>v.name===d.name))c.push({name:d.name,def:p});else break}}}else f=null,c.push(d);return c})},[s,t,n]);const l=g.useMemo(()=>({explorerNavStack:r,push:o,pop:a,reset:s}),[r,o,a,s]);return q(MV.Provider,{value:l,children:e.children})}h(R0,"ExplorerContextProvider");z4e(R0,"ExplorerContextProvider");const ks=ba(MV);var Q4e=Object.defineProperty,G4e=h((e,t)=>Q4e(e,"name",{value:t,configurable:!0}),"__name$v");function vc(e,t){return _e(e)?Ne(Dr,{children:[vc(e.ofType,t),"!"]}):ut(e)?Ne(Dr,{children:["[",vc(e.ofType,t),"]"]}):t(e)}h(vc,"renderType");G4e(vc,"renderType");var H4e=Object.defineProperty,W4e=h((e,t)=>H4e(e,"name",{value:t,configurable:!0}),"__name$u");function Pi(e){const{push:t}=ks({nonNull:!0,caller:Pi});return e.type?vc(e.type,n=>q("a",{className:"graphiql-doc-explorer-type-name",onClick:r=>{r.preventDefault(),t({name:n.name,def:n})},href:"#",children:n.name})):null}h(Pi,"TypeLink");W4e(Pi,"TypeLink");var Y4e=Object.defineProperty,J4e=h((e,t)=>Y4e(e,"name",{value:t,configurable:!0}),"__name$t");function gc({arg:e,showDefaultValue:t,inline:n}){const r=Ne("span",{children:[q("span",{className:"graphiql-doc-explorer-argument-name",children:e.name}),": ",q(Pi,{type:e.type}),t!==!1&&q(A0,{field:e})]});return n?r:Ne("div",{className:"graphiql-doc-explorer-argument",children:[r,e.description?q(Do,{type:"description",children:e.description}):null,e.deprecationReason?Ne("div",{className:"graphiql-doc-explorer-argument-deprecation",children:[q("div",{className:"graphiql-doc-explorer-argument-deprecation-label",children:"Deprecated"}),q(Do,{type:"deprecation",children:e.deprecationReason})]}):null]})}h(gc,"Argument");J4e(gc,"Argument");var K4e=Object.defineProperty,X4e=h((e,t)=>K4e(e,"name",{value:t,configurable:!0}),"__name$s");function L0(e){return e.children?Ne("div",{className:"graphiql-doc-explorer-deprecation",children:[q("div",{className:"graphiql-doc-explorer-deprecation-label",children:"Deprecated"}),q(Do,{type:"deprecation",onlyShowFirstChild:!0,children:e.children})]}):null}h(L0,"DeprecationReason");X4e(L0,"DeprecationReason");var Z4e=Object.defineProperty,e6e=h((e,t)=>Z4e(e,"name",{value:t,configurable:!0}),"__name$r");function JI({directive:e}){return Ne("span",{className:"graphiql-doc-explorer-directive",children:["@",e.name.value]})}h(JI,"Directive");e6e(JI,"Directive");var t6e=Object.defineProperty,n6e=h((e,t)=>t6e(e,"name",{value:t,configurable:!0}),"__name$q");function Br(e){const t=r6e[e.title];return Ne("div",{children:[Ne("div",{className:"graphiql-doc-explorer-section-title",children:[q(t,{}),e.title]}),q("div",{className:"graphiql-doc-explorer-section-content",children:e.children})]})}h(Br,"ExplorerSection");n6e(Br,"ExplorerSection");const r6e={Arguments:DZ,"Deprecated Arguments":FZ,"Deprecated Enum Values":RZ,"Deprecated Fields":LZ,Directives:$Z,"Enum Values":VZ,Fields:jZ,Implements:BZ,Implementations:m1,"Possible Types":m1,"Root Types":JZ,Type:m1};var i6e=Object.defineProperty,KI=h((e,t)=>i6e(e,"name",{value:t,configurable:!0}),"__name$p");function XI(e){return Ne(Dr,{children:[e.field.description?q(Do,{type:"description",children:e.field.description}):null,q(L0,{children:e.field.deprecationReason}),q(Br,{title:"Type",children:q(Pi,{type:e.field.type})}),q(ZI,{field:e.field}),q(ex,{field:e.field})]})}h(XI,"FieldDocumentation");KI(XI,"FieldDocumentation");function ZI({field:e}){const[t,n]=g.useState(!1);if(!("args"in e))return null;const r=[],i=[];for(const o of e.args)o.deprecationReason?i.push(o):r.push(o);return Ne(Dr,{children:[r.length>0?q(Br,{title:"Arguments",children:r.map(o=>q(gc,{arg:o},o.name))}):null,i.length>0?t||r.length===0?q(Br,{title:"Deprecated Arguments",children:i.map(o=>q(gc,{arg:o},o.name))}):q(co,{type:"button",onClick:()=>{n(!0)},children:"Show Deprecated Arguments"}):null]})}h(ZI,"Arguments");KI(ZI,"Arguments");function ex({field:e}){var t;const n=((t=e.astNode)==null?void 0:t.directives)||[];return!n||n.length===0?null:q(Br,{title:"Directives",children:n.map(r=>q("div",{children:q(JI,{directive:r})},r.name.value))})}h(ex,"Directives");KI(ex,"Directives");var o6e=Object.defineProperty,a6e=h((e,t)=>o6e(e,"name",{value:t,configurable:!0}),"__name$o");function tx(e){var t,n,r,i;const o=e.schema.getQueryType(),a=(n=(t=e.schema).getMutationType)==null?void 0:n.call(t),s=(i=(r=e.schema).getSubscriptionType)==null?void 0:i.call(r);return Ne(Dr,{children:[q(Do,{type:"description",children:e.schema.description||"A GraphQL schema provides a root type for each kind of operation."}),Ne(Br,{title:"Root Types",children:[o?Ne("div",{children:[q("span",{className:"graphiql-doc-explorer-root-type",children:"query"}),": ",q(Pi,{type:o})]}):null,a&&Ne("div",{children:[q("span",{className:"graphiql-doc-explorer-root-type",children:"mutation"}),": ",q(Pi,{type:a})]}),s&&Ne("div",{children:[q("span",{className:"graphiql-doc-explorer-root-type",children:"subscription"}),": ",q(Pi,{type:s})]})]})]})}h(tx,"SchemaDocumentation");a6e(tx,"SchemaDocumentation");function VV(e,t){var n=g.useRef(!1);g.useEffect(function(){n.current?e():n.current=!0},t)}h(VV,"useUpdateEffect");function Vc(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}h(Vc,"_objectWithoutPropertiesLoose");function un(){return un=Object.assign||function(e){for(var t=1;tf&&s.push({highlight:!1,start:f,end:d}),c.index===u.lastIndex&&u.lastIndex++}return s},[])}h(rx,"defaultFindChunks");function ix(e){var t=e.chunksToHighlight,n=e.totalLength,r=[];if(t.length===0)o(0,n,!1);else{var i=0;t.forEach(function(a){o(i,a.start,!1),o(a.start,a.end,!0),i=a.end}),o(i,n,!1)}return r;function o(a,s,l){s-a>0&&r.push({start:a,end:s,highlight:l})}}h(ix,"fillInChunks");function UV(e){return e}h(UV,"defaultSanitize");function BV(e){return e.replace(/[-[\]/{}()*+?.\\^$|]/g,"\\$&")}h(BV,"escapeRegExpFn");var s6e={combineChunks:nx,fillInChunks:ix,findAll:jV,findChunks:rx},l6e=["onSelect","openOnFocus","children","as","aria-label","aria-labelledby"],u6e=["as","selectOnClick","autocomplete","onClick","onChange","onKeyDown","onBlur","onFocus","value"],c6e=["as","children","portal","onKeyDown","onBlur","position"],f6e=["persistSelection","as"],d6e=["as","children","index","value","onClick"],oo,wi,Hr,ao,Wl,mt="IDLE",Yr="SUGGESTING",Pa="NAVIGATING",Vu="INTERACTING",yu="CLEAR",Eu="CHANGE",ox="INITIAL_CHANGE",yr="NAVIGATE",ax="SELECT_WITH_KEYBOARD",cl="SELECT_WITH_CLICK",ju="ESCAPE",bu="BLUR",Dg="INTERACT",Tu="FOCUS",sx="OPEN_WITH_BUTTON",lx="OPEN_WITH_INPUT_CLICK",lv="CLOSE_WITH_BUTTON",p6e={initial:mt,states:(Wl={},Wl[mt]={on:(oo={},oo[bu]=mt,oo[yu]=mt,oo[Eu]=Yr,oo[ox]=mt,oo[Tu]=Yr,oo[yr]=Pa,oo[sx]=Yr,oo[lx]=Yr,oo)},Wl[Yr]={on:(wi={},wi[Eu]=Yr,wi[Tu]=Yr,wi[yr]=Pa,wi[yu]=mt,wi[ju]=mt,wi[bu]=mt,wi[cl]=mt,wi[Dg]=Vu,wi[lv]=mt,wi)},Wl[Pa]={on:(Hr={},Hr[Eu]=Yr,Hr[Tu]=Yr,Hr[yu]=mt,Hr[bu]=mt,Hr[ju]=mt,Hr[yr]=Pa,Hr[cl]=mt,Hr[ax]=mt,Hr[lv]=mt,Hr[Dg]=Vu,Hr)},Wl[Vu]={on:(ao={},ao[yu]=mt,ao[Eu]=Yr,ao[Tu]=Yr,ao[bu]=mt,ao[ju]=mt,ao[yr]=Pa,ao[lv]=mt,ao[cl]=mt,ao)},Wl)},h6e=h(function(t,n){var r=un({},t,{lastEventType:n.type});switch(n.type){case Eu:case ox:return un({},r,{navigationValue:null,value:n.value});case yr:case sx:case lx:return un({},r,{navigationValue:Pw(r,n)});case yu:return un({},r,{value:"",navigationValue:null});case bu:case ju:return un({},r,{navigationValue:null});case cl:return un({},r,{value:n.isControlled?t.value:n.value,navigationValue:null});case ax:return un({},r,{value:n.isControlled?t.value:t.navigationValue,navigationValue:null});case lv:return un({},r,{navigationValue:null});case Dg:return r;case Tu:return un({},r,{navigationValue:Pw(r,n)});default:return r}},"reducer");function qV(e){return[Yr,Pa,Vu].includes(e)}h(qV,"popoverIsExpanded");function Pw(e,t){return t.value?t.value:t.persistSelection?e.value:null}h(Pw,"findNavigationValue");var ux=r0(),As=l0("ComboboxContext",{}),zV=l0("OptionContext",{}),m6e=g.forwardRef(function(e,t){var n,r=e.onSelect,i=e.openOnFocus,o=i===void 0?!1:i,a=e.children,s=e.as,l=s===void 0?"div":s,u=e["aria-label"],c=e["aria-labelledby"],f=Vc(e,l6e),d=o0(),p=d[0],m=d[1],v=g.useRef(),b=g.useRef(),E=g.useRef(),y=g.useRef(!1),T=g.useRef(!1),w={value:"",navigationValue:null},S=HV(p6e,h6e,w),_=S[0],I=S[1],A=S[2];GV(I.lastEventType,v);var N=Qp(f.id),C=N?Ui("listbox",N):"listbox",U=g.useRef(!1),G=qV(_),Y={ariaLabel:u,ariaLabelledby:c,autocompletePropRef:y,buttonRef:E,comboboxId:N,data:I,inputRef:v,isExpanded:G,listboxId:C,onSelect:r||_l,openOnFocus:o,persistSelectionRef:T,popoverRef:b,state:_,transition:A,isControlledRef:U};return g.createElement(s0,{context:ux,items:p,set:m},g.createElement(As.Provider,{value:Y},g.createElement(l,un({},f,{"data-reach-combobox":"","data-state":$0(_),"data-expanded":G||void 0,ref:t}),ko(a)?a({id:N,isExpanded:G,navigationValue:(n=I.navigationValue)!=null?n:null,state:_}):a)))}),v6e=g.forwardRef(function(e,t){var n=e.as,r=n===void 0?"input":n,i=e.selectOnClick,o=i===void 0?!1:i,a=e.autocomplete,s=a===void 0?!0:a,l=e.onClick,u=e.onChange,c=e.onKeyDown,f=e.onBlur,d=e.onFocus,p=e.value,m=Vc(e,u6e),v=g.useRef(p),b=v.current,E=g.useRef(!1);VV(function(){E.current=!0},[p]);var y=g.useContext(As),T=y.data,w=T.navigationValue,S=T.value,_=T.lastEventType,I=y.inputRef,A=y.state,N=y.transition,C=y.listboxId,U=y.autocompletePropRef,G=y.openOnFocus,Y=y.isExpanded,P=y.ariaLabel,V=y.ariaLabelledby,j=y.persistSelectionRef,H=y.isControlledRef,F=zn(I,t),z=g.useRef(!1),B=cx(),X=fx(),x=typeof p<"u";g.useEffect(function(){H.current=x},[x]),na(function(){U.current=s},[s,U]);var M=g.useCallback(function(se){se.trim()===""?N(yu,{isControlled:x}):se===b&&!E.current?N(ox,{value:se}):N(Eu,{value:se})},[b,N,x]);g.useEffect(function(){x&&p!==S&&(p.trim()!==""||(S||"").trim()!=="")&&M(p)},[p,M,x,S]);function L(se){var $e=se.target.value;x||M($e)}h(L,"handleChange");function R(){o&&(z.current=!0),G&&_!==cl&&N(Tu,{persistSelection:j.current})}h(R,"handleFocus");function J(){if(z.current){var se;z.current=!1,(se=I.current)==null||se.select()}G&&A===mt&&N(lx)}h(J,"handleClick");var ae=s&&(A===Pa||A===Vu)?w||p||S:p||S;return g.createElement(r,un({"aria-activedescendant":w?String(dx(w)):void 0,"aria-autocomplete":"both","aria-controls":C,"aria-expanded":Y,"aria-haspopup":"listbox","aria-label":P,"aria-labelledby":P?void 0:V,role:"combobox"},m,{"data-reach-combobox-input":"","data-state":$0(A),ref:F,onBlur:we(f,X),onChange:we(u,L),onClick:we(l,J),onFocus:we(d,R),onKeyDown:we(c,B),value:ae||""}))}),g6e=g.forwardRef(function(e,t){var n=e.as,r=n===void 0?"div":n,i=e.children,o=e.portal,a=o===void 0?!0:o,s=e.onKeyDown,l=e.onBlur,u=e.position,c=u===void 0?W4:u,f=Vc(e,c6e),d=g.useContext(As),p=d.popoverRef,m=d.inputRef,v=d.isExpanded,b=d.state,E=zn(p,t),y=cx(),T=fx(),w={"data-reach-combobox-popover":"","data-state":$0(b),onKeyDown:we(s,y),onBlur:we(l,T),hidden:!v,tabIndex:-1,children:i};return a?g.createElement(gI,un({as:r},f,{ref:E,"data-expanded":v||void 0,position:c,targetRef:m,unstable_skipInitialPortalRender:!0},w)):g.createElement(r,un({ref:E},f,w))}),y6e=g.forwardRef(function(e,t){var n=e.persistSelection,r=n===void 0?!1:n,i=e.as,o=i===void 0?"ul":i,a=Vc(e,f6e),s=g.useContext(As),l=s.persistSelectionRef,u=s.listboxId;return r&&(l.current=!0),g.createElement(o,un({role:"listbox"},a,{ref:t,"data-reach-combobox-list":"",id:u}))}),F1=g.forwardRef(function(e,t){var n=e.as,r=n===void 0?"li":n,i=e.children,o=e.index,a=e.value,s=e.onClick,l=Vc(e,d6e),u=g.useContext(As),c=u.onSelect,f=u.data.navigationValue,d=u.transition,p=u.isControlledRef,m=g.useRef(null),v=u0(m,null),b=v[0],E=v[1],y=g.useMemo(function(){return{element:b,value:a}},[a,b]),T=i0(y,ux,o),w=zn(t,E),S=f===a,_=h(function(){c&&c(a),d(cl,{value:a,isControlled:p.current})},"handleClick");return g.createElement(zV.Provider,{value:{value:a,index:T}},g.createElement(r,un({"aria-selected":S,role:"option"},l,{"data-reach-combobox-option":"",ref:w,id:String(dx(a)),"data-highlighted":S?"":void 0,tabIndex:-1,onClick:we(s,_)}),i?ko(i)?i({value:a,index:T}):i:g.createElement(QV,null)))});function QV(){var e=g.useContext(zV),t=e.value,n=g.useContext(As),r=n.data.value,i=g.useMemo(function(){return s6e.findAll({searchWords:WV(r||"").split(/\s+/),textToHighlight:t})},[r,t]);return g.createElement(g.Fragment,null,i.length?i.map(function(o,a){var s=t.slice(o.start,o.end);return g.createElement("span",{key:a,"data-reach-combobox-option-text":"","data-user-value":o.highlight?!0:void 0,"data-suggested-value":o.highlight?void 0:!0},s)}):t)}h(QV,"ComboboxOptionText");function GV(e,t){na(function(){if(e===yr||e===ju||e===cl||e===sx){var n;(n=t.current)==null||n.focus()}},[t,e])}h(GV,"useFocusManagement");function cx(){var e=g.useContext(As),t=e.data.navigationValue,n=e.onSelect,r=e.state,i=e.transition,o=e.autocompletePropRef,a=e.persistSelectionRef,s=e.isControlledRef,l=a0(ux);return h(function(c){var f=l.findIndex(function(y){var T=y.value;return T===t});function d(){var y=f===l.length-1;return y?o.current?null:m():l[(f+1)%l.length]}h(d,"getNextOption");function p(){var y=f===0;return y?o.current?null:v():f===-1?v():l[(f-1+l.length)%l.length]}h(p,"getPreviousOption");function m(){return l[0]}h(m,"getFirstOption");function v(){return l[l.length-1]}switch(h(v,"getLastOption"),c.key){case"ArrowDown":if(c.preventDefault(),!l||!l.length)return;if(r===mt)i(yr,{persistSelection:a.current});else{var b=d();i(yr,{value:b?b.value:null})}break;case"ArrowUp":if(c.preventDefault(),!l||l.length===0)return;if(r===mt)i(yr);else{var E=p();i(yr,{value:E?E.value:null})}break;case"Home":case"PageUp":if(c.preventDefault(),!l||l.length===0)return;r===mt?i(yr):i(yr,{value:m().value});break;case"End":case"PageDown":if(c.preventDefault(),!l||l.length===0)return;r===mt?i(yr):i(yr,{value:v().value});break;case"Escape":r!==mt&&i(ju);break;case"Enter":r===Pa&&t!==null&&(c.preventDefault(),n&&n(t),i(ax,{isControlled:s.current}));break}},"handleKeyDown")}h(cx,"useKeyDown");function fx(){var e=g.useContext(As),t=e.state,n=e.transition,r=e.popoverRef,i=e.inputRef,o=e.buttonRef;return h(function(s){var l=r.current,u=i.current,c=o.current,f=s.relatedTarget;f!==u&&f!==c&&l&&(l.contains(f)?t!==Vu&&n(Dg):n(bu))},"handleBlur")}h(fx,"useBlur");function HV(e,t,n){var r=g.useState(e.initial),i=r[0],o=r[1],a=g.useReducer(t,n),s=a[0],l=a[1],u=h(function(f,d){d===void 0&&(d={});var p=e.states[i],m=p&&p.on[f];if(m){l(un({type:f,state:i,nextState:i},d)),o(m);return}},"transition");return[i,s,u]}h(HV,"useReducerMachine");function dx(e){var t=0;if(e.length===0)return t;for(var n=0;nE6e(e,"name",{value:t,configurable:!0}),"__name$n");function cs(e,t){let n;return function(...r){n&&window.clearTimeout(n),n=window.setTimeout(()=>{n=null,t(...r)},e)}}h(cs,"debounce");b6e(cs,"debounce");var T6e=Object.defineProperty,jc=h((e,t)=>T6e(e,"name",{value:t,configurable:!0}),"__name$m");function P0(){const{explorerNavStack:e,push:t}=ks({nonNull:!0,caller:P0}),n=g.useRef(null),r=g.useRef(null),i=Kd(),[o,a]=g.useState(""),[s,l]=g.useState(i(o)),u=g.useMemo(()=>cs(200,d=>{l(i(d))}),[i]);g.useEffect(()=>{u(o)},[u,o]),g.useEffect(()=>{function d(p){p.metaKey&&p.keyCode===75&&n.current&&n.current.focus()}return h(d,"handleKeyDown"),jc(d,"handleKeyDown"),window.addEventListener("keydown",d),()=>window.removeEventListener("keydown",d)},[]);const c=e[e.length-1];return e.length===1||Le(c.def)||je(c.def)||st(c.def)?Ne(m6e,{"aria-label":`Search ${c.name}...`,onSelect:d=>{const p=d;t("field"in p?{name:p.field.name,def:p.field}:{name:p.type.name,def:p.type})},children:[Ne("div",{className:"graphiql-doc-explorer-search-input",onClick:()=>{n.current&&n.current.focus()},children:[q(zZ,{}),q(v6e,{autocomplete:!1,onChange:d=>{a(d.target.value)},onKeyDown:d=>{if(!d.isDefaultPrevented()){const p=r.current;if(!p)return;window.requestAnimationFrame(()=>{const m=p.querySelector("[aria-selected=true]");if(!(m instanceof HTMLElement))return;const v=m.offsetTop-p.scrollTop,b=p.scrollTop+p.clientHeight-(m.offsetTop+m.clientHeight);b<0&&(p.scrollTop-=b),v<0&&(p.scrollTop+=v)})}d.stopPropagation()},placeholder:"⌘ K",ref:n,value:o})]}),q(g6e,{portal:!1,ref:r,children:Ne(y6e,{children:[s.within.map((d,p)=>q(F1,{index:p,value:d,children:q(Og,{field:d.field,argument:d.argument})},`within-${p}`)),s.within.length>0&&s.types.length+s.fields.length>0?q("div",{className:"graphiql-doc-explorer-search-divider",children:"Other results"}):null,s.types.map((d,p)=>q(F1,{index:s.within.length+p,value:d,children:q(Xd,{type:d.type})},`type-${p}`)),s.fields.map((d,p)=>Ne(F1,{index:s.within.length+s.types.length+p,value:d,children:[q(Xd,{type:d.type}),".",q(Og,{field:d.field,argument:d.argument})]},`field-${p}`)),s.within.length+s.types.length+s.fields.length===0?q("div",{className:"graphiql-doc-explorer-search-empty",children:"No results found"}):null]})})]}):null}h(P0,"Search");jc(P0,"Search");function Kd(e){const{explorerNavStack:t}=ks({nonNull:!0,caller:e||Kd}),{schema:n}=Ki({nonNull:!0,caller:e||Kd}),r=t[t.length-1];return g.useCallback(i=>{const o={within:[],types:[],fields:[]};if(!n)return o;const a=r.def,s=n.getTypeMap();let l=Object.keys(s);a&&(l=l.filter(u=>u!==a.name),l.unshift(a.name));for(const u of l){if(o.within.length+o.types.length+o.fields.length>=100)break;const c=s[u];if(a!==c&&ed(u,i)&&o.types.push({type:c}),!Le(c)&&!je(c)&&!st(c))continue;const f=c.getFields();for(const d in f){const p=f[d];let m;if(!ed(d,i))if("args"in p){if(m=p.args.filter(v=>ed(v.name,i)),m.length===0)continue}else continue;o[a===c?"within":"fields"].push(...m?m.map(v=>({type:c,field:p,argument:v})):[{type:c,field:p}])}}return o},[r.def,n])}h(Kd,"useSearchResults");jc(Kd,"useSearchResults");function ed(e,t){try{const n=t.replace(/[^_0-9A-Za-z]/g,r=>"\\"+r);return e.search(new RegExp(n,"i"))!==-1}catch{return e.toLowerCase().includes(t.toLowerCase())}}h(ed,"isMatch");jc(ed,"isMatch");function Xd(e){return q("span",{className:"graphiql-doc-explorer-search-type",children:e.type.name})}h(Xd,"Type");jc(Xd,"Type");function Og(e){return Ne(Dr,{children:[q("span",{className:"graphiql-doc-explorer-search-field",children:e.field.name}),e.argument?Ne(Dr,{children:["(",q("span",{className:"graphiql-doc-explorer-search-argument",children:e.argument.name}),":"," ",vc(e.argument.type,t=>q(Xd,{type:t})),")"]}):null]})}h(Og,"Field$1");jc(Og,"Field");var w6e=Object.defineProperty,_6e=h((e,t)=>w6e(e,"name",{value:t,configurable:!0}),"__name$l");function px(e){const{push:t}=ks({nonNull:!0});return q("a",{className:"graphiql-doc-explorer-field-name",onClick:n=>{n.preventDefault(),t({name:e.field.name,def:e.field})},href:"#",children:e.field.name})}h(px,"FieldLink");_6e(px,"FieldLink");var S6e=Object.defineProperty,Vl=h((e,t)=>S6e(e,"name",{value:t,configurable:!0}),"__name$k");function hx(e){return Cl(e.type)?Ne(Dr,{children:[e.type.description?q(Do,{type:"description",children:e.type.description}):null,q(mx,{type:e.type}),q(vx,{type:e.type}),q(gx,{type:e.type}),q(yx,{type:e.type})]}):null}h(hx,"TypeDocumentation");Vl(hx,"TypeDocumentation");function mx({type:e}){return Le(e)&&e.getInterfaces().length>0?q(Br,{title:"Implements",children:e.getInterfaces().map(n=>q("div",{children:q(Pi,{type:n})},n.name))}):null}h(mx,"ImplementsInterfaces");Vl(mx,"ImplementsInterfaces");function vx({type:e}){const[t,n]=g.useState(!1);if(!Le(e)&&!je(e)&&!st(e))return null;const r=e.getFields(),i=[],o=[];for(const a of Object.keys(r).map(s=>r[s]))a.deprecationReason?o.push(a):i.push(a);return Ne(Dr,{children:[i.length>0?q(Br,{title:"Fields",children:i.map(a=>q(Cg,{field:a},a.name))}):null,o.length>0?t||i.length===0?q(Br,{title:"Deprecated Fields",children:o.map(a=>q(Cg,{field:a},a.name))}):q(co,{type:"button",onClick:()=>{n(!0)},children:"Show Deprecated Fields"}):null]})}h(vx,"Fields");Vl(vx,"Fields");function Cg({field:e}){const t="args"in e?e.args.filter(n=>!n.deprecationReason):[];return Ne("div",{className:"graphiql-doc-explorer-item",children:[Ne("div",{children:[q(px,{field:e}),t.length>0?Ne(Dr,{children:["(",q("span",{children:t.map(n=>t.length===1?q(gc,{arg:n,inline:!0},n.name):q("div",{className:"graphiql-doc-explorer-argument-multiple",children:q(gc,{arg:n,inline:!0})},n.name))}),")"]}):null,": ",q(Pi,{type:e.type}),q(A0,{field:e})]}),e.description?q(Do,{type:"description",onlyShowFirstChild:!0,children:e.description}):null,q(L0,{children:e.deprecationReason})]})}h(Cg,"Field");Vl(Cg,"Field");function gx({type:e}){const[t,n]=g.useState(!1);if(!Lt(e))return null;const r=[],i=[];for(const o of e.getValues())o.deprecationReason?i.push(o):r.push(o);return Ne(Dr,{children:[r.length>0?q(Br,{title:"Enum Values",children:r.map(o=>q(kg,{value:o},o.name))}):null,i.length>0?t||r.length===0?q(Br,{title:"Deprecated Enum Values",children:i.map(o=>q(kg,{value:o},o.name))}):q(co,{type:"button",onClick:()=>{n(!0)},children:"Show Deprecated Values"}):null]})}h(gx,"EnumValues");Vl(gx,"EnumValues");function kg({value:e}){return Ne("div",{className:"graphiql-doc-explorer-item",children:[q("div",{className:"graphiql-doc-explorer-enum-value",children:e.name}),e.description?q(Do,{type:"description",children:e.description}):null,e.deprecationReason?q(Do,{type:"deprecation",children:e.deprecationReason}):null]})}h(kg,"EnumValue");Vl(kg,"EnumValue");function yx({type:e}){const{schema:t}=Ki({nonNull:!0});return!t||!ui(e)?null:q(Br,{title:je(e)?"Implementations":"Possible Types",children:t.getPossibleTypes(e).map(n=>q("div",{children:q(Pi,{type:n})},n.name))})}h(yx,"PossibleTypes");Vl(yx,"PossibleTypes");var N6e=Object.defineProperty,I6e=h((e,t)=>N6e(e,"name",{value:t,configurable:!0}),"__name$j");function Zd(){const{fetchError:e,isFetching:t,schema:n,validationErrors:r}=Ki({nonNull:!0,caller:Zd}),{explorerNavStack:i,pop:o}=ks({nonNull:!0,caller:Zd}),a=i[i.length-1];let s=null;e?s=q("div",{className:"graphiql-doc-explorer-error",children:"Error fetching schema"}):r.length>0?s=Ne("div",{className:"graphiql-doc-explorer-error",children:["Schema is invalid: ",r[0].message]}):t?s=q(qI,{}):n?i.length===1?s=q(tx,{schema:n}):Nc(a.def)?s=q(hx,{type:a.def}):a.def&&(s=q(XI,{field:a.def})):s=q("div",{className:"graphiql-doc-explorer-error",children:"No GraphQL schema available"});let l;return i.length>1&&(l=i[i.length-2].name),Ne("section",{className:"graphiql-doc-explorer","aria-label":"Documentation Explorer",children:[Ne("div",{className:"graphiql-doc-explorer-header",children:[Ne("div",{className:"graphiql-doc-explorer-header-content",children:[l&&Ne("a",{href:"#",className:"graphiql-doc-explorer-back",onClick:u=>{u.preventDefault(),o()},"aria-label":`Go back to ${l}`,children:[q(CZ,{}),l]}),q("div",{className:"graphiql-doc-explorer-title",children:a.name})]}),q("div",{className:"graphiql-doc-explorer-search",children:q(P0,{},a.name)})]}),q("div",{className:"graphiql-doc-explorer-content",children:s})]})}h(Zd,"DocExplorer");I6e(Zd,"DocExplorer");var x6e=Object.defineProperty,YV=h((e,t)=>x6e(e,"name",{value:t,configurable:!0}),"__name$i");const ep={title:"Documentation Explorer",icon:YV(h(function(){const t=M0();return(t==null?void 0:t.visiblePlugin)===ep?q(PZ,{}):q(MZ,{})},"Icon"),"Icon"),content:Zd},Gk={title:"History",icon:UZ,content:GI},JV=Ea("PluginContext");function Ex(e){const t=Ns(),n=ks(),r=D0(),i=Boolean(n),o=Boolean(r),a=g.useMemo(()=>{const p=[],m={};i&&(p.push(ep),m[ep.title]=!0),o&&(p.push(Gk),m[Gk.title]=!0);for(const v of e.plugins||[]){if(typeof v.title!="string"||!v.title)throw new Error("All GraphiQL plugins must have a unique title");if(m[v.title])throw new Error(`All GraphiQL plugins must have a unique title, found two plugins with the title '${v.title}'`);p.push(v),m[v.title]=!0}return p},[i,o,e.plugins]),[s,l]=g.useState(()=>{const p=t==null?void 0:t.get(Hk),m=a.find(v=>v.title===p);return m||(p&&(t==null||t.set(Hk,"")),e.visiblePlugin&&a.find(v=>(typeof e.visiblePlugin=="string"?v.title:v)===e.visiblePlugin)||null)}),{onTogglePluginVisibility:u,children:c}=e,f=g.useCallback(p=>{const m=p&&a.find(v=>(typeof p=="string"?v.title:v)===p)||null;l(v=>m===v?v:(u==null||u(m),m))},[u,a]);g.useEffect(()=>{e.visiblePlugin&&f(e.visiblePlugin)},[a,e.visiblePlugin,f]);const d=g.useMemo(()=>({plugins:a,setVisiblePlugin:f,visiblePlugin:s}),[a,f,s]);return q(JV.Provider,{value:d,children:c})}h(Ex,"PluginContextProvider");YV(Ex,"PluginContextProvider");const M0=ba(JV),Hk="visiblePlugin";var D6e=Object.defineProperty,kf=h((e,t)=>D6e(e,"name",{value:t,configurable:!0}),"__name$h");function bx(e,t,n,r,i,o){Ml([],{useCommonAddons:!1}).then(s=>{let l,u,c,f,d,p,m,v,b;s.on(t,"select",(E,y)=>{if(!l){const T=y.parentNode;l=document.createElement("div"),l.className="CodeMirror-hint-information",T.appendChild(l);const w=document.createElement("header");w.className="CodeMirror-hint-information-header",l.appendChild(w),u=document.createElement("span"),u.className="CodeMirror-hint-information-field-name",w.appendChild(u),c=document.createElement("span"),c.className="CodeMirror-hint-information-type-name-pill",w.appendChild(c),f=document.createElement("span"),c.appendChild(f),d=document.createElement("a"),d.className="CodeMirror-hint-information-type-name",d.href="javascript:void 0",d.addEventListener("click",a),c.appendChild(d),p=document.createElement("span"),c.appendChild(p),m=document.createElement("div"),m.className="CodeMirror-hint-information-description",l.appendChild(m),v=document.createElement("div"),v.className="CodeMirror-hint-information-deprecation",l.appendChild(v);const S=document.createElement("span");S.className="CodeMirror-hint-information-deprecation-label",S.innerText="Deprecated",v.appendChild(S),b=document.createElement("div"),b.className="CodeMirror-hint-information-deprecation-reason",v.appendChild(b);const _=parseInt(window.getComputedStyle(l).paddingBottom.replace(/px$/,""),10)||0,I=parseInt(window.getComputedStyle(l).maxHeight.replace(/px$/,""),10)||0,A=kf(()=>{l&&(l.style.paddingTop=T.scrollTop+_+"px",l.style.maxHeight=T.scrollTop+I+"px")},"handleScroll");T.addEventListener("scroll",A);let N;T.addEventListener("DOMNodeRemoved",N=kf(C=>{C.target===T&&(T.removeEventListener("scroll",A),T.removeEventListener("DOMNodeRemoved",N),l&&l.removeEventListener("click",a),l=null,u=null,c=null,f=null,d=null,p=null,m=null,v=null,b=null,N=null)},"onRemoveFn"))}if(u&&(u.innerText=E.text),c&&f&&d&&p)if(E.type){c.style.display="inline";const T=kf(w=>{_e(w)?(p.innerText="!"+p.innerText,T(w.ofType)):ut(w)?(f.innerText+="[",p.innerText="]"+p.innerText,T(w.ofType)):d.innerText=w.name},"renderType");f.innerText="",p.innerText="",T(E.type)}else f.innerText="",d.innerText="",p.innerText="",c.style.display="none";m&&(E.description?(m.style.display="block",m.innerHTML=Ng.render(E.description)):(m.style.display="none",m.innerHTML="")),v&&b&&(E.deprecationReason?(v.style.display="block",b.innerHTML=Ng.render(E.deprecationReason)):(v.style.display="none",b.innerHTML=""))})});function a(s){if(!n||!r||!i||!(s.currentTarget instanceof HTMLElement))return;const l=s.currentTarget.innerText,u=n.getType(l);u&&(i.setVisiblePlugin(ep),r.push({name:u.name,def:u}),o==null||o(u))}h(a,"onClickHintInformation"),kf(a,"onClickHintInformation")}h(bx,"onHasCompletion");kf(bx,"onHasCompletion");var O6e=Object.defineProperty,Xi=h((e,t)=>O6e(e,"name",{value:t,configurable:!0}),"__name$g");function wu(e,t){g.useEffect(()=>{e&&typeof t=="string"&&t!==e.getValue()&&e.setValue(t)},[e,t])}h(wu,"useSynchronizeValue");Xi(wu,"useSynchronizeValue");function Uc(e,t,n){g.useEffect(()=>{e&&e.setOption(t,n)},[e,t,n])}h(Uc,"useSynchronizeOption");Xi(Uc,"useSynchronizeOption");function V0(e,t,n,r,i){const{updateActiveTabValues:o}=Gn({nonNull:!0,caller:i}),a=Ns();g.useEffect(()=>{if(!e)return;const s=cs(500,c=>{!a||n===null||a.set(n,c)}),l=cs(100,c=>{o({[r]:c})}),u=Xi((c,f)=>{if(!f)return;const d=c.getValue();s(d),l(d),t==null||t(d)},"handleChange");return e.on("change",u),()=>e.off("change",u)},[t,e,a,n,r,o])}h(V0,"useChangeHandler");Xi(V0,"useChangeHandler");function j0(e,t,n){const{schema:r}=Ki({nonNull:!0,caller:n}),i=ks(),o=M0();g.useEffect(()=>{if(!e)return;const a=Xi((s,l)=>{bx(s,l,r,i,o,u=>{t==null||t({kind:"Type",type:u,schema:r||void 0})})},"handleCompletion");return e.on("hasCompletion",a),()=>e.off("hasCompletion",a)},[t,e,i,o,r])}h(j0,"useCompletion");Xi(j0,"useCompletion");function ai(e,t,n){g.useEffect(()=>{if(e){for(const r of t)e.removeKeyMap(r);if(n){const r={};for(const i of t)r[i]=()=>n();e.addKeyMap(r)}}},[e,t,n])}h(ai,"useKeyMap");Xi(ai,"useKeyMap");function Zp({caller:e,onCopyQuery:t}={}){const{queryEditor:n}=Gn({nonNull:!0,caller:e||Zp});return g.useCallback(()=>{if(!n)return;const r=n.getValue();V4e(r),t==null||t(r)},[n,t])}h(Zp,"useCopyQuery");Xi(Zp,"useCopyQuery");function fs({caller:e}={}){const{queryEditor:t}=Gn({nonNull:!0,caller:e||fs}),{schema:n}=Ki({nonNull:!0,caller:fs});return g.useCallback(()=>{const r=t==null?void 0:t.documentAST,i=t==null?void 0:t.getValue();!r||!i||t.setValue(ot(LP(r,n)))},[t,n])}h(fs,"useMergeQuery");Xi(fs,"useMergeQuery");function jl({caller:e}={}){const{queryEditor:t,headerEditor:n,variableEditor:r}=Gn({nonNull:!0,caller:e||jl});return g.useCallback(()=>{if(r){const i=r.getValue();try{const o=JSON.stringify(JSON.parse(i),null,2);o!==i&&r.setValue(o)}catch{}}if(n){const i=n.getValue();try{const o=JSON.stringify(JSON.parse(i),null,2);o!==i&&n.setValue(o)}catch{}}if(t){const i=t.getValue(),o=ot(qr(i));o!==i&&t.setValue(o)}},[t,r,n])}h(jl,"usePrettifyEditors");Xi(jl,"usePrettifyEditors");function tp({getDefaultFieldNames:e,caller:t}={}){const{schema:n}=Ki({nonNull:!0,caller:t||tp}),{queryEditor:r}=Gn({nonNull:!0,caller:t||tp});return g.useCallback(()=>{if(!r)return;const i=r.getValue(),{insertions:o,result:a}=OP(n,i,e);return o&&o.length>0&&r.operation(()=>{const s=r.getCursor(),l=r.indexFromPos(s);r.setValue(a||"");let u=0;const c=o.map(({index:d,string:p})=>r.markText(r.posFromIndex(d+u),r.posFromIndex(d+(u+=p.length)),{className:"auto-inserted-leaf",clearOnEnter:!0,title:"Automatically added leaf fields"}));setTimeout(()=>c.forEach(d=>d.clear()),7e3);let f=l;o.forEach(({index:d,string:p})=>{dC6e(e,"name",{value:t,configurable:!0}),"__name$f");function Zs({editorTheme:e=O0,keyMap:t=C0,onEdit:n,readOnly:r=!1}={},i){const{initialHeaders:o,headerEditor:a,setHeaderEditor:s,shouldPersistHeaders:l}=Gn({nonNull:!0,caller:i||Zs}),u=Mc(),c=fs({caller:i||Zs}),f=jl({caller:i||Zs}),d=g.useRef(null);return g.useEffect(()=>{let p=!0;return Ml([Xe(()=>import("./javascript.es-5b95f990.js"),["assets/javascript.es-5b95f990.js","assets/codemirror.es-2fb7d200.js"]).then(function(m){return m.j})]).then(m=>{if(!p)return;const v=d.current;if(!v)return;const b=m(v,{value:o,lineNumbers:!0,tabSize:2,mode:{name:"javascript",json:!0},theme:e,autoCloseBrackets:!0,matchBrackets:!0,showCursorWhenSelecting:!0,readOnly:r?"nocursor":!1,foldGutter:!0,gutters:["CodeMirror-linenumbers","CodeMirror-foldgutter"],extraKeys:k0});b.addKeyMap({"Cmd-Space"(){b.showHint({completeSingle:!1,container:v})},"Ctrl-Space"(){b.showHint({completeSingle:!1,container:v})},"Alt-Space"(){b.showHint({completeSingle:!1,container:v})},"Shift-Space"(){b.showHint({completeSingle:!1,container:v})}}),b.on("keyup",(E,y)=>{const T=y.keyCode;(T>=65&&T<=90||!y.shiftKey&&T>=48&&T<=57||y.shiftKey&&T===189||y.shiftKey&&T===222)&&E.execCommand("autocomplete")}),s(b)}),()=>{p=!1}},[e,o,r,s]),Uc(a,"keyMap",t),V0(a,n,l?uv:null,"headers",Zs),ai(a,["Cmd-Enter","Ctrl-Enter"],u==null?void 0:u.run),ai(a,["Shift-Ctrl-P"],f),ai(a,["Shift-Ctrl-M"],c),d}h(Zs,"useHeaderEditor");k6e(Zs,"useHeaderEditor");const uv="headers";var A6e=Object.defineProperty,F6e=h((e,t)=>A6e(e,"name",{value:t,configurable:!0}),"__name$e");const R6e=Array.from({length:11},(e,t)=>String.fromCharCode(8192+t)).concat(["\u2028","\u2029"," "," "]),L6e=new RegExp("["+R6e.join("")+"]","g");function Tx(e){return e.replace(L6e," ")}h(Tx,"normalizeWhitespace");F6e(Tx,"normalizeWhitespace");var $6e=Object.defineProperty,eh=h((e,t)=>$6e(e,"name",{value:t,configurable:!0}),"__name$d");function Bo({editorTheme:e=O0,keyMap:t=C0,onClickReference:n,onCopyQuery:r,onEdit:i,readOnly:o=!1}={},a){const{schema:s}=Ki({nonNull:!0,caller:a||Bo}),{externalFragments:l,initialQuery:u,queryEditor:c,setOperationName:f,setQueryEditor:d,validationRules:p,variableEditor:m,updateActiveTabValues:v}=Gn({nonNull:!0,caller:a||Bo}),b=Mc(),E=Ns(),y=ks(),T=M0(),w=Zp({caller:a||Bo,onCopyQuery:r}),S=fs({caller:a||Bo}),_=jl({caller:a||Bo}),I=g.useRef(null),A=g.useRef(),N=g.useRef(()=>{});g.useEffect(()=>{N.current=G=>{!y||!T||(T.setVisiblePlugin(ep),G&&G.kind==="Type"?y.push({name:G.type.name,def:G.type}):G.kind==="Field"?y.push({name:G.field.name,def:G.field}):G.kind==="Argument"&&G.field?y.push({name:G.field.name,def:G.field}):G.kind==="EnumValue"&&G.type&&y.push({name:G.type.name,def:G.type}),n==null||n(G))}},[y,n,T]),g.useEffect(()=>{let G=!0;return Ml([Xe(()=>import("./comment.es-9ab73430.js"),["assets/comment.es-9ab73430.js","assets/codemirror.es-2fb7d200.js"]).then(function(Y){return Y.c}),Xe(()=>import("./search.es-96efae49.js"),["assets/search.es-96efae49.js","assets/codemirror.es-2fb7d200.js","assets/searchcursor.es-34813366.js","assets/dialog.es-aa8a9c34.js"]).then(function(Y){return Y.s}),Xe(()=>import("./hint.es-5cae9ee4.js"),["assets/hint.es-5cae9ee4.js","assets/codemirror.es-2fb7d200.js","assets/show-hint.es-add0cd11.js","assets/Range.es-3e45690c.js"]),Xe(()=>import("./lint.es-de839fb1.js"),["assets/lint.es-de839fb1.js","assets/codemirror.es-2fb7d200.js","assets/Range.es-3e45690c.js"]),Xe(()=>import("./info.es-352c58ba.js"),["assets/info.es-352c58ba.js","assets/codemirror.es-2fb7d200.js","assets/SchemaReference.es-fa68f115.js","assets/forEachState.es-1e367fb2.js","assets/info-addon.es-a031eb27.js"]),Xe(()=>import("./jump.es-7eb528cc.js"),["assets/jump.es-7eb528cc.js","assets/codemirror.es-2fb7d200.js","assets/SchemaReference.es-fa68f115.js","assets/forEachState.es-1e367fb2.js"]),Xe(()=>import("./mode.es-1a476c3b.js"),["assets/mode.es-1a476c3b.js","assets/codemirror.es-2fb7d200.js"])]).then(Y=>{if(!G)return;A.current=Y;const P=I.current;if(!P)return;const V=Y(P,{value:u,lineNumbers:!0,tabSize:2,foldGutter:!0,mode:"graphql",theme:e,autoCloseBrackets:!0,matchBrackets:!0,showCursorWhenSelecting:!0,readOnly:o?"nocursor":!1,lint:{schema:void 0,validationRules:null,externalFragments:void 0},hintOptions:{schema:void 0,closeOnUnfocus:!1,completeSingle:!1,container:P,externalFragments:void 0},info:{schema:void 0,renderDescription:H=>Ng.render(H),onClick:H=>{N.current(H)}},jump:{schema:void 0,onClick:H=>{N.current(H)}},gutters:["CodeMirror-linenumbers","CodeMirror-foldgutter"],extraKeys:Tt(et({},k0),{"Cmd-S"(){},"Ctrl-S"(){}})});V.addKeyMap({"Cmd-Space"(){V.showHint({completeSingle:!0,container:P})},"Ctrl-Space"(){V.showHint({completeSingle:!0,container:P})},"Alt-Space"(){V.showHint({completeSingle:!0,container:P})},"Shift-Space"(){V.showHint({completeSingle:!0,container:P})},"Shift-Alt-Space"(){V.showHint({completeSingle:!0,container:P})}}),V.on("keyup",(H,F)=>{P6e.test(F.key)&&H.execCommand("autocomplete")});let j=!1;V.on("startCompletion",()=>{j=!0}),V.on("endCompletion",()=>{j=!1}),V.on("keydown",(H,F)=>{F.key==="Escape"&&j&&F.stopPropagation()}),V.on("beforeChange",(H,F)=>{var z;if(F.origin==="paste"){const B=F.text.map(Tx);(z=F.update)==null||z.call(F,F.from,F.to,B)}}),V.documentAST=null,V.operationName=null,V.operations=null,V.variableToType=null,d(V)}),()=>{G=!1}},[e,u,o,d]),Uc(c,"keyMap",t),g.useEffect(()=>{if(!c)return;function G(P){var V,j,H,F,z;const B=tM(s,P.getValue()),X=$P((V=P.operations)!=null?V:void 0,(j=P.operationName)!=null?j:void 0,B==null?void 0:B.operations);return P.documentAST=(H=B==null?void 0:B.documentAST)!=null?H:null,P.operationName=X??null,P.operations=(F=B==null?void 0:B.operations)!=null?F:null,m&&(m.state.lint.linterOptions.variableToType=B==null?void 0:B.variableToType,m.options.lint.variableToType=B==null?void 0:B.variableToType,m.options.hintOptions.variableToType=B==null?void 0:B.variableToType,(z=A.current)==null||z.signal(m,"change",m)),B?Tt(et({},B),{operationName:X}):null}h(G,"getAndUpdateOperationFacts"),eh(G,"getAndUpdateOperationFacts");const Y=cs(100,P=>{var V;const j=P.getValue();E==null||E.set(KV,j);const H=P.operationName,F=G(P);(F==null?void 0:F.operationName)!==void 0&&(E==null||E.set(M6e,F.operationName)),i==null||i(j,F==null?void 0:F.documentAST),F!=null&&F.operationName&&H!==F.operationName&&f(F.operationName),v({query:j,operationName:(V=F==null?void 0:F.operationName)!=null?V:null})});return G(c),c.on("change",Y),()=>c.off("change",Y)},[i,c,s,f,E,m,v]),wx(c,s??null,A),_x(c,p??null,A),Sx(c,l,A),j0(c,n||null,Bo);const C=b==null?void 0:b.run,U=g.useCallback(()=>{var G;if(!C||!c||!c.operations||!c.hasFocus()){C==null||C();return}const Y=c.indexFromPos(c.getCursor());let P;for(const V of c.operations)V.loc&&V.loc.start<=Y&&V.loc.end>=Y&&(P=(G=V.name)==null?void 0:G.value);P&&P!==c.operationName&&f(P),C()},[c,C,f]);return ai(c,["Cmd-Enter","Ctrl-Enter"],U),ai(c,["Shift-Ctrl-C"],w),ai(c,["Shift-Ctrl-P","Shift-Ctrl-F"],_),ai(c,["Shift-Ctrl-M"],S),I}h(Bo,"useQueryEditor");eh(Bo,"useQueryEditor");function wx(e,t,n){g.useEffect(()=>{if(!e)return;const r=e.options.lint.schema!==t;e.state.lint.linterOptions.schema=t,e.options.lint.schema=t,e.options.hintOptions.schema=t,e.options.info.schema=t,e.options.jump.schema=t,r&&n.current&&n.current.signal(e,"change",e)},[e,t,n])}h(wx,"useSynchronizeSchema");eh(wx,"useSynchronizeSchema");function _x(e,t,n){g.useEffect(()=>{if(!e)return;const r=e.options.lint.validationRules!==t;e.state.lint.linterOptions.validationRules=t,e.options.lint.validationRules=t,r&&n.current&&n.current.signal(e,"change",e)},[e,t,n])}h(_x,"useSynchronizeValidationRules");eh(_x,"useSynchronizeValidationRules");function Sx(e,t,n){const r=g.useMemo(()=>[...t.values()],[t]);g.useEffect(()=>{if(!e)return;const i=e.options.lint.externalFragments!==r;e.state.lint.linterOptions.externalFragments=r,e.options.lint.externalFragments=r,e.options.hintOptions.externalFragments=r,i&&n.current&&n.current.signal(e,"change",e)},[e,r,n])}h(Sx,"useSynchronizeExternalFragments");eh(Sx,"useSynchronizeExternalFragments");const P6e=/^[a-zA-Z0-9_@(]$/,KV="query",M6e="operationName";var V6e=Object.defineProperty,Qn=h((e,t)=>V6e(e,"name",{value:t,configurable:!0}),"__name$c");function Nx({defaultQuery:e,defaultHeaders:t,headers:n,defaultTabs:r,query:i,variables:o,storage:a}){const s=a==null?void 0:a.get(np);try{if(!s)throw new Error("Storage for tabs is empty");const l=JSON.parse(s);if(Ix(l)){const u=yc({query:i,variables:o,headers:n});let c=-1;for(let f=0;f=0)l.activeTabIndex=c;else{const f=i?th(i):null;l.tabs.push({id:z0(),hash:u,title:f||Fx,query:i,variables:o,headers:n,operationName:f,response:null}),l.activeTabIndex=l.tabs.length-1}return l}throw new Error("Storage for tabs is invalid")}catch{return{activeTabIndex:0,tabs:(r||[{query:i??e,variables:o,headers:n??t}]).map(B0)}}}h(Nx,"getDefaultTabState");Qn(Nx,"getDefaultTabState");function Ix(e){return e&&typeof e=="object"&&!Array.isArray(e)&&Dx(e,"activeTabIndex")&&"tabs"in e&&Array.isArray(e.tabs)&&e.tabs.every(xx)}h(Ix,"isTabsState");Qn(Ix,"isTabsState");function xx(e){return e&&typeof e=="object"&&!Array.isArray(e)&&Ag(e,"id")&&Ag(e,"title")&&Qs(e,"query")&&Qs(e,"variables")&&Qs(e,"headers")&&Qs(e,"operationName")&&Qs(e,"response")}h(xx,"isTabState");Qn(xx,"isTabState");function Dx(e,t){return t in e&&typeof e[t]=="number"}h(Dx,"hasNumberKey");Qn(Dx,"hasNumberKey");function Ag(e,t){return t in e&&typeof e[t]=="string"}h(Ag,"hasStringKey");Qn(Ag,"hasStringKey");function Qs(e,t){return t in e&&(typeof e[t]=="string"||e[t]===null)}h(Qs,"hasStringOrNullKey");Qn(Qs,"hasStringOrNullKey");function Ox({queryEditor:e,variableEditor:t,headerEditor:n,responseEditor:r}){return g.useCallback(i=>{var o,a,s,l,u;const c=(o=e==null?void 0:e.getValue())!=null?o:null,f=(a=t==null?void 0:t.getValue())!=null?a:null,d=(s=n==null?void 0:n.getValue())!=null?s:null,p=(l=e==null?void 0:e.operationName)!=null?l:null,m=(u=r==null?void 0:r.getValue())!=null?u:null;return q0(i,{query:c,variables:f,headers:d,response:m,operationName:p})},[e,t,n,r])}h(Ox,"useSynchronizeActiveTabValues");Qn(Ox,"useSynchronizeActiveTabValues");function U0(e,t=!1){return JSON.stringify(e,(n,r)=>n==="hash"||n==="response"||!t&&n==="headers"?null:r)}h(U0,"serializeTabState");Qn(U0,"serializeTabState");function Cx({storage:e,shouldPersistHeaders:t}){const n=g.useMemo(()=>cs(500,r=>{e==null||e.set(np,r)}),[e]);return g.useCallback(r=>{n(U0(r,t))},[t,n])}h(Cx,"useStoreTabs");Qn(Cx,"useStoreTabs");function kx({queryEditor:e,variableEditor:t,headerEditor:n,responseEditor:r}){return g.useCallback(({query:i,variables:o,headers:a,response:s})=>{e==null||e.setValue(i??""),t==null||t.setValue(o??""),n==null||n.setValue(a??""),r==null||r.setValue(s??"")},[n,e,r,t])}h(kx,"useSetEditorValues");Qn(kx,"useSetEditorValues");function B0({query:e=null,variables:t=null,headers:n=null}={}){return{id:z0(),hash:yc({query:e,variables:t,headers:n}),title:e&&th(e)||Fx,query:e,variables:t,headers:n,operationName:null,response:null}}h(B0,"createTab");Qn(B0,"createTab");function q0(e,t){return Tt(et({},e),{tabs:e.tabs.map((n,r)=>{if(r!==e.activeTabIndex)return n;const i=et(et({},n),t);return Tt(et({},i),{hash:yc(i),title:i.operationName||(i.query?th(i.query):void 0)||Fx})})})}h(q0,"setPropertiesInActiveTab");Qn(q0,"setPropertiesInActiveTab");function z0(){const e=Qn(()=>Math.floor((1+Math.random())*65536).toString(16).substring(1),"s4");return`${e()}${e()}-${e()}-${e()}-${e()}-${e()}${e()}${e()}`}h(z0,"guid");Qn(z0,"guid");function yc(e){var t,n,r;return[(t=e.query)!=null?t:"",(n=e.variables)!=null?n:"",(r=e.headers)!=null?r:""].join("|")}h(yc,"hashFromTabContents");Qn(yc,"hashFromTabContents");function th(e){var t;const r=/^(?!#).*(query|subscription|mutation)\s+([a-zA-Z0-9_]+)/m.exec(e);return(t=r==null?void 0:r[2])!=null?t:null}h(th,"fuzzyExtractOperationName");Qn(th,"fuzzyExtractOperationName");function Ax(e){const t=e==null?void 0:e.get(np);if(t){const n=JSON.parse(t);e==null||e.set(np,JSON.stringify(n,(r,i)=>r==="headers"?null:i))}}h(Ax,"clearHeadersFromTabs");Qn(Ax,"clearHeadersFromTabs");const Fx="",np="tabState";var j6e=Object.defineProperty,U6e=h((e,t)=>j6e(e,"name",{value:t,configurable:!0}),"__name$b");function Ma({editorTheme:e=O0,keyMap:t=C0,onClickReference:n,onEdit:r,readOnly:i=!1}={},o){const{initialVariables:a,variableEditor:s,setVariableEditor:l}=Gn({nonNull:!0,caller:o||Ma}),u=Mc(),c=fs({caller:o||Ma}),f=jl({caller:o||Ma}),d=g.useRef(null),p=g.useRef();return g.useEffect(()=>{let m=!0;return Ml([Xe(()=>import("./hint.es2-8cb6b09d.js"),["assets/hint.es2-8cb6b09d.js","assets/codemirror.es-2fb7d200.js","assets/forEachState.es-1e367fb2.js"]),Xe(()=>import("./lint.es2-ec3fd20b.js"),["assets/lint.es2-ec3fd20b.js","assets/codemirror.es-2fb7d200.js"]),Xe(()=>import("./mode.es3-c0cc5115.js"),["assets/mode.es3-c0cc5115.js","assets/codemirror.es-2fb7d200.js"])]).then(v=>{if(!m)return;p.current=v;const b=d.current;if(!b)return;const E=v(b,{value:a,lineNumbers:!0,tabSize:2,mode:"graphql-variables",theme:e,autoCloseBrackets:!0,matchBrackets:!0,showCursorWhenSelecting:!0,readOnly:i?"nocursor":!1,foldGutter:!0,lint:{variableToType:void 0},hintOptions:{closeOnUnfocus:!1,completeSingle:!1,container:b,variableToType:void 0},gutters:["CodeMirror-linenumbers","CodeMirror-foldgutter"],extraKeys:k0});E.addKeyMap({"Cmd-Space"(){E.showHint({completeSingle:!1,container:b})},"Ctrl-Space"(){E.showHint({completeSingle:!1,container:b})},"Alt-Space"(){E.showHint({completeSingle:!1,container:b})},"Shift-Space"(){E.showHint({completeSingle:!1,container:b})}}),E.on("keyup",(y,T)=>{const w=T.keyCode;(w>=65&&w<=90||!T.shiftKey&&w>=48&&w<=57||T.shiftKey&&w===189||T.shiftKey&&w===222)&&y.execCommand("autocomplete")}),l(E)}),()=>{m=!1}},[e,a,i,l]),Uc(s,"keyMap",t),V0(s,r,XV,"variables",Ma),j0(s,n||null,Ma),ai(s,["Cmd-Enter","Ctrl-Enter"],u==null?void 0:u.run),ai(s,["Shift-Ctrl-P"],f),ai(s,["Shift-Ctrl-M"],c),d}h(Ma,"useVariableEditor");U6e(Ma,"useVariableEditor");const XV="variables";var B6e=Object.defineProperty,q6e=h((e,t)=>B6e(e,"name",{value:t,configurable:!0}),"__name$a");const ZV=Ea("EditorContext");function Rx(e){const t=Ns(),[n,r]=g.useState(null),[i,o]=g.useState(null),[a,s]=g.useState(null),[l,u]=g.useState(null),[c,f]=g.useState(()=>{const j=(t==null?void 0:t.get(R1))!==null;return e.shouldPersistHeaders!==!1&&j?(t==null?void 0:t.get(R1))==="true":Boolean(e.shouldPersistHeaders)});wu(n,e.headers),wu(i,e.query),wu(a,e.response),wu(l,e.variables);const d=Cx({storage:t,shouldPersistHeaders:c}),[p]=g.useState(()=>{var j,H,F,z,B,X,x,M,L;const R=(H=(j=e.query)!=null?j:t==null?void 0:t.get(KV))!=null?H:null,J=(z=(F=e.variables)!=null?F:t==null?void 0:t.get(XV))!=null?z:null,ae=(X=(B=e.headers)!=null?B:t==null?void 0:t.get(uv))!=null?X:null,se=(x=e.response)!=null?x:"",$e=Nx({query:R,variables:J,headers:ae,defaultTabs:e.defaultTabs||e.initialTabs,defaultQuery:e.defaultQuery||z6e,defaultHeaders:e.defaultHeaders,storage:t});return d($e),{query:(M=R??($e.activeTabIndex===0?$e.tabs[0].query:null))!=null?M:"",variables:J??"",headers:(L=ae??e.defaultHeaders)!=null?L:"",response:se,tabState:$e}}),[m,v]=g.useState(p.tabState),b=g.useCallback(j=>{var H;if(j){t==null||t.set(uv,(H=n==null?void 0:n.getValue())!=null?H:"");const F=U0(m,!0);t==null||t.set(np,F)}else t==null||t.set(uv,""),Ax(t);f(j),t==null||t.set(R1,j.toString())},[t,m,n]),E=g.useRef(void 0);g.useEffect(()=>{const j=Boolean(e.shouldPersistHeaders);E.current!==j&&(b(j),E.current=j)},[e.shouldPersistHeaders,b]);const y=Ox({queryEditor:i,variableEditor:l,headerEditor:n,responseEditor:a}),T=kx({queryEditor:i,variableEditor:l,headerEditor:n,responseEditor:a}),{onTabChange:w,defaultHeaders:S,children:_}=e,I=g.useCallback(()=>{v(j=>{const H=y(j),F={tabs:[...H.tabs,B0({headers:S})],activeTabIndex:H.tabs.length};return d(F),T(F.tabs[F.activeTabIndex]),w==null||w(F),F})},[S,w,T,d,y]),A=g.useCallback(j=>{v(H=>{const F=Tt(et({},y(H)),{activeTabIndex:j});return d(F),T(F.tabs[F.activeTabIndex]),w==null||w(F),F})},[w,T,d,y]),N=g.useCallback(j=>{v(H=>{const F={tabs:H.tabs.filter((z,B)=>j!==B),activeTabIndex:Math.max(H.activeTabIndex-1,0)};return d(F),T(F.tabs[F.activeTabIndex]),w==null||w(F),F})},[w,T,d]),C=g.useCallback(j=>{v(H=>{const F=q0(H,j);return d(F),w==null||w(F),F})},[w,d]),{onEditOperationName:U}=e,G=g.useCallback(j=>{i&&(i.operationName=j,C({operationName:j}),U==null||U(j))},[U,i,C]),Y=g.useMemo(()=>{const j=new Map;if(Array.isArray(e.externalFragments))for(const H of e.externalFragments)j.set(H.name.value,H);else if(typeof e.externalFragments=="string")Ht(qr(e.externalFragments,{}),{FragmentDefinition(H){j.set(H.name.value,H)}});else if(e.externalFragments)throw new Error("The `externalFragments` prop must either be a string that contains the fragment definitions in SDL or a list of FragmentDefinitionNode objects.");return j},[e.externalFragments]),P=g.useMemo(()=>e.validationRules||[],[e.validationRules]),V=g.useMemo(()=>Tt(et({},m),{addTab:I,changeTab:A,closeTab:N,updateActiveTabValues:C,headerEditor:n,queryEditor:i,responseEditor:a,variableEditor:l,setHeaderEditor:r,setQueryEditor:o,setResponseEditor:s,setVariableEditor:u,setOperationName:G,initialQuery:p.query,initialVariables:p.variables,initialHeaders:p.headers,initialResponse:p.response,externalFragments:Y,validationRules:P,shouldPersistHeaders:c,setShouldPersistHeaders:b}),[m,I,A,N,C,n,i,a,l,G,p,Y,P,c,b]);return q(ZV.Provider,{value:V,children:_})}h(Rx,"EditorContextProvider");q6e(Rx,"EditorContextProvider");const Gn=ba(ZV),R1="shouldPersistHeaders",z6e=`# Welcome to GraphiQL +# +# GraphiQL is an in-browser tool for writing, validating, and +# testing GraphQL queries. +# +# Type queries into this side of the screen, and you will see intelligent +# typeaheads aware of the current GraphQL type schema and live syntax and +# validation errors highlighted within the text. +# +# GraphQL queries typically start with a "{" character. Lines that start +# with a # are ignored. +# +# An example GraphQL query might look like: +# +# { +# field(arg: "value") { +# subField +# } +# } +# +# Keyboard shortcuts: +# +# Prettify query: Shift-Ctrl-P (or press the prettify button) +# +# Merge fragments: Shift-Ctrl-M (or press the merge button) +# +# Run Query: Ctrl-Enter (or press the play button) +# +# Auto Complete: Ctrl-Space (or just start typing) +# + +`;var Q6e=Object.defineProperty,G6e=h((e,t)=>Q6e(e,"name",{value:t,configurable:!0}),"__name$9");function rp(e){var t=e,{isHidden:n}=t,r=Me(t,["isHidden"]);const{headerEditor:i}=Gn({nonNull:!0,caller:rp}),o=Zs(r,rp);return g.useEffect(()=>{i&&!n&&i.refresh()},[i,n]),q("div",{className:gn("graphiql-editor",n&&"hidden"),ref:o})}h(rp,"HeaderEditor");G6e(rp,"HeaderEditor");var H6e=Object.defineProperty,Q0=h((e,t)=>H6e(e,"name",{value:t,configurable:!0}),"__name$8");function ip(e){var t;const[n,r]=g.useState({width:null,height:null}),[i,o]=g.useState(null),a=g.useRef(null),s=(t=G0(e.token))==null?void 0:t.href;g.useEffect(()=>{if(a.current){if(!s){r({width:null,height:null}),o(null);return}fetch(s,{method:"HEAD"}).then(u=>{o(u.headers.get("Content-Type"))}).catch(()=>{o(null)})}},[s]);const l=n.width!==null&&n.height!==null?Ne("div",{children:[n.width,"x",n.height,i===null?null:" "+i]}):null;return Ne("div",{children:[q("img",{onLoad:()=>{var u,c,f,d;r({width:(c=(u=a.current)==null?void 0:u.naturalWidth)!=null?c:null,height:(d=(f=a.current)==null?void 0:f.naturalHeight)!=null?d:null})},ref:a,src:s}),l]})}h(ip,"ImagePreview");Q0(ip,"ImagePreview");ip.shouldRender=Q0(h(function(t){const n=G0(t);return n?Lx(n):!1},"shouldRender"),"shouldRender");function G0(e){if(e.type!=="string")return;const t=e.string.slice(1).slice(0,-1).trim();try{const{location:n}=window;return new URL(t,n.protocol+"//"+n.host)}catch{return}}h(G0,"tokenToURL");Q0(G0,"tokenToURL");function Lx(e){return/(bmp|gif|jpeg|jpg|png|svg)$/.test(e.pathname)}h(Lx,"isImageURL");Q0(Lx,"isImageURL");var W6e=Object.defineProperty,Y6e=h((e,t)=>W6e(e,"name",{value:t,configurable:!0}),"__name$7");function H0(e){const t=Bo(e,H0);return q("div",{className:"graphiql-editor",ref:t})}h(H0,"QueryEditor");Y6e(H0,"QueryEditor");var J6e=Object.defineProperty,K6e=h((e,t)=>J6e(e,"name",{value:t,configurable:!0}),"__name$6");function op({responseTooltip:e,editorTheme:t=O0,keyMap:n=C0}={},r){const{fetchError:i,validationErrors:o}=Ki({nonNull:!0,caller:r||op}),{initialResponse:a,responseEditor:s,setResponseEditor:l}=Gn({nonNull:!0,caller:r||op}),u=g.useRef(null),c=g.useRef(e);return g.useEffect(()=>{c.current=e},[e]),g.useEffect(()=>{let f=!0;return Ml([Xe(()=>import("./foldgutter.es-1cf7ffbd.js"),["assets/foldgutter.es-1cf7ffbd.js","assets/codemirror.es-2fb7d200.js"]).then(function(d){return d.f}),Xe(()=>import("./brace-fold.es-fafe635c.js"),["assets/brace-fold.es-fafe635c.js","assets/codemirror.es-2fb7d200.js"]).then(function(d){return d.b}),Xe(()=>import("./dialog.es-aa8a9c34.js"),["assets/dialog.es-aa8a9c34.js","assets/codemirror.es-2fb7d200.js"]).then(function(d){return d.d}),Xe(()=>import("./search.es-96efae49.js"),["assets/search.es-96efae49.js","assets/codemirror.es-2fb7d200.js","assets/searchcursor.es-34813366.js","assets/dialog.es-aa8a9c34.js"]).then(function(d){return d.s}),Xe(()=>import("./searchcursor.es-34813366.js"),["assets/searchcursor.es-34813366.js","assets/codemirror.es-2fb7d200.js"]).then(function(d){return d.s}),Xe(()=>import("./jump-to-line.es-d1e12e3b.js"),["assets/jump-to-line.es-d1e12e3b.js","assets/codemirror.es-2fb7d200.js","assets/dialog.es-aa8a9c34.js"]).then(function(d){return d.j}),Xe(()=>import("./sublime.es-281dd5a5.js"),["assets/sublime.es-281dd5a5.js","assets/codemirror.es-2fb7d200.js","assets/searchcursor.es-34813366.js","assets/matchbrackets.es-41794d05.js"]).then(function(d){return d.s}),Xe(()=>import("./mode.es2-d2dd0649.js"),["assets/mode.es2-d2dd0649.js","assets/codemirror.es-2fb7d200.js"]),Xe(()=>import("./info-addon.es-a031eb27.js"),["assets/info-addon.es-a031eb27.js","assets/codemirror.es-2fb7d200.js"])],{useCommonAddons:!1}).then(d=>{if(!f)return;const p=document.createElement("div");d.registerHelper("info","graphql-results",(b,E,y,T)=>{const w=[],S=c.current;return S&&w.push(q(S,{pos:T,token:b})),ip.shouldRender(b)&&w.push(q(ip,{token:b},"image-preview")),w.length?(q2.render(w,p),p):(q2.unmountComponentAtNode(p),null)});const m=u.current;if(!m)return;const v=d(m,{value:a,lineWrapping:!0,readOnly:!0,theme:t,mode:"graphql-results",foldGutter:!0,gutters:["CodeMirror-foldgutter"],info:!0,extraKeys:k0});l(v)}),()=>{f=!1}},[t,a,l]),Uc(s,"keyMap",n),g.useEffect(()=>{i&&(s==null||s.setValue(i)),o.length>0&&(s==null||s.setValue(sl(o)))},[s,i,o]),u}h(op,"useResponseEditor");K6e(op,"useResponseEditor");var X6e=Object.defineProperty,Z6e=h((e,t)=>X6e(e,"name",{value:t,configurable:!0}),"__name$5");function W0(e){const t=op(e,W0);return q("section",{className:"result-window","aria-label":"Result Window","aria-live":"polite","aria-atomic":"true",ref:t})}h(W0,"ResponseEditor");Z6e(W0,"ResponseEditor");var eVe=Object.defineProperty,tVe=h((e,t)=>eVe(e,"name",{value:t,configurable:!0}),"__name$4");function ap(e){var t=e,{isHidden:n}=t,r=Me(t,["isHidden"]);const{variableEditor:i}=Gn({nonNull:!0,caller:ap}),o=Ma(r,ap);return g.useEffect(()=>{i&&!n&&i.refresh()},[i,n]),q("div",{className:gn("graphiql-editor",n&&"hidden"),ref:o})}h(ap,"VariableEditor");tVe(ap,"VariableEditor");var nVe=Object.defineProperty,rVe=h((e,t)=>nVe(e,"name",{value:t,configurable:!0}),"__name$3");function Y0({children:e,dangerouslyAssumeSchemaIsValid:t,defaultQuery:n,defaultHeaders:r,defaultTabs:i,externalFragments:o,fetcher:a,getDefaultFieldNames:s,headers:l,initialTabs:u,inputValueDeprecation:c,introspectionQueryName:f,maxHistoryLength:d,onEditOperationName:p,onSchemaChange:m,onTabChange:v,onTogglePluginVisibility:b,operationName:E,plugins:y,query:T,response:w,schema:S,schemaDescription:_,shouldPersistHeaders:I,storage:A,validationRules:N,variables:C,visiblePlugin:U}){return q(NN,{storage:A,children:q(zI,{maxHistoryLength:d,children:q(Rx,{defaultQuery:n,defaultHeaders:r,defaultTabs:i,externalFragments:o,headers:l,initialTabs:u,onEditOperationName:p,onTabChange:v,query:T,response:w,shouldPersistHeaders:I,validationRules:N,variables:C,children:q(F0,{dangerouslyAssumeSchemaIsValid:t,fetcher:a,inputValueDeprecation:c,introspectionQueryName:f,onSchemaChange:m,schema:S,schemaDescription:_,children:q(Yd,{getDefaultFieldNames:s,fetcher:a,operationName:E,children:q(R0,{children:q(Ex,{onTogglePluginVisibility:b,plugins:y,visiblePlugin:U,children:e})})})})})})})}h(Y0,"GraphiQLProvider");rVe(Y0,"GraphiQLProvider");var iVe=Object.defineProperty,oVe=h((e,t)=>iVe(e,"name",{value:t,configurable:!0}),"__name$2");function $x(){const e=Ns(),[t,n]=g.useState(()=>{if(!e)return null;const i=e.get(L1);switch(i){case"light":return"light";case"dark":return"dark";default:return typeof i=="string"&&e.set(L1,""),null}});g.useLayoutEffect(()=>{typeof window>"u"||(document.body.classList.remove("graphiql-light"),document.body.classList.remove("graphiql-dark"),t&&document.body.classList.add(`graphiql-${t}`))},[t]);const r=g.useCallback(i=>{e==null||e.set(L1,i||""),n(i)},[e]);return g.useMemo(()=>({theme:t,setTheme:r}),[t,r])}h($x,"useTheme");oVe($x,"useTheme");const L1="theme";var aVe=Object.defineProperty,Af=h((e,t)=>aVe(e,"name",{value:t,configurable:!0}),"__name$1");function td({defaultSizeRelation:e=sVe,direction:t,initiallyHidden:n,onHiddenElementChange:r,sizeThresholdFirst:i=100,sizeThresholdSecond:o=100,storageKey:a}){const s=Ns(),l=g.useMemo(()=>cs(500,y=>{s&&a&&s.set(a,y)}),[s,a]),[u,c]=g.useState(()=>{const y=s&&a?s.get(a):null;return y===Wh||n==="first"?"first":y===Yh||n==="second"?"second":null}),f=g.useCallback(y=>{y!==u&&(c(y),r==null||r(y))},[u,r]),d=g.useRef(null),p=g.useRef(null),m=g.useRef(null),v=g.useRef(`${e}`);g.useLayoutEffect(()=>{const y=s&&a&&s.get(a)||v.current,T=t==="horizontal"?"row":"column";d.current&&(d.current.style.display="flex",d.current.style.flexDirection=T,d.current.style.flex=y===Wh||y===Yh?v.current:y),m.current&&(m.current.style.display="flex",m.current.style.flexDirection=T,m.current.style.flex="1"),p.current&&(p.current.style.display="flex",p.current.style.flexDirection=T)},[t,s,a]);const b=g.useCallback(y=>{const T=y==="first"?d.current:m.current;if(T&&(T.style.left="-1000px",T.style.position="absolute",T.style.opacity="0",T.style.height="500px",T.style.width="500px",d.current)){const w=parseFloat(d.current.style.flex);(!Number.isFinite(w)||w<1)&&(d.current.style.flex="1")}},[]),E=g.useCallback(y=>{const T=y==="first"?d.current:m.current;if(T&&(T.style.width="",T.style.height="",T.style.opacity="",T.style.position="",T.style.left="",d.current&&s&&a)){const w=s==null?void 0:s.get(a);w!==Wh&&w!==Yh&&(d.current.style.flex=w||v.current)}},[s,a]);return g.useLayoutEffect(()=>{u==="first"?b("first"):E("first"),u==="second"?b("second"):E("second")},[u,b,E]),g.useEffect(()=>{if(!p.current||!d.current||!m.current)return;const y=p.current,T=d.current,w=T.parentElement,S=t==="horizontal"?"clientX":"clientY",_=t==="horizontal"?"left":"top",I=t==="horizontal"?"right":"bottom",A=t==="horizontal"?"clientWidth":"clientHeight";function N(U){U.preventDefault();const G=U[S]-y.getBoundingClientRect()[_];function Y(V){if(V.buttons===0)return P();const j=V[S]-w.getBoundingClientRect()[_]-G,H=w.getBoundingClientRect()[I]-V[S]+G-y[A];if(j{y.removeEventListener("mousedown",N),y.removeEventListener("dblclick",C)}},[t,f,i,o,l]),g.useMemo(()=>({dragBarRef:p,hiddenElement:u,firstRef:d,setHiddenElement:c,secondRef:m}),[u,c])}h(td,"useDragResize");Af(td,"useDragResize");const sVe=1,Wh="hide-first",Yh="hide-second",cv=g.forwardRef((e,t)=>{var n=e,{label:r}=n,i=Me(n,["label"]);const[o,a]=g.useState(null);return q(rr,{label:r,children:q(ln,Tt(et({},i),{ref:t,type:"button",className:gn("graphiql-toolbar-button",o&&"error",i.className),onClick:s=>{var l;try{(l=i.onClick)==null||l.call(i,s),a(null)}catch(u){a(u instanceof Error?u:new Error(`Toolbar button click failed: ${u}`))}},"aria-label":o?o.message:r,"aria-invalid":o?"true":i["aria-invalid"]}))})});cv.displayName="ToolbarButton";var lVe=Object.defineProperty,uVe=h((e,t)=>lVe(e,"name",{value:t,configurable:!0}),"__name");function sp(){const{queryEditor:e,setOperationName:t}=Gn({nonNull:!0,caller:sp}),{isFetching:n,isSubscribed:r,operationName:i,run:o,stop:a}=Mc({nonNull:!0,caller:sp}),s=(e==null?void 0:e.operations)||[],l=s.length>1&&typeof i!="string",u=n||r,c=`${u?"Stop":"Execute"} query (Ctrl-Enter)`,f={type:"button",className:"graphiql-execute-button",children:u?q(eee,{}):q(HZ,{}),"aria-label":c};return l&&!u?Ne(za,{children:[q(rr,{label:c,children:q(za.Button,et({},f))}),q(za.List,{children:s.map((d,p)=>{const m=d.name?d.name.value:``;return q(za.Item,{onSelect:()=>{var v;const b=(v=d.name)==null?void 0:v.value;e&&b&&b!==e.operationName&&t(b),o()},children:m},`${m}-${p}`)})})]}):q(rr,{label:c,children:q("button",Tt(et({},f),{onClick:()=>{u?a():o()}}))})}h(sp,"ExecuteButton");uVe(sp,"ExecuteButton");const e9=g.forwardRef((e,t)=>{var n=e,{button:r,children:i,label:o}=n,a=Me(n,["button","children","label"]);const s=`${o}${a.value?`: ${a.value}`:""}`;return Ne(iv.Input,Tt(et({},a),{ref:t,className:gn("graphiql-toolbar-listbox",a.className),"aria-label":s,children:[q(rr,{label:s,children:q(iv.Button,{children:r})}),q(iv.Popover,{children:i})]}))});e9.displayName="ToolbarListbox";Fc(e9,{Option:iv.Option});const t9=g.forwardRef((e,t)=>{var n=e,{button:r,children:i,label:o}=n,a=Me(n,["button","children","label"]);return Ne(za,Tt(et({},a),{ref:t,children:[q(rr,{label:o,children:q(za.Button,{className:gn("graphiql-un-styled graphiql-toolbar-menu",a.className),"aria-label":o,children:r})}),q(za.List,{children:i})]}))});t9.displayName="ToolbarMenu";Fc(t9,{Item:za.Item});var cVe=Object.defineProperty,Wk=Object.getOwnPropertySymbols,fVe=Object.prototype.hasOwnProperty,dVe=Object.prototype.propertyIsEnumerable,Yk=(e,t,n)=>t in e?cVe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,n9=(e,t)=>{for(var n in t||(t={}))fVe.call(t,n)&&Yk(e,n,t[n]);if(Wk)for(var n of Wk(t))dVe.call(t,n)&&Yk(e,n,t[n]);return e};function r9(e){return e&&Object.prototype.hasOwnProperty.call(e,"default")&&Object.keys(e).length===1?e.default:e}var J0={},K0={},i9=r9(ts),pVe=r9(cB);Object.defineProperty(K0,"__esModule",{value:!0});var hVe=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Jk=function(){function e(t,n){var r=[],i=!0,o=!1,a=void 0;try{for(var s=t[Symbol.iterator](),l;!(i=(l=s.next()).done)&&(r.push(l.value),!(n&&r.length===n));i=!0);}catch(u){o=!0,a=u}finally{try{!i&&s.return&&s.return()}finally{if(o)throw a}}return r}return function(t,n){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),rt=Object.assign||function(e){for(var t=1;t"u"?f=!0:typeof u.kind=="string"&&(p=!0)}catch{}var m=i.props.selection,v=i._getArgSelection();if(!v){console.error("missing arg selection when setting arg value");return}var b=ds(i.props.arg.type),E=(0,Se.isLeafType)(b)||d||f||p;if(!E){console.warn("Unable to handle non leaf types in InputArgView.setArgValue",u);return}var y=void 0,T=void 0;u===null||typeof u>"u"?T=null:!u.target&&u.kind&&u.kind==="VariableDefinition"?(y=u,T=y.variable):typeof u.kind=="string"?T=u:u.target&&typeof u.target.value=="string"&&(y=u.target.value,T=s9(b,y));var w=i.props.modifyFields((m.fields||[]).map(function(S){var _=S===v,I=_?rt({},S,{value:T}):S;return I}),c);return w},i._modifyChildFields=function(u){return i.props.modifyFields(i.props.selection.fields.map(function(c){return c.name.value===i.props.arg.name?rt({},c,{value:{kind:"ObjectValue",fields:u}}):c}),!0)},r),en(i,o)}return Zi(t,[{key:"render",value:function(){var r=this.props,i=r.arg,o=r.parentField,a=this._getArgSelection();return re.createElement(u9,{argValue:a?a.value:null,arg:i,parentField:o,addArg:this._addArg,removeArg:this._removeArg,setArgFields:this._modifyChildFields,setArgValue:this._setArgValue,getDefaultScalarArgValue:this.props.getDefaultScalarArgValue,makeDefaultArg:this.props.makeDefaultArg,onRunOperation:this.props.onRunOperation,styleConfig:this.props.styleConfig,onCommit:this.props.onCommit,definition:this.props.definition})}}]),t}(re.PureComponent);function Px(e){if((0,Se.isEnumType)(e))return{kind:"EnumValue",value:e.getValues()[0].name};switch(e.name){case"String":return{kind:"StringValue",value:""};case"Float":return{kind:"FloatValue",value:"1.5"};case"Int":return{kind:"IntValue",value:"10"};case"Boolean":return{kind:"BooleanValue",value:!1};default:return{kind:"StringValue",value:""}}}function l9(e,t,n){return Px(n)}var SVe=function(e){to(t,e);function t(){var n,r,i,o;eo(this,t);for(var a=arguments.length,s=Array(a),l=0;l"u"?f=!0:typeof u.kind=="string"&&(p=!0)}catch{}var m=i.props.selection,v=i._getArgSelection();if(!v&&!d){console.error("missing arg selection when setting arg value");return}var b=ds(i.props.arg.type),E=(0,Se.isLeafType)(b)||d||f||p;if(!E){console.warn("Unable to handle non leaf types in ArgView._setArgValue");return}var y=void 0,T=void 0;return u===null||typeof u>"u"?T=null:u.target&&typeof u.target.value=="string"?(y=u.target.value,T=s9(b,y)):!u.target&&u.kind==="VariableDefinition"?(y=u,T=y.variable):typeof u.kind=="string"&&(T=u),i.props.modifyArguments((m.arguments||[]).map(function(w){return w===v?rt({},w,{value:T}):w}),c)},i._setArgFields=function(u,c){var f=i.props.selection,d=i._getArgSelection();if(!d){console.error("missing arg selection when setting arg value");return}return i.props.modifyArguments((f.arguments||[]).map(function(p){return p===d?rt({},p,{value:{kind:"ObjectValue",fields:u}}):p}),c)},r),en(i,o)}return Zi(t,[{key:"render",value:function(){var r=this.props,i=r.arg,o=r.parentField,a=this._getArgSelection();return re.createElement(u9,{argValue:a?a.value:null,arg:i,parentField:o,addArg:this._addArg,removeArg:this._removeArg,setArgFields:this._setArgFields,setArgValue:this._setArgValue,getDefaultScalarArgValue:this.props.getDefaultScalarArgValue,makeDefaultArg:this.props.makeDefaultArg,onRunOperation:this.props.onRunOperation,styleConfig:this.props.styleConfig,onCommit:this.props.onCommit,definition:this.props.definition})}}]),t}(re.PureComponent);function NVe(e){return e.ctrlKey&&e.key==="Enter"}function IVe(e){return e!=="FragmentDefinition"}var xVe=function(e){to(t,e);function t(){var n,r,i,o;eo(this,t);for(var a=arguments.length,s=Array(a),l=0;l0?y=""+b+E:y=b;var T=a.type.toString(),w=(0,Se.parseType)(T),S={kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:y}},type:w,directives:[]},_=function(X){return(r.props.definition.variableDefinitions||[]).find(function(x){return x.variable.name.value===X})},I=void 0,A={};if(typeof o<"u"&&o!==null){var N=(0,Se.visit)(o,{Variable:function(X){var x=X.name.value,M=_(x);if(A[x]=A[x]+1||1,!!M)return M.defaultValue}}),C=S.type.kind==="NonNullType",U=C?rt({},S,{type:S.type.type}):S;I=rt({},U,{defaultValue:N})}else I=S;var G=Object.entries(A).filter(function(B){var X=Jk(B,2);X[0];var x=X[1];return x<2}).map(function(B){var X=Jk(B,2),x=X[0];return X[1],x});if(I){var Y=r.props.setArgValue(I,!1);if(Y){var P=Y.definitions.find(function(B){return B.operation&&B.name&&B.name.value&&r.props.definition.name&&r.props.definition.name.value?B.name.value===r.props.definition.name.value:!1}),V=[].concat(si(P.variableDefinitions||[]),[I]).filter(function(B){return G.indexOf(B.variable.name.value)===-1}),j=rt({},P,{variableDefinitions:V}),H=Y.definitions,F=H.map(function(B){return P===B?j:B}),z=rt({},Y,{definitions:F});r.props.onCommit(z)}}},d=function(){if(!(!o||!o.name||!o.name.value)){var b=o.name.value,E=(r.props.definition.variableDefinitions||[]).find(function(U){return U.variable.name.value===b});if(E){var y=E.defaultValue,T=r.props.setArgValue(y,{commit:!1});if(T){var w=T.definitions.find(function(U){return U.name.value===r.props.definition.name.value});if(!w)return;var S=0;(0,Se.visit)(w,{Variable:function(G){G.name.value===b&&(S=S+1)}});var _=w.variableDefinitions||[];S<2&&(_=_.filter(function(U){return U.variable.name.value!==b}));var I=rt({},w,{variableDefinitions:_}),A=T.definitions,N=A.map(function(U){return w===U?I:U}),C=rt({},T,{definitions:N});r.props.onCommit(C)}}}},p=o&&o.kind==="Variable",m=this.state.displayArgActions?re.createElement("button",{type:"submit",className:"toolbar-button",title:p?"Remove the variable":"Extract the current value into a GraphQL variable",onClick:function(b){b.preventDefault(),b.stopPropagation(),p?d():f()},style:s.styles.actionButtonStyle},re.createElement("span",{style:{color:s.colors.variable}},"$")):null;return re.createElement("div",{style:{cursor:"pointer",minHeight:"16px",WebkitUserSelect:"none",userSelect:"none"},"data-arg-name":a.name,"data-arg-type":l.name,className:"graphiql-explorer-"+a.name},re.createElement("span",{style:{cursor:"pointer"},onClick:function(b){var E=!o;E?r.props.addArg(!0):r.props.removeArg(!0),r.setState({displayArgActions:E})}},(0,Se.isInputObjectType)(l)?re.createElement("span",null,o?this.props.styleConfig.arrowOpen:this.props.styleConfig.arrowClosed):re.createElement(X0,{checked:!!o,styleConfig:this.props.styleConfig}),re.createElement("span",{style:{color:s.colors.attribute},title:a.description,onMouseEnter:function(){o!==null&&typeof o<"u"&&r.setState({displayArgActions:!0})},onMouseLeave:function(){return r.setState({displayArgActions:!1})}},a.name,a9(a)?"*":"",": ",m," ")," "),u||re.createElement("span",null)," ")}}]),t}(re.PureComponent),DVe=function(e){to(t,e);function t(){var n,r,i,o;eo(this,t);for(var a=arguments.length,s=Array(a),l=0;l0;y&&r.setState({displayFieldActions:!0})},onMouseLeave:function(){return r.setState({displayFieldActions:!1})}},(0,Se.isObjectType)(c)?re.createElement("span",null,u?this.props.styleConfig.arrowOpen:this.props.styleConfig.arrowClosed):null,(0,Se.isObjectType)(c)?null:re.createElement(X0,{checked:!!u,styleConfig:this.props.styleConfig}),re.createElement("span",{style:{color:l.colors.property},className:"graphiql-explorer-field-view"},o.name),this.state.displayFieldActions?re.createElement("button",{type:"submit",className:"toolbar-button",title:"Extract selections into a new reusable fragment",onClick:function(y){y.preventDefault(),y.stopPropagation();var T=c.name,w=T+"Fragment",S=(p||[]).filter(function(U){return U.name.value.startsWith(w)}).length;S>0&&(w=""+w+S);var _=u?u.selectionSet?u.selectionSet.selections:[]:[],I=[{kind:"FragmentSpread",name:{kind:"Name",value:w},directives:[]}],A={kind:"FragmentDefinition",name:{kind:"Name",value:w},typeCondition:{kind:"NamedType",name:{kind:"Name",value:c.name}},directives:[],selectionSet:{kind:"SelectionSet",selections:_}},N=r._modifyChildSelections(I,!1);if(N){var C=rt({},N,{definitions:[].concat(si(N.definitions),[A])});r.props.onCommit(C)}else console.warn("Unable to complete extractFragment operation")},style:rt({},l.styles.actionButtonStyle)},re.createElement("span",null,"…")):null),u&&f.length?re.createElement("div",{style:{marginLeft:16},className:"graphiql-explorer-graphql-arguments"},f.map(function(E){return re.createElement(SVe,{key:E.name,parentField:o,arg:E,selection:u,modifyArguments:r._setArguments,getDefaultScalarArgValue:r.props.getDefaultScalarArgValue,makeDefaultArg:r.props.makeDefaultArg,onRunOperation:r.props.onRunOperation,styleConfig:r.props.styleConfig,onCommit:r.props.onCommit,definition:r.props.definition})})):null);if(u&&((0,Se.isObjectType)(c)||(0,Se.isInterfaceType)(c)||(0,Se.isUnionType)(c))){var v=(0,Se.isUnionType)(c)?{}:c.getFields(),b=u?u.selectionSet?u.selectionSet.selections:[]:[];return re.createElement("div",{className:"graphiql-explorer-"+o.name},m,re.createElement("div",{style:{marginLeft:16}},p?p.map(function(E){var y=a.getType(E.typeCondition.name.value),T=E.name.value;return y?re.createElement(OVe,{key:T,fragment:E,selections:b,modifySelections:r._modifyChildSelections,schema:a,styleConfig:r.props.styleConfig,onCommit:r.props.onCommit}):null}):null,Object.keys(v).sort().map(function(E){return re.createElement(t,{key:E,field:v[E],selections:b,modifySelections:r._modifyChildSelections,schema:a,getDefaultFieldNames:s,getDefaultScalarArgValue:r.props.getDefaultScalarArgValue,makeDefaultArg:r.props.makeDefaultArg,onRunOperation:r.props.onRunOperation,styleConfig:r.props.styleConfig,onCommit:r.props.onCommit,definition:r.props.definition,availableFragments:r.props.availableFragments})}),(0,Se.isInterfaceType)(c)||(0,Se.isUnionType)(c)?a.getPossibleTypes(c).map(function(E){return re.createElement(DVe,{key:E.name,implementingType:E,selections:b,modifySelections:r._modifyChildSelections,schema:a,getDefaultFieldNames:s,getDefaultScalarArgValue:r.props.getDefaultScalarArgValue,makeDefaultArg:r.props.makeDefaultArg,onRunOperation:r.props.onRunOperation,styleConfig:r.props.styleConfig,onCommit:r.props.onCommit,definition:r.props.definition})}):null))}return m}}]),t}(re.PureComponent);function CVe(e){try{return e.trim()?(0,Se.parse)(e,{noLocation:!0}):null}catch(t){return new Error(t)}}var kVe={kind:"OperationDefinition",operation:"query",variableDefinitions:[],name:{kind:"Name",value:"MyQuery"},directives:[],selectionSet:{kind:"SelectionSet",selections:[]}},Fg={kind:"Document",definitions:[kVe]},Yl=null;function AVe(e){if(Yl&&Yl[0]===e)return Yl[1];var t=CVe(e);return t?t instanceof Error?Yl?Yl[1]:Fg:(Yl=[e,t],t):Fg}var Zk={buttonStyle:{fontSize:"1.2em",padding:"0px",backgroundColor:"white",border:"none",margin:"5px 0px",height:"40px",width:"100%",display:"block",maxWidth:"none"},actionButtonStyle:{padding:"0px",backgroundColor:"white",border:"none",margin:"0px",maxWidth:"none",height:"15px",width:"15px",display:"inline-block",fontSize:"smaller"},explorerActionsStyle:{margin:"4px -8px -8px",paddingLeft:"8px",bottom:"0px",width:"100%",textAlign:"center",background:"none",borderTop:"none",borderBottom:"none"}},FVe=function(e){to(t,e);function t(){var n,r,i,o;eo(this,t);for(var a=arguments.length,s=Array(a),l=0;l"u"?"undefined":hVe($e))==="object"&&typeof $e.commit<"u"?tn=$e.commit:tn=!0,se){var An=rt({},v,{definitions:v.definitions.map(function(Oe){return Oe===V?se:Oe})});return tn&&J(An),An}else return v},schema:o,getDefaultFieldNames:b,getDefaultScalarArgValue:E,makeDefaultArg:s,onRunOperation:function(){r.props.onRunOperation&&r.props.onRunOperation(H)},styleConfig:l,availableFragments:Y})}),P),C)}}]),t}(re.PureComponent);f9.defaultProps={getDefaultFieldNames:o9,getDefaultScalarArgValue:l9};var LVe=function(e){to(t,e);function t(){var n,r,i,o;eo(this,t);for(var a=arguments.length,s=Array(a),l=0;l{i&&t(i),r()},explorerIsOpen:!0,colors:{keyword:"hsl(var(--color-primary))",def:"hsl(var(--color-tertiary))",property:"hsl(var(--color-info))",qualifier:"hsl(var(--color-secondary))",attribute:"hsl(var(--color-tertiary))",number:"hsl(var(--color-success))",string:"hsl(var(--color-warning))",builtin:"hsl(var(--color-success))",string2:"hsl(var(--color-secondary))",variable:"hsl(var(--color-secondary))",atom:"hsl(var(--color-tertiary))"},arrowOpen:Ar("svg",{viewBox:"0 -4 13 15",style:{color:"hsla(var(--color-neutral), var(--alpha-tertiary, 0.4))",marginRight:"var(--px-4)",height:"var(--px-16)",width:"var(--px-16)"},children:Ar("path",{d:"M3.35355 6.85355L6.14645 9.64645C6.34171 9.84171 6.65829 9.84171 6.85355 9.64645L9.64645 6.85355C9.96143 6.53857 9.73835 6 9.29289 6L3.70711 6C3.26165 6 3.03857 6.53857 3.35355 6.85355Z",fill:"currentColor"})}),arrowClosed:Ar("svg",{viewBox:"0 -2 13 15",style:{color:"hsla(var(--color-neutral), var(--alpha-tertiary, 0.4))",marginRight:"var(--px-4)",height:"var(--px-16)",width:"var(--px-16)"},children:Ar("path",{d:"M6.35355 11.1464L9.14645 8.35355C9.34171 8.15829 9.34171 7.84171 9.14645 7.64645L6.35355 4.85355C6.03857 4.53857 5.5 4.76165 5.5 5.20711V10.7929C5.5 11.2383 6.03857 11.4614 6.35355 11.1464Z",fill:"currentColor"})}),checkboxUnchecked:Ar("svg",{viewBox:"0 0 15 15",style:{color:"hsla(var(--color-neutral), var(--alpha-tertiary, 0.4))",marginRight:"var(--px-4)",height:"var(--px-16)",width:"var(--px-16)"},children:Ar("circle",{cx:"7.5",cy:"7.5",r:"6",stroke:"currentColor",fill:"none"})}),checkboxChecked:m9("svg",{viewBox:"0 0 15 15",style:{color:"hsl(var(--color-info))",marginRight:"var(--px-4)",height:"var(--px-16)",width:"var(--px-16)"},children:[Ar("circle",{cx:"7.5",cy:"7.5",r:"7.5",fill:"currentColor"}),Ar("path",{d:"M4.64641 7.00106L6.8801 9.23256L10.5017 5.61325",fill:"none",stroke:"white",strokeWidth:"1.5"})]}),styles:{buttonStyle:{backgroundColor:"transparent",border:"none",color:"hsla(var(--color-neutral), var(--alpha-secondary, 0.6))",cursor:"pointer",fontSize:"1em"},explorerActionsStyle:{padding:"var(--px-8) var(--px-4)"},actionButtonStyle:{backgroundColor:"transparent",border:"none",color:"hsla(var(--color-neutral), var(--alpha-secondary, 0.6))",cursor:"pointer",fontSize:"1em"}}},e))}function WVe(e){const t=g.useRef(e);return t.current=e,g.useMemo(()=>({title:"GraphiQL Explorer",icon:()=>m9("svg",{height:"1em",strokeWidth:"1.5",viewBox:"0 0 24 24",fill:"none",children:[Ar("path",{d:"M18 6H20M22 6H20M20 6V4M20 6V8",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),Ar("path",{d:"M21.4 20H2.6C2.26863 20 2 19.7314 2 19.4V11H21.4C21.7314 11 22 11.2686 22 11.6V19.4C22 19.7314 21.7314 20 21.4 20Z",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),Ar("path",{d:"M2 11V4.6C2 4.26863 2.26863 4 2.6 4H8.77805C8.92127 4 9.05977 4.05124 9.16852 4.14445L12.3315 6.85555C12.4402 6.94876 12.5787 7 12.722 7H14",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"})]}),content:()=>Ar(HVe,n9({},t.current))}),[])}const v9=Object.freeze({major:16,minor:6,patch:0,preReleaseTag:null});function We(e,t){if(!Boolean(e))throw new Error(t)}function Bi(e){return typeof e=="object"&&e!==null}function fi(e,t){if(!Boolean(e))throw new Error(t??"Unexpected invariant triggered.")}const YVe=/\r\n|[\n\r]/g;function Vw(e,t){let n=0,r=1;for(const i of e.body.matchAll(YVe)){if(typeof i.index=="number"||fi(!1),i.index>=t)break;n=i.index+i[0].length,r+=1}return{line:r,column:t+1-n}}function JVe(e){return g9(e.source,Vw(e.source,e.start))}function g9(e,t){const n=e.locationOffset.column-1,r="".padStart(n)+e.body,i=t.line-1,o=e.locationOffset.line-1,a=t.line+o,s=t.line===1?n:0,l=t.column+s,u=`${e.name}:${a}:${l} +`,c=r.split(/\r\n|[\n\r]/g),f=c[i];if(f.length>120){const d=Math.floor(l/80),p=l%80,m=[];for(let v=0;v["|",v]),["|","^".padStart(p)],["|",m[d+1]]])}return u+nA([[`${a-1} |`,c[i-1]],[`${a} |`,f],["|","^".padStart(l)],[`${a+1} |`,c[i+1]]])}function nA(e){const t=e.filter(([r,i])=>i!==void 0),n=Math.max(...t.map(([r])=>r.length));return t.map(([r,i])=>r.padStart(n)+(i?" "+i:"")).join(` +`)}function KVe(e){const t=e[0];return t==null||"kind"in t||"length"in t?{nodes:t,source:e[1],positions:e[2],path:e[3],originalError:e[4],extensions:e[5]}:t}class oe extends Error{constructor(t,...n){var r,i,o;const{nodes:a,source:s,positions:l,path:u,originalError:c,extensions:f}=KVe(n);super(t),this.name="GraphQLError",this.path=u??void 0,this.originalError=c??void 0,this.nodes=rA(Array.isArray(a)?a:a?[a]:void 0);const d=rA((r=this.nodes)===null||r===void 0?void 0:r.map(m=>m.loc).filter(m=>m!=null));this.source=s??(d==null||(i=d[0])===null||i===void 0?void 0:i.source),this.positions=l??(d==null?void 0:d.map(m=>m.start)),this.locations=l&&s?l.map(m=>Vw(s,m)):d==null?void 0:d.map(m=>Vw(m.source,m.start));const p=Bi(c==null?void 0:c.extensions)?c==null?void 0:c.extensions:void 0;this.extensions=(o=f??p)!==null&&o!==void 0?o:Object.create(null),Object.defineProperties(this,{message:{writable:!0,enumerable:!0},name:{enumerable:!1},nodes:{enumerable:!1},source:{enumerable:!1},positions:{enumerable:!1},originalError:{enumerable:!1}}),c!=null&&c.stack?Object.defineProperty(this,"stack",{value:c.stack,writable:!0,configurable:!0}):Error.captureStackTrace?Error.captureStackTrace(this,oe):Object.defineProperty(this,"stack",{value:Error().stack,writable:!0,configurable:!0})}get[Symbol.toStringTag](){return"GraphQLError"}toString(){let t=this.message;if(this.nodes)for(const n of this.nodes)n.loc&&(t+=` + +`+JVe(n.loc));else if(this.source&&this.locations)for(const n of this.locations)t+=` + +`+g9(this.source,n);return t}toJSON(){const t={message:this.message};return this.locations!=null&&(t.locations=this.locations),this.path!=null&&(t.path=this.path),this.extensions!=null&&Object.keys(this.extensions).length>0&&(t.extensions=this.extensions),t}}function rA(e){return e===void 0||e.length===0?void 0:e}function Sn(e,t,n){return new oe(`Syntax Error: ${n}`,{source:e,positions:[t]})}class XVe{constructor(t,n,r){this.start=t.start,this.end=n.end,this.startToken=t,this.endToken=n,this.source=r}get[Symbol.toStringTag](){return"Location"}toJSON(){return{start:this.start,end:this.end}}}class y9{constructor(t,n,r,i,o,a){this.kind=t,this.start=n,this.end=r,this.line=i,this.column=o,this.value=a,this.prev=null,this.next=null}get[Symbol.toStringTag](){return"Token"}toJSON(){return{kind:this.kind,value:this.value,line:this.line,column:this.column}}}const E9={Name:[],Document:["definitions"],OperationDefinition:["name","variableDefinitions","directives","selectionSet"],VariableDefinition:["variable","type","defaultValue","directives"],Variable:["name"],SelectionSet:["selections"],Field:["alias","name","arguments","directives","selectionSet"],Argument:["name","value"],FragmentSpread:["name","directives"],InlineFragment:["typeCondition","directives","selectionSet"],FragmentDefinition:["name","variableDefinitions","typeCondition","directives","selectionSet"],IntValue:[],FloatValue:[],StringValue:[],BooleanValue:[],NullValue:[],EnumValue:[],ListValue:["values"],ObjectValue:["fields"],ObjectField:["name","value"],Directive:["name","arguments"],NamedType:["name"],ListType:["type"],NonNullType:["type"],SchemaDefinition:["description","directives","operationTypes"],OperationTypeDefinition:["type"],ScalarTypeDefinition:["description","name","directives"],ObjectTypeDefinition:["description","name","interfaces","directives","fields"],FieldDefinition:["description","name","arguments","type","directives"],InputValueDefinition:["description","name","type","defaultValue","directives"],InterfaceTypeDefinition:["description","name","interfaces","directives","fields"],UnionTypeDefinition:["description","name","directives","types"],EnumTypeDefinition:["description","name","directives","values"],EnumValueDefinition:["description","name","directives"],InputObjectTypeDefinition:["description","name","directives","fields"],DirectiveDefinition:["description","name","arguments","locations"],SchemaExtension:["directives","operationTypes"],ScalarTypeExtension:["name","directives"],ObjectTypeExtension:["name","interfaces","directives","fields"],InterfaceTypeExtension:["name","interfaces","directives","fields"],UnionTypeExtension:["name","directives","types"],EnumTypeExtension:["name","directives","values"],InputObjectTypeExtension:["name","directives","fields"]},ZVe=new Set(Object.keys(E9));function jw(e){const t=e==null?void 0:e.kind;return typeof t=="string"&&ZVe.has(t)}var ir;(function(e){e.QUERY="query",e.MUTATION="mutation",e.SUBSCRIPTION="subscription"})(ir||(ir={}));var be;(function(e){e.QUERY="QUERY",e.MUTATION="MUTATION",e.SUBSCRIPTION="SUBSCRIPTION",e.FIELD="FIELD",e.FRAGMENT_DEFINITION="FRAGMENT_DEFINITION",e.FRAGMENT_SPREAD="FRAGMENT_SPREAD",e.INLINE_FRAGMENT="INLINE_FRAGMENT",e.VARIABLE_DEFINITION="VARIABLE_DEFINITION",e.SCHEMA="SCHEMA",e.SCALAR="SCALAR",e.OBJECT="OBJECT",e.FIELD_DEFINITION="FIELD_DEFINITION",e.ARGUMENT_DEFINITION="ARGUMENT_DEFINITION",e.INTERFACE="INTERFACE",e.UNION="UNION",e.ENUM="ENUM",e.ENUM_VALUE="ENUM_VALUE",e.INPUT_OBJECT="INPUT_OBJECT",e.INPUT_FIELD_DEFINITION="INPUT_FIELD_DEFINITION"})(be||(be={}));var O;(function(e){e.NAME="Name",e.DOCUMENT="Document",e.OPERATION_DEFINITION="OperationDefinition",e.VARIABLE_DEFINITION="VariableDefinition",e.SELECTION_SET="SelectionSet",e.FIELD="Field",e.ARGUMENT="Argument",e.FRAGMENT_SPREAD="FragmentSpread",e.INLINE_FRAGMENT="InlineFragment",e.FRAGMENT_DEFINITION="FragmentDefinition",e.VARIABLE="Variable",e.INT="IntValue",e.FLOAT="FloatValue",e.STRING="StringValue",e.BOOLEAN="BooleanValue",e.NULL="NullValue",e.ENUM="EnumValue",e.LIST="ListValue",e.OBJECT="ObjectValue",e.OBJECT_FIELD="ObjectField",e.DIRECTIVE="Directive",e.NAMED_TYPE="NamedType",e.LIST_TYPE="ListType",e.NON_NULL_TYPE="NonNullType",e.SCHEMA_DEFINITION="SchemaDefinition",e.OPERATION_TYPE_DEFINITION="OperationTypeDefinition",e.SCALAR_TYPE_DEFINITION="ScalarTypeDefinition",e.OBJECT_TYPE_DEFINITION="ObjectTypeDefinition",e.FIELD_DEFINITION="FieldDefinition",e.INPUT_VALUE_DEFINITION="InputValueDefinition",e.INTERFACE_TYPE_DEFINITION="InterfaceTypeDefinition",e.UNION_TYPE_DEFINITION="UnionTypeDefinition",e.ENUM_TYPE_DEFINITION="EnumTypeDefinition",e.ENUM_VALUE_DEFINITION="EnumValueDefinition",e.INPUT_OBJECT_TYPE_DEFINITION="InputObjectTypeDefinition",e.DIRECTIVE_DEFINITION="DirectiveDefinition",e.SCHEMA_EXTENSION="SchemaExtension",e.SCALAR_TYPE_EXTENSION="ScalarTypeExtension",e.OBJECT_TYPE_EXTENSION="ObjectTypeExtension",e.INTERFACE_TYPE_EXTENSION="InterfaceTypeExtension",e.UNION_TYPE_EXTENSION="UnionTypeExtension",e.ENUM_TYPE_EXTENSION="EnumTypeExtension",e.INPUT_OBJECT_TYPE_EXTENSION="InputObjectTypeExtension"})(O||(O={}));function Uw(e){return e===9||e===32}function lp(e){return e>=48&&e<=57}function b9(e){return e>=97&&e<=122||e>=65&&e<=90}function jx(e){return b9(e)||e===95}function T9(e){return b9(e)||lp(e)||e===95}function e9e(e){var t;let n=Number.MAX_SAFE_INTEGER,r=null,i=-1;for(let a=0;as===0?a:a.slice(n)).slice((t=r)!==null&&t!==void 0?t:0,i+1)}function t9e(e){let t=0;for(;t1&&r.slice(1).every(p=>p.length===0||Uw(p.charCodeAt(0))),a=n.endsWith('\\"""'),s=e.endsWith('"')&&!a,l=e.endsWith("\\"),u=s||l,c=!(t!=null&&t.minimize)&&(!i||e.length>70||u||o||a);let f="";const d=i&&Uw(e.charCodeAt(0));return(c&&!d||o)&&(f+=` +`),f+=n,(c||u)&&(f+=` +`),'"""'+f+'"""'}var te;(function(e){e.SOF="",e.EOF="",e.BANG="!",e.DOLLAR="$",e.AMP="&",e.PAREN_L="(",e.PAREN_R=")",e.SPREAD="...",e.COLON=":",e.EQUALS="=",e.AT="@",e.BRACKET_L="[",e.BRACKET_R="]",e.BRACE_L="{",e.PIPE="|",e.BRACE_R="}",e.NAME="Name",e.INT="Int",e.FLOAT="Float",e.STRING="String",e.BLOCK_STRING="BlockString",e.COMMENT="Comment"})(te||(te={}));class _9{constructor(t){const n=new y9(te.SOF,0,0,0,0);this.source=t,this.lastToken=n,this.token=n,this.line=1,this.lineStart=0}get[Symbol.toStringTag](){return"Lexer"}advance(){return this.lastToken=this.token,this.token=this.lookahead()}lookahead(){let t=this.token;if(t.kind!==te.EOF)do if(t.next)t=t.next;else{const n=n9e(this,t.end);t.next=n,n.prev=t,t=n}while(t.kind===te.COMMENT);return t}}function S9(e){return e===te.BANG||e===te.DOLLAR||e===te.AMP||e===te.PAREN_L||e===te.PAREN_R||e===te.SPREAD||e===te.COLON||e===te.EQUALS||e===te.AT||e===te.BRACKET_L||e===te.BRACKET_R||e===te.BRACE_L||e===te.PIPE||e===te.BRACE_R}function Bc(e){return e>=0&&e<=55295||e>=57344&&e<=1114111}function eE(e,t){return N9(e.charCodeAt(t))&&I9(e.charCodeAt(t+1))}function N9(e){return e>=55296&&e<=56319}function I9(e){return e>=56320&&e<=57343}function Il(e,t){const n=e.source.body.codePointAt(t);if(n===void 0)return te.EOF;if(n>=32&&n<=126){const r=String.fromCodePoint(n);return r==='"'?`'"'`:`"${r}"`}return"U+"+n.toString(16).toUpperCase().padStart(4,"0")}function rn(e,t,n,r,i){const o=e.line,a=1+n-e.lineStart;return new y9(t,n,r,o,a,i)}function n9e(e,t){const n=e.source.body,r=n.length;let i=t;for(;i=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:-1}function l9e(e,t){const n=e.source.body;switch(n.charCodeAt(t+1)){case 34:return{value:'"',size:2};case 92:return{value:"\\",size:2};case 47:return{value:"/",size:2};case 98:return{value:"\b",size:2};case 102:return{value:"\f",size:2};case 110:return{value:` +`,size:2};case 114:return{value:"\r",size:2};case 116:return{value:" ",size:2}}throw Sn(e.source,t,`Invalid character escape sequence: "${n.slice(t,t+2)}".`)}function u9e(e,t){const n=e.source.body,r=n.length;let i=e.lineStart,o=t+3,a=o,s="";const l=[];for(;ox9?"["+v9e(e)+"]":"{ "+n.map(([i,o])=>i+": "+tE(o,t)).join(", ")+" }"}function m9e(e,t){if(e.length===0)return"[]";if(t.length>x9)return"[Array]";const n=Math.min(f9e,e.length),r=e.length-n,i=[];for(let o=0;o1&&i.push(`... ${r} more items`),"["+i.join(", ")+"]"}function v9e(e){const t=Object.prototype.toString.call(e).replace(/^\[object /,"").replace(/]$/,"");if(t==="Object"&&typeof e.constructor=="function"){const n=e.constructor.name;if(typeof n=="string"&&n!=="")return n}return t}const no=function(t,n){return t instanceof n};class nE{constructor(t,n="GraphQL request",r={line:1,column:1}){typeof t=="string"||We(!1,`Body must be a string. Received: ${fe(t)}.`),this.body=t,this.name=n,this.locationOffset=r,this.locationOffset.line>0||We(!1,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||We(!1,"column in locationOffset is 1-indexed and must be positive.")}get[Symbol.toStringTag](){return"Source"}}function D9(e){return no(e,nE)}function up(e,t){return new O9(e,t).parseDocument()}function g9e(e,t){const n=new O9(e,t);n.expectToken(te.SOF);const r=n.parseValueLiteral(!1);return n.expectToken(te.EOF),r}class O9{constructor(t,n={}){const r=D9(t)?t:new nE(t);this._lexer=new _9(r),this._options=n,this._tokenCounter=0}parseName(){const t=this.expectToken(te.NAME);return this.node(t,{kind:O.NAME,value:t.value})}parseDocument(){return this.node(this._lexer.token,{kind:O.DOCUMENT,definitions:this.many(te.SOF,this.parseDefinition,te.EOF)})}parseDefinition(){if(this.peek(te.BRACE_L))return this.parseOperationDefinition();const t=this.peekDescription(),n=t?this._lexer.lookahead():this._lexer.token;if(n.kind===te.NAME){switch(n.value){case"schema":return this.parseSchemaDefinition();case"scalar":return this.parseScalarTypeDefinition();case"type":return this.parseObjectTypeDefinition();case"interface":return this.parseInterfaceTypeDefinition();case"union":return this.parseUnionTypeDefinition();case"enum":return this.parseEnumTypeDefinition();case"input":return this.parseInputObjectTypeDefinition();case"directive":return this.parseDirectiveDefinition()}if(t)throw Sn(this._lexer.source,this._lexer.token.start,"Unexpected description, descriptions are supported only on type definitions.");switch(n.value){case"query":case"mutation":case"subscription":return this.parseOperationDefinition();case"fragment":return this.parseFragmentDefinition();case"extend":return this.parseTypeSystemExtension()}}throw this.unexpected(n)}parseOperationDefinition(){const t=this._lexer.token;if(this.peek(te.BRACE_L))return this.node(t,{kind:O.OPERATION_DEFINITION,operation:ir.QUERY,name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet()});const n=this.parseOperationType();let r;return this.peek(te.NAME)&&(r=this.parseName()),this.node(t,{kind:O.OPERATION_DEFINITION,operation:n,name:r,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseOperationType(){const t=this.expectToken(te.NAME);switch(t.value){case"query":return ir.QUERY;case"mutation":return ir.MUTATION;case"subscription":return ir.SUBSCRIPTION}throw this.unexpected(t)}parseVariableDefinitions(){return this.optionalMany(te.PAREN_L,this.parseVariableDefinition,te.PAREN_R)}parseVariableDefinition(){return this.node(this._lexer.token,{kind:O.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(te.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(te.EQUALS)?this.parseConstValueLiteral():void 0,directives:this.parseConstDirectives()})}parseVariable(){const t=this._lexer.token;return this.expectToken(te.DOLLAR),this.node(t,{kind:O.VARIABLE,name:this.parseName()})}parseSelectionSet(){return this.node(this._lexer.token,{kind:O.SELECTION_SET,selections:this.many(te.BRACE_L,this.parseSelection,te.BRACE_R)})}parseSelection(){return this.peek(te.SPREAD)?this.parseFragment():this.parseField()}parseField(){const t=this._lexer.token,n=this.parseName();let r,i;return this.expectOptionalToken(te.COLON)?(r=n,i=this.parseName()):i=n,this.node(t,{kind:O.FIELD,alias:r,name:i,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(te.BRACE_L)?this.parseSelectionSet():void 0})}parseArguments(t){const n=t?this.parseConstArgument:this.parseArgument;return this.optionalMany(te.PAREN_L,n,te.PAREN_R)}parseArgument(t=!1){const n=this._lexer.token,r=this.parseName();return this.expectToken(te.COLON),this.node(n,{kind:O.ARGUMENT,name:r,value:this.parseValueLiteral(t)})}parseConstArgument(){return this.parseArgument(!0)}parseFragment(){const t=this._lexer.token;this.expectToken(te.SPREAD);const n=this.expectOptionalKeyword("on");return!n&&this.peek(te.NAME)?this.node(t,{kind:O.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1)}):this.node(t,{kind:O.INLINE_FRAGMENT,typeCondition:n?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentDefinition(){const t=this._lexer.token;return this.expectKeyword("fragment"),this._options.allowLegacyFragmentVariables===!0?this.node(t,{kind:O.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()}):this.node(t,{kind:O.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentName(){if(this._lexer.token.value==="on")throw this.unexpected();return this.parseName()}parseValueLiteral(t){const n=this._lexer.token;switch(n.kind){case te.BRACKET_L:return this.parseList(t);case te.BRACE_L:return this.parseObject(t);case te.INT:return this.advanceLexer(),this.node(n,{kind:O.INT,value:n.value});case te.FLOAT:return this.advanceLexer(),this.node(n,{kind:O.FLOAT,value:n.value});case te.STRING:case te.BLOCK_STRING:return this.parseStringLiteral();case te.NAME:switch(this.advanceLexer(),n.value){case"true":return this.node(n,{kind:O.BOOLEAN,value:!0});case"false":return this.node(n,{kind:O.BOOLEAN,value:!1});case"null":return this.node(n,{kind:O.NULL});default:return this.node(n,{kind:O.ENUM,value:n.value})}case te.DOLLAR:if(t)if(this.expectToken(te.DOLLAR),this._lexer.token.kind===te.NAME){const r=this._lexer.token.value;throw Sn(this._lexer.source,n.start,`Unexpected variable "$${r}" in constant value.`)}else throw this.unexpected(n);return this.parseVariable();default:throw this.unexpected()}}parseConstValueLiteral(){return this.parseValueLiteral(!0)}parseStringLiteral(){const t=this._lexer.token;return this.advanceLexer(),this.node(t,{kind:O.STRING,value:t.value,block:t.kind===te.BLOCK_STRING})}parseList(t){const n=()=>this.parseValueLiteral(t);return this.node(this._lexer.token,{kind:O.LIST,values:this.any(te.BRACKET_L,n,te.BRACKET_R)})}parseObject(t){const n=()=>this.parseObjectField(t);return this.node(this._lexer.token,{kind:O.OBJECT,fields:this.any(te.BRACE_L,n,te.BRACE_R)})}parseObjectField(t){const n=this._lexer.token,r=this.parseName();return this.expectToken(te.COLON),this.node(n,{kind:O.OBJECT_FIELD,name:r,value:this.parseValueLiteral(t)})}parseDirectives(t){const n=[];for(;this.peek(te.AT);)n.push(this.parseDirective(t));return n}parseConstDirectives(){return this.parseDirectives(!0)}parseDirective(t){const n=this._lexer.token;return this.expectToken(te.AT),this.node(n,{kind:O.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(t)})}parseTypeReference(){const t=this._lexer.token;let n;if(this.expectOptionalToken(te.BRACKET_L)){const r=this.parseTypeReference();this.expectToken(te.BRACKET_R),n=this.node(t,{kind:O.LIST_TYPE,type:r})}else n=this.parseNamedType();return this.expectOptionalToken(te.BANG)?this.node(t,{kind:O.NON_NULL_TYPE,type:n}):n}parseNamedType(){return this.node(this._lexer.token,{kind:O.NAMED_TYPE,name:this.parseName()})}peekDescription(){return this.peek(te.STRING)||this.peek(te.BLOCK_STRING)}parseDescription(){if(this.peekDescription())return this.parseStringLiteral()}parseSchemaDefinition(){const t=this._lexer.token,n=this.parseDescription();this.expectKeyword("schema");const r=this.parseConstDirectives(),i=this.many(te.BRACE_L,this.parseOperationTypeDefinition,te.BRACE_R);return this.node(t,{kind:O.SCHEMA_DEFINITION,description:n,directives:r,operationTypes:i})}parseOperationTypeDefinition(){const t=this._lexer.token,n=this.parseOperationType();this.expectToken(te.COLON);const r=this.parseNamedType();return this.node(t,{kind:O.OPERATION_TYPE_DEFINITION,operation:n,type:r})}parseScalarTypeDefinition(){const t=this._lexer.token,n=this.parseDescription();this.expectKeyword("scalar");const r=this.parseName(),i=this.parseConstDirectives();return this.node(t,{kind:O.SCALAR_TYPE_DEFINITION,description:n,name:r,directives:i})}parseObjectTypeDefinition(){const t=this._lexer.token,n=this.parseDescription();this.expectKeyword("type");const r=this.parseName(),i=this.parseImplementsInterfaces(),o=this.parseConstDirectives(),a=this.parseFieldsDefinition();return this.node(t,{kind:O.OBJECT_TYPE_DEFINITION,description:n,name:r,interfaces:i,directives:o,fields:a})}parseImplementsInterfaces(){return this.expectOptionalKeyword("implements")?this.delimitedMany(te.AMP,this.parseNamedType):[]}parseFieldsDefinition(){return this.optionalMany(te.BRACE_L,this.parseFieldDefinition,te.BRACE_R)}parseFieldDefinition(){const t=this._lexer.token,n=this.parseDescription(),r=this.parseName(),i=this.parseArgumentDefs();this.expectToken(te.COLON);const o=this.parseTypeReference(),a=this.parseConstDirectives();return this.node(t,{kind:O.FIELD_DEFINITION,description:n,name:r,arguments:i,type:o,directives:a})}parseArgumentDefs(){return this.optionalMany(te.PAREN_L,this.parseInputValueDef,te.PAREN_R)}parseInputValueDef(){const t=this._lexer.token,n=this.parseDescription(),r=this.parseName();this.expectToken(te.COLON);const i=this.parseTypeReference();let o;this.expectOptionalToken(te.EQUALS)&&(o=this.parseConstValueLiteral());const a=this.parseConstDirectives();return this.node(t,{kind:O.INPUT_VALUE_DEFINITION,description:n,name:r,type:i,defaultValue:o,directives:a})}parseInterfaceTypeDefinition(){const t=this._lexer.token,n=this.parseDescription();this.expectKeyword("interface");const r=this.parseName(),i=this.parseImplementsInterfaces(),o=this.parseConstDirectives(),a=this.parseFieldsDefinition();return this.node(t,{kind:O.INTERFACE_TYPE_DEFINITION,description:n,name:r,interfaces:i,directives:o,fields:a})}parseUnionTypeDefinition(){const t=this._lexer.token,n=this.parseDescription();this.expectKeyword("union");const r=this.parseName(),i=this.parseConstDirectives(),o=this.parseUnionMemberTypes();return this.node(t,{kind:O.UNION_TYPE_DEFINITION,description:n,name:r,directives:i,types:o})}parseUnionMemberTypes(){return this.expectOptionalToken(te.EQUALS)?this.delimitedMany(te.PIPE,this.parseNamedType):[]}parseEnumTypeDefinition(){const t=this._lexer.token,n=this.parseDescription();this.expectKeyword("enum");const r=this.parseName(),i=this.parseConstDirectives(),o=this.parseEnumValuesDefinition();return this.node(t,{kind:O.ENUM_TYPE_DEFINITION,description:n,name:r,directives:i,values:o})}parseEnumValuesDefinition(){return this.optionalMany(te.BRACE_L,this.parseEnumValueDefinition,te.BRACE_R)}parseEnumValueDefinition(){const t=this._lexer.token,n=this.parseDescription(),r=this.parseEnumValueName(),i=this.parseConstDirectives();return this.node(t,{kind:O.ENUM_VALUE_DEFINITION,description:n,name:r,directives:i})}parseEnumValueName(){if(this._lexer.token.value==="true"||this._lexer.token.value==="false"||this._lexer.token.value==="null")throw Sn(this._lexer.source,this._lexer.token.start,`${Jh(this._lexer.token)} is reserved and cannot be used for an enum value.`);return this.parseName()}parseInputObjectTypeDefinition(){const t=this._lexer.token,n=this.parseDescription();this.expectKeyword("input");const r=this.parseName(),i=this.parseConstDirectives(),o=this.parseInputFieldsDefinition();return this.node(t,{kind:O.INPUT_OBJECT_TYPE_DEFINITION,description:n,name:r,directives:i,fields:o})}parseInputFieldsDefinition(){return this.optionalMany(te.BRACE_L,this.parseInputValueDef,te.BRACE_R)}parseTypeSystemExtension(){const t=this._lexer.lookahead();if(t.kind===te.NAME)switch(t.value){case"schema":return this.parseSchemaExtension();case"scalar":return this.parseScalarTypeExtension();case"type":return this.parseObjectTypeExtension();case"interface":return this.parseInterfaceTypeExtension();case"union":return this.parseUnionTypeExtension();case"enum":return this.parseEnumTypeExtension();case"input":return this.parseInputObjectTypeExtension()}throw this.unexpected(t)}parseSchemaExtension(){const t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("schema");const n=this.parseConstDirectives(),r=this.optionalMany(te.BRACE_L,this.parseOperationTypeDefinition,te.BRACE_R);if(n.length===0&&r.length===0)throw this.unexpected();return this.node(t,{kind:O.SCHEMA_EXTENSION,directives:n,operationTypes:r})}parseScalarTypeExtension(){const t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("scalar");const n=this.parseName(),r=this.parseConstDirectives();if(r.length===0)throw this.unexpected();return this.node(t,{kind:O.SCALAR_TYPE_EXTENSION,name:n,directives:r})}parseObjectTypeExtension(){const t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");const n=this.parseName(),r=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),o=this.parseFieldsDefinition();if(r.length===0&&i.length===0&&o.length===0)throw this.unexpected();return this.node(t,{kind:O.OBJECT_TYPE_EXTENSION,name:n,interfaces:r,directives:i,fields:o})}parseInterfaceTypeExtension(){const t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");const n=this.parseName(),r=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),o=this.parseFieldsDefinition();if(r.length===0&&i.length===0&&o.length===0)throw this.unexpected();return this.node(t,{kind:O.INTERFACE_TYPE_EXTENSION,name:n,interfaces:r,directives:i,fields:o})}parseUnionTypeExtension(){const t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("union");const n=this.parseName(),r=this.parseConstDirectives(),i=this.parseUnionMemberTypes();if(r.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:O.UNION_TYPE_EXTENSION,name:n,directives:r,types:i})}parseEnumTypeExtension(){const t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("enum");const n=this.parseName(),r=this.parseConstDirectives(),i=this.parseEnumValuesDefinition();if(r.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:O.ENUM_TYPE_EXTENSION,name:n,directives:r,values:i})}parseInputObjectTypeExtension(){const t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("input");const n=this.parseName(),r=this.parseConstDirectives(),i=this.parseInputFieldsDefinition();if(r.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:O.INPUT_OBJECT_TYPE_EXTENSION,name:n,directives:r,fields:i})}parseDirectiveDefinition(){const t=this._lexer.token,n=this.parseDescription();this.expectKeyword("directive"),this.expectToken(te.AT);const r=this.parseName(),i=this.parseArgumentDefs(),o=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");const a=this.parseDirectiveLocations();return this.node(t,{kind:O.DIRECTIVE_DEFINITION,description:n,name:r,arguments:i,repeatable:o,locations:a})}parseDirectiveLocations(){return this.delimitedMany(te.PIPE,this.parseDirectiveLocation)}parseDirectiveLocation(){const t=this._lexer.token,n=this.parseName();if(Object.prototype.hasOwnProperty.call(be,n.value))return n;throw this.unexpected(t)}node(t,n){return this._options.noLocation!==!0&&(n.loc=new XVe(t,this._lexer.lastToken,this._lexer.source)),n}peek(t){return this._lexer.token.kind===t}expectToken(t){const n=this._lexer.token;if(n.kind===t)return this.advanceLexer(),n;throw Sn(this._lexer.source,n.start,`Expected ${C9(t)}, found ${Jh(n)}.`)}expectOptionalToken(t){return this._lexer.token.kind===t?(this.advanceLexer(),!0):!1}expectKeyword(t){const n=this._lexer.token;if(n.kind===te.NAME&&n.value===t)this.advanceLexer();else throw Sn(this._lexer.source,n.start,`Expected "${t}", found ${Jh(n)}.`)}expectOptionalKeyword(t){const n=this._lexer.token;return n.kind===te.NAME&&n.value===t?(this.advanceLexer(),!0):!1}unexpected(t){const n=t??this._lexer.token;return Sn(this._lexer.source,n.start,`Unexpected ${Jh(n)}.`)}any(t,n,r){this.expectToken(t);const i=[];for(;!this.expectOptionalToken(r);)i.push(n.call(this));return i}optionalMany(t,n,r){if(this.expectOptionalToken(t)){const i=[];do i.push(n.call(this));while(!this.expectOptionalToken(r));return i}return[]}many(t,n,r){this.expectToken(t);const i=[];do i.push(n.call(this));while(!this.expectOptionalToken(r));return i}delimitedMany(t,n){this.expectOptionalToken(t);const r=[];do r.push(n.call(this));while(this.expectOptionalToken(t));return r}advanceLexer(){const{maxTokens:t}=this._options,n=this._lexer.advance();if(t!==void 0&&n.kind!==te.EOF&&(++this._tokenCounter,this._tokenCounter>t))throw Sn(this._lexer.source,n.start,`Document contains more that ${t} tokens. Parsing aborted.`)}}function Jh(e){const t=e.value;return C9(e.kind)+(t!=null?` "${t}"`:"")}function C9(e){return S9(e)?`"${e}"`:e}const y9e=5;function pa(e,t){const[n,r]=t?[e,t]:[void 0,e];let i=" Did you mean ";n&&(i+=n+" ");const o=r.map(l=>`"${l}"`);switch(o.length){case 0:return"";case 1:return i+o[0]+"?";case 2:return i+o[0]+" or "+o[1]+"?"}const a=o.slice(0,y9e),s=a.pop();return i+a.join(", ")+", or "+s+"?"}function oA(e){return e}function xl(e,t){const n=Object.create(null);for(const r of e)n[t(r)]=r;return n}function el(e,t,n){const r=Object.create(null);for(const i of e)r[t(i)]=n(i);return r}function zo(e,t){const n=Object.create(null);for(const r of Object.keys(e))n[r]=t(e[r],r);return n}function Ux(e,t){let n=0,r=0;for(;n0);let s=0;do++r,s=s*10+o-Bw,o=t.charCodeAt(r);while(Kh(o)&&s>0);if(as)return 1}else{if(io)return 1;++n,++r}}return e.length-t.length}const Bw=48,E9e=57;function Kh(e){return!isNaN(e)&&Bw<=e&&e<=E9e}function Fs(e,t){const n=Object.create(null),r=new b9e(e),i=Math.floor(e.length*.4)+1;for(const o of t){const a=r.measure(o,i);a!==void 0&&(n[o]=a)}return Object.keys(n).sort((o,a)=>{const s=n[o]-n[a];return s!==0?s:Ux(o,a)})}class b9e{constructor(t){this._input=t,this._inputLowerCase=t.toLowerCase(),this._inputArray=aA(this._inputLowerCase),this._rows=[new Array(t.length+1).fill(0),new Array(t.length+1).fill(0),new Array(t.length+1).fill(0)]}measure(t,n){if(this._input===t)return 0;const r=t.toLowerCase();if(this._inputLowerCase===r)return 1;let i=aA(r),o=this._inputArray;if(i.lengthn)return;const l=this._rows;for(let c=0;c<=s;c++)l[0][c]=c;for(let c=1;c<=a;c++){const f=l[(c-1)%3],d=l[c%3];let p=d[0]=c;for(let m=1;m<=s;m++){const v=i[c-1]===o[m-1]?0:1;let b=Math.min(f[m]+1,d[m-1]+1,f[m-1]+v);if(c>1&&m>1&&i[c-1]===o[m-2]&&i[c-2]===o[m-1]){const E=l[(c-2)%3][m-2];b=Math.min(b,E+1)}bn)return}const u=l[a%3][s];return u<=n?u:void 0}}function aA(e){const t=e.length,n=new Array(t);for(let r=0;re.value},Variable:{leave:e=>"$"+e.name},Document:{leave:e=>ye(e.definitions,` + +`)},OperationDefinition:{leave(e){const t=Be("(",ye(e.variableDefinitions,", "),")"),n=ye([e.operation,ye([e.name,t]),ye(e.directives," ")]," ");return(n==="query"?"":n+" ")+e.selectionSet}},VariableDefinition:{leave:({variable:e,type:t,defaultValue:n,directives:r})=>e+": "+t+Be(" = ",n)+Be(" ",ye(r," "))},SelectionSet:{leave:({selections:e})=>_i(e)},Field:{leave({alias:e,name:t,arguments:n,directives:r,selectionSet:i}){const o=Be("",e,": ")+t;let a=o+Be("(",ye(n,", "),")");return a.length>N9e&&(a=o+Be(`( +`,fv(ye(n,` +`)),` +)`)),ye([a,ye(r," "),i]," ")}},Argument:{leave:({name:e,value:t})=>e+": "+t},FragmentSpread:{leave:({name:e,directives:t})=>"..."+e+Be(" ",ye(t," "))},InlineFragment:{leave:({typeCondition:e,directives:t,selectionSet:n})=>ye(["...",Be("on ",e),ye(t," "),n]," ")},FragmentDefinition:{leave:({name:e,typeCondition:t,variableDefinitions:n,directives:r,selectionSet:i})=>`fragment ${e}${Be("(",ye(n,", "),")")} on ${t} ${Be("",ye(r," ")," ")}`+i},IntValue:{leave:({value:e})=>e},FloatValue:{leave:({value:e})=>e},StringValue:{leave:({value:e,block:t})=>t?w9(e):T9e(e)},BooleanValue:{leave:({value:e})=>e?"true":"false"},NullValue:{leave:()=>"null"},EnumValue:{leave:({value:e})=>e},ListValue:{leave:({values:e})=>"["+ye(e,", ")+"]"},ObjectValue:{leave:({fields:e})=>"{"+ye(e,", ")+"}"},ObjectField:{leave:({name:e,value:t})=>e+": "+t},Directive:{leave:({name:e,arguments:t})=>"@"+e+Be("(",ye(t,", "),")")},NamedType:{leave:({name:e})=>e},ListType:{leave:({type:e})=>"["+e+"]"},NonNullType:{leave:({type:e})=>e+"!"},SchemaDefinition:{leave:({description:e,directives:t,operationTypes:n})=>Be("",e,` +`)+ye(["schema",ye(t," "),_i(n)]," ")},OperationTypeDefinition:{leave:({operation:e,type:t})=>e+": "+t},ScalarTypeDefinition:{leave:({description:e,name:t,directives:n})=>Be("",e,` +`)+ye(["scalar",t,ye(n," ")]," ")},ObjectTypeDefinition:{leave:({description:e,name:t,interfaces:n,directives:r,fields:i})=>Be("",e,` +`)+ye(["type",t,Be("implements ",ye(n," & ")),ye(r," "),_i(i)]," ")},FieldDefinition:{leave:({description:e,name:t,arguments:n,type:r,directives:i})=>Be("",e,` +`)+t+(sA(n)?Be(`( +`,fv(ye(n,` +`)),` +)`):Be("(",ye(n,", "),")"))+": "+r+Be(" ",ye(i," "))},InputValueDefinition:{leave:({description:e,name:t,type:n,defaultValue:r,directives:i})=>Be("",e,` +`)+ye([t+": "+n,Be("= ",r),ye(i," ")]," ")},InterfaceTypeDefinition:{leave:({description:e,name:t,interfaces:n,directives:r,fields:i})=>Be("",e,` +`)+ye(["interface",t,Be("implements ",ye(n," & ")),ye(r," "),_i(i)]," ")},UnionTypeDefinition:{leave:({description:e,name:t,directives:n,types:r})=>Be("",e,` +`)+ye(["union",t,ye(n," "),Be("= ",ye(r," | "))]," ")},EnumTypeDefinition:{leave:({description:e,name:t,directives:n,values:r})=>Be("",e,` +`)+ye(["enum",t,ye(n," "),_i(r)]," ")},EnumValueDefinition:{leave:({description:e,name:t,directives:n})=>Be("",e,` +`)+ye([t,ye(n," ")]," ")},InputObjectTypeDefinition:{leave:({description:e,name:t,directives:n,fields:r})=>Be("",e,` +`)+ye(["input",t,ye(n," "),_i(r)]," ")},DirectiveDefinition:{leave:({description:e,name:t,arguments:n,repeatable:r,locations:i})=>Be("",e,` +`)+"directive @"+t+(sA(n)?Be(`( +`,fv(ye(n,` +`)),` +)`):Be("(",ye(n,", "),")"))+(r?" repeatable":"")+" on "+ye(i," | ")},SchemaExtension:{leave:({directives:e,operationTypes:t})=>ye(["extend schema",ye(e," "),_i(t)]," ")},ScalarTypeExtension:{leave:({name:e,directives:t})=>ye(["extend scalar",e,ye(t," ")]," ")},ObjectTypeExtension:{leave:({name:e,interfaces:t,directives:n,fields:r})=>ye(["extend type",e,Be("implements ",ye(t," & ")),ye(n," "),_i(r)]," ")},InterfaceTypeExtension:{leave:({name:e,interfaces:t,directives:n,fields:r})=>ye(["extend interface",e,Be("implements ",ye(t," & ")),ye(n," "),_i(r)]," ")},UnionTypeExtension:{leave:({name:e,directives:t,types:n})=>ye(["extend union",e,ye(t," "),Be("= ",ye(n," | "))]," ")},EnumTypeExtension:{leave:({name:e,directives:t,values:n})=>ye(["extend enum",e,ye(t," "),_i(n)]," ")},InputObjectTypeExtension:{leave:({name:e,directives:t,fields:n})=>ye(["extend input",e,ye(t," "),_i(n)]," ")}};function ye(e,t=""){var n;return(n=e==null?void 0:e.filter(r=>r).join(t))!==null&&n!==void 0?n:""}function _i(e){return Be(`{ +`,fv(ye(e,` +`)),` +}`)}function Be(e,t,n=""){return t!=null&&t!==""?e+t+n:""}function fv(e){return Be(" ",e.replace(/\n/g,` + `))}function sA(e){var t;return(t=e==null?void 0:e.some(n=>n.includes(` +`)))!==null&&t!==void 0?t:!1}function qw(e,t){switch(e.kind){case O.NULL:return null;case O.INT:return parseInt(e.value,10);case O.FLOAT:return parseFloat(e.value);case O.STRING:case O.ENUM:case O.BOOLEAN:return e.value;case O.LIST:return e.values.map(n=>qw(n,t));case O.OBJECT:return el(e.fields,n=>n.name.value,n=>qw(n.value,t));case O.VARIABLE:return t==null?void 0:t[e.name.value]}}function ro(e){if(e!=null||We(!1,"Must provide name."),typeof e=="string"||We(!1,"Expected name to be a string."),e.length===0)throw new oe("Expected name to be a non-empty string.");for(let t=1;ta(qw(s,l)),this.extensions=Ei(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(o=t.extensionASTNodes)!==null&&o!==void 0?o:[],t.specifiedByURL==null||typeof t.specifiedByURL=="string"||We(!1,`${this.name} must provide "specifiedByURL" as a string, but got: ${fe(t.specifiedByURL)}.`),t.serialize==null||typeof t.serialize=="function"||We(!1,`${this.name} must provide "serialize" function. If this custom Scalar is also used as an input type, ensure "parseValue" and "parseLiteral" functions are also provided.`),t.parseLiteral&&(typeof t.parseValue=="function"&&typeof t.parseLiteral=="function"||We(!1,`${this.name} must provide both "parseValue" and "parseLiteral" functions.`))}get[Symbol.toStringTag](){return"GraphQLScalarType"}toConfig(){return{name:this.name,description:this.description,specifiedByURL:this.specifiedByURL,serialize:this.serialize,parseValue:this.parseValue,parseLiteral:this.parseLiteral,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}}class fr{constructor(t){var n;this.name=ro(t.name),this.description=t.description,this.isTypeOf=t.isTypeOf,this.extensions=Ei(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(n=t.extensionASTNodes)!==null&&n!==void 0?n:[],this._fields=()=>$9(t),this._interfaces=()=>L9(t),t.isTypeOf==null||typeof t.isTypeOf=="function"||We(!1,`${this.name} must provide "isTypeOf" as a function, but got: ${fe(t.isTypeOf)}.`)}get[Symbol.toStringTag](){return"GraphQLObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}getInterfaces(){return typeof this._interfaces=="function"&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:M9(this.getFields()),isTypeOf:this.isTypeOf,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}}function L9(e){var t;const n=F9((t=e.interfaces)!==null&&t!==void 0?t:[]);return Array.isArray(n)||We(!1,`${e.name} interfaces must be an Array or a function which returns an Array.`),n}function $9(e){const t=R9(e.fields);return Bu(t)||We(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),zo(t,(n,r)=>{var i;Bu(n)||We(!1,`${e.name}.${r} field config must be an object.`),n.resolve==null||typeof n.resolve=="function"||We(!1,`${e.name}.${r} field resolver must be a function if provided, but got: ${fe(n.resolve)}.`);const o=(i=n.args)!==null&&i!==void 0?i:{};return Bu(o)||We(!1,`${e.name}.${r} args must be an object with argument names as keys.`),{name:ro(r),description:n.description,type:n.type,args:P9(o),resolve:n.resolve,subscribe:n.subscribe,deprecationReason:n.deprecationReason,extensions:Ei(n.extensions),astNode:n.astNode}})}function P9(e){return Object.entries(e).map(([t,n])=>({name:ro(t),description:n.description,type:n.type,defaultValue:n.defaultValue,deprecationReason:n.deprecationReason,extensions:Ei(n.extensions),astNode:n.astNode}))}function Bu(e){return Bi(e)&&!Array.isArray(e)}function M9(e){return zo(e,t=>({description:t.description,type:t.type,args:V9(t.args),resolve:t.resolve,subscribe:t.subscribe,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}function V9(e){return el(e,t=>t.name,t=>({description:t.description,type:t.type,defaultValue:t.defaultValue,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}function rh(e){return Re(e.type)&&e.defaultValue===void 0}class ha{constructor(t){var n;this.name=ro(t.name),this.description=t.description,this.resolveType=t.resolveType,this.extensions=Ei(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(n=t.extensionASTNodes)!==null&&n!==void 0?n:[],this._fields=$9.bind(void 0,t),this._interfaces=L9.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||We(!1,`${this.name} must provide "resolveType" as a function, but got: ${fe(t.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLInterfaceType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}getInterfaces(){return typeof this._interfaces=="function"&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:M9(this.getFields()),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}}class Ec{constructor(t){var n;this.name=ro(t.name),this.description=t.description,this.resolveType=t.resolveType,this.extensions=Ei(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(n=t.extensionASTNodes)!==null&&n!==void 0?n:[],this._types=k9e.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||We(!1,`${this.name} must provide "resolveType" as a function, but got: ${fe(t.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLUnionType"}getTypes(){return typeof this._types=="function"&&(this._types=this._types()),this._types}toConfig(){return{name:this.name,description:this.description,types:this.getTypes(),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}}function k9e(e){const t=F9(e.types);return Array.isArray(t)||We(!1,`Must provide Array of types or a function which returns such an array for Union ${e.name}.`),t}class ma{constructor(t){var n;this.name=ro(t.name),this.description=t.description,this.extensions=Ei(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(n=t.extensionASTNodes)!==null&&n!==void 0?n:[],this._values=A9e(this.name,t.values),this._valueLookup=new Map(this._values.map(r=>[r.value,r])),this._nameLookup=xl(this._values,r=>r.name)}get[Symbol.toStringTag](){return"GraphQLEnumType"}getValues(){return this._values}getValue(t){return this._nameLookup[t]}serialize(t){const n=this._valueLookup.get(t);if(n===void 0)throw new oe(`Enum "${this.name}" cannot represent value: ${fe(t)}`);return n.name}parseValue(t){if(typeof t!="string"){const r=fe(t);throw new oe(`Enum "${this.name}" cannot represent non-string value: ${r}.`+Xh(this,r))}const n=this.getValue(t);if(n==null)throw new oe(`Value "${t}" does not exist in "${this.name}" enum.`+Xh(this,t));return n.value}parseLiteral(t,n){if(t.kind!==O.ENUM){const i=Ot(t);throw new oe(`Enum "${this.name}" cannot represent non-enum value: ${i}.`+Xh(this,i),{nodes:t})}const r=this.getValue(t.value);if(r==null){const i=Ot(t);throw new oe(`Value "${i}" does not exist in "${this.name}" enum.`+Xh(this,i),{nodes:t})}return r.value}toConfig(){const t=el(this.getValues(),n=>n.name,n=>({description:n.description,value:n.value,deprecationReason:n.deprecationReason,extensions:n.extensions,astNode:n.astNode}));return{name:this.name,description:this.description,values:t,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}}function Xh(e,t){const n=e.getValues().map(i=>i.name),r=Fs(t,n);return pa("the enum value",r)}function A9e(e,t){return Bu(t)||We(!1,`${e} values must be an object with value names as keys.`),Object.entries(t).map(([n,r])=>(Bu(r)||We(!1,`${e}.${n} must refer to an object with a "value" key representing an internal value but got: ${fe(r)}.`),{name:x9e(n),description:r.description,value:r.value!==void 0?r.value:n,deprecationReason:r.deprecationReason,extensions:Ei(r.extensions),astNode:r.astNode}))}class ps{constructor(t){var n;this.name=ro(t.name),this.description=t.description,this.extensions=Ei(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(n=t.extensionASTNodes)!==null&&n!==void 0?n:[],this._fields=F9e.bind(void 0,t)}get[Symbol.toStringTag](){return"GraphQLInputObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}toConfig(){const t=zo(this.getFields(),n=>({description:n.description,type:n.type,defaultValue:n.defaultValue,deprecationReason:n.deprecationReason,extensions:n.extensions,astNode:n.astNode}));return{name:this.name,description:this.description,fields:t,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}}function F9e(e){const t=R9(e.fields);return Bu(t)||We(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),zo(t,(n,r)=>(!("resolve"in n)||We(!1,`${e.name}.${r} field has a resolve property, but Input Types cannot define resolvers.`),{name:ro(r),description:n.description,type:n.type,defaultValue:n.defaultValue,deprecationReason:n.deprecationReason,extensions:Ei(n.extensions),astNode:n.astNode}))}function j9(e){return Re(e.type)&&e.defaultValue===void 0}function zw(e,t){return e===t?!0:Re(e)&&Re(t)||Rt(e)&&Rt(t)?zw(e.ofType,t.ofType):!1}function qu(e,t,n){return t===n?!0:Re(n)?Re(t)?qu(e,t.ofType,n.ofType):!1:Re(t)?qu(e,t.ofType,n):Rt(n)?Rt(t)?qu(e,t.ofType,n.ofType):!1:Rt(t)?!1:Nr(n)&&(qe(t)||Pe(t))&&e.isSubType(n,t)}function Qw(e,t,n){return t===n?!0:Nr(t)?Nr(n)?e.getPossibleTypes(t).some(r=>e.isSubType(n,r)):e.isSubType(t,n):Nr(n)?e.isSubType(n,t):!1}const P1=2147483647,M1=-2147483648,Lg=new Oo({name:"Int",description:"The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.",serialize(e){const t=ih(e);if(typeof t=="boolean")return t?1:0;let n=t;if(typeof t=="string"&&t!==""&&(n=Number(t)),typeof n!="number"||!Number.isInteger(n))throw new oe(`Int cannot represent non-integer value: ${fe(t)}`);if(n>P1||nP1||eP1||te.name===t)}function ih(e){if(Bi(e)){if(typeof e.valueOf=="function"){const t=e.valueOf();if(!Bi(t))return t}if(typeof e.toJSON=="function")return e.toJSON()}return e}function B9(e){return no(e,Qi)}class Qi{constructor(t){var n,r;this.name=ro(t.name),this.description=t.description,this.locations=t.locations,this.isRepeatable=(n=t.isRepeatable)!==null&&n!==void 0?n:!1,this.extensions=Ei(t.extensions),this.astNode=t.astNode,Array.isArray(t.locations)||We(!1,`@${t.name} locations must be an Array.`);const i=(r=t.args)!==null&&r!==void 0?r:{};Bi(i)&&!Array.isArray(i)||We(!1,`@${t.name} args must be an object with argument names as keys.`),this.args=P9(i)}get[Symbol.toStringTag](){return"GraphQLDirective"}toConfig(){return{name:this.name,description:this.description,locations:this.locations,args:V9(this.args),isRepeatable:this.isRepeatable,extensions:this.extensions,astNode:this.astNode}}toString(){return"@"+this.name}toJSON(){return this.toString()}}const Qx=new Qi({name:"include",description:"Directs the executor to include this field or fragment only when the `if` argument is true.",locations:[be.FIELD,be.FRAGMENT_SPREAD,be.INLINE_FRAGMENT],args:{if:{type:new De(Xn),description:"Included when true."}}}),Gx=new Qi({name:"skip",description:"Directs the executor to skip this field or fragment when the `if` argument is true.",locations:[be.FIELD,be.FRAGMENT_SPREAD,be.INLINE_FRAGMENT],args:{if:{type:new De(Xn),description:"Skipped when true."}}}),R9e="No longer supported",Hx=new Qi({name:"deprecated",description:"Marks an element of a GraphQL schema as no longer supported.",locations:[be.FIELD_DEFINITION,be.ARGUMENT_DEFINITION,be.INPUT_FIELD_DEFINITION,be.ENUM_VALUE],args:{reason:{type:Nt,description:"Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax, as specified by [CommonMark](https://commonmark.org/).",defaultValue:R9e}}}),q9=new Qi({name:"specifiedBy",description:"Exposes a URL that specifies the behavior of this scalar.",locations:[be.SCALAR],args:{url:{type:new De(Nt),description:"The URL that specifies the behavior of this scalar."}}}),Ul=Object.freeze([Qx,Gx,Hx,q9]);function L9e(e){return Ul.some(({name:t})=>t===e.name)}function z9(e){return typeof e=="object"&&typeof(e==null?void 0:e[Symbol.iterator])=="function"}function Lf(e,t){if(Re(t)){const n=Lf(e,t.ofType);return(n==null?void 0:n.kind)===O.NULL?null:n}if(e===null)return{kind:O.NULL};if(e===void 0)return null;if(Rt(t)){const n=t.ofType;if(z9(e)){const r=[];for(const i of e){const o=Lf(i,n);o!=null&&r.push(o)}return{kind:O.LIST,values:r}}return Lf(e,n)}if(Pt(t)){if(!Bi(e))return null;const n=[];for(const r of Object.values(t.getFields())){const i=Lf(e[r.name],r.type);i&&n.push({kind:O.OBJECT_FIELD,name:{kind:O.NAME,value:r.name},value:i})}return{kind:O.OBJECT,fields:n}}if(zi(t)){const n=t.serialize(e);if(n==null)return null;if(typeof n=="boolean")return{kind:O.BOOLEAN,value:n};if(typeof n=="number"&&Number.isFinite(n)){const r=String(n);return lA.test(r)?{kind:O.INT,value:r}:{kind:O.FLOAT,value:r}}if(typeof n=="string")return Bn(t)?{kind:O.ENUM,value:n}:t===$g&&lA.test(n)?{kind:O.INT,value:n}:{kind:O.STRING,value:n};throw new TypeError(`Cannot convert value to AST: ${fe(n)}.`)}fi(!1,"Unexpected input type: "+fe(t))}const lA=/^-?(?:0|[1-9][0-9]*)$/,Wx=new fr({name:"__Schema",description:"A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.",fields:()=>({description:{type:Nt,resolve:e=>e.description},types:{description:"A list of all types supported by this server.",type:new De(new Mn(new De(Ai))),resolve(e){return Object.values(e.getTypeMap())}},queryType:{description:"The type that query operations will be rooted at.",type:new De(Ai),resolve:e=>e.getQueryType()},mutationType:{description:"If this server supports mutation, the type that mutation operations will be rooted at.",type:Ai,resolve:e=>e.getMutationType()},subscriptionType:{description:"If this server support subscription, the type that subscription operations will be rooted at.",type:Ai,resolve:e=>e.getSubscriptionType()},directives:{description:"A list of all directives supported by this server.",type:new De(new Mn(new De(Q9))),resolve:e=>e.getDirectives()}})}),Q9=new fr({name:"__Directive",description:`A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document. + +In some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.`,fields:()=>({name:{type:new De(Nt),resolve:e=>e.name},description:{type:Nt,resolve:e=>e.description},isRepeatable:{type:new De(Xn),resolve:e=>e.isRepeatable},locations:{type:new De(new Mn(new De(G9))),resolve:e=>e.locations},args:{type:new De(new Mn(new De(oE))),args:{includeDeprecated:{type:Xn,defaultValue:!1}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter(n=>n.deprecationReason==null)}}})}),G9=new ma({name:"__DirectiveLocation",description:"A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.",values:{QUERY:{value:be.QUERY,description:"Location adjacent to a query operation."},MUTATION:{value:be.MUTATION,description:"Location adjacent to a mutation operation."},SUBSCRIPTION:{value:be.SUBSCRIPTION,description:"Location adjacent to a subscription operation."},FIELD:{value:be.FIELD,description:"Location adjacent to a field."},FRAGMENT_DEFINITION:{value:be.FRAGMENT_DEFINITION,description:"Location adjacent to a fragment definition."},FRAGMENT_SPREAD:{value:be.FRAGMENT_SPREAD,description:"Location adjacent to a fragment spread."},INLINE_FRAGMENT:{value:be.INLINE_FRAGMENT,description:"Location adjacent to an inline fragment."},VARIABLE_DEFINITION:{value:be.VARIABLE_DEFINITION,description:"Location adjacent to a variable definition."},SCHEMA:{value:be.SCHEMA,description:"Location adjacent to a schema definition."},SCALAR:{value:be.SCALAR,description:"Location adjacent to a scalar definition."},OBJECT:{value:be.OBJECT,description:"Location adjacent to an object type definition."},FIELD_DEFINITION:{value:be.FIELD_DEFINITION,description:"Location adjacent to a field definition."},ARGUMENT_DEFINITION:{value:be.ARGUMENT_DEFINITION,description:"Location adjacent to an argument definition."},INTERFACE:{value:be.INTERFACE,description:"Location adjacent to an interface definition."},UNION:{value:be.UNION,description:"Location adjacent to a union definition."},ENUM:{value:be.ENUM,description:"Location adjacent to an enum definition."},ENUM_VALUE:{value:be.ENUM_VALUE,description:"Location adjacent to an enum value definition."},INPUT_OBJECT:{value:be.INPUT_OBJECT,description:"Location adjacent to an input object type definition."},INPUT_FIELD_DEFINITION:{value:be.INPUT_FIELD_DEFINITION,description:"Location adjacent to an input object field definition."}}}),Ai=new fr({name:"__Type",description:"The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name, description and optional `specifiedByURL`, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.",fields:()=>({kind:{type:new De(Y9),resolve(e){if(Lo(e))return vt.SCALAR;if(Pe(e))return vt.OBJECT;if(qe(e))return vt.INTERFACE;if(Or(e))return vt.UNION;if(Bn(e))return vt.ENUM;if(Pt(e))return vt.INPUT_OBJECT;if(Rt(e))return vt.LIST;if(Re(e))return vt.NON_NULL;fi(!1,`Unexpected type: "${fe(e)}".`)}},name:{type:Nt,resolve:e=>"name"in e?e.name:void 0},description:{type:Nt,resolve:e=>"description"in e?e.description:void 0},specifiedByURL:{type:Nt,resolve:e=>"specifiedByURL"in e?e.specifiedByURL:void 0},fields:{type:new Mn(new De(H9)),args:{includeDeprecated:{type:Xn,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(Pe(e)||qe(e)){const n=Object.values(e.getFields());return t?n:n.filter(r=>r.deprecationReason==null)}}},interfaces:{type:new Mn(new De(Ai)),resolve(e){if(Pe(e)||qe(e))return e.getInterfaces()}},possibleTypes:{type:new Mn(new De(Ai)),resolve(e,t,n,{schema:r}){if(Nr(e))return r.getPossibleTypes(e)}},enumValues:{type:new Mn(new De(W9)),args:{includeDeprecated:{type:Xn,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(Bn(e)){const n=e.getValues();return t?n:n.filter(r=>r.deprecationReason==null)}}},inputFields:{type:new Mn(new De(oE)),args:{includeDeprecated:{type:Xn,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(Pt(e)){const n=Object.values(e.getFields());return t?n:n.filter(r=>r.deprecationReason==null)}}},ofType:{type:Ai,resolve:e=>"ofType"in e?e.ofType:void 0}})}),H9=new fr({name:"__Field",description:"Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.",fields:()=>({name:{type:new De(Nt),resolve:e=>e.name},description:{type:Nt,resolve:e=>e.description},args:{type:new De(new Mn(new De(oE))),args:{includeDeprecated:{type:Xn,defaultValue:!1}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter(n=>n.deprecationReason==null)}},type:{type:new De(Ai),resolve:e=>e.type},isDeprecated:{type:new De(Xn),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:Nt,resolve:e=>e.deprecationReason}})}),oE=new fr({name:"__InputValue",description:"Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.",fields:()=>({name:{type:new De(Nt),resolve:e=>e.name},description:{type:Nt,resolve:e=>e.description},type:{type:new De(Ai),resolve:e=>e.type},defaultValue:{type:Nt,description:"A GraphQL-formatted string representing the default value for this input value.",resolve(e){const{type:t,defaultValue:n}=e,r=Lf(n,t);return r?Ot(r):null}},isDeprecated:{type:new De(Xn),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:Nt,resolve:e=>e.deprecationReason}})}),W9=new fr({name:"__EnumValue",description:"One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.",fields:()=>({name:{type:new De(Nt),resolve:e=>e.name},description:{type:Nt,resolve:e=>e.description},isDeprecated:{type:new De(Xn),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:Nt,resolve:e=>e.deprecationReason}})});var vt;(function(e){e.SCALAR="SCALAR",e.OBJECT="OBJECT",e.INTERFACE="INTERFACE",e.UNION="UNION",e.ENUM="ENUM",e.INPUT_OBJECT="INPUT_OBJECT",e.LIST="LIST",e.NON_NULL="NON_NULL"})(vt||(vt={}));const Y9=new ma({name:"__TypeKind",description:"An enum describing what kind of type a given `__Type` is.",values:{SCALAR:{value:vt.SCALAR,description:"Indicates this type is a scalar."},OBJECT:{value:vt.OBJECT,description:"Indicates this type is an object. `fields` and `interfaces` are valid fields."},INTERFACE:{value:vt.INTERFACE,description:"Indicates this type is an interface. `fields`, `interfaces`, and `possibleTypes` are valid fields."},UNION:{value:vt.UNION,description:"Indicates this type is a union. `possibleTypes` is a valid field."},ENUM:{value:vt.ENUM,description:"Indicates this type is an enum. `enumValues` is a valid field."},INPUT_OBJECT:{value:vt.INPUT_OBJECT,description:"Indicates this type is an input object. `inputFields` is a valid field."},LIST:{value:vt.LIST,description:"Indicates this type is a list. `ofType` is a valid field."},NON_NULL:{value:vt.NON_NULL,description:"Indicates this type is a non-null. `ofType` is a valid field."}}}),Pg={name:"__schema",type:new De(Wx),description:"Access the current type schema of this server.",args:[],resolve:(e,t,n,{schema:r})=>r,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},Mg={name:"__type",type:Ai,description:"Request the type information of a single type.",args:[{name:"name",description:void 0,type:new De(Nt),defaultValue:void 0,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0}],resolve:(e,{name:t},n,{schema:r})=>r.getType(t),deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},cp={name:"__typename",type:new De(Nt),description:"The name of the current Object type at runtime.",args:[],resolve:(e,t,n,{parentType:r})=>r.name,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},aE=Object.freeze([Wx,Q9,G9,Ai,H9,oE,W9,Y9]);function J9(e){return aE.some(({name:t})=>e.name===t)}function $9e(e){return no(e,sE)}function P9e(e){if(!$9e(e))throw new Error(`Expected ${fe(e)} to be a GraphQL schema.`);return e}class sE{constructor(t){var n,r;this.__validationErrors=t.assumeValid===!0?[]:void 0,Bi(t)||We(!1,"Must provide configuration object."),!t.types||Array.isArray(t.types)||We(!1,`"types" must be Array if provided but got: ${fe(t.types)}.`),!t.directives||Array.isArray(t.directives)||We(!1,`"directives" must be Array if provided but got: ${fe(t.directives)}.`),this.description=t.description,this.extensions=Ei(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(n=t.extensionASTNodes)!==null&&n!==void 0?n:[],this._queryType=t.query,this._mutationType=t.mutation,this._subscriptionType=t.subscription,this._directives=(r=t.directives)!==null&&r!==void 0?r:Ul;const i=new Set(t.types);if(t.types!=null)for(const o of t.types)i.delete(o),ki(o,i);this._queryType!=null&&ki(this._queryType,i),this._mutationType!=null&&ki(this._mutationType,i),this._subscriptionType!=null&&ki(this._subscriptionType,i);for(const o of this._directives)if(B9(o))for(const a of o.args)ki(a.type,i);ki(Wx,i),this._typeMap=Object.create(null),this._subTypeMap=Object.create(null),this._implementationsMap=Object.create(null);for(const o of i){if(o==null)continue;const a=o.name;if(a||We(!1,"One of the provided types for building the Schema is missing a name."),this._typeMap[a]!==void 0)throw new Error(`Schema must contain uniquely named types but contains multiple types named "${a}".`);if(this._typeMap[a]=o,qe(o)){for(const s of o.getInterfaces())if(qe(s)){let l=this._implementationsMap[s.name];l===void 0&&(l=this._implementationsMap[s.name]={objects:[],interfaces:[]}),l.interfaces.push(o)}}else if(Pe(o)){for(const s of o.getInterfaces())if(qe(s)){let l=this._implementationsMap[s.name];l===void 0&&(l=this._implementationsMap[s.name]={objects:[],interfaces:[]}),l.objects.push(o)}}}}get[Symbol.toStringTag](){return"GraphQLSchema"}getQueryType(){return this._queryType}getMutationType(){return this._mutationType}getSubscriptionType(){return this._subscriptionType}getRootType(t){switch(t){case ir.QUERY:return this.getQueryType();case ir.MUTATION:return this.getMutationType();case ir.SUBSCRIPTION:return this.getSubscriptionType()}}getTypeMap(){return this._typeMap}getType(t){return this.getTypeMap()[t]}getPossibleTypes(t){return Or(t)?t.getTypes():this.getImplementations(t).objects}getImplementations(t){const n=this._implementationsMap[t.name];return n??{objects:[],interfaces:[]}}isSubType(t,n){let r=this._subTypeMap[t.name];if(r===void 0){if(r=Object.create(null),Or(t))for(const i of t.getTypes())r[i.name]=!0;else{const i=this.getImplementations(t);for(const o of i.objects)r[o.name]=!0;for(const o of i.interfaces)r[o.name]=!0}this._subTypeMap[t.name]=r}return r[n.name]!==void 0}getDirectives(){return this._directives}getDirective(t){return this.getDirectives().find(n=>n.name===t)}toConfig(){return{description:this.description,query:this.getQueryType(),mutation:this.getMutationType(),subscription:this.getSubscriptionType(),types:Object.values(this.getTypeMap()),directives:this.getDirectives(),extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes,assumeValid:this.__validationErrors!==void 0}}}function ki(e,t){const n=or(e);if(!t.has(n)){if(t.add(n),Or(n))for(const r of n.getTypes())ki(r,t);else if(Pe(n)||qe(n)){for(const r of n.getInterfaces())ki(r,t);for(const r of Object.values(n.getFields())){ki(r.type,t);for(const i of r.args)ki(i.type,t)}}else if(Pt(n))for(const r of Object.values(n.getFields()))ki(r.type,t)}return t}function M9e(e){if(P9e(e),e.__validationErrors)return e.__validationErrors;const t=new V9e(e);j9e(t),U9e(t),B9e(t);const n=t.getErrors();return e.__validationErrors=n,n}function K9(e){const t=M9e(e);if(t.length!==0)throw new Error(t.map(n=>n.message).join(` + +`))}class V9e{constructor(t){this._errors=[],this.schema=t}reportError(t,n){const r=Array.isArray(n)?n.filter(Boolean):n;this._errors.push(new oe(t,{nodes:r}))}getErrors(){return this._errors}}function j9e(e){const t=e.schema,n=t.getQueryType();if(!n)e.reportError("Query root type must be provided.",t.astNode);else if(!Pe(n)){var r;e.reportError(`Query root type must be Object type, it cannot be ${fe(n)}.`,(r=V1(t,ir.QUERY))!==null&&r!==void 0?r:n.astNode)}const i=t.getMutationType();if(i&&!Pe(i)){var o;e.reportError(`Mutation root type must be Object type if provided, it cannot be ${fe(i)}.`,(o=V1(t,ir.MUTATION))!==null&&o!==void 0?o:i.astNode)}const a=t.getSubscriptionType();if(a&&!Pe(a)){var s;e.reportError(`Subscription root type must be Object type if provided, it cannot be ${fe(a)}.`,(s=V1(t,ir.SUBSCRIPTION))!==null&&s!==void 0?s:a.astNode)}}function V1(e,t){var n;return(n=[e.astNode,...e.extensionASTNodes].flatMap(r=>{var i;return(i=r==null?void 0:r.operationTypes)!==null&&i!==void 0?i:[]}).find(r=>r.operation===t))===null||n===void 0?void 0:n.type}function U9e(e){for(const n of e.schema.getDirectives()){if(!B9(n)){e.reportError(`Expected directive but got: ${fe(n)}.`,n==null?void 0:n.astNode);continue}Dl(e,n);for(const r of n.args)if(Dl(e,r),ni(r.type)||e.reportError(`The type of @${n.name}(${r.name}:) must be Input Type but got: ${fe(r.type)}.`,r.astNode),rh(r)&&r.deprecationReason!=null){var t;e.reportError(`Required argument @${n.name}(${r.name}:) cannot be deprecated.`,[Yx(r.astNode),(t=r.astNode)===null||t===void 0?void 0:t.type])}}}function Dl(e,t){t.name.startsWith("__")&&e.reportError(`Name "${t.name}" must not begin with "__", which is reserved by GraphQL introspection.`,t.astNode)}function B9e(e){const t=W9e(e),n=e.schema.getTypeMap();for(const r of Object.values(n)){if(!zx(r)){e.reportError(`Expected GraphQL named type but got: ${fe(r)}.`,r.astNode);continue}J9(r)||Dl(e,r),Pe(r)||qe(r)?(uA(e,r),cA(e,r)):Or(r)?Q9e(e,r):Bn(r)?G9e(e,r):Pt(r)&&(H9e(e,r),t(r))}}function uA(e,t){const n=Object.values(t.getFields());n.length===0&&e.reportError(`Type ${t.name} must define one or more fields.`,[t.astNode,...t.extensionASTNodes]);for(const a of n){if(Dl(e,a),!Uu(a.type)){var r;e.reportError(`The type of ${t.name}.${a.name} must be Output Type but got: ${fe(a.type)}.`,(r=a.astNode)===null||r===void 0?void 0:r.type)}for(const s of a.args){const l=s.name;if(Dl(e,s),!ni(s.type)){var i;e.reportError(`The type of ${t.name}.${a.name}(${l}:) must be Input Type but got: ${fe(s.type)}.`,(i=s.astNode)===null||i===void 0?void 0:i.type)}if(rh(s)&&s.deprecationReason!=null){var o;e.reportError(`Required argument ${t.name}.${a.name}(${l}:) cannot be deprecated.`,[Yx(s.astNode),(o=s.astNode)===null||o===void 0?void 0:o.type])}}}}function cA(e,t){const n=Object.create(null);for(const r of t.getInterfaces()){if(!qe(r)){e.reportError(`Type ${fe(t)} must only implement Interface types, it cannot implement ${fe(r)}.`,nd(t,r));continue}if(t===r){e.reportError(`Type ${t.name} cannot implement itself because it would create a circular reference.`,nd(t,r));continue}if(n[r.name]){e.reportError(`Type ${t.name} can only implement ${r.name} once.`,nd(t,r));continue}n[r.name]=!0,z9e(e,t,r),q9e(e,t,r)}}function q9e(e,t,n){const r=t.getFields();for(const l of Object.values(n.getFields())){const u=l.name,c=r[u];if(!c){e.reportError(`Interface field ${n.name}.${u} expected but ${t.name} does not provide it.`,[l.astNode,t.astNode,...t.extensionASTNodes]);continue}if(!qu(e.schema,c.type,l.type)){var i,o;e.reportError(`Interface field ${n.name}.${u} expects type ${fe(l.type)} but ${t.name}.${u} is type ${fe(c.type)}.`,[(i=l.astNode)===null||i===void 0?void 0:i.type,(o=c.astNode)===null||o===void 0?void 0:o.type])}for(const f of l.args){const d=f.name,p=c.args.find(m=>m.name===d);if(!p){e.reportError(`Interface field argument ${n.name}.${u}(${d}:) expected but ${t.name}.${u} does not provide it.`,[f.astNode,c.astNode]);continue}if(!zw(f.type,p.type)){var a,s;e.reportError(`Interface field argument ${n.name}.${u}(${d}:) expects type ${fe(f.type)} but ${t.name}.${u}(${d}:) is type ${fe(p.type)}.`,[(a=f.astNode)===null||a===void 0?void 0:a.type,(s=p.astNode)===null||s===void 0?void 0:s.type])}}for(const f of c.args){const d=f.name;!l.args.find(m=>m.name===d)&&rh(f)&&e.reportError(`Object field ${t.name}.${u} includes required argument ${d} that is missing from the Interface field ${n.name}.${u}.`,[f.astNode,l.astNode])}}}function z9e(e,t,n){const r=t.getInterfaces();for(const i of n.getInterfaces())r.includes(i)||e.reportError(i===t?`Type ${t.name} cannot implement ${n.name} because it would create a circular reference.`:`Type ${t.name} must implement ${i.name} because it is implemented by ${n.name}.`,[...nd(n,i),...nd(t,n)])}function Q9e(e,t){const n=t.getTypes();n.length===0&&e.reportError(`Union type ${t.name} must define one or more member types.`,[t.astNode,...t.extensionASTNodes]);const r=Object.create(null);for(const i of n){if(r[i.name]){e.reportError(`Union type ${t.name} can only include type ${i.name} once.`,fA(t,i.name));continue}r[i.name]=!0,Pe(i)||e.reportError(`Union type ${t.name} can only include Object types, it cannot include ${fe(i)}.`,fA(t,String(i)))}}function G9e(e,t){const n=t.getValues();n.length===0&&e.reportError(`Enum type ${t.name} must define one or more values.`,[t.astNode,...t.extensionASTNodes]);for(const r of n)Dl(e,r)}function H9e(e,t){const n=Object.values(t.getFields());n.length===0&&e.reportError(`Input Object type ${t.name} must define one or more fields.`,[t.astNode,...t.extensionASTNodes]);for(const o of n){if(Dl(e,o),!ni(o.type)){var r;e.reportError(`The type of ${t.name}.${o.name} must be Input Type but got: ${fe(o.type)}.`,(r=o.astNode)===null||r===void 0?void 0:r.type)}if(j9(o)&&o.deprecationReason!=null){var i;e.reportError(`Required input field ${t.name}.${o.name} cannot be deprecated.`,[Yx(o.astNode),(i=o.astNode)===null||i===void 0?void 0:i.type])}}}function W9e(e){const t=Object.create(null),n=[],r=Object.create(null);return i;function i(o){if(t[o.name])return;t[o.name]=!0,r[o.name]=n.length;const a=Object.values(o.getFields());for(const s of a)if(Re(s.type)&&Pt(s.type.ofType)){const l=s.type.ofType,u=r[l.name];if(n.push(s),u===void 0)i(l);else{const c=n.slice(u),f=c.map(d=>d.name).join(".");e.reportError(`Cannot reference Input Object "${l.name}" within itself through a series of non-null fields: "${f}".`,c.map(d=>d.astNode))}n.pop()}r[o.name]=void 0}}function nd(e,t){const{astNode:n,extensionASTNodes:r}=e;return(n!=null?[n,...r]:r).flatMap(o=>{var a;return(a=o.interfaces)!==null&&a!==void 0?a:[]}).filter(o=>o.name.value===t.name)}function fA(e,t){const{astNode:n,extensionASTNodes:r}=e;return(n!=null?[n,...r]:r).flatMap(o=>{var a;return(a=o.types)!==null&&a!==void 0?a:[]}).filter(o=>o.name.value===t)}function Yx(e){var t;return e==null||(t=e.directives)===null||t===void 0?void 0:t.find(n=>n.name.value===Hx.name)}function dr(e,t){switch(t.kind){case O.LIST_TYPE:{const n=dr(e,t.type);return n&&new Mn(n)}case O.NON_NULL_TYPE:{const n=dr(e,t.type);return n&&new De(n)}case O.NAMED_TYPE:return e.getType(t.name.value)}}class bc{constructor(t,n,r){this._schema=t,this._typeStack=[],this._parentTypeStack=[],this._inputTypeStack=[],this._fieldDefStack=[],this._defaultValueStack=[],this._directive=null,this._argument=null,this._enumValue=null,this._getFieldDef=r??Y9e,n&&(ni(n)&&this._inputTypeStack.push(n),vi(n)&&this._parentTypeStack.push(n),Uu(n)&&this._typeStack.push(n))}get[Symbol.toStringTag](){return"TypeInfo"}getType(){if(this._typeStack.length>0)return this._typeStack[this._typeStack.length-1]}getParentType(){if(this._parentTypeStack.length>0)return this._parentTypeStack[this._parentTypeStack.length-1]}getInputType(){if(this._inputTypeStack.length>0)return this._inputTypeStack[this._inputTypeStack.length-1]}getParentInputType(){if(this._inputTypeStack.length>1)return this._inputTypeStack[this._inputTypeStack.length-2]}getFieldDef(){if(this._fieldDefStack.length>0)return this._fieldDefStack[this._fieldDefStack.length-1]}getDefaultValue(){if(this._defaultValueStack.length>0)return this._defaultValueStack[this._defaultValueStack.length-1]}getDirective(){return this._directive}getArgument(){return this._argument}getEnumValue(){return this._enumValue}enter(t){const n=this._schema;switch(t.kind){case O.SELECTION_SET:{const i=or(this.getType());this._parentTypeStack.push(vi(i)?i:void 0);break}case O.FIELD:{const i=this.getParentType();let o,a;i&&(o=this._getFieldDef(n,i,t),o&&(a=o.type)),this._fieldDefStack.push(o),this._typeStack.push(Uu(a)?a:void 0);break}case O.DIRECTIVE:this._directive=n.getDirective(t.name.value);break;case O.OPERATION_DEFINITION:{const i=n.getRootType(t.operation);this._typeStack.push(Pe(i)?i:void 0);break}case O.INLINE_FRAGMENT:case O.FRAGMENT_DEFINITION:{const i=t.typeCondition,o=i?dr(n,i):or(this.getType());this._typeStack.push(Uu(o)?o:void 0);break}case O.VARIABLE_DEFINITION:{const i=dr(n,t.type);this._inputTypeStack.push(ni(i)?i:void 0);break}case O.ARGUMENT:{var r;let i,o;const a=(r=this.getDirective())!==null&&r!==void 0?r:this.getFieldDef();a&&(i=a.args.find(s=>s.name===t.name.value),i&&(o=i.type)),this._argument=i,this._defaultValueStack.push(i?i.defaultValue:void 0),this._inputTypeStack.push(ni(o)?o:void 0);break}case O.LIST:{const i=rE(this.getInputType()),o=Rt(i)?i.ofType:i;this._defaultValueStack.push(void 0),this._inputTypeStack.push(ni(o)?o:void 0);break}case O.OBJECT_FIELD:{const i=or(this.getInputType());let o,a;Pt(i)&&(a=i.getFields()[t.name.value],a&&(o=a.type)),this._defaultValueStack.push(a?a.defaultValue:void 0),this._inputTypeStack.push(ni(o)?o:void 0);break}case O.ENUM:{const i=or(this.getInputType());let o;Bn(i)&&(o=i.getValue(t.value)),this._enumValue=o;break}}}leave(t){switch(t.kind){case O.SELECTION_SET:this._parentTypeStack.pop();break;case O.FIELD:this._fieldDefStack.pop(),this._typeStack.pop();break;case O.DIRECTIVE:this._directive=null;break;case O.OPERATION_DEFINITION:case O.INLINE_FRAGMENT:case O.FRAGMENT_DEFINITION:this._typeStack.pop();break;case O.VARIABLE_DEFINITION:this._inputTypeStack.pop();break;case O.ARGUMENT:this._argument=null,this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case O.LIST:case O.OBJECT_FIELD:this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case O.ENUM:this._enumValue=null;break}}}function Y9e(e,t,n){const r=n.name.value;if(r===Pg.name&&e.getQueryType()===t)return Pg;if(r===Mg.name&&e.getQueryType()===t)return Mg;if(r===cp.name&&vi(t))return cp;if(Pe(t)||qe(t))return t.getFields()[r]}function oh(e,t){return{enter(...n){const r=n[0];e.enter(r);const i=Rg(t,r.kind).enter;if(i){const o=i.apply(t,n);return o!==void 0&&(e.leave(r),jw(o)&&e.enter(o)),o}},leave(...n){const r=n[0],i=Rg(t,r.kind).leave;let o;return i&&(o=i.apply(t,n)),e.leave(r),o}}}function J9e(e){return e.kind===O.OPERATION_DEFINITION||e.kind===O.FRAGMENT_DEFINITION}function X9(e){return e.kind===O.SCHEMA_DEFINITION||ah(e)||e.kind===O.DIRECTIVE_DEFINITION}function ah(e){return e.kind===O.SCALAR_TYPE_DEFINITION||e.kind===O.OBJECT_TYPE_DEFINITION||e.kind===O.INTERFACE_TYPE_DEFINITION||e.kind===O.UNION_TYPE_DEFINITION||e.kind===O.ENUM_TYPE_DEFINITION||e.kind===O.INPUT_OBJECT_TYPE_DEFINITION}function K9e(e){return e.kind===O.SCHEMA_EXTENSION||Jx(e)}function Jx(e){return e.kind===O.SCALAR_TYPE_EXTENSION||e.kind===O.OBJECT_TYPE_EXTENSION||e.kind===O.INTERFACE_TYPE_EXTENSION||e.kind===O.UNION_TYPE_EXTENSION||e.kind===O.ENUM_TYPE_EXTENSION||e.kind===O.INPUT_OBJECT_TYPE_EXTENSION}function X9e(e){return{Document(t){for(const n of t.definitions)if(!J9e(n)){const r=n.kind===O.SCHEMA_DEFINITION||n.kind===O.SCHEMA_EXTENSION?"schema":'"'+n.name.value+'"';e.reportError(new oe(`The ${r} definition is not executable.`,{nodes:n}))}return!1}}}function Z9e(e){return{Field(t){const n=e.getParentType();if(n&&!e.getFieldDef()){const i=e.getSchema(),o=t.name.value;let a=pa("to use an inline fragment on",eje(i,n,o));a===""&&(a=pa(tje(n,o))),e.reportError(new oe(`Cannot query field "${o}" on type "${n.name}".`+a,{nodes:t}))}}}}function eje(e,t,n){if(!Nr(t))return[];const r=new Set,i=Object.create(null);for(const a of e.getPossibleTypes(t))if(a.getFields()[n]){r.add(a),i[a.name]=1;for(const s of a.getInterfaces()){var o;s.getFields()[n]&&(r.add(s),i[s.name]=((o=i[s.name])!==null&&o!==void 0?o:0)+1)}}return[...r].sort((a,s)=>{const l=i[s.name]-i[a.name];return l!==0?l:qe(a)&&e.isSubType(a,s)?-1:qe(s)&&e.isSubType(s,a)?1:Ux(a.name,s.name)}).map(a=>a.name)}function tje(e,t){if(Pe(e)||qe(e)){const n=Object.keys(e.getFields());return Fs(t,n)}return[]}function nje(e){return{InlineFragment(t){const n=t.typeCondition;if(n){const r=dr(e.getSchema(),n);if(r&&!vi(r)){const i=Ot(n);e.reportError(new oe(`Fragment cannot condition on non composite type "${i}".`,{nodes:n}))}}},FragmentDefinition(t){const n=dr(e.getSchema(),t.typeCondition);if(n&&!vi(n)){const r=Ot(t.typeCondition);e.reportError(new oe(`Fragment "${t.name.value}" cannot condition on non composite type "${r}".`,{nodes:t.typeCondition}))}}}}function rje(e){return{...Z9(e),Argument(t){const n=e.getArgument(),r=e.getFieldDef(),i=e.getParentType();if(!n&&r&&i){const o=t.name.value,a=r.args.map(l=>l.name),s=Fs(o,a);e.reportError(new oe(`Unknown argument "${o}" on field "${i.name}.${r.name}".`+pa(s),{nodes:t}))}}}}function Z9(e){const t=Object.create(null),n=e.getSchema(),r=n?n.getDirectives():Ul;for(const a of r)t[a.name]=a.args.map(s=>s.name);const i=e.getDocument().definitions;for(const a of i)if(a.kind===O.DIRECTIVE_DEFINITION){var o;const s=(o=a.arguments)!==null&&o!==void 0?o:[];t[a.name.value]=s.map(l=>l.name.value)}return{Directive(a){const s=a.name.value,l=t[s];if(a.arguments&&l)for(const u of a.arguments){const c=u.name.value;if(!l.includes(c)){const f=Fs(c,l);e.reportError(new oe(`Unknown argument "${c}" on directive "@${s}".`+pa(f),{nodes:u}))}}return!1}}}function ej(e){const t=Object.create(null),n=e.getSchema(),r=n?n.getDirectives():Ul;for(const o of r)t[o.name]=o.locations;const i=e.getDocument().definitions;for(const o of i)o.kind===O.DIRECTIVE_DEFINITION&&(t[o.name.value]=o.locations.map(a=>a.value));return{Directive(o,a,s,l,u){const c=o.name.value,f=t[c];if(!f){e.reportError(new oe(`Unknown directive "@${c}".`,{nodes:o}));return}const d=ije(u);d&&!f.includes(d)&&e.reportError(new oe(`Directive "@${c}" may not be used on ${d}.`,{nodes:o}))}}}function ije(e){const t=e[e.length-1];switch("kind"in t||fi(!1),t.kind){case O.OPERATION_DEFINITION:return oje(t.operation);case O.FIELD:return be.FIELD;case O.FRAGMENT_SPREAD:return be.FRAGMENT_SPREAD;case O.INLINE_FRAGMENT:return be.INLINE_FRAGMENT;case O.FRAGMENT_DEFINITION:return be.FRAGMENT_DEFINITION;case O.VARIABLE_DEFINITION:return be.VARIABLE_DEFINITION;case O.SCHEMA_DEFINITION:case O.SCHEMA_EXTENSION:return be.SCHEMA;case O.SCALAR_TYPE_DEFINITION:case O.SCALAR_TYPE_EXTENSION:return be.SCALAR;case O.OBJECT_TYPE_DEFINITION:case O.OBJECT_TYPE_EXTENSION:return be.OBJECT;case O.FIELD_DEFINITION:return be.FIELD_DEFINITION;case O.INTERFACE_TYPE_DEFINITION:case O.INTERFACE_TYPE_EXTENSION:return be.INTERFACE;case O.UNION_TYPE_DEFINITION:case O.UNION_TYPE_EXTENSION:return be.UNION;case O.ENUM_TYPE_DEFINITION:case O.ENUM_TYPE_EXTENSION:return be.ENUM;case O.ENUM_VALUE_DEFINITION:return be.ENUM_VALUE;case O.INPUT_OBJECT_TYPE_DEFINITION:case O.INPUT_OBJECT_TYPE_EXTENSION:return be.INPUT_OBJECT;case O.INPUT_VALUE_DEFINITION:{const n=e[e.length-3];return"kind"in n||fi(!1),n.kind===O.INPUT_OBJECT_TYPE_DEFINITION?be.INPUT_FIELD_DEFINITION:be.ARGUMENT_DEFINITION}default:fi(!1,"Unexpected kind: "+fe(t.kind))}}function oje(e){switch(e){case ir.QUERY:return be.QUERY;case ir.MUTATION:return be.MUTATION;case ir.SUBSCRIPTION:return be.SUBSCRIPTION}}function aje(e){return{FragmentSpread(t){const n=t.name.value;e.getFragment(n)||e.reportError(new oe(`Unknown fragment "${n}".`,{nodes:t.name}))}}}function tj(e){const t=e.getSchema(),n=t?t.getTypeMap():Object.create(null),r=Object.create(null);for(const o of e.getDocument().definitions)ah(o)&&(r[o.name.value]=!0);const i=[...Object.keys(n),...Object.keys(r)];return{NamedType(o,a,s,l,u){const c=o.name.value;if(!n[c]&&!r[c]){var f;const d=(f=u[2])!==null&&f!==void 0?f:s,p=d!=null&&sje(d);if(p&&dA.includes(c))return;const m=Fs(c,p?dA.concat(i):i);e.reportError(new oe(`Unknown type "${c}".`+pa(m),{nodes:o}))}}}}const dA=[...iE,...aE].map(e=>e.name);function sje(e){return"kind"in e&&(X9(e)||K9e(e))}function lje(e){let t=0;return{Document(n){t=n.definitions.filter(r=>r.kind===O.OPERATION_DEFINITION).length},OperationDefinition(n){!n.name&&t>1&&e.reportError(new oe("This anonymous operation must be the only defined operation.",{nodes:n}))}}}function uje(e){var t,n,r;const i=e.getSchema(),o=(t=(n=(r=i==null?void 0:i.astNode)!==null&&r!==void 0?r:i==null?void 0:i.getQueryType())!==null&&n!==void 0?n:i==null?void 0:i.getMutationType())!==null&&t!==void 0?t:i==null?void 0:i.getSubscriptionType();let a=0;return{SchemaDefinition(s){if(o){e.reportError(new oe("Cannot define a new schema within a schema extension.",{nodes:s}));return}a>0&&e.reportError(new oe("Must provide only one schema definition.",{nodes:s})),++a}}}function cje(e){const t=Object.create(null),n=[],r=Object.create(null);return{OperationDefinition:()=>!1,FragmentDefinition(o){return i(o),!1}};function i(o){if(t[o.name.value])return;const a=o.name.value;t[a]=!0;const s=e.getFragmentSpreads(o.selectionSet);if(s.length!==0){r[a]=n.length;for(const l of s){const u=l.name.value,c=r[u];if(n.push(l),c===void 0){const f=e.getFragment(u);f&&i(f)}else{const f=n.slice(c),d=f.slice(0,-1).map(p=>'"'+p.name.value+'"').join(", ");e.reportError(new oe(`Cannot spread fragment "${u}" within itself`+(d!==""?` via ${d}.`:"."),{nodes:f}))}n.pop()}r[a]=void 0}}}function fje(e){let t=Object.create(null);return{OperationDefinition:{enter(){t=Object.create(null)},leave(n){const r=e.getRecursiveVariableUsages(n);for(const{node:i}of r){const o=i.name.value;t[o]!==!0&&e.reportError(new oe(n.name?`Variable "$${o}" is not defined by operation "${n.name.value}".`:`Variable "$${o}" is not defined.`,{nodes:[i,n]}))}}},VariableDefinition(n){t[n.variable.name.value]=!0}}}function dje(e){const t=[],n=[];return{OperationDefinition(r){return t.push(r),!1},FragmentDefinition(r){return n.push(r),!1},Document:{leave(){const r=Object.create(null);for(const i of t)for(const o of e.getRecursivelyReferencedFragments(i))r[o.name.value]=!0;for(const i of n){const o=i.name.value;r[o]!==!0&&e.reportError(new oe(`Fragment "${o}" is never used.`,{nodes:i}))}}}}}function pje(e){let t=[];return{OperationDefinition:{enter(){t=[]},leave(n){const r=Object.create(null),i=e.getRecursiveVariableUsages(n);for(const{node:o}of i)r[o.name.value]=!0;for(const o of t){const a=o.variable.name.value;r[a]!==!0&&e.reportError(new oe(n.name?`Variable "$${a}" is never used in operation "${n.name.value}".`:`Variable "$${a}" is never used.`,{nodes:o}))}}},VariableDefinition(n){t.push(n)}}}function Kx(e){switch(e.kind){case O.OBJECT:return{...e,fields:hje(e.fields)};case O.LIST:return{...e,values:e.values.map(Kx)};case O.INT:case O.FLOAT:case O.STRING:case O.BOOLEAN:case O.NULL:case O.ENUM:case O.VARIABLE:return e}}function hje(e){return e.map(t=>({...t,value:Kx(t.value)})).sort((t,n)=>Ux(t.name.value,n.name.value))}function nj(e){return Array.isArray(e)?e.map(([t,n])=>`subfields "${t}" conflict because `+nj(n)).join(" and "):e}function mje(e){const t=new bje,n=new Map;return{SelectionSet(r){const i=vje(e,n,t,e.getParentType(),r);for(const[[o,a],s,l]of i){const u=nj(a);e.reportError(new oe(`Fields "${o}" conflict because ${u}. Use different aliases on the fields to fetch both if this was intentional.`,{nodes:s.concat(l)}))}}}}function vje(e,t,n,r,i){const o=[],[a,s]=Ug(e,t,r,i);if(yje(e,o,t,n,a),s.length!==0)for(let l=0;l1)for(let s=0;s({kind:O.OBJECT_FIELD,name:i.name,value:i.value}))};return Ot(Kx(r))}function Hw(e,t){return Rt(e)?Rt(t)?Hw(e.ofType,t.ofType):!0:Rt(t)?!0:Re(e)?Re(t)?Hw(e.ofType,t.ofType):!0:Re(t)?!0:zi(e)||zi(t)?e!==t:!1}function Ug(e,t,n,r){const i=t.get(r);if(i)return i;const o=Object.create(null),a=Object.create(null);ij(e,n,r,o,a);const s=[o,Object.keys(a)];return t.set(r,s),s}function Ww(e,t,n){const r=t.get(n.selectionSet);if(r)return r;const i=dr(e.getSchema(),n.typeCondition);return Ug(e,t,i,n.selectionSet)}function ij(e,t,n,r,i){for(const o of n.selections)switch(o.kind){case O.FIELD:{const a=o.name.value;let s;(Pe(t)||qe(t))&&(s=t.getFields()[a]);const l=o.alias?o.alias.value:a;r[l]||(r[l]=[]),r[l].push([t,o,s]);break}case O.FRAGMENT_SPREAD:i[o.name.value]=!0;break;case O.INLINE_FRAGMENT:{const a=o.typeCondition,s=a?dr(e.getSchema(),a):t;ij(e,s,o.selectionSet,r,i);break}}}function Eje(e,t,n,r){if(e.length>0)return[[t,e.map(([i])=>i)],[n,...e.map(([,i])=>i).flat()],[r,...e.map(([,,i])=>i).flat()]]}class bje{constructor(){this._data=new Map}has(t,n,r){var i;const[o,a]=to.name.value));for(const o of r.args)if(!i.has(o.name)&&rh(o)){const a=fe(o.type);e.reportError(new oe(`Field "${r.name}" argument "${o.name}" of type "${a}" is required, but it was not provided.`,{nodes:t}))}}}}}function oj(e){var t;const n=Object.create(null),r=e.getSchema(),i=(t=r==null?void 0:r.getDirectives())!==null&&t!==void 0?t:Ul;for(const s of i)n[s.name]=xl(s.args.filter(rh),l=>l.name);const o=e.getDocument().definitions;for(const s of o)if(s.kind===O.DIRECTIVE_DEFINITION){var a;const l=(a=s.arguments)!==null&&a!==void 0?a:[];n[s.name.value]=xl(l.filter(Dje),u=>u.name.value)}return{Directive:{leave(s){const l=s.name.value,u=n[l];if(u){var c;const f=(c=s.arguments)!==null&&c!==void 0?c:[],d=new Set(f.map(p=>p.name.value));for(const[p,m]of Object.entries(u))if(!d.has(p)){const v=Bx(m.type)?fe(m.type):Ot(m.type);e.reportError(new oe(`Directive "@${l}" argument "${p}" of type "${v}" is required, but it was not provided.`,{nodes:s}))}}}}}}function Dje(e){return e.type.kind===O.NON_NULL_TYPE&&e.defaultValue==null}function Oje(e){return{Field(t){const n=e.getType(),r=t.selectionSet;if(n){if(zi(or(n))){if(r){const i=t.name.value,o=fe(n);e.reportError(new oe(`Field "${i}" must not have a selection since type "${o}" has no subfields.`,{nodes:r}))}}else if(!r){const i=t.name.value,o=fe(n);e.reportError(new oe(`Field "${i}" of type "${o}" must have a selection of subfields. Did you mean "${i} { ... }"?`,{nodes:t}))}}}}}function Cje(e){return e.map(t=>typeof t=="number"?"["+t.toString()+"]":"."+t).join("")}function hA(e,t,n){return{prev:e,key:t,typename:n}}function jo(e){const t=[];let n=e;for(;n;)t.push(n.key),n=n.prev;return t.reverse()}function kje(e,t,n=Aje){return $f(e,t,n,void 0)}function Aje(e,t,n){let r="Invalid value "+fe(t);throw e.length>0&&(r+=` at "value${Cje(e)}"`),n.message=r+": "+n.message,n}function $f(e,t,n,r){if(Re(t)){if(e!=null)return $f(e,t.ofType,n,r);n(jo(r),e,new oe(`Expected non-nullable type "${fe(t)}" not to be null.`));return}if(e==null)return null;if(Rt(t)){const i=t.ofType;return z9(e)?Array.from(e,(o,a)=>{const s=hA(r,a,void 0);return $f(o,i,n,s)}):[$f(e,i,n,r)]}if(Pt(t)){if(!Bi(e)){n(jo(r),e,new oe(`Expected type "${t.name}" to be an object.`));return}const i={},o=t.getFields();for(const a of Object.values(o)){const s=e[a.name];if(s===void 0){if(a.defaultValue!==void 0)i[a.name]=a.defaultValue;else if(Re(a.type)){const l=fe(a.type);n(jo(r),e,new oe(`Field "${a.name}" of required type "${l}" was not provided.`))}continue}i[a.name]=$f(s,a.type,n,hA(r,a.name,t.name))}for(const a of Object.keys(e))if(!o[a]){const s=Fs(a,Object.keys(t.getFields()));n(jo(r),e,new oe(`Field "${a}" is not defined by type "${t.name}".`+pa(s)))}return i}if(zi(t)){let i;try{i=t.parseValue(e)}catch(o){o instanceof oe?n(jo(r),e,o):n(jo(r),e,new oe(`Expected type "${t.name}". `+o.message,{originalError:o}));return}return i===void 0&&n(jo(r),e,new oe(`Expected type "${t.name}".`)),i}fi(!1,"Unexpected input type: "+fe(t))}function yo(e,t,n){if(e){if(e.kind===O.VARIABLE){const r=e.name.value;if(n==null||n[r]===void 0)return;const i=n[r];return i===null&&Re(t)?void 0:i}if(Re(t))return e.kind===O.NULL?void 0:yo(e,t.ofType,n);if(e.kind===O.NULL)return null;if(Rt(t)){const r=t.ofType;if(e.kind===O.LIST){const o=[];for(const a of e.values)if(mA(a,n)){if(Re(r))return;o.push(null)}else{const s=yo(a,r,n);if(s===void 0)return;o.push(s)}return o}const i=yo(e,r,n);return i===void 0?void 0:[i]}if(Pt(t)){if(e.kind!==O.OBJECT)return;const r=Object.create(null),i=xl(e.fields,o=>o.name.value);for(const o of Object.values(t.getFields())){const a=i[o.name];if(!a||mA(a.value,n)){if(o.defaultValue!==void 0)r[o.name]=o.defaultValue;else if(Re(o.type))return;continue}const s=yo(a.value,o.type,n);if(s===void 0)return;r[o.name]=s}return r}if(zi(t)){let r;try{r=t.parseLiteral(e,n)}catch{return}return r===void 0?void 0:r}fi(!1,"Unexpected input type: "+fe(t))}}function mA(e,t){return e.kind===O.VARIABLE&&(t==null||t[e.name.value]===void 0)}function Fje(e,t,n){var r;const i={},o=(r=t.arguments)!==null&&r!==void 0?r:[],a=xl(o,s=>s.name.value);for(const s of e.args){const l=s.name,u=s.type,c=a[l];if(!c){if(s.defaultValue!==void 0)i[l]=s.defaultValue;else if(Re(u))throw new oe(`Argument "${l}" of required type "${fe(u)}" was not provided.`,{nodes:t});continue}const f=c.value;let d=f.kind===O.NULL;if(f.kind===O.VARIABLE){const m=f.name.value;if(n==null||!Rje(n,m)){if(s.defaultValue!==void 0)i[l]=s.defaultValue;else if(Re(u))throw new oe(`Argument "${l}" of required type "${fe(u)}" was provided the variable "$${m}" which was not provided a runtime value.`,{nodes:f});continue}d=n[m]==null}if(d&&Re(u))throw new oe(`Argument "${l}" of non-null type "${fe(u)}" must not be null.`,{nodes:f});const p=yo(f,u,n);if(p===void 0)throw new oe(`Argument "${l}" has invalid value ${Ot(f)}.`,{nodes:f});i[l]=p}return i}function hs(e,t,n){var r;const i=(r=t.directives)===null||r===void 0?void 0:r.find(o=>o.name.value===e.name);if(i)return Fje(e,i,n)}function Rje(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Lje(e,t,n,r,i){const o=new Map;return Yw(e,t,n,r,i,o,new Set),o}function Yw(e,t,n,r,i,o,a){for(const s of i.selections)switch(s.kind){case O.FIELD:{if(!j1(n,s))continue;const l=$je(s),u=o.get(l);u!==void 0?u.push(s):o.set(l,[s]);break}case O.INLINE_FRAGMENT:{if(!j1(n,s)||!vA(e,s,r))continue;Yw(e,t,n,r,s.selectionSet,o,a);break}case O.FRAGMENT_SPREAD:{const l=s.name.value;if(a.has(l)||!j1(n,s))continue;a.add(l);const u=t[l];if(!u||!vA(e,u,r))continue;Yw(e,t,n,r,u.selectionSet,o,a);break}}}function j1(e,t){const n=hs(Gx,t,e);if((n==null?void 0:n.if)===!0)return!1;const r=hs(Qx,t,e);return(r==null?void 0:r.if)!==!1}function vA(e,t,n){const r=t.typeCondition;if(!r)return!0;const i=dr(e,r);return i===n?!0:Nr(i)?e.isSubType(i,n):!1}function $je(e){return e.alias?e.alias.value:e.name.value}function Pje(e){return{OperationDefinition(t){if(t.operation==="subscription"){const n=e.getSchema(),r=n.getSubscriptionType();if(r){const i=t.name?t.name.value:null,o=Object.create(null),a=e.getDocument(),s=Object.create(null);for(const u of a.definitions)u.kind===O.FRAGMENT_DEFINITION&&(s[u.name.value]=u);const l=Lje(n,s,o,r,t.selectionSet);if(l.size>1){const f=[...l.values()].slice(1).flat();e.reportError(new oe(i!=null?`Subscription "${i}" must select only one top level field.`:"Anonymous Subscription must select only one top level field.",{nodes:f}))}for(const u of l.values())u[0].name.value.startsWith("__")&&e.reportError(new oe(i!=null?`Subscription "${i}" must not select an introspection top level field.`:"Anonymous Subscription must not select an introspection top level field.",{nodes:u}))}}}}}function Zx(e,t){const n=new Map;for(const r of e){const i=t(r),o=n.get(i);o===void 0?n.set(i,[r]):o.push(r)}return n}function Mje(e){return{DirectiveDefinition(r){var i;const o=(i=r.arguments)!==null&&i!==void 0?i:[];return n(`@${r.name.value}`,o)},InterfaceTypeDefinition:t,InterfaceTypeExtension:t,ObjectTypeDefinition:t,ObjectTypeExtension:t};function t(r){var i;const o=r.name.value,a=(i=r.fields)!==null&&i!==void 0?i:[];for(const l of a){var s;const u=l.name.value,c=(s=l.arguments)!==null&&s!==void 0?s:[];n(`${o}.${u}`,c)}return!1}function n(r,i){const o=Zx(i,a=>a.name.value);for(const[a,s]of o)s.length>1&&e.reportError(new oe(`Argument "${r}(${a}:)" can only be defined once.`,{nodes:s.map(l=>l.name)}));return!1}}function aj(e){return{Field:t,Directive:t};function t(n){var r;const i=(r=n.arguments)!==null&&r!==void 0?r:[],o=Zx(i,a=>a.name.value);for(const[a,s]of o)s.length>1&&e.reportError(new oe(`There can be only one argument named "${a}".`,{nodes:s.map(l=>l.name)}))}}function Vje(e){const t=Object.create(null),n=e.getSchema();return{DirectiveDefinition(r){const i=r.name.value;if(n!=null&&n.getDirective(i)){e.reportError(new oe(`Directive "@${i}" already exists in the schema. It cannot be redefined.`,{nodes:r.name}));return}return t[i]?e.reportError(new oe(`There can be only one directive named "@${i}".`,{nodes:[t[i],r.name]})):t[i]=r.name,!1}}}function sj(e){const t=Object.create(null),n=e.getSchema(),r=n?n.getDirectives():Ul;for(const s of r)t[s.name]=!s.isRepeatable;const i=e.getDocument().definitions;for(const s of i)s.kind===O.DIRECTIVE_DEFINITION&&(t[s.name.value]=!s.repeatable);const o=Object.create(null),a=Object.create(null);return{enter(s){if(!("directives"in s)||!s.directives)return;let l;if(s.kind===O.SCHEMA_DEFINITION||s.kind===O.SCHEMA_EXTENSION)l=o;else if(ah(s)||Jx(s)){const u=s.name.value;l=a[u],l===void 0&&(a[u]=l=Object.create(null))}else l=Object.create(null);for(const u of s.directives){const c=u.name.value;t[c]&&(l[c]?e.reportError(new oe(`The directive "@${c}" can only be used once at this location.`,{nodes:[l[c],u]})):l[c]=u)}}}}function jje(e){const t=e.getSchema(),n=t?t.getTypeMap():Object.create(null),r=Object.create(null);return{EnumTypeDefinition:i,EnumTypeExtension:i};function i(o){var a;const s=o.name.value;r[s]||(r[s]=Object.create(null));const l=(a=o.values)!==null&&a!==void 0?a:[],u=r[s];for(const c of l){const f=c.name.value,d=n[s];Bn(d)&&d.getValue(f)?e.reportError(new oe(`Enum value "${s}.${f}" already exists in the schema. It cannot also be defined in this type extension.`,{nodes:c.name})):u[f]?e.reportError(new oe(`Enum value "${s}.${f}" can only be defined once.`,{nodes:[u[f],c.name]})):u[f]=c.name}return!1}}function Uje(e){const t=e.getSchema(),n=t?t.getTypeMap():Object.create(null),r=Object.create(null);return{InputObjectTypeDefinition:i,InputObjectTypeExtension:i,InterfaceTypeDefinition:i,InterfaceTypeExtension:i,ObjectTypeDefinition:i,ObjectTypeExtension:i};function i(o){var a;const s=o.name.value;r[s]||(r[s]=Object.create(null));const l=(a=o.fields)!==null&&a!==void 0?a:[],u=r[s];for(const c of l){const f=c.name.value;Bje(n[s],f)?e.reportError(new oe(`Field "${s}.${f}" already exists in the schema. It cannot also be defined in this type extension.`,{nodes:c.name})):u[f]?e.reportError(new oe(`Field "${s}.${f}" can only be defined once.`,{nodes:[u[f],c.name]})):u[f]=c.name}return!1}}function Bje(e,t){return Pe(e)||qe(e)||Pt(e)?e.getFields()[t]!=null:!1}function qje(e){const t=Object.create(null);return{OperationDefinition:()=>!1,FragmentDefinition(n){const r=n.name.value;return t[r]?e.reportError(new oe(`There can be only one fragment named "${r}".`,{nodes:[t[r],n.name]})):t[r]=n.name,!1}}}function lj(e){const t=[];let n=Object.create(null);return{ObjectValue:{enter(){t.push(n),n=Object.create(null)},leave(){const r=t.pop();r||fi(!1),n=r}},ObjectField(r){const i=r.name.value;n[i]?e.reportError(new oe(`There can be only one input field named "${i}".`,{nodes:[n[i],r.name]})):n[i]=r.name}}}function zje(e){const t=Object.create(null);return{OperationDefinition(n){const r=n.name;return r&&(t[r.value]?e.reportError(new oe(`There can be only one operation named "${r.value}".`,{nodes:[t[r.value],r]})):t[r.value]=r),!1},FragmentDefinition:()=>!1}}function Qje(e){const t=e.getSchema(),n=Object.create(null),r=t?{query:t.getQueryType(),mutation:t.getMutationType(),subscription:t.getSubscriptionType()}:{};return{SchemaDefinition:i,SchemaExtension:i};function i(o){var a;const s=(a=o.operationTypes)!==null&&a!==void 0?a:[];for(const l of s){const u=l.operation,c=n[u];r[u]?e.reportError(new oe(`Type for ${u} already defined in the schema. It cannot be redefined.`,{nodes:l})):c?e.reportError(new oe(`There can be only one ${u} type in schema.`,{nodes:[c,l]})):n[u]=l}return!1}}function Gje(e){const t=Object.create(null),n=e.getSchema();return{ScalarTypeDefinition:r,ObjectTypeDefinition:r,InterfaceTypeDefinition:r,UnionTypeDefinition:r,EnumTypeDefinition:r,InputObjectTypeDefinition:r};function r(i){const o=i.name.value;if(n!=null&&n.getType(o)){e.reportError(new oe(`Type "${o}" already exists in the schema. It cannot also be defined in this type definition.`,{nodes:i.name}));return}return t[o]?e.reportError(new oe(`There can be only one type named "${o}".`,{nodes:[t[o],i.name]})):t[o]=i.name,!1}}function Hje(e){return{OperationDefinition(t){var n;const r=(n=t.variableDefinitions)!==null&&n!==void 0?n:[],i=Zx(r,o=>o.variable.name.value);for(const[o,a]of i)a.length>1&&e.reportError(new oe(`There can be only one variable named "$${o}".`,{nodes:a.map(s=>s.variable.name)}))}}}function Wje(e){return{ListValue(t){const n=rE(e.getParentInputType());if(!Rt(n))return Vs(e,t),!1},ObjectValue(t){const n=or(e.getInputType());if(!Pt(n))return Vs(e,t),!1;const r=xl(t.fields,i=>i.name.value);for(const i of Object.values(n.getFields()))if(!r[i.name]&&j9(i)){const a=fe(i.type);e.reportError(new oe(`Field "${n.name}.${i.name}" of required type "${a}" was not provided.`,{nodes:t}))}},ObjectField(t){const n=or(e.getParentInputType());if(!e.getInputType()&&Pt(n)){const i=Fs(t.name.value,Object.keys(n.getFields()));e.reportError(new oe(`Field "${t.name.value}" is not defined by type "${n.name}".`+pa(i),{nodes:t}))}},NullValue(t){const n=e.getInputType();Re(n)&&e.reportError(new oe(`Expected value of type "${fe(n)}", found ${Ot(t)}.`,{nodes:t}))},EnumValue:t=>Vs(e,t),IntValue:t=>Vs(e,t),FloatValue:t=>Vs(e,t),StringValue:t=>Vs(e,t),BooleanValue:t=>Vs(e,t)}}function Vs(e,t){const n=e.getInputType();if(!n)return;const r=or(n);if(!zi(r)){const i=fe(n);e.reportError(new oe(`Expected value of type "${i}", found ${Ot(t)}.`,{nodes:t}));return}try{if(r.parseLiteral(t,void 0)===void 0){const o=fe(n);e.reportError(new oe(`Expected value of type "${o}", found ${Ot(t)}.`,{nodes:t}))}}catch(i){const o=fe(n);i instanceof oe?e.reportError(i):e.reportError(new oe(`Expected value of type "${o}", found ${Ot(t)}; `+i.message,{nodes:t,originalError:i}))}}function Yje(e){return{VariableDefinition(t){const n=dr(e.getSchema(),t.type);if(n!==void 0&&!ni(n)){const r=t.variable.name.value,i=Ot(t.type);e.reportError(new oe(`Variable "$${r}" cannot be non-input type "${i}".`,{nodes:t.type}))}}}}function Jje(e){let t=Object.create(null);return{OperationDefinition:{enter(){t=Object.create(null)},leave(n){const r=e.getRecursiveVariableUsages(n);for(const{node:i,type:o,defaultValue:a}of r){const s=i.name.value,l=t[s];if(l&&o){const u=e.getSchema(),c=dr(u,l.type);if(c&&!Kje(u,c,l.defaultValue,o,a)){const f=fe(c),d=fe(o);e.reportError(new oe(`Variable "$${s}" of type "${f}" used in position expecting type "${d}".`,{nodes:[l,i]}))}}}}},VariableDefinition(n){t[n.variable.name.value]=n}}}function Kje(e,t,n,r,i){if(Re(r)&&!Re(t)){if(!(n!=null&&n.kind!==O.NULL)&&!(i!==void 0))return!1;const s=r.ofType;return qu(e,t,s)}return qu(e,t,r)}const Xje=Object.freeze([X9e,zje,lje,Pje,tj,nje,Yje,Oje,Z9e,qje,aje,dje,Tje,cje,Hje,fje,pje,ej,sj,rje,aj,Wje,xje,Jje,mje,lj]),Zje=Object.freeze([uje,Qje,Gje,jje,Uje,Mje,Vje,tj,ej,sj,_je,Z9,aj,lj,oj]);class uj{constructor(t,n){this._ast=t,this._fragments=void 0,this._fragmentSpreads=new Map,this._recursivelyReferencedFragments=new Map,this._onError=n}get[Symbol.toStringTag](){return"ASTValidationContext"}reportError(t){this._onError(t)}getDocument(){return this._ast}getFragment(t){let n;if(this._fragments)n=this._fragments;else{n=Object.create(null);for(const r of this.getDocument().definitions)r.kind===O.FRAGMENT_DEFINITION&&(n[r.name.value]=r);this._fragments=n}return n[t]}getFragmentSpreads(t){let n=this._fragmentSpreads.get(t);if(!n){n=[];const r=[t];let i;for(;i=r.pop();)for(const o of i.selections)o.kind===O.FRAGMENT_SPREAD?n.push(o):o.selectionSet&&r.push(o.selectionSet);this._fragmentSpreads.set(t,n)}return n}getRecursivelyReferencedFragments(t){let n=this._recursivelyReferencedFragments.get(t);if(!n){n=[];const r=Object.create(null),i=[t.selectionSet];let o;for(;o=i.pop();)for(const a of this.getFragmentSpreads(o)){const s=a.name.value;if(r[s]!==!0){r[s]=!0;const l=this.getFragment(s);l&&(n.push(l),i.push(l.selectionSet))}}this._recursivelyReferencedFragments.set(t,n)}return n}}class e8e extends uj{constructor(t,n,r){super(t,r),this._schema=n}get[Symbol.toStringTag](){return"SDLValidationContext"}getSchema(){return this._schema}}class t8e extends uj{constructor(t,n,r,i){super(n,i),this._schema=t,this._typeInfo=r,this._variableUsages=new Map,this._recursiveVariableUsages=new Map}get[Symbol.toStringTag](){return"ValidationContext"}getSchema(){return this._schema}getVariableUsages(t){let n=this._variableUsages.get(t);if(!n){const r=[],i=new bc(this._schema);qi(t,oh(i,{VariableDefinition:()=>!1,Variable(o){r.push({node:o,type:i.getInputType(),defaultValue:i.getDefaultValue()})}})),n=r,this._variableUsages.set(t,n)}return n}getRecursiveVariableUsages(t){let n=this._recursiveVariableUsages.get(t);if(!n){n=this.getVariableUsages(t);for(const r of this.getRecursivelyReferencedFragments(t))n=n.concat(this.getVariableUsages(r));this._recursiveVariableUsages.set(t,n)}return n}getType(){return this._typeInfo.getType()}getParentType(){return this._typeInfo.getParentType()}getInputType(){return this._typeInfo.getInputType()}getParentInputType(){return this._typeInfo.getParentInputType()}getFieldDef(){return this._typeInfo.getFieldDef()}getDirective(){return this._typeInfo.getDirective()}getArgument(){return this._typeInfo.getArgument()}getEnumValue(){return this._typeInfo.getEnumValue()}}function n8e(e,t,n=Xje,r,i=new bc(e)){var o;const a=(o=r==null?void 0:r.maxErrors)!==null&&o!==void 0?o:100;t||We(!1,"Must provide document."),K9(e);const s=Object.freeze({}),l=[],u=new t8e(e,t,i,f=>{if(l.length>=a)throw l.push(new oe("Too many validation errors, error limit reached. Validation aborted.")),s;l.push(f)}),c=k9(n.map(f=>f(u)));try{qi(t,oh(i,c))}catch(f){if(f!==s)throw f}return l}function r8e(e,t,n=Zje){const r=[],i=new e8e(e,t,a=>{r.push(a)}),o=n.map(a=>a(i));return qi(e,k9(o)),r}function i8e(e){const t=r8e(e);if(t.length!==0)throw new Error(t.map(n=>n.message).join(` + +`))}function o8e(e){return e instanceof Error?e:new a8e(e)}class a8e extends Error{constructor(t){super("Unexpected error value: "+fe(t)),this.name="NonErrorThrown",this.thrownValue=t}}function lr(e,t,n){var r;const i=o8e(e);return s8e(i)?i:new oe(i.message,{nodes:(r=i.nodes)!==null&&r!==void 0?r:t,source:i.source,positions:i.positions,path:n,originalError:i})}function s8e(e){return Array.isArray(e.path)}const l8e=function(e,t,n,r){if(Bi(e)||typeof e=="function"){const i=e[r.fieldName];return typeof i=="function"?e[r.fieldName](t,n,r):i}};function u8e(e){const t={descriptions:!0,specifiedByUrl:!1,directiveIsRepeatable:!1,schemaDescription:!1,inputValueDeprecation:!1,...e},n=t.descriptions?"description":"",r=t.specifiedByUrl?"specifiedByURL":"",i=t.directiveIsRepeatable?"isRepeatable":"",o=t.schemaDescription?n:"";function a(s){return t.inputValueDeprecation?s:""}return` + query IntrospectionQuery { + __schema { + ${o} + queryType { name } + mutationType { name } + subscriptionType { name } + types { + ...FullType + } + directives { + name + ${n} + ${i} + locations + args${a("(includeDeprecated: true)")} { + ...InputValue + } + } + } + } + + fragment FullType on __Type { + kind + name + ${n} + ${r} + fields(includeDeprecated: true) { + name + ${n} + args${a("(includeDeprecated: true)")} { + ...InputValue + } + type { + ...TypeRef + } + isDeprecated + deprecationReason + } + inputFields${a("(includeDeprecated: true)")} { + ...InputValue + } + interfaces { + ...TypeRef + } + enumValues(includeDeprecated: true) { + name + ${n} + isDeprecated + deprecationReason + } + possibleTypes { + ...TypeRef + } + } + + fragment InputValue on __InputValue { + name + ${n} + type { ...TypeRef } + defaultValue + ${a("isDeprecated")} + ${a("deprecationReason")} + } + + fragment TypeRef on __Type { + kind + name + ofType { + kind + name + ofType { + kind + name + ofType { + kind + name + ofType { + kind + name + ofType { + kind + name + ofType { + kind + name + ofType { + kind + name + } + } + } + } + } + } + } + } + `}function cj(e,t){let n=null;for(const i of e.definitions)if(i.kind===O.OPERATION_DEFINITION){var r;if(t==null){if(n)return null;n=i}else if(((r=i.name)===null||r===void 0?void 0:r.value)===t)return i}return n}function c8e(e,t){Bi(e)&&Bi(e.__schema)||We(!1,`Invalid or incomplete introspection result. Ensure that you are passing "data" property of introspection response and no "errors" was returned alongside: ${fe(e)}.`);const n=e.__schema,r=el(n.types,N=>N.name,N=>d(N));for(const N of[...iE,...aE])r[N.name]&&(r[N.name]=N);const i=n.queryType?c(n.queryType):null,o=n.mutationType?c(n.mutationType):null,a=n.subscriptionType?c(n.subscriptionType):null,s=n.directives?n.directives.map(A):[];return new sE({description:n.description,query:i,mutation:o,subscription:a,types:Object.values(r),directives:s,assumeValid:t==null?void 0:t.assumeValid});function l(N){if(N.kind===vt.LIST){const C=N.ofType;if(!C)throw new Error("Decorated type deeper than introspection query.");return new Mn(l(C))}if(N.kind===vt.NON_NULL){const C=N.ofType;if(!C)throw new Error("Decorated type deeper than introspection query.");const U=l(C);return new De(C9e(U))}return u(N)}function u(N){const C=N.name;if(!C)throw new Error(`Unknown type reference: ${fe(N)}.`);const U=r[C];if(!U)throw new Error(`Invalid or incomplete schema, unknown type: ${C}. Ensure that a full introspection query is used in order to build a client schema.`);return U}function c(N){return D9e(u(N))}function f(N){return O9e(u(N))}function d(N){if(N!=null&&N.name!=null&&N.kind!=null)switch(N.kind){case vt.SCALAR:return p(N);case vt.OBJECT:return v(N);case vt.INTERFACE:return b(N);case vt.UNION:return E(N);case vt.ENUM:return y(N);case vt.INPUT_OBJECT:return T(N)}const C=fe(N);throw new Error(`Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema: ${C}.`)}function p(N){return new Oo({name:N.name,description:N.description,specifiedByURL:N.specifiedByURL})}function m(N){if(N.interfaces===null&&N.kind===vt.INTERFACE)return[];if(!N.interfaces){const C=fe(N);throw new Error(`Introspection result missing interfaces: ${C}.`)}return N.interfaces.map(f)}function v(N){return new fr({name:N.name,description:N.description,interfaces:()=>m(N),fields:()=>w(N)})}function b(N){return new ha({name:N.name,description:N.description,interfaces:()=>m(N),fields:()=>w(N)})}function E(N){if(!N.possibleTypes){const C=fe(N);throw new Error(`Introspection result missing possibleTypes: ${C}.`)}return new Ec({name:N.name,description:N.description,types:()=>N.possibleTypes.map(c)})}function y(N){if(!N.enumValues){const C=fe(N);throw new Error(`Introspection result missing enumValues: ${C}.`)}return new ma({name:N.name,description:N.description,values:el(N.enumValues,C=>C.name,C=>({description:C.description,deprecationReason:C.deprecationReason}))})}function T(N){if(!N.inputFields){const C=fe(N);throw new Error(`Introspection result missing inputFields: ${C}.`)}return new ps({name:N.name,description:N.description,fields:()=>_(N.inputFields)})}function w(N){if(!N.fields)throw new Error(`Introspection result missing fields: ${fe(N)}.`);return el(N.fields,C=>C.name,S)}function S(N){const C=l(N.type);if(!Uu(C)){const U=fe(C);throw new Error(`Introspection must provide output type for fields, but received: ${U}.`)}if(!N.args){const U=fe(N);throw new Error(`Introspection result missing field args: ${U}.`)}return{description:N.description,deprecationReason:N.deprecationReason,type:C,args:_(N.args)}}function _(N){return el(N,C=>C.name,I)}function I(N){const C=l(N.type);if(!ni(C)){const G=fe(C);throw new Error(`Introspection must provide input type for arguments, but received: ${G}.`)}const U=N.defaultValue!=null?yo(g9e(N.defaultValue),C):void 0;return{description:N.description,type:C,defaultValue:U,deprecationReason:N.deprecationReason}}function A(N){if(!N.args){const C=fe(N);throw new Error(`Introspection result missing directive args: ${C}.`)}if(!N.locations){const C=fe(N);throw new Error(`Introspection result missing directive locations: ${C}.`)}return new Qi({name:N.name,description:N.description,isRepeatable:N.isRepeatable,locations:N.locations.slice(),args:_(N.args)})}}function f8e(e,t,n){var r,i,o,a;const s=[],l=Object.create(null),u=[];let c;const f=[];for(const x of t.definitions)if(x.kind===O.SCHEMA_DEFINITION)c=x;else if(x.kind===O.SCHEMA_EXTENSION)f.push(x);else if(ah(x))s.push(x);else if(Jx(x)){const M=x.name.value,L=l[M];l[M]=L?L.concat([x]):[x]}else x.kind===O.DIRECTIVE_DEFINITION&&u.push(x);if(Object.keys(l).length===0&&s.length===0&&u.length===0&&f.length===0&&c==null)return e;const d=Object.create(null);for(const x of e.types)d[x.name]=y(x);for(const x of s){var p;const M=x.name.value;d[M]=(p=gA[M])!==null&&p!==void 0?p:X(x)}const m={query:e.query&&b(e.query),mutation:e.mutation&&b(e.mutation),subscription:e.subscription&&b(e.subscription),...c&&U([c]),...U(f)};return{description:(r=c)===null||r===void 0||(i=r.description)===null||i===void 0?void 0:i.value,...m,types:Object.values(d),directives:[...e.directives.map(E),...u.map(P)],extensions:Object.create(null),astNode:(o=c)!==null&&o!==void 0?o:e.astNode,extensionASTNodes:e.extensionASTNodes.concat(f),assumeValid:(a=n==null?void 0:n.assumeValid)!==null&&a!==void 0?a:!1};function v(x){return Rt(x)?new Mn(v(x.ofType)):Re(x)?new De(v(x.ofType)):b(x)}function b(x){return d[x.name]}function E(x){const M=x.toConfig();return new Qi({...M,args:zo(M.args,C)})}function y(x){if(J9(x)||U9(x))return x;if(Lo(x))return S(x);if(Pe(x))return _(x);if(qe(x))return I(x);if(Or(x))return A(x);if(Bn(x))return w(x);if(Pt(x))return T(x);fi(!1,"Unexpected type: "+fe(x))}function T(x){var M;const L=x.toConfig(),R=(M=l[L.name])!==null&&M!==void 0?M:[];return new ps({...L,fields:()=>({...zo(L.fields,J=>({...J,type:v(J.type)})),...H(R)}),extensionASTNodes:L.extensionASTNodes.concat(R)})}function w(x){var M;const L=x.toConfig(),R=(M=l[x.name])!==null&&M!==void 0?M:[];return new ma({...L,values:{...L.values,...F(R)},extensionASTNodes:L.extensionASTNodes.concat(R)})}function S(x){var M;const L=x.toConfig(),R=(M=l[L.name])!==null&&M!==void 0?M:[];let J=L.specifiedByURL;for(const se of R){var ae;J=(ae=yA(se))!==null&&ae!==void 0?ae:J}return new Oo({...L,specifiedByURL:J,extensionASTNodes:L.extensionASTNodes.concat(R)})}function _(x){var M;const L=x.toConfig(),R=(M=l[L.name])!==null&&M!==void 0?M:[];return new fr({...L,interfaces:()=>[...x.getInterfaces().map(b),...z(R)],fields:()=>({...zo(L.fields,N),...V(R)}),extensionASTNodes:L.extensionASTNodes.concat(R)})}function I(x){var M;const L=x.toConfig(),R=(M=l[L.name])!==null&&M!==void 0?M:[];return new ha({...L,interfaces:()=>[...x.getInterfaces().map(b),...z(R)],fields:()=>({...zo(L.fields,N),...V(R)}),extensionASTNodes:L.extensionASTNodes.concat(R)})}function A(x){var M;const L=x.toConfig(),R=(M=l[L.name])!==null&&M!==void 0?M:[];return new Ec({...L,types:()=>[...x.getTypes().map(b),...B(R)],extensionASTNodes:L.extensionASTNodes.concat(R)})}function N(x){return{...x,type:v(x.type),args:x.args&&zo(x.args,C)}}function C(x){return{...x,type:v(x.type)}}function U(x){const M={};for(const R of x){var L;const J=(L=R.operationTypes)!==null&&L!==void 0?L:[];for(const ae of J)M[ae.operation]=G(ae.type)}return M}function G(x){var M;const L=x.name.value,R=(M=gA[L])!==null&&M!==void 0?M:d[L];if(R===void 0)throw new Error(`Unknown type: "${L}".`);return R}function Y(x){return x.kind===O.LIST_TYPE?new Mn(Y(x.type)):x.kind===O.NON_NULL_TYPE?new De(Y(x.type)):G(x)}function P(x){var M;return new Qi({name:x.name.value,description:(M=x.description)===null||M===void 0?void 0:M.value,locations:x.locations.map(({value:L})=>L),isRepeatable:x.repeatable,args:j(x.arguments),astNode:x})}function V(x){const M=Object.create(null);for(const J of x){var L;const ae=(L=J.fields)!==null&&L!==void 0?L:[];for(const se of ae){var R;M[se.name.value]={type:Y(se.type),description:(R=se.description)===null||R===void 0?void 0:R.value,args:j(se.arguments),deprecationReason:Zh(se),astNode:se}}}return M}function j(x){const M=x??[],L=Object.create(null);for(const J of M){var R;const ae=Y(J.type);L[J.name.value]={type:ae,description:(R=J.description)===null||R===void 0?void 0:R.value,defaultValue:yo(J.defaultValue,ae),deprecationReason:Zh(J),astNode:J}}return L}function H(x){const M=Object.create(null);for(const J of x){var L;const ae=(L=J.fields)!==null&&L!==void 0?L:[];for(const se of ae){var R;const $e=Y(se.type);M[se.name.value]={type:$e,description:(R=se.description)===null||R===void 0?void 0:R.value,defaultValue:yo(se.defaultValue,$e),deprecationReason:Zh(se),astNode:se}}}return M}function F(x){const M=Object.create(null);for(const J of x){var L;const ae=(L=J.values)!==null&&L!==void 0?L:[];for(const se of ae){var R;M[se.name.value]={description:(R=se.description)===null||R===void 0?void 0:R.value,deprecationReason:Zh(se),astNode:se}}}return M}function z(x){return x.flatMap(M=>{var L,R;return(L=(R=M.interfaces)===null||R===void 0?void 0:R.map(G))!==null&&L!==void 0?L:[]})}function B(x){return x.flatMap(M=>{var L,R;return(L=(R=M.types)===null||R===void 0?void 0:R.map(G))!==null&&L!==void 0?L:[]})}function X(x){var M;const L=x.name.value,R=(M=l[L])!==null&&M!==void 0?M:[];switch(x.kind){case O.OBJECT_TYPE_DEFINITION:{var J;const Oe=[x,...R];return new fr({name:L,description:(J=x.description)===null||J===void 0?void 0:J.value,interfaces:()=>z(Oe),fields:()=>V(Oe),astNode:x,extensionASTNodes:R})}case O.INTERFACE_TYPE_DEFINITION:{var ae;const Oe=[x,...R];return new ha({name:L,description:(ae=x.description)===null||ae===void 0?void 0:ae.value,interfaces:()=>z(Oe),fields:()=>V(Oe),astNode:x,extensionASTNodes:R})}case O.ENUM_TYPE_DEFINITION:{var se;const Oe=[x,...R];return new ma({name:L,description:(se=x.description)===null||se===void 0?void 0:se.value,values:F(Oe),astNode:x,extensionASTNodes:R})}case O.UNION_TYPE_DEFINITION:{var $e;const Oe=[x,...R];return new Ec({name:L,description:($e=x.description)===null||$e===void 0?void 0:$e.value,types:()=>B(Oe),astNode:x,extensionASTNodes:R})}case O.SCALAR_TYPE_DEFINITION:{var tn;return new Oo({name:L,description:(tn=x.description)===null||tn===void 0?void 0:tn.value,specifiedByURL:yA(x),astNode:x,extensionASTNodes:R})}case O.INPUT_OBJECT_TYPE_DEFINITION:{var An;const Oe=[x,...R];return new ps({name:L,description:(An=x.description)===null||An===void 0?void 0:An.value,fields:()=>H(Oe),astNode:x,extensionASTNodes:R})}}}}const gA=xl([...iE,...aE],e=>e.name);function Zh(e){const t=hs(Hx,e);return t==null?void 0:t.reason}function yA(e){const t=hs(q9,e);return t==null?void 0:t.url}function Jw(e,t){e!=null&&e.kind===O.DOCUMENT||We(!1,"Must provide valid Document AST."),(t==null?void 0:t.assumeValid)!==!0&&(t==null?void 0:t.assumeValidSDL)!==!0&&i8e(e);const r=f8e({description:void 0,types:[],directives:[],extensions:Object.create(null),extensionASTNodes:[],assumeValid:!1},e,t);if(r.astNode==null)for(const o of r.types)switch(o.name){case"Query":r.query=o;break;case"Mutation":r.mutation=o;break;case"Subscription":r.subscription=o;break}const i=[...r.directives,...Ul.filter(o=>r.directives.every(a=>a.name!==o.name))];return new sE({...r,directives:i})}function EA(e,t){const n=up(e,{noLocation:t==null?void 0:t.noLocation,allowLegacyFragmentVariables:t==null?void 0:t.allowLegacyFragmentVariables});return Jw(n,{assumeValidSDL:t==null?void 0:t.assumeValidSDL,assumeValid:t==null?void 0:t.assumeValid})}function d8e(e){const t=D9(e)?e:new nE(e),n=t.body,r=new _9(t);let i="",o=!1;for(;r.advance().kind!==te.EOF;){const a=r.token,s=a.kind,l=!S9(a.kind);o&&(l||a.kind===te.SPREAD)&&(i+=" ");const u=n.slice(a.start,a.end);s===te.BLOCK_STRING?i+=w9(a.value,{minimize:!0}):i+=u,o=l}return i}const p8e=e=>Array.isArray(e)?e:e?[e]:[];function h8e(e){return e!=null&&typeof e=="object"&&Symbol.iterator in e}function eD(e){return typeof e=="object"&&e!==null}function vn(e){return eD(e)&&typeof e.then=="function"}function m8e(e,t,n){let r=n;for(const i of e)r=vn(r)?r.then(o=>t(o,i)):t(r,i);return r}function fj(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Qe(e,t){return v9.major>=17?new oe(e,t):new oe(e,t==null?void 0:t.nodes,t==null?void 0:t.source,t==null?void 0:t.positions,t==null?void 0:t.path,t==null?void 0:t.originalError,t==null?void 0:t.extensions)}function tD(e,t){return Qe(e.message,{nodes:e.nodes,source:e.source,positions:e.positions,path:t??e.path,originalError:e,extensions:e.extensions})}let Tc;if(typeof AggregateError>"u"){class e extends Error{constructor(n,r=""){super(r),this.errors=n,this.name="AggregateError",Error.captureStackTrace(this,e)}}Tc=function(t,n){return new e(t,n)}}else Tc=AggregateError;function v8e(e){return"errors"in e&&Array.isArray(e.errors)}const dj=3;function On(e){return lE(e,[])}function lE(e,t){switch(typeof e){case"string":return JSON.stringify(e);case"function":return e.name?`[function ${e.name}]`:"[function]";case"object":return g8e(e,t);default:return String(e)}}function bA(e){return e instanceof oe?e.toString():`${e.name}: ${e.message}; + ${e.stack}`}function g8e(e,t){if(e===null)return"null";if(e instanceof Error)return v8e(e)?bA(e)+` +`+TA(e.errors,t):bA(e);if(t.includes(e))return"[Circular]";const n=[...t,e];if(y8e(e)){const r=e.toJSON();if(r!==e)return typeof r=="string"?r:lE(r,n)}else if(Array.isArray(e))return TA(e,n);return E8e(e,n)}function y8e(e){return typeof e.toJSON=="function"}function E8e(e,t){const n=Object.entries(e);return n.length===0?"{}":t.length>dj?"["+b8e(e)+"]":"{ "+n.map(([i,o])=>i+": "+lE(o,t)).join(", ")+" }"}function TA(e,t){if(e.length===0)return"[]";if(t.length>dj)return"[Array]";const n=e.length,r=[];for(let i=0;i({...s,[l.name.value]:l}),{});for(const{name:s,type:l,defaultValue:u}of e.args){const c=a[s];if(!c){if(u!==void 0)i[s]=u;else if(Re(l))throw Qe(`Argument "${s}" of required type "${On(l)}" was not provided.`,{nodes:[t]});continue}const f=c.value;let d=f.kind===O.NULL;if(f.kind===O.VARIABLE){const m=f.name.value;if(n==null||!fj(n,m)){if(u!==void 0)i[s]=u;else if(Re(l))throw Qe(`Argument "${s}" of required type "${On(l)}" was provided the variable "$${m}" which was not provided a runtime value.`,{nodes:[f]});continue}d=n[m]==null}if(d&&Re(l))throw Qe(`Argument "${s}" of non-null type "${On(l)}" must not be null.`,{nodes:[f]});const p=yo(f,l,n);if(p===void 0)throw Qe(`Argument "${s}" has invalid value ${Ot(f)}.`,{nodes:[f]});i[s]=p}return i}function Kw(e){if(Re(e)){const t=Kw(e.ofType);if(t.kind===O.NON_NULL_TYPE)throw new Error(`Invalid type node ${On(e)}. Inner type of non-null type cannot be a non-null type.`);return{kind:O.NON_NULL_TYPE,type:t}}else if(Rt(e))return{kind:O.LIST_TYPE,type:Kw(e.ofType)};return{kind:O.NAMED_TYPE,name:{kind:O.NAME,value:e.name}}}function Bl(e){const t=new WeakMap;return function(r){const i=t.get(r);if(i===void 0){const o=e(r);return t.set(r,o),o}return i}}function nD(e){const t=new WeakMap;return function(r,i){let o=t.get(r);if(!o){o=new WeakMap,t.set(r,o);const s=e(r,i);return o.set(i,s),s}const a=o.get(i);if(a===void 0){const s=e(r,i);return o.set(i,s),s}return a}}function T8e(e){const t=new WeakMap;return function(r,i,o){let a=t.get(r);if(!a){a=new WeakMap,t.set(r,a);const u=new WeakMap;a.set(i,u);const c=e(r,i,o);return u.set(o,c),c}let s=a.get(i);if(!s){s=new WeakMap,a.set(i,s);const u=e(r,i,o);return s.set(o,u),u}const l=s.get(o);if(l===void 0){const u=e(r,i,o);return s.set(o,u),u}return l}}function w8e(e){const t=new WeakMap;return function(r,i,o,a,s){let l=t.get(r);if(!l){l=new WeakMap,t.set(r,l);const p=new WeakMap;l.set(i,p);const m=new WeakMap;p.set(o,m);const v=new WeakMap;m.set(a,v);const b=e(r,i,o,a,s);return v.set(s,b),b}let u=l.get(i);if(!u){u=new WeakMap,l.set(i,u);const p=new WeakMap;u.set(o,p);const m=new WeakMap;p.set(a,m);const v=e(r,i,o,a,s);return m.set(s,v),v}let c=u.get(o);if(!c){c=new WeakMap,u.set(o,c);const p=new WeakMap;c.set(a,p);const m=e(r,i,o,a,s);return p.set(s,m),m}let f=c.get(a);if(!f){f=new WeakMap,c.set(a,f);const p=e(r,i,o,a,s);return f.set(s,p),p}const d=f.get(s);if(d===void 0){const p=e(r,i,o,a,s);return f.set(s,p),p}return d}}function _8e(e){const t=new WeakMap;return function(r,i,o,a){let s=t.get(r);if(!s){s=new WeakMap,t.set(r,s);const u=e(r,i,o,a);return s.set(i,u),u}const l=s.get(i);if(l===void 0){const u=e(r,i,o,a);return s.set(i,u),u}return l}}function uE(e,t,n){const i=rD(e).get(t);if(i==null)throw Qe(`Schema is not configured to execute ${t} operation.`,{nodes:n});return i}const S8e=Bl(function(t){const n=N8e(t);return new Set([...n].map(r=>r.name))}),N8e=Bl(function(t){const n=rD(t);return new Set(n.values())}),rD=Bl(function(t){const n=new Map,r=t.getQueryType();r&&n.set("query",r);const i=t.getMutationType();i&&n.set("mutation",i);const o=t.getSubscriptionType();return o&&n.set("subscription",o),n}),I8e=80;let wA={};function x8e(e){return` +# `+e.replace(/\n/g,` +# `)}function ve(e,t){return e?e.filter(n=>n).join(t||""):""}function _A(e){var t;return(t=e==null?void 0:e.some(n=>n.includes(` +`)))!==null&&t!==void 0?t:!1}function D8e(e){return(t,n,r,i,o)=>{var a;const s=[],l=i.reduce((f,d)=>(["fields","arguments","values"].includes(d)&&f.name&&s.push(f.name.value),f[d]),o[0]),u=[...s,(a=l==null?void 0:l.name)===null||a===void 0?void 0:a.value].filter(Boolean).join("."),c=[];return t.kind.includes("Definition")&&wA[u]&&c.push(...wA[u]),ve([...c.map(x8e),t.description,e(t,n,r,i,o)],` +`)}}function rd(e){return e&&` ${e.replace(/\n/g,` + `)}`}function Si(e){return e&&e.length!==0?`{ +${rd(ve(e,` +`))} +}`:""}function Ct(e,t,n){return t?e+t+(n||""):""}function O8e(e,t=!1){const n=e.replace(/"""/g,'\\"""');return(e[0]===" "||e[0]===" ")&&e.indexOf(` +`)===-1?`"""${n.replace(/"$/,`" +`)}"""`:`""" +${t?n:rd(n)} +"""`}const SA={Name:{leave:e=>e.value},Variable:{leave:e=>"$"+e.name},Document:{leave:e=>ve(e.definitions,` + +`)},OperationDefinition:{leave:e=>{const t=Ct("(",ve(e.variableDefinitions,", "),")");return ve([e.operation,ve([e.name,t]),ve(e.directives," ")]," ")+" "+e.selectionSet}},VariableDefinition:{leave:({variable:e,type:t,defaultValue:n,directives:r})=>e+": "+t+Ct(" = ",n)+Ct(" ",ve(r," "))},SelectionSet:{leave:({selections:e})=>Si(e)},Field:{leave({alias:e,name:t,arguments:n,directives:r,selectionSet:i}){const o=Ct("",e,": ")+t;let a=o+Ct("(",ve(n,", "),")");return a.length>I8e&&(a=o+Ct(`( +`,rd(ve(n,` +`)),` +)`)),ve([a,ve(r," "),i]," ")}},Argument:{leave:({name:e,value:t})=>e+": "+t},FragmentSpread:{leave:({name:e,directives:t})=>"..."+e+Ct(" ",ve(t," "))},InlineFragment:{leave:({typeCondition:e,directives:t,selectionSet:n})=>ve(["...",Ct("on ",e),ve(t," "),n]," ")},FragmentDefinition:{leave:({name:e,typeCondition:t,variableDefinitions:n,directives:r,selectionSet:i})=>`fragment ${e}${Ct("(",ve(n,", "),")")} on ${t} ${Ct("",ve(r," ")," ")}`+i},IntValue:{leave:({value:e})=>e},FloatValue:{leave:({value:e})=>e},StringValue:{leave:({value:e,block:t})=>t?O8e(e):JSON.stringify(e)},BooleanValue:{leave:({value:e})=>e?"true":"false"},NullValue:{leave:()=>"null"},EnumValue:{leave:({value:e})=>e},ListValue:{leave:({values:e})=>"["+ve(e,", ")+"]"},ObjectValue:{leave:({fields:e})=>"{"+ve(e,", ")+"}"},ObjectField:{leave:({name:e,value:t})=>e+": "+t},Directive:{leave:({name:e,arguments:t})=>"@"+e+Ct("(",ve(t,", "),")")},NamedType:{leave:({name:e})=>e},ListType:{leave:({type:e})=>"["+e+"]"},NonNullType:{leave:({type:e})=>e+"!"},SchemaDefinition:{leave:({directives:e,operationTypes:t})=>ve(["schema",ve(e," "),Si(t)]," ")},OperationTypeDefinition:{leave:({operation:e,type:t})=>e+": "+t},ScalarTypeDefinition:{leave:({name:e,directives:t})=>ve(["scalar",e,ve(t," ")]," ")},ObjectTypeDefinition:{leave:({name:e,interfaces:t,directives:n,fields:r})=>ve(["type",e,Ct("implements ",ve(t," & ")),ve(n," "),Si(r)]," ")},FieldDefinition:{leave:({name:e,arguments:t,type:n,directives:r})=>e+(_A(t)?Ct(`( +`,rd(ve(t,` +`)),` +)`):Ct("(",ve(t,", "),")"))+": "+n+Ct(" ",ve(r," "))},InputValueDefinition:{leave:({name:e,type:t,defaultValue:n,directives:r})=>ve([e+": "+t,Ct("= ",n),ve(r," ")]," ")},InterfaceTypeDefinition:{leave:({name:e,interfaces:t,directives:n,fields:r})=>ve(["interface",e,Ct("implements ",ve(t," & ")),ve(n," "),Si(r)]," ")},UnionTypeDefinition:{leave:({name:e,directives:t,types:n})=>ve(["union",e,ve(t," "),Ct("= ",ve(n," | "))]," ")},EnumTypeDefinition:{leave:({name:e,directives:t,values:n})=>ve(["enum",e,ve(t," "),Si(n)]," ")},EnumValueDefinition:{leave:({name:e,directives:t})=>ve([e,ve(t," ")]," ")},InputObjectTypeDefinition:{leave:({name:e,directives:t,fields:n})=>ve(["input",e,ve(t," "),Si(n)]," ")},DirectiveDefinition:{leave:({name:e,arguments:t,repeatable:n,locations:r})=>"directive @"+e+(_A(t)?Ct(`( +`,rd(ve(t,` +`)),` +)`):Ct("(",ve(t,", "),")"))+(n?" repeatable":"")+" on "+ve(r," | ")},SchemaExtension:{leave:({directives:e,operationTypes:t})=>ve(["extend schema",ve(e," "),Si(t)]," ")},ScalarTypeExtension:{leave:({name:e,directives:t})=>ve(["extend scalar",e,ve(t," ")]," ")},ObjectTypeExtension:{leave:({name:e,interfaces:t,directives:n,fields:r})=>ve(["extend type",e,Ct("implements ",ve(t," & ")),ve(n," "),Si(r)]," ")},InterfaceTypeExtension:{leave:({name:e,interfaces:t,directives:n,fields:r})=>ve(["extend interface",e,Ct("implements ",ve(t," & ")),ve(n," "),Si(r)]," ")},UnionTypeExtension:{leave:({name:e,directives:t,types:n})=>ve(["extend union",e,ve(t," "),Ct("= ",ve(n," | "))]," ")},EnumTypeExtension:{leave:({name:e,directives:t,values:n})=>ve(["extend enum",e,ve(t," "),Si(n)]," ")},InputObjectTypeExtension:{leave:({name:e,directives:t,fields:n})=>ve(["extend input",e,ve(t," "),Si(n)]," ")}};Object.keys(SA).reduce((e,t)=>({...e,[t]:{leave:D8e(SA[t].leave)}}),{});function C8e(e){const t=e.loc;if(!t)return;const n=[];let r=t.startToken.prev;for(;r!=null&&r.kind===te.COMMENT&&r.next!=null&&r.prev!=null&&r.line+1===r.next.line&&r.line!==r.prev.line;){const i=String(r.value);n.push(i),r=r.prev}return n.length>0?n.reverse().join(` +`):void 0}function k8e(e){const t=e.split(/\r\n|[\n\r]/g),n=A8e(t);if(n!==0)for(let r=1;r0&&NA(t[0]);)t.shift();for(;t.length>0&&NA(t[t.length-1]);)t.pop();return t.join(` +`)}function A8e(e){let t=null;for(let n=1;n{if(L8e(i)){const o=C8e(i);if(o!==void 0){const a=k8e(` +`+o),s=a.includes(` +`);return i.description?{...i,description:{...i.description,value:i.description.value+` +`+a,block:!0}}:{...i,description:{kind:O.STRING,value:a,block:s}}}}}})}function L8e(e){return X9(e)||e.kind===O.FIELD_DEFINITION||e.kind===O.INPUT_VALUE_DEFINITION||e.kind===O.ENUM_VALUE_DEFINITION}var xe;(function(e){e.TYPE="MapperKind.TYPE",e.SCALAR_TYPE="MapperKind.SCALAR_TYPE",e.ENUM_TYPE="MapperKind.ENUM_TYPE",e.COMPOSITE_TYPE="MapperKind.COMPOSITE_TYPE",e.OBJECT_TYPE="MapperKind.OBJECT_TYPE",e.INPUT_OBJECT_TYPE="MapperKind.INPUT_OBJECT_TYPE",e.ABSTRACT_TYPE="MapperKind.ABSTRACT_TYPE",e.UNION_TYPE="MapperKind.UNION_TYPE",e.INTERFACE_TYPE="MapperKind.INTERFACE_TYPE",e.ROOT_OBJECT="MapperKind.ROOT_OBJECT",e.QUERY="MapperKind.QUERY",e.MUTATION="MapperKind.MUTATION",e.SUBSCRIPTION="MapperKind.SUBSCRIPTION",e.DIRECTIVE="MapperKind.DIRECTIVE",e.FIELD="MapperKind.FIELD",e.COMPOSITE_FIELD="MapperKind.COMPOSITE_FIELD",e.OBJECT_FIELD="MapperKind.OBJECT_FIELD",e.ROOT_FIELD="MapperKind.ROOT_FIELD",e.QUERY_ROOT_FIELD="MapperKind.QUERY_ROOT_FIELD",e.MUTATION_ROOT_FIELD="MapperKind.MUTATION_ROOT_FIELD",e.SUBSCRIPTION_ROOT_FIELD="MapperKind.SUBSCRIPTION_ROOT_FIELD",e.INTERFACE_FIELD="MapperKind.INTERFACE_FIELD",e.INPUT_OBJECT_FIELD="MapperKind.INPUT_OBJECT_FIELD",e.ARGUMENT="MapperKind.ARGUMENT",e.ENUM_VALUE="MapperKind.ENUM_VALUE"})(xe||(xe={}));function Jl(e,t){if(t){const n=e[t.name];if(Pe(n))return n}}function $8e(e){if("getFields"in e){const t=e.getFields();for(const n in t)return t[n].name==="_fake"}return!1}function P8e(e){switch(e.name){case Lg.name:return Lg;case Gw.name:return Gw;case Nt.name:return Nt;case Xn.name:return Xn;case $g.name:return $g;default:return e}}function M8e(e,t){const n=Object.create(null);for(const d in e)n[d]=e[d];const r=Object.create(null);for(const d in n){const p=n[d];if(p==null||d.startsWith("__"))continue;const m=p.name;if(!m.startsWith("__")){if(r[m]!=null){console.warn(`Duplicate schema type name ${m} found; keeping the existing one found in the schema`);continue}r[m]=p}}for(const d in r)r[d]=s(r[d]);const i=t.map(d=>o(d));return{typeMap:r,directives:i};function o(d){if(L9e(d))return d;const p=d.toConfig();return p.args=a(p.args),new Qi(p)}function a(d){const p={};for(const m in d){const v=d[m],b=f(v.type);b!=null&&(v.type=b,p[m]=v)}return p}function s(d){if(Pe(d)){const p=d.toConfig(),m={...p,fields:()=>l(p.fields),interfaces:()=>c(p.interfaces)};return new fr(m)}else if(qe(d)){const p=d.toConfig(),m={...p,fields:()=>l(p.fields)};return"interfaces"in m&&(m.interfaces=()=>c(p.interfaces)),new ha(m)}else if(Or(d)){const p=d.toConfig(),m={...p,types:()=>c(p.types)};return new Ec(m)}else if(Pt(d)){const p=d.toConfig(),m={...p,fields:()=>u(p.fields)};return new ps(m)}else if(Bn(d)){const p=d.toConfig();return new ma(p)}else if(Lo(d)){if(U9(d))return d;const p=d.toConfig();return new Oo(p)}throw new Error(`Unexpected schema type: ${d}`)}function l(d){const p={};for(const m in d){const v=d[m],b=f(v.type);b!=null&&v.args&&(v.type=b,v.args=a(v.args),p[m]=v)}return p}function u(d){const p={};for(const m in d){const v=d[m],b=f(v.type);b!=null&&(v.type=b,p[m]=v)}return p}function c(d){const p=[];for(const m of d){const v=f(m);v!=null&&p.push(v)}return p}function f(d){if(Rt(d)){const p=f(d.ofType);return p!=null?new Mn(p):null}else if(Re(d)){const p=f(d.ofType);return p!=null?new De(p):null}else if(zx(d)){let p=n[d.name];return p===void 0&&(p=$8e(d)?P8e(d):s(d),r[p.name]=n[d.name]=p),p!=null?r[p.name]:null}return null}}function Bg(e,t,n=null,r=null){if(t==null)return t;const i=rE(e);if(zi(i))return n!=null?n(i,t):t;if(Rt(i))return p8e(t).map(o=>Bg(i.ofType,o,n,r));if(Pt(i)){const o=i.getFields(),a={};for(const s in t){const l=o[s];l!=null&&(a[s]=Bg(l.type,t[s],n,r))}return r!=null?r(i,a):a}}function cE(e,t){return Bg(e,t,(n,r)=>{try{return n.serialize(r)}catch{return r}})}function V8e(e,t){return Bg(e,t,(n,r)=>{try{return n.parseValue(r)}catch{return r}})}function j8e(e,t={}){const n=vj(mj(Xw(IA(U8e(Xw(IA(e.getTypeMap(),e,cE),e,t,s=>zi(s)),e,t),e,V8e),e,t,s=>!zi(s)),e,t),e,t),r=e.getDirectives(),i=B8e(r,e,t),{typeMap:o,directives:a}=M8e(n,i);return new sE({...e.toConfig(),query:Jl(o,Jl(n,e.getQueryType())),mutation:Jl(o,Jl(n,e.getMutationType())),subscription:Jl(o,Jl(n,e.getSubscriptionType())),types:Object.values(o),directives:a})}function Xw(e,t,n,r=()=>!0){const i={};for(const o in e)if(!o.startsWith("__")){const a=e[o];if(a==null||!r(a)){i[o]=a;continue}const s=z8e(t,n,o);if(s==null){i[o]=a;continue}const l=s(a,t);if(l===void 0){i[o]=a;continue}i[o]=l}return i}function U8e(e,t,n){const r=Y8e(n);return r?Xw(e,t,{[xe.ENUM_TYPE]:i=>{const o=i.toConfig(),a=o.values,s={};for(const l in a){const u=a[l],c=r(u,i.name,t,l);if(c===void 0)s[l]=u;else if(Array.isArray(c)){const[f,d]=c;s[f]=d===void 0?u:d}else c!==null&&(s[l]=c)}return dv(new ma({...o,values:s}))}},i=>Bn(i)):e}function IA(e,t,n){const r=vj(e,t,{[xe.ARGUMENT]:i=>{if(i.defaultValue===void 0)return i;const o=qg(e,i.type);if(o!=null)return{...i,defaultValue:n(o,i.defaultValue)}}});return mj(r,t,{[xe.INPUT_OBJECT_FIELD]:i=>{if(i.defaultValue===void 0)return i;const o=qg(r,i.type);if(o!=null)return{...i,defaultValue:n(o,i.defaultValue)}}})}function qg(e,t){if(Rt(t)){const n=qg(e,t.ofType);return n!=null?new Mn(n):null}else if(Re(t)){const n=qg(e,t.ofType);return n!=null?new De(n):null}else if(zx(t)){const n=e[t.name];return n??null}return null}function mj(e,t,n){const r={};for(const i in e)if(!i.startsWith("__")){const o=e[i];if(!Pe(o)&&!qe(o)&&!Pt(o)){r[i]=o;continue}const a=G8e(t,n,i);if(a==null){r[i]=o;continue}const s=o.toConfig(),l=s.fields,u={};for(const c in l){const f=l[c],d=a(f,c,i,t);if(d===void 0)u[c]=f;else if(Array.isArray(d)){const[p,m]=d;m.astNode!=null&&(m.astNode={...m.astNode,name:{...m.astNode.name,value:p}}),u[p]=m===void 0?f:m}else d!==null&&(u[c]=d)}Pe(o)?r[i]=dv(new fr({...s,fields:u})):qe(o)?r[i]=dv(new ha({...s,fields:u})):r[i]=dv(new ps({...s,fields:u}))}return r}function vj(e,t,n){const r={};for(const i in e)if(!i.startsWith("__")){const o=e[i];if(!Pe(o)&&!qe(o)){r[i]=o;continue}const a=H8e(n);if(a==null){r[i]=o;continue}const s=o.toConfig(),l=s.fields,u={};for(const c in l){const f=l[c],d=f.args;if(d==null){u[c]=f;continue}const p=Object.keys(d);if(!p.length){u[c]=f;continue}const m={};for(const v of p){const b=d[v],E=a(b,c,i,t);if(E===void 0)m[v]=b;else if(Array.isArray(E)){const[y,T]=E;m[y]=T}else E!==null&&(m[v]=E)}u[c]={...f,args:m}}Pe(o)?r[i]=new fr({...s,fields:u}):qe(o)?r[i]=new ha({...s,fields:u}):r[i]=new ps({...s,fields:u})}return r}function B8e(e,t,n){const r=W8e(n);if(r==null)return e.slice();const i=[];for(const o of e){const a=r(o,t);a===void 0?i.push(o):a!==null&&i.push(a)}return i}function q8e(e,t){var n,r,i;const o=e.getType(t),a=[xe.TYPE];return Pe(o)?(a.push(xe.COMPOSITE_TYPE,xe.OBJECT_TYPE),t===((n=e.getQueryType())===null||n===void 0?void 0:n.name)?a.push(xe.ROOT_OBJECT,xe.QUERY):t===((r=e.getMutationType())===null||r===void 0?void 0:r.name)?a.push(xe.ROOT_OBJECT,xe.MUTATION):t===((i=e.getSubscriptionType())===null||i===void 0?void 0:i.name)&&a.push(xe.ROOT_OBJECT,xe.SUBSCRIPTION)):Pt(o)?a.push(xe.INPUT_OBJECT_TYPE):qe(o)?a.push(xe.COMPOSITE_TYPE,xe.ABSTRACT_TYPE,xe.INTERFACE_TYPE):Or(o)?a.push(xe.COMPOSITE_TYPE,xe.ABSTRACT_TYPE,xe.UNION_TYPE):Bn(o)?a.push(xe.ENUM_TYPE):Lo(o)&&a.push(xe.SCALAR_TYPE),a}function z8e(e,t,n){const r=q8e(e,n);let i;const o=[...r];for(;!i&&o.length>0;){const a=o.pop();i=t[a]}return i??null}function Q8e(e,t){var n,r,i;const o=e.getType(t),a=[xe.FIELD];return Pe(o)?(a.push(xe.COMPOSITE_FIELD,xe.OBJECT_FIELD),t===((n=e.getQueryType())===null||n===void 0?void 0:n.name)?a.push(xe.ROOT_FIELD,xe.QUERY_ROOT_FIELD):t===((r=e.getMutationType())===null||r===void 0?void 0:r.name)?a.push(xe.ROOT_FIELD,xe.MUTATION_ROOT_FIELD):t===((i=e.getSubscriptionType())===null||i===void 0?void 0:i.name)&&a.push(xe.ROOT_FIELD,xe.SUBSCRIPTION_ROOT_FIELD)):qe(o)?a.push(xe.COMPOSITE_FIELD,xe.INTERFACE_FIELD):Pt(o)&&a.push(xe.INPUT_OBJECT_FIELD),a}function G8e(e,t,n){const r=Q8e(e,n);let i;const o=[...r];for(;!i&&o.length>0;){const a=o.pop();i=t[a]}return i??null}function H8e(e){const t=e[xe.ARGUMENT];return t??null}function W8e(e){const t=e[xe.DIRECTIVE];return t??null}function Y8e(e){const t=e[xe.ENUM_VALUE];return t??null}function dv(e){if(Pe(e)){const t=e.toConfig();if(t.astNode!=null){const n=[];for(const r in t.fields){const i=t.fields[r];i.astNode!=null&&n.push(i.astNode)}t.astNode={...t.astNode,kind:O.OBJECT_TYPE_DEFINITION,fields:n}}return t.extensionASTNodes!=null&&(t.extensionASTNodes=t.extensionASTNodes.map(n=>({...n,kind:O.OBJECT_TYPE_EXTENSION,fields:void 0}))),new fr(t)}else if(qe(e)){const t=e.toConfig();if(t.astNode!=null){const n=[];for(const r in t.fields){const i=t.fields[r];i.astNode!=null&&n.push(i.astNode)}t.astNode={...t.astNode,kind:O.INTERFACE_TYPE_DEFINITION,fields:n}}return t.extensionASTNodes!=null&&(t.extensionASTNodes=t.extensionASTNodes.map(n=>({...n,kind:O.INTERFACE_TYPE_EXTENSION,fields:void 0}))),new ha(t)}else if(Pt(e)){const t=e.toConfig();if(t.astNode!=null){const n=[];for(const r in t.fields){const i=t.fields[r];i.astNode!=null&&n.push(i.astNode)}t.astNode={...t.astNode,kind:O.INPUT_OBJECT_TYPE_DEFINITION,fields:n}}return t.extensionASTNodes!=null&&(t.extensionASTNodes=t.extensionASTNodes.map(n=>({...n,kind:O.INPUT_OBJECT_TYPE_EXTENSION,fields:void 0}))),new ps(t)}else if(Bn(e)){const t=e.toConfig();if(t.astNode!=null){const n=[];for(const r in t.values){const i=t.values[r];i.astNode!=null&&n.push(i.astNode)}t.astNode={...t.astNode,values:n}}return t.extensionASTNodes!=null&&(t.extensionASTNodes=t.extensionASTNodes.map(n=>({...n,values:void 0}))),new ma(t)}else return e}function iD(e){return e.fieldNodes[0].alias!=null?e.fieldNodes[0].alias.value:e.fieldName}function oD(e,t,n){let r,i;typeof e.return=="function"&&(r=e.return,i=s=>{const l=()=>Promise.reject(s);return r.call(e).then(l,l)});function o(s){return s.done?s:xA(s.value,t).then(DA,i)}let a;if(n){const s=n;a=l=>xA(l,s).then(DA,i)}return{next(){return e.next().then(o,a)},return(){return r?r.call(e).then(o,a):Promise.resolve({value:void 0,done:!0})},throw(s){return typeof e.throw=="function"?e.throw(s).then(o,a):Promise.reject(s).catch(i)},[Symbol.asyncIterator](){return this}}}function xA(e,t){return new Promise(n=>n(t(e)))}function DA(e){return{value:e,done:!1}}function gj(e,t,n,r,i,o,a){if(e[r]={kind:O.ARGUMENT,name:{kind:O.NAME,value:r},value:{kind:O.VARIABLE,name:{kind:O.NAME,value:i}}},t[i]={kind:O.VARIABLE_DEFINITION,variable:{kind:O.VARIABLE,name:{kind:O.NAME,value:i}},type:Kw(o)},a!==void 0){n[i]=a;return}i in n&&delete n[i]}function yj(e){let t=0;return n=>{let r;do r=`_v${(t++).toString()}_${n}`;while(r in e);return r}}function zg(e,t,n){return n==null||t==null?!1:t===n?!0:vi(t)&&vi(n)?Qw(e,t,n):!1}function J8e(e){const t=[],n=[];let r=!0;const i=c=>{t.length!==0?t.shift()({value:c,done:!1}):n.push({value:c,done:!1})},o=c=>{t.length!==0?t.shift()({value:{errors:[c]},done:!1}):n.push({value:{errors:[c]},done:!1})},a=()=>{t.length!==0?t.shift()({done:!0}):n.push({done:!0})},s=()=>new Promise(c=>{if(n.length!==0){const f=n.shift();c(f)}else t.push(c)}),l=e.subscribe({next(c){i(c)},error(c){o(c)},complete(){a()}}),u=()=>{if(r){r=!1,l.unsubscribe();for(const c of t)c({value:void 0,done:!0});t.length=0,n.length=0}};return{next(){return r?s():this.return()},return(){return u(),Promise.resolve({value:void 0,done:!0})},throw(c){return u(),Promise.reject(c)},[Symbol.asyncIterator](){return this}}}function K8e(e,t){const n=cj(e,t);if(!n)throw new Error(`Cannot infer operation ${t||""}`);return n}const va=Bl(function(t){return K8e(t.document,t.operationName)}),X8e=new Qi({name:"defer",description:"Directs the executor to defer this fragment when the `if` argument is true or undefined.",locations:[be.FRAGMENT_SPREAD,be.INLINE_FRAGMENT],args:{if:{type:new De(Xn),description:"Deferred when true or undefined.",defaultValue:!0},label:{type:Nt,description:"Unique name"}}}),Z8e=new Qi({name:"stream",description:"Directs the executor to stream plural fields when the `if` argument is true or undefined.",locations:[be.FIELD],args:{if:{type:new De(Xn),description:"Stream when true or undefined.",defaultValue:!0},label:{type:Nt,description:"Unique name"},initialCount:{defaultValue:0,type:Lg,description:"Number of items to return immediately"}}});class Qg extends Map{get[Symbol.toStringTag](){return"AccumulatorMap"}add(t,n){const r=this.get(t);r===void 0?this.set(t,[n]):r.push(n)}}function _u(e,t,n,r,i,o,a,s){for(const l of i.selections)switch(l.kind){case O.FIELD:{if(!U1(n,l))continue;o.add(e7e(l),l);break}case O.INLINE_FRAGMENT:{if(!U1(n,l)||!OA(e,l,r))continue;const u=CA(n,l);if(u){const c=new Qg;_u(e,t,n,r,l.selectionSet,c,a,s),a.push({label:u.label,fields:c})}else _u(e,t,n,r,l.selectionSet,o,a,s);break}case O.FRAGMENT_SPREAD:{const u=l.name.value;if(!U1(n,l))continue;const c=CA(n,l);if(s.has(u)&&!c)continue;const f=t[u];if(!f||!OA(e,f,r))continue;if(c||s.add(u),c){const d=new Qg;_u(e,t,n,r,f.selectionSet,d,a,s),a.push({label:c.label,fields:d})}else _u(e,t,n,r,f.selectionSet,o,a,s);break}}}function aD(e,t,n,r,i){const o=new Qg,a=[];return _u(e,t,n,r,i,o,a,new Set),{fields:o,patches:a}}function U1(e,t){const n=hs(Gx,t,e);if((n==null?void 0:n.if)===!0)return!1;const r=hs(Qx,t,e);return(r==null?void 0:r.if)!==!1}function OA(e,t,n){const r=t.typeCondition;if(!r)return!0;const i=dr(e,r);return i===n?!0:Nr(i)?e.getPossibleTypes(i).includes(n):!1}function e7e(e){return e.alias?e.alias.value:e.name.value}function CA(e,t){const n=hs(X8e,t,e);if(n&&n.if!==!1)return{label:typeof n.label=="string"?n.label:void 0}}const t7e=w8e(function(t,n,r,i,o){const a=new Qg,s=new Set,l=[],u={fields:a,patches:l};for(const c of o)c.selectionSet&&_u(t,n,r,i,c.selectionSet,a,l,s);return u});function ql(e){return typeof e=="object"&&e!=null&&Symbol.asyncIterator in e&&typeof e[Symbol.asyncIterator]=="function"}async function n7e(e){return{value:e,done:!0}}const Ej=nD(function(t,n){return function(...i){return Reflect.apply(n,t,i)}});function r7e(e,t){return new Proxy(e,{has(n,r){return r==="return"?!0:Reflect.has(n,r)},get(n,r,i){const o=Reflect.get(n,r,i);if(r==="return"){const a=o||n7e;return async function(l){const u=await t(l);return Reflect.apply(a,n,[u])}}else if(typeof o=="function")return Ej(n,o);return o}})}function i7e(e,t){return new Proxy(e,{get(n,r,i){const o=Reflect.get(n,r,i);return Symbol.asyncIterator===r?function(){const s=Reflect.apply(o,n,[]);return r7e(s,t)}:typeof o=="function"?Ej(n,o):o}})}function qc(e,t,n){return{prev:e,key:t,typename:n}}function ur(e){const t=[];let n=e;for(;n;)t.push(n.key),n=n.prev;return t.reverse()}function o7e(e){return e.map(t=>typeof t=="number"?"["+t.toString()+"]":"."+t).join("")}const sD=nD(function(t,n){const r=n.transforms;return r==null?t:r.reduce((i,o)=>{var a;return((a=o.transformSchema)===null||a===void 0?void 0:a.call(o,i,n))||i},t)});class a7e{constructor(t){var n;this.schema=t.schema,this.executor=t.executor,this.batch=t.batch,this.batchingOptions=t.batchingOptions,this.createProxyingResolver=t.createProxyingResolver,this.transforms=(n=t.transforms)!==null&&n!==void 0?n:[],this.merge=t.merge}get transformedSchema(){var t,n;return this._transformedSchema||(((n=(t=globalThis.process)===null||t===void 0?void 0:t.env)===null||n===void 0?void 0:n.DEBUG)!=null&&console.warn("Transformed schema is not set yet. Returning a dummy one."),this._transformedSchema=sD(this.schema,this)),this._transformedSchema}set transformedSchema(t){this._transformedSchema=t}}function bj(e){const t=[],n=[],r=new Set;for(let i=0;il7e(T,v,t,b,o,a,s,l,u,c)}),y)}function l7e(e,t,n,r,i,o,a,s,l,u){var c,f;const d=new Set,p=r.getParentType();if(p!=null){const m=or(p),v=m.name,b=s[v];if(b)for(const T of b)d.add(T);const E=a[m.name],y=[];for(const T of e.selections)if(T.kind===O.INLINE_FRAGMENT){if(T.typeCondition!=null){const w=i[T.typeCondition.name.value];if(w==null){d.add(T);continue}for(const S of w){const _=n.getType(S);_!=null&&zg(n,m,_)&&d.add(kA(S,T.selectionSet))}}}else if(T.kind===O.FRAGMENT_SPREAD){const w=T.name.value;if(!t[w]){d.add(T);continue}for(const S of t[w]){const _=S.typeName;n.getType(_)!=null&&zg(n,m,p)&&d.add({kind:O.FRAGMENT_SPREAD,name:{kind:O.NAME,value:S.fragmentName}})}}else{const w=T.name.value,S=(c=l[v])===null||c===void 0?void 0:c[w];if(S!=null)for(const I of S)d.add(I);const _=(f=u[v])===null||f===void 0?void 0:f[w];if(_!=null)for(const I of _){const A=I(T);if(A!=null)for(const N of A.selections)d.add(N)}E!=null&&E[w]?y.push(T):d.add(T)}if(o[m.name]&&d.add({kind:O.FIELD,name:{kind:O.NAME,value:"__typename"}}),y.length){const T=i[m.name];if(T!=null)for(const w of T)d.add(kA(w,{kind:O.SELECTION_SET,selections:y}))}return{...e,selections:Array.from(d)}}return e}function kA(e,t){return{kind:O.INLINE_FRAGMENT,typeCondition:{kind:O.NAMED_TYPE,name:{kind:O.NAME,value:e}},selectionSet:t}}const u7e=nD((e,t)=>{var n,r,i,o;const a=e.getTypeMap(),s=t.getTypeMap(),l=Object.create(null),u=Object.create(null);for(const f in a){const d=a[f];if(Nr(d)){const p=s[f];if(qe(d)&&qe(p)){const m=p.getFields(),v=d.getFields(),b=Object.create(null);let E=!0;for(const y in v)m[y]||(b[y]=!0,E=!1);E||(u[f]=b)}if(u[f]||!Nr(p)){const m=e.getPossibleTypes(d);l[f]=[];for(const v of m)s[v.name]&&l[f].push(v.name)}}}const c=(n=e.extensions)===null||n===void 0?void 0:n.stitchingInfo;return{possibleTypesMap:l,reversePossibleTypesMap:c7e(l),interfaceExtensionsMap:u,fieldNodesByType:(r=c==null?void 0:c.fieldNodesByType)!==null&&r!==void 0?r:{},fieldNodesByField:(i=c==null?void 0:c.fieldNodesByField)!==null&&i!==void 0?i:{},dynamicSelectionSetsByField:(o=c==null?void 0:c.dynamicSelectionSetsByField)!==null&&o!==void 0?o:{}}});function c7e(e){const t=Object.create(null);for(const n in e){const r=e[n];for(const i of r)t[i]||(t[i]=[]),t[i].push(n)}return t}function f7e(e,t,n){let r=0;function i(s){let l;do l=`_${s}_Fragment${r.toString()}`,r++;while(t.has(l));return l}const o=[],a=Object.create(null);for(const s of e){const l=n[s.typeCondition.name.value];if(l!=null){const u=s.name.value;a[u]=[];for(const c of l){const f=i(c);t.add(f),o.push({kind:O.FRAGMENT_DEFINITION,name:{kind:O.NAME,value:f},typeCondition:{kind:O.NAMED_TYPE,name:{kind:O.NAME,value:c}},selectionSet:s.selectionSet}),a[u].push({fragmentName:f,typeName:c})}}}return{expandedFragments:o,fragmentReplacements:a}}function d7e(e,t,n){const r=or(e);if(!vi(r))return n;const i=S8e(t),o=new bc(t),a={Document:["definitions"],OperationDefinition:["selectionSet"],SelectionSet:["selections"],InlineFragment:["selectionSet"],FragmentDefinition:["selectionSet"]};return qi(n,oh(o,{[O.FRAGMENT_DEFINITION]:s=>{const l=s.typeCondition.name.value;if(!i.has(l))return!1},[O.FIELD]:s=>{const l=o.getType();if(l!=null&&Nr(or(l)))return{...s,selectionSet:{kind:O.SELECTION_SET,selections:[{kind:O.INLINE_FRAGMENT,typeCondition:{kind:O.NAMED_TYPE,name:{kind:O.NAME,value:r.name}},selectionSet:s.selectionSet}]}}}}),a)}function p7e(e,t,n){var r;let i=[],o=[];const a=[];let s=[];const l=[],u=Object.create(null);for(const d of t){const p=d.typeCondition.name.value,m=e.getType(p);m!=null&&(l.push(d),u[d.name.value]=m)}let c=Object.create(null);for(const d of n){const p=uE(e,d.operation),{selectionSet:m,usedFragments:v,usedVariables:b}=Tj(e,p,u,d.selectionSet);o=id(o,v);const{usedVariables:E,newFragments:y,fragmentSet:T}=g7e(e,c,l,u,o),w=id(b,E);i=id(i,w),s=y,c=T;const S=((r=d.variableDefinitions)!==null&&r!==void 0?r:[]).filter(_=>w.indexOf(_.variable.name.value)!==-1);a.push({kind:O.OPERATION_DEFINITION,operation:d.operation,name:d.name,directives:d.directives,variableDefinitions:S,selectionSet:m})}const f={kind:O.DOCUMENT,definitions:[...a,...s]};return{usedVariables:i,newDocument:f}}function h7e(e,t){let{document:n,variables:r}=e,{operations:i,fragments:o}=bj(n);const{targetSchema:a,args:s}=t;if(s){const f=m7e(a,i,s);i=f.newOperations,r=Object.assign({},r??{},f.newVariables)}const{usedVariables:l,newDocument:u}=p7e(a,o,i),c={};if(r!=null)for(const f of l){const d=r[f];d!==void 0&&(c[f]=d)}return{...e,document:u,variables:c}}function m7e(e,t,n){const r=Object.create(null);return{newOperations:t.map(o=>{var a,s;const l=((a=o.variableDefinitions)!==null&&a!==void 0?a:[]).reduce((d,p)=>({...d,[p.variable.name.value]:p}),{}),u=uE(e,o.operation),c=[];for(const d of o.selectionSet.selections)if(d.kind===O.FIELD){const m=((s=d.arguments)!==null&&s!==void 0?s:[]).reduce((b,E)=>({...b,[E.name.value]:E}),{}),v=u.getFields()[d.name.value];v!=null&&v7e(v,m,l,r,n),c.push({...d,arguments:Object.values(m)})}else c.push(d);const f={kind:O.SELECTION_SET,selections:c};return{...o,variableDefinitions:Object.values(l),selectionSet:f}}),newVariables:r}}function v7e(e,t,n,r,i){const o=yj(n);for(const a of e.args){const s=a.name,l=a.type;s in i&&gj(t,n,r,s,o(s),l,cE(l,i[s]))}}function g7e(e,t,n,r,i){let o=i.slice(),a=[];const s=[];for(;o.length!==0;){const l=o.pop(),u=n.find(c=>c.name.value===l);if(u!=null){const c=l,f=u.typeCondition.name.value,d=e.getType(f);if(d==null)throw new Error(`Fragment reference type "${f}", but the type is not contained within the target schema.`);const{selectionSet:p,usedFragments:m,usedVariables:v}=Tj(e,d,r,u.selectionSet);o=id(o,m),a=id(a,v),c&&!(c in t)&&(t[c]=!0,s.push({kind:O.FRAGMENT_DEFINITION,name:{kind:O.NAME,value:c},typeCondition:u.typeCondition,selectionSet:p}))}}return{usedVariables:a,newFragments:s,fragmentSet:t}}const y7e={SelectionSet:["selections"],Field:["selectionSet"],InlineFragment:["selectionSet"],FragmentDefinition:["selectionSet"]},E7e={SelectionSet:["selections"],Field:["arguments","directives","selectionSet"],Argument:["value"],InlineFragment:["directives","selectionSet"],FragmentSpread:["directives"],FragmentDefinition:["selectionSet"],ObjectValue:["fields"],ObjectField:["name","value"],Directive:["arguments"],ListValue:["values"]};function Tj(e,t,n,r){const i=[],o=[],a=v9.major<16?new bc(e,void 0,t):new bc(e,t),s=qi(r,oh(a,{[O.FIELD]:{enter:l=>{const u=a.getParentType();if(Pe(u)||qe(u)){const c=u.getFields(),f=l.name.value==="__typename"?cp:c[l.name.value];if(!f)return null;const d=f.args!=null?f.args:[],p=Object.create(null);for(const m of d)p[m.name]=m;if(l.arguments!=null){const m=[];for(const v of l.arguments)v.name.value in p&&m.push(v);if(m.length!==l.arguments.length)return{...l,arguments:m}}}},leave:l=>{const u=a.getType();if(u==null)throw new Error(`No type was found for field node ${On(l)}.`);const c=or(u);if(!e.getType(c.name)==null)return null;if(Pe(c)||qe(c)){const f=l.selectionSet!=null?l.selectionSet.selections:null;if(f==null||f.length===0)return null}}},[O.FRAGMENT_SPREAD]:{enter:l=>{if(!(l.name.value in n))return null;const u=a.getParentType(),c=n[l.name.value];if(!zg(e,u,c))return null;i.push(l.name.value)}},[O.INLINE_FRAGMENT]:{enter:l=>{if(l.typeCondition!=null){const u=a.getParentType(),c=e.getType(l.typeCondition.name.value);if(!zg(e,u,c))return null}}},[O.SELECTION_SET]:{leave:l=>{const u=a.getParentType();if(u!=null&&Nr(u)){const c=l.selections.concat([{kind:O.FIELD,name:{kind:O.NAME,value:"__typename"}}]);return{...l,selections:c}}}}}),y7e);return qi(s,{[O.VARIABLE]:l=>{o.push(l.name.value)}},E7e),{selectionSet:s,usedFragments:i,usedVariables:o}}function id(...e){const t=Object.create(null),n=[];for(const r of e)for(const i of r)i in t||(t[i]=!0,n.push(i));return n}const zu=Symbol("subschemaErrors"),lD=Symbol("initialSubschema"),Gg=Symbol("subschemaMap");function uD(e){return e[zu]!==void 0}function b7e(e,t,n,r){return Object.defineProperties(e,{[lD]:{value:n},[Gg]:{value:r},[zu]:{value:t}}),e}function wj(e,t){var n;return(n=e[Gg][t])!==null&&n!==void 0?n:e[lD]}function _j(e){return e[zu]}const T7e=[],Hg=Object.create(null);async function w7e(e,t,n,r,i){var o;const a=e.delegationPlanBuilder(i.schema,n,i.variableValues!=null&&Object.keys(i.variableValues).length>0?i.variableValues:Hg,i.fragments!=null&&Object.keys(i.fragments).length>0?i.fragments:Hg,!((o=i.fieldNodes)===null||o===void 0)&&o.length?i.fieldNodes:T7e);for(const s of a)await _7e(e,s,t,r,i);return t}async function _7e(e,t,n,r,i){const o=n[zu],a=jo(i.path),s=n[Gg];await Promise.all([...t.entries()].map(async([l,u])=>{var c;const f=l.transformedSchema||i.schema,d=f.getType(n.__typename),p=e.resolvers.get(l);if(p){let m;try{m=await p(n,r,i,l,u,void 0,d)}catch(E){m=E}if(m instanceof Error||m==null){const{fields:E}=aD(f,Hg,Hg,d,u),y={};for(const[T,w]of E){const S=[...a,T];m instanceof oe?y[T]=tD(m,S):m instanceof Error?y[T]=lr(m,w,S):y[T]=null}m=y}else m[zu]&&o.push(...m[zu]);const v=m[lD],b=m[Gg];for(const E in m)n[E]=m[E],s[E]=(c=b==null?void 0:b[E])!==null&&c!==void 0?c:v}}))}function sh(e,t,n,r,i,o=x7e(i),a){const s=rE(o);if(e instanceof Error)return e;if(e==null)return I7e(t);if("parseValue"in s)return s.parseValue(e);if(vi(s))return S7e(s,e,t,n,r,i,a);if(Rt(s))return Array.isArray(e)?N7e(s,e,t,n,r,i,a):sh(e,t,n,r,i,s.ofType,a)}function S7e(e,t,n,r,i,o,a){var s;if(uD(t)||b7e(t,n,r,Object.create(null)),a||o==null)return t;const l=(s=o.schema.extensions)===null||s===void 0?void 0:s.stitchingInfo;if(l==null)return t;const u=Nr(e)?t.__typename:e.name,c=l.mergedTypes[u];let f;return c!=null&&(f=c.targetSubschemas.get(r)),!f||!f.length?t:w7e(c,t,r,i,o)}function N7e(e,t,n,r,i,o,a){return t.map(s=>sh(s,n,r,i,o,e.ofType,a))}const AA=new WeakMap;function I7e(e){if(e.length){const t=[];for(const n of e)AA.has(n)||(t.push(n),AA.set(n,!0));if(t.length){if(t.length===1)return t[0];const n=new Tc(t,t.map(r=>r.message).join(`, +`));return lr(n,void 0,t[0].path)}}return null}function x7e(e){if(e==null)throw new Error("Return type cannot be inferred without a source schema.");return e.returnType}function D7e(e,t){const{context:n,info:r,fieldName:i=O7e(r),subschema:o,returnType:a=C7e(r),skipTypeMerging:s,onLocatedError:l}=t,{data:u,unpathedErrors:c}=Sj(e.data==null?void 0:e.data[i],e.errors==null?[]:e.errors,r!=null&&r.path?jo(r.path):void 0,l);return sh(u,c,o,n,r,a,s)}function Sj(e,t,n,r,i=1){var o;if(e==null){if(!t.length)return{data:null,unpathedErrors:[]};if(t.length===1){const c=r?r(t[0]):t[0],f=n===void 0?c.path:c.path?n.concat(c.path.slice(1)):n;return{data:tD(t[0],f),unpathedErrors:[]}}const l=new Tc(t,t.map(c=>c.message).join(`, +`));return{data:lr(l,void 0,n),unpathedErrors:[]}}if(!t.length)return{data:e,unpathedErrors:[]};const a=[],s=new Map;for(const l of t){const u=(o=l.path)===null||o===void 0?void 0:o[i];if(u!=null){let c=s.get(u);c===void 0?(c=[l],s.set(u,c)):c.push(l)}else a.push(l)}for(const[l,u]of s)if(e[l]!==void 0){const{data:c,unpathedErrors:f}=Sj(e[l],u,n,r,i+1);e[l]=c,a.push(...f)}else a.push(...u);return{data:e,unpathedErrors:a}}function O7e(e){if(e==null)throw new Error("Data cannot be extracted from result without an explicit key or source schema.");return iD(e)}function C7e(e){if(e==null)throw new Error("Return type cannot be inferred without a source schema.");return e.returnType}class k7e{constructor(t){this.transformations=[],this.delegationContext=t;const r=t.transforms.slice().reverse();for(const i of r)this.addTransform(i,{})}addTransform(t,n={}){this.transformations.push({transform:t,context:n})}transformRequest(t){var n;let r={...t,document:s7e(t.document,this.delegationContext.transformedSchema,this.delegationContext.returnType,(n=this.delegationContext.info)===null||n===void 0?void 0:n.schema)};for(const i of this.transformations)i.transform.transformRequest&&(r=i.transform.transformRequest(r,this.delegationContext,i.context));return h7e(r,this.delegationContext)}transformResult(t){let n=t;for(let r=this.transformations.length-1;r>=0;r--){const i=this.transformations[r];i.transform.transformResult&&(n=i.transform.transformResult(n,this.delegationContext,i.context))}return D7e(n,this.delegationContext)}}function A7e(e,t){return e===t.getMutationType()?"mutation":e===t.getSubscriptionType()?"subscription":"query"}function F7e({sourceSchema:e,sourceParentType:t,sourceFieldName:n,fragments:r,variableDefinitions:i,variableValues:o,targetRootValue:a,targetOperationName:s,targetOperation:l,targetFieldName:u,selectionSet:c,fieldNodes:f,context:d,info:p}){var m,v;let b;const E=Object.create(null);if(c!=null)b=c;else{const C=[];for(const G of f||[])if(G.selectionSet)for(const Y of G.selectionSet.selections)C.push(Y);b=C.length?{kind:O.SELECTION_SET,selections:C}:void 0;const U=(m=f==null?void 0:f[0])===null||m===void 0?void 0:m.arguments;if(U)for(const G of U)E[G.name.value]=G}const y=Object.create(null),T=Object.create(null);if(e!=null&&i!=null)for(const C of i){const U=C.variable.name.value;T[U]=C;const G=dr(e,C.type),Y=cE(G,o==null?void 0:o[U]);Y!==void 0&&(y[U]=Y)}t!=null&&n!=null&&R7e(t,n,E,T,y);const w=u??((v=f==null?void 0:f[0])===null||v===void 0?void 0:v.name.value);if(w===void 0)throw new Error('Either "targetFieldName" or a non empty "fieldNodes" array must be provided.');const S={kind:O.FIELD,arguments:Object.values(E),name:{kind:O.NAME,value:w},selectionSet:b},_=s?{kind:O.NAME,value:s}:void 0,A=[{kind:O.OPERATION_DEFINITION,name:_,operation:l,variableDefinitions:Object.values(T),selectionSet:{kind:O.SELECTION_SET,selections:[S]}}];if(r!=null)for(const C in r){const U=r[C];A.push(U)}return{document:{kind:O.DOCUMENT,definitions:A},variables:y,rootValue:a,operationName:s,context:d,info:p,operationType:l}}function R7e(e,t,n,r,i){const o=yj(r),a=e.getFields()[t];for(const s of a.args){const l=s.name,u=s.type;if(n[l]===void 0){const c=s.defaultValue;c!==void 0&&gj(n,r,i,l,o(l),u,cE(u,c))}}}function L7e(e,t,n,r){if(!e)return null;const i=iD(r);if(!uD(e))return l8e(e,t,n,r);const o=e[i],a=_j(e),s=wj(e,i);return sh(o,a,s,n,r)}function $7e(e){return e!=null&&typeof e.then=="function"}const P7e=e=>{throw e};class xt{constructor(t){mD(this,"state");let n;try{n=t()}catch(r){this.state={status:"rejected",value:r};return}if($7e(n)){this.state={status:"pending",value:n};return}this.state={status:"fulfilled",value:n}}then(t,n){const r=this.state;if(r.status==="pending")return new xt(()=>r.value.then(t,n));const i=typeof n=="function"?n:P7e;if(r.status==="rejected")return new xt(()=>i(r.value));try{const o=typeof t=="function"?t:void 0;return o===void 0?new xt(()=>r.value):new xt(()=>o(r.value))}catch(o){return new xt(()=>i(o))}}catch(t){return this.then(void 0,t)}resolve(){const t=this.state;if(t.status==="pending")return Promise.resolve(t.value);if(t.status==="rejected")throw t.value;return t.value}static all(t){let n=!1,r,i=!1;const o=[];for(const a of t){const s=a.state;if(s.status==="rejected"){if(n)continue;n=!0,r=s.value;continue}s.status==="pending"&&(i=!0),o.push(s.value)}return i?n?(Promise.all(o).catch(()=>{}),new xt(()=>{throw r})):new xt(()=>Promise.all(o)):new xt(()=>o)}}var M7e=function(){function e(n,r){if(typeof n!="function")throw new TypeError("DataLoader must be constructed with a function which accepts "+("Array and returns Promise>, but got: "+n+"."));this._batchLoadFn=n,this._maxBatchSize=B7e(r),this._batchScheduleFn=q7e(r),this._cacheKeyFn=z7e(r),this._cacheMap=Q7e(r),this._batch=null,this.name=G7e(r)}var t=e.prototype;return t.load=function(r){if(r==null)throw new TypeError("The loader.load() function must be called with a value, "+("but got: "+String(r)+"."));var i=j7e(this),o=this._cacheMap,a=this._cacheKeyFn(r);if(o){var s=o.get(a);if(s){var l=i.cacheHits||(i.cacheHits=[]);return new Promise(function(c){l.push(function(){c(s)})})}}i.keys.push(r);var u=new Promise(function(c,f){i.callbacks.push({resolve:c,reject:f})});return o&&o.set(a,u),u},t.loadMany=function(r){if(!Nj(r))throw new TypeError("The loader.loadMany() function must be called with Array "+("but got: "+r+"."));for(var i=[],o=0;o and returns Promise>, but the function "+("errored synchronously: "+String(r)+".")))}if(!n||typeof n.then!="function")return q1(e,t,new TypeError("DataLoader must be constructed with a function which accepts Array and returns Promise>, but the function did "+("not return a Promise: "+String(n)+".")));n.then(function(r){if(!Nj(r))throw new TypeError("DataLoader must be constructed with a function which accepts Array and returns Promise>, but the function did "+("not return a Promise of an Array: "+String(r)+"."));if(r.length!==t.keys.length)throw new TypeError("DataLoader must be constructed with a function which accepts Array and returns Promise>, but the function did not return a Promise of an Array of the same length as the Array of keys."+(` + +Keys: +`+String(t.keys))+(` + +Values: +`+String(r)));Zw(t);for(var i=0;i0&&Object.prototype.hasOwnProperty.call(e,e.length-1))}var H7e=M7e;function W7e(e){return`_${e}_`}function FA(e){const t=/^_([\d]+)_(.*)$/.exec(e);if(t&&t.length===3&&!isNaN(Number(t[1]))&&t[2])return{index:Number(t[1]),originalKey:t[2]};throw new Error(`Key ${e} is not correctly prefixed`)}function Y7e(e,t){var n,r,i,o,a;const s=Object.create(null),l=[],u=[],c=[];let f=Object.create(null);for(const b in e){const E=e[b],y=J7e(W7e(b),E);for(const T of y.document.definitions)eUe(T)&&(u.push(...T.selectionSet.selections),T.variableDefinitions&&l.push(...T.variableDefinitions)),Wg(T)&&c.push(T);Object.assign(s,y.variables),f=t(f,E)}const d=e[0],p=(n=d.operationType)!==null&&n!==void 0?n:va(d).operation,m={kind:O.OPERATION_DEFINITION,operation:p,variableDefinitions:l,selectionSet:{kind:O.SELECTION_SET,selections:u}},v=(r=d.operationName)!==null&&r!==void 0?r:(a=(o=(i=d.info)===null||i===void 0?void 0:i.operation)===null||o===void 0?void 0:o.name)===null||a===void 0?void 0:a.value;return v&&(m.name={kind:O.NAME,value:v}),{document:{kind:O.DOCUMENT,definitions:[m,...c]},variables:s,extensions:f,context:e[0].context,info:e[0].info,operationType:p}}function J7e(e,t){var n;const r=(n=t.variables)!==null&&n!==void 0?n:{};function i(c){return LA(c,e)}let o=K7e(e,t.document);const a=Object.keys(r),s=t.document.definitions.some(c=>Wg(c)),l={};(a.length>0||s)&&(o=qi(o,{[O.VARIABLE]:i,[O.FRAGMENT_DEFINITION]:i,[O.FRAGMENT_SPREAD]:c=>(c=LA(c,e),l[c.name.value]=!0,c)}));const u={};for(const c of a)u[e+c]=r[c];return s&&(o={...o,definitions:o.definitions.filter(c=>!Wg(c)||l[c.name.value])}),{document:o,variables:u}}function K7e(e,t){const n={[O.OPERATION_DEFINITION]:r=>{const{selections:i}=r.selectionSet;return{...r,selectionSet:{...r.selectionSet,selections:Ij(e,i,t)}}}};return qi(t,n,{[O.DOCUMENT]:["definitions"]})}function Ij(e,t,n){return t.map(r=>{switch(r.kind){case O.INLINE_FRAGMENT:return RA(e,r,n);case O.FRAGMENT_SPREAD:{const i=X7e(r,n);return RA(e,i,n)}case O.FIELD:default:return Z7e(r,e)}})}function RA(e,t,n){const{selections:r}=t.selectionSet;return{...t,selectionSet:{...t.selectionSet,selections:Ij(e,r,n)}}}function X7e(e,t){const n=t.definitions.find(o=>Wg(o)&&o.name.value===e.name.value);if(!n)throw new Error(`Fragment ${e.name.value} does not exist`);const{typeCondition:r,selectionSet:i}=n;return{kind:O.INLINE_FRAGMENT,typeCondition:r,selectionSet:i,directives:e.directives}}function LA(e,t){return{...e,name:{...e.name,value:t+e.name.value}}}function Z7e(e,t){const n=e.alias?e.alias:e.name;return{...e,alias:{...n,value:t+n.value}}}function eUe(e){return e.kind===O.OPERATION_DEFINITION}function Wg(e){return e.kind===O.FRAGMENT_DEFINITION}function tUe({data:e,errors:t},n){const r=[];for(let i=0;i{(o.errors=o.errors||[]).push(Qe(i.message))});return r}function nUe(e,t,n=iUe){const r=rUe(e,n),i=new H7e(r,t);return function(a){return va(a).operation==="subscription"?e(a):i.load(a)}}function rUe(e,t){return async function(r){const i=[];let o=0;const a=r[o];let s=[a];i.push(s);const u=va(a).operation;if(u==null)throw new Error("could not identify operation type of document");for(;++o{const d=Y7e(f,t),p=await e(d);return tUe(p,f.length)}))).flat()}}function iUe(e,t){const n=t.extensions;return n!=null&&Object.assign(e,n),e}const oUe=_8e(function(t,n,r,i){return nUe(n,r,i)});function aUe(e){return Boolean(e==null?void 0:e.schema)}function sUe(e,t,n,r){const i=[],o=r==null?void 0:r.maxErrors;try{const a=lUe(e,t,n,s=>{if(o!=null&&i.length>=o)throw Qe("Too many errors processing variables, error limit reached. Execution aborted.");i.push(s)});if(i.length===0)return{coerced:a}}catch(a){i.push(a)}return{errors:i}}function lUe(e,t,n,r){const i={};for(const o of t){const a=o.variable.name.value,s=dr(e,o.type);if(!ni(s)){const u=Ot(o.type);r(Qe(`Variable "$${a}" expected value of type "${u}" which cannot be used as an input type.`,{nodes:o.type}));continue}if(!fj(n,a)){if(o.defaultValue)i[a]=yo(o.defaultValue,s);else if(Re(s)){const u=On(s);r(Qe(`Variable "$${a}" of required type "${u}" was not provided.`,{nodes:o}))}continue}const l=n[a];if(l===null&&Re(s)){const u=On(s);r(Qe(`Variable "$${a}" of non-null type "${u}" must not be null.`,{nodes:o}));continue}i[a]=kje(l,s,(u,c,f)=>{let d=`Variable "$${a}" got invalid value `+On(c);u.length>0&&(d+=` at "${a}${o7e(u)}"`),r(Qe(d+"; "+f.message,{nodes:o,originalError:f.originalError}))})}return i}async function $A(e){const t=Object.keys(e),n=Object.values(e),r=await Promise.all(n),i=Object.create(null);for(let o=0;o{l=c});const u=await t.next();return u.done?(i=!0,await o()):(n=u.value[Symbol.asyncIterator](),r=void 0,l(),await o())}const a=n,s=await n.next();return s.done?(n===a&&(n=void 0),await o()):s}catch(a){throw i=!0,a}}return{next:o,async return(){var a,s;return i=!0,await Promise.all([(a=n==null?void 0:n.return)===null||a===void 0?void 0:a.call(n),(s=t.return)===null||s===void 0?void 0:s.call(t)]),{value:void 0,done:!0}},async throw(a){var s,l;throw i=!0,await Promise.all([(s=n==null?void 0:n.throw)===null||s===void 0?void 0:s.call(n,a),(l=t.throw)===null||l===void 0?void 0:l.call(t,a)]),a},[Symbol.asyncIterator](){return this}}}function PA(e,t){if(!e)throw new Error(t??"Unexpected invariant triggered.")}const cUe=T8e((e,t,n)=>t7e(e.schema,e.fragments,e.variableValues,t,n));function fUe(e){const t=Dj(e);return"schema"in t?xj(t):{errors:t.map(n=>{var r;return Object.defineProperty(n,"extensions",{value:{...n.extensions,http:{...(r=n.extensions)===null||r===void 0?void 0:r.http,status:400}}}),n})}}function xj(e){return new xt(()=>pUe(e)).then(t=>{const n=MA(t,e.errors);return e.subsequentPayloads.size>0?{initialResult:{...n,hasNext:!0},subsequentResults:DUe(e)}:n},t=>(e.errors.push(t),MA(null,e.errors))).resolve()}function MA(e,t){return t.length===0?{data:e}:{errors:t,data:e}}function Dj(e){var t,n;const{schema:r,document:i,rootValue:o,contextValue:a,variableValues:s,operationName:l,fieldResolver:u,typeResolver:c,subscribeFieldResolver:f}=e;K9(r);let d;const p=Object.create(null);for(const b of i.definitions)switch(b.kind){case O.OPERATION_DEFINITION:if(l==null){if(d!==void 0)return[Qe("Must provide operation name if query contains multiple operations.")];d=b}else((t=b.name)===null||t===void 0?void 0:t.value)===l&&(d=b);break;case O.FRAGMENT_DEFINITION:p[b.name.value]=b;break}if(!d)return l!=null?[Qe(`Unknown operation named "${l}".`)]:[Qe("Must provide an operation.")];const m=(n=d.variableDefinitions)!==null&&n!==void 0?n:[],v=sUe(r,m,s??{},{maxErrors:50});return v.errors?v.errors:{schema:r,fragments:p,rootValue:o,contextValue:a,operation:d,variableValues:v.coerced,fieldResolver:u??BA,typeResolver:c??EUe,subscribeFieldResolver:f??BA,subsequentPayloads:new Set,errors:[]}}function dUe(e,t){return{...e,rootValue:t,subsequentPayloads:new Set,errors:[]}}function pUe(e){const{operation:t,schema:n,fragments:r,variableValues:i,rootValue:o}=e,a=uE(n,t.operation,[t]);a==null&&Qe(`Schema is not configured to execute ${t.operation} operation.`,{nodes:t});const{fields:s,patches:l}=aD(n,r,i,a,t.selectionSet),u=void 0;let c;t.operation==="mutation"?c=hUe(e,a,o,u,s):c=cD(e,a,o,u,s);for(const f of l){const{label:d,fields:p}=f;Rj(e,a,o,p,d,u)}return c}function hUe(e,t,n,r,i){return m8e(i,(o,[a,s])=>{const l=qc(r,a,t.name);return new xt(()=>Oj(e,t,n,s,l)).then(u=>(u===void 0||(o[a]=u),o)).resolve()},Object.create(null))}function cD(e,t,n,r,i,o){const a=Object.create(null);let s=!1;try{for(const[l,u]of i){const c=qc(r,l,t.name),f=Oj(e,t,n,u,c,o);f!==void 0&&(a[l]=f,vn(f)&&(s=!0))}}catch(l){if(s)return $A(a).finally(()=>{throw l});throw l}return s?$A(a):a}function Oj(e,t,n,r,i,o){var a,s;const l=(a=o==null?void 0:o.errors)!==null&&a!==void 0?a:e.errors,u=$j(e.schema,t,r[0]);if(!u)return;const c=u.type,f=(s=u.resolve)!==null&&s!==void 0?s:e.fieldResolver,d=Cj(e,u,r,t,i);try{const p=pj(u,r[0],e.variableValues),m=e.contextValue,v=f(n,p,m,d);let b;return vn(v)?b=v.then(E=>ms(e,c,r,d,i,E,o)):b=ms(e,c,r,d,i,v,o),vn(b)?b.then(void 0,E=>{const y=lr(E,r,ur(i)),T=So(y,c,l);return li(e,i,o),T}):b}catch(p){const m=lr(p,r,ur(i)),v=So(m,c,l);return li(e,i,o),v}}function Cj(e,t,n,r,i){return{fieldName:t.name,fieldNodes:n,returnType:t.type,parentType:r,path:i,schema:e.schema,fragments:e.fragments,rootValue:e.rootValue,operation:e.operation,variableValues:e.variableValues}}function So(e,t,n){if(Re(t))throw e;return n.push(e),null}function ms(e,t,n,r,i,o,a){if(o instanceof Error)throw o;if(Re(t)){const s=ms(e,t.ofType,n,r,i,o,a);if(s===null)throw new Error(`Cannot return null for non-nullable field ${r.parentType.name}.${r.fieldName}.`);return s}if(o==null)return null;if(Rt(t))return vUe(e,t,n,r,i,o,a);if(zi(t))return gUe(t,o);if(Nr(t))return yUe(e,t,n,r,i,o,a);if(Pe(t))return e_(e,t,n,r,i,o,a);console.assert(!1,"Cannot complete value of unexpected output type: "+On(t))}function kj(e,t,n){if(typeof n.key=="number")return;const r=hs(Z8e,t[0],e.variableValues);if(r&&r.if!==!1)return PA(typeof r.initialCount=="number","initialCount must be a number"),PA(r.initialCount>=0,"initialCount must be a positive integer"),{initialCount:r.initialCount,label:typeof r.label=="string"?r.label:void 0}}async function mUe(e,t,n,r,i,o,a){var s;const l=(s=a==null?void 0:a.errors)!==null&&s!==void 0?s:e.errors,u=kj(e,n,i);let c=!1;const f=[];let d=0;for(;;){if(u&&typeof u.initialCount=="number"&&d>=u.initialCount){IUe(d,o,e,n,r,t,i,u.label,a);break}const p=qc(i,d,void 0);let m;try{if(m=await o.next(),m.done)break}catch(v){const b=lr(v,n,ur(p));f.push(So(b,t,l));break}Aj(m.value,f,l,e,t,n,r,p,a)&&(c=!0),d+=1}return c?Promise.all(f):f}function vUe(e,t,n,r,i,o,a){var s;const l=t.ofType,u=(s=a==null?void 0:a.errors)!==null&&s!==void 0?s:e.errors;if(ql(o)){const v=o[Symbol.asyncIterator]();return mUe(e,l,n,r,i,v,a)}if(!h8e(o))throw Qe(`Expected Iterable, but did not find one for field "${r.parentType.name}.${r.fieldName}".`);const c=kj(e,n,i);let f=!1,d=a;const p=[];let m=0;for(const v of o){const b=qc(i,m,void 0);if(c&&typeof c.initialCount=="number"&&m>=c.initialCount){d=SUe(i,b,v,e,n,r,l,c.label,d),m++;continue}Aj(v,p,u,e,l,n,r,b,a)&&(f=!0),m++}return f?Promise.all(p):p}function Aj(e,t,n,r,i,o,a,s,l){try{let u;if(vn(e)?u=e.then(c=>ms(r,i,o,a,s,c,l)):u=ms(r,i,o,a,s,e,l),vn(u))return t.push(u.then(void 0,c=>{const f=lr(c,o,ur(s)),d=So(f,i,n);return li(r,s,l),d})),!0;t.push(u)}catch(u){const c=lr(u,o,ur(s)),f=So(c,i,n);li(r,s,l),t.push(f)}return!1}function gUe(e,t){const n=e.serialize(t);if(n==null)throw new Error(`Expected \`${On(e)}.serialize(${On(t)})\` to return non-nullable value, returned: ${On(n)}`);return n}function yUe(e,t,n,r,i,o,a){var s;const l=(s=t.resolveType)!==null&&s!==void 0?s:e.typeResolver,u=e.contextValue,c=l(o,u,r,t);return vn(c)?c.then(f=>e_(e,VA(f,e,t,n,r,o),n,r,i,o,a)):e_(e,VA(c,e,t,n,r,o),n,r,i,o,a)}function VA(e,t,n,r,i,o){if(e==null)throw Qe(`Abstract type "${n.name}" must resolve to an Object type at runtime for field "${i.parentType.name}.${i.fieldName}". Either the "${n.name}" type should provide a "resolveType" function or each possible type should provide an "isTypeOf" function.`,{nodes:r});if(Pe(e))throw Qe("Support for returning GraphQLObjectType from resolveType was removed in graphql-js@16.0.0 please return type name instead.");if(typeof e!="string")throw Qe(`Abstract type "${n.name}" must resolve to an Object type at runtime for field "${i.parentType.name}.${i.fieldName}" with value ${On(o)}, received "${On(e)}".`);const a=t.schema.getType(e);if(a==null)throw Qe(`Abstract type "${n.name}" was resolved to a type "${e}" that does not exist inside the schema.`,{nodes:r});if(!Pe(a))throw Qe(`Abstract type "${n.name}" was resolved to a non-object type "${e}".`,{nodes:r});if(!t.schema.isSubType(n,a))throw Qe(`Runtime Object type "${a.name}" is not a possible type for "${n.name}".`,{nodes:r});return a}function e_(e,t,n,r,i,o,a){if(t.isTypeOf){const s=t.isTypeOf(o,e.contextValue,r);if(vn(s))return s.then(l=>{if(!l)throw jA(t,o,n);return UA(e,t,n,i,o,a)});if(!s)throw jA(t,o,n)}return UA(e,t,n,i,o,a)}function jA(e,t,n){return Qe(`Expected value of type "${e.name}" but got: ${On(t)}.`,{nodes:n})}function UA(e,t,n,r,i,o){const{fields:a,patches:s}=cUe(e,t,n),l=cD(e,t,i,r,a,o);for(const u of s){const{label:c,fields:f}=u;Rj(e,t,i,f,c,r,o)}return l}const EUe=function(e,t,n,r){if(eD(e)&&typeof e.__typename=="string")return e.__typename;const i=n.schema.getPossibleTypes(r),o=[];for(let a=0;a{for(let s=0;s{var i;return Object.defineProperty(r,"extensions",{value:{...r.extensions,http:{...(i=r.extensions)===null||i===void 0?void 0:i.http,status:400}}}),r})};const n=wUe(t);return vn(n)?n.then(r=>qA(t,r)):qA(t,n)}function Fj(e){const t=e.subsequentResults;let n=!1,r=!1;return{[Symbol.asyncIterator](){return this},async next(){return r?{value:void 0,done:r}:n?t.next():(n=!0,Promise.resolve({value:e.initialResult,done:r}))},return(){return r=!0,t.return()},throw(i){return r=!0,t.throw(i)}}}async function*TUe(e){"initialResult"in e?yield*Fj(e):yield e}function qA(e,t){return ql(t)?uUe(oD(t[Symbol.asyncIterator](),async n=>TUe(await xj(dUe(e,n))))):t}function wUe(e){try{const t=_Ue(e);return vn(t)?t.then(void 0,n=>({errors:[n]})):t}catch(t){return{errors:[t]}}}function _Ue(e){var t;const{schema:n,fragments:r,operation:i,variableValues:o,rootValue:a}=e,s=n.getSubscriptionType();if(s==null)throw Qe("Schema is not configured to execute subscription operation.",{nodes:i});const{fields:l}=aD(n,r,o,s,i.selectionSet),[u,c]=[...l.entries()][0],f=c[0].name.value,d=$j(n,s,c[0]);if(!d)throw Qe(`The subscription field "${f}" is not defined.`,{nodes:c});const p=qc(void 0,u,s.name),m=Cj(e,d,c,s,p);try{const v=pj(d,c[0],o),b=e.contextValue,y=((t=d.subscribe)!==null&&t!==void 0?t:e.subscribeFieldResolver)(a,v,b,m);return vn(y)?y.then(zA).then(void 0,T=>{throw lr(T,c,ur(p))}):zA(y)}catch(v){throw lr(v,c,ur(p))}}function zA(e){if(e instanceof Error)throw e;if(!ql(e))throw Qe(`Subscription field must return Async Iterable. Received: ${On(e)}.`);return e}function Rj(e,t,n,r,i,o,a){const s=new OUe({label:i,path:o,parentContext:a,exeContext:e});let l;try{l=cD(e,t,n,o,r,s),vn(l)&&(l=l.then(null,u=>(s.errors.push(u),null)))}catch(u){s.errors.push(u),l=null}s.addData(l)}function SUe(e,t,n,r,i,o,a,s,l){const u=new Lj({label:s,path:t,parentContext:l,exeContext:r});let c;try{try{vn(n)?c=n.then(d=>ms(r,a,i,o,t,d,u)):c=ms(r,a,i,o,t,n,u),vn(c)&&(c=c.then(void 0,d=>{const p=lr(d,i,ur(t)),m=So(p,a,u.errors);return li(r,t,u),m}))}catch(d){const p=lr(d,i,ur(t));c=So(p,a,u.errors),li(r,t,u)}}catch(d){return u.errors.push(d),li(r,e,u),u.addItems(null),u}let f;return vn(c)?f=c.then(d=>[d],d=>(u.errors.push(d),li(r,e,u),null)):f=[c],u.addItems(f),u}async function NUe(e,t,n,r,i,o,a){let s;try{const{value:u,done:c}=await e.next();if(c)return o.setIsCompletedIterator(),{done:c,value:void 0};s=u}catch(u){const c=lr(u,n,ur(a));return{done:!0,value:So(c,i,o.errors)}}let l;try{return l=ms(t,i,n,r,a,s,o),vn(l)&&(l=l.then(void 0,u=>{const c=lr(u,n,ur(a)),f=So(c,i,o.errors);return li(t,a,o),f})),{done:!1,value:l}}catch(u){const c=lr(u,n,ur(a)),f=So(c,i,o.errors);return li(t,a,o),{done:!1,value:f}}}async function IUe(e,t,n,r,i,o,a,s,l){let u=e,c=l??void 0;for(;;){const f=qc(a,u,void 0),d=new Lj({label:s,path:f,parentContext:c,iterator:t,exeContext:n});let p;try{p=await NUe(t,n,r,i,o,d,f)}catch(E){d.errors.push(E),li(n,a,d),d.addItems(null),t!=null&&t.return&&t.return().catch(()=>{});return}const{done:m,value:v}=p;let b;if(vn(v)?b=v.then(E=>[E],E=>(d.errors.push(E),li(n,a,d),null)):b=[v],d.addItems(b),m)break;c=d,u++}}function li(e,t,n){const r=ur(t);e.subsequentPayloads.forEach(i=>{var o;if(i!==n){for(let a=0;a{}),e.subsequentPayloads.delete(i)}})}function xUe(e){const t=[];for(const n of e.subsequentPayloads){const r={};if(n.isCompleted){if(e.subsequentPayloads.delete(n),fD(n)){const i=n.items;if(n.isCompletedIterator)continue;r.items=i}else{const i=n.data;r.data=i??null}r.path=n.path,n.label&&(r.label=n.label),n.errors.length>0&&(r.errors=n.errors),t.push(r)}}return t}function DUe(e){let t=!1;async function n(){if(t)return{value:void 0,done:!0};if(await Promise.race(Array.from(e.subsequentPayloads).map(a=>a.promise)),t)return{value:void 0,done:!0};const i=xUe(e),o=e.subsequentPayloads.size>0;return!i.length&&o?n():(o||(t=!0),{value:i.length?{incremental:i,hasNext:o}:{hasNext:o},done:!1})}function r(){const i=[];return e.subsequentPayloads.forEach(o=>{var a;fD(o)&&(!((a=o.iterator)===null||a===void 0)&&a.return)&&i.push(o.iterator.return())}),Promise.all(i)}return{[Symbol.asyncIterator](){return this},next:n,async return(){return await r(),t=!0,{value:void 0,done:!0}},async throw(i){return await r(),t=!0,Promise.reject(i)}}}class OUe{constructor(t){this.type="defer",this.label=t.label,this.path=ur(t.path),this.parentContext=t.parentContext,this.errors=[],this._exeContext=t.exeContext,this._exeContext.subsequentPayloads.add(this),this.isCompleted=!1,this.data=null,this.promise=new Promise(n=>{this._resolve=r=>{n(r)}}).then(n=>{this.data=n,this.isCompleted=!0})}addData(t){var n,r,i;const o=(n=this.parentContext)===null||n===void 0?void 0:n.promise;if(o){(r=this._resolve)===null||r===void 0||r.call(this,o.then(()=>t));return}(i=this._resolve)===null||i===void 0||i.call(this,t)}}class Lj{constructor(t){this.type="stream",this.items=null,this.label=t.label,this.path=ur(t.path),this.parentContext=t.parentContext,this.iterator=t.iterator,this.errors=[],this._exeContext=t.exeContext,this._exeContext.subsequentPayloads.add(this),this.isCompleted=!1,this.items=null,this.promise=new Promise(n=>{this._resolve=r=>{n(r)}}).then(n=>{this.items=n,this.isCompleted=!0})}addItems(t){var n,r,i;const o=(n=this.parentContext)===null||n===void 0?void 0:n.promise;if(o){(r=this._resolve)===null||r===void 0||r.call(this,o.then(()=>t));return}(i=this._resolve)===null||i===void 0||i.call(this,t)}setIsCompletedIterator(){this.isCompletedIterator=!0}}function fD(e){return e.type==="stream"}function $j(e,t,n){const r=n.name.value;return r===Pg.name&&e.getQueryType()===t?Pg:r===Mg.name&&e.getQueryType()===t?Mg:r===cp.name?cp:t.getFields()[r]}function CUe(e){const t=cj(e.document,e.operationName);if(t==null)throw new Error("Must provide an operation.");return t.operation==="subscription"?bUe(e):new xt(()=>fUe(e)).then(n=>"initialResult"in n?Fj(n):n).resolve()}function kUe(e){var t,n;const{info:r,schema:i,rootValue:o=(t=i.rootValue)!==null&&t!==void 0?t:r.rootValue,operationName:a=(n=r.operation.name)===null||n===void 0?void 0:n.value,operation:s=A7e(r.parentType,r.schema),fieldName:l=r.fieldName,selectionSet:u,fieldNodes:c=r.fieldNodes,context:f}=e,d=F7e({sourceSchema:r.schema,sourceParentType:r.parentType,sourceFieldName:r.fieldName,fragments:r.fragments,variableDefinitions:r.operation.variableDefinitions,variableValues:r.variableValues,targetRootValue:o,targetOperationName:a,targetOperation:s,targetFieldName:l,selectionSet:u,fieldNodes:c,context:f,info:r});return AUe({...e,request:d})}function QA(e,t,n){return uE(e,t).getFields()[n].type}function AUe(e){const t=FUe(e),n=new k7e(t),r=n.transformRequest(e.request);e.validateRequest&&RUe(t,r.document);const i=$Ue(t);return new xt(()=>i(r)).then(o=>{if(ql(o)){const a=o[Symbol.asyncIterator]();return oD(a,s=>n.transformResult(s))}return n.transformResult(o)}).resolve()}function FUe({request:e,schema:t,fieldName:n,returnType:r,args:i,info:o,transforms:a=[],transformedSchema:s,skipTypeMerging:l=!1}){var u,c,f,d;const p=va(e);let m;n==null?m=p.selectionSet.selections[0].name.value:m=n;const v=(u=o==null?void 0:o.schema.extensions)===null||u===void 0?void 0:u.stitchingInfo,b=(c=v==null?void 0:v.subschemaMap.get(t))!==null&&c!==void 0?c:t,E=p.operation;if(aUe(b)){const y=b.schema;return{subschema:t,subschemaConfig:b,targetSchema:y,operation:E,fieldName:m,args:i,context:e.context,info:o,returnType:(f=r??(o==null?void 0:o.returnType))!==null&&f!==void 0?f:QA(y,E,m),transforms:b.transforms!=null?b.transforms.concat(a):a,transformedSchema:s??(b instanceof a7e?b.transformedSchema:sD(y,b)),skipTypeMerging:l}}return{subschema:t,subschemaConfig:void 0,targetSchema:b,operation:E,fieldName:m,args:i,context:e.context,info:o,returnType:(d=r??(o==null?void 0:o.returnType))!==null&&d!==void 0?d:QA(b,E,m),transforms:a,transformedSchema:s??b,skipTypeMerging:l}}function RUe(e,t){const n=n8e(e.targetSchema,t);if(n.length>0){if(n.length>1)throw new Tc(n,n.map(o=>o.message).join(`, +`));const r=n[0];throw r.originalError||r}}const LUe={};function $Ue(e){const{subschemaConfig:t,targetSchema:n,context:r}=e;let i=(t==null?void 0:t.executor)||PUe(n);if(t!=null&&t.batch){const o=t==null?void 0:t.batchingOptions;i=oUe(r??LUe,i,o==null?void 0:o.dataLoaderOptions,o==null?void 0:o.extensionsReducer)}return i}const PUe=Bl(function(t){return function(r){return CUe({schema:t,document:r.document,rootValue:r.rootValue,contextValue:r.context,variableValues:r.variables,operationName:r.operationName})}});function MUe(e){var t;const n=e.schema,r=(t=e.createProxyingResolver)!==null&&t!==void 0?t:UUe,i=rD(n),o={};for(const[a,s]of i.entries()){const l=s.name,u=s.getFields();o[l]={};for(const c in u){const f=r({subschemaConfig:e,operation:a,fieldName:c}),d=jUe(e,f);a==="subscription"?o[l][c]={subscribe:d,resolve:VUe}:o[l][c]={resolve:d}}}return o}function VUe(e){return e}function jUe(e,t){return function(r,i,o,a){if(r!=null){const s=iD(a);if(uD(r)){const l=_j(r),u=wj(r,s);if(e===u&&r[s]!==void 0)return sh(r[s],l,u,o,a)}}return t(r,i,o,a)}}function UUe({subschemaConfig:e,operation:t}){return function(r,i,o,a){return kUe({schema:e,operation:t,context:o,info:a})}}const GA=Bl(function(t){const n=t.schema,r=MUe(t),i=BUe(n,r);return sD(i,t)});function BUe(e,t){return j8e(e,{[xe.ROOT_FIELD]:(n,r,i)=>{var o;return{...n,...(o=t[i])===null||o===void 0?void 0:o[r]}},[xe.OBJECT_FIELD]:n=>({...n,resolve:L7e,subscribe:void 0}),[xe.OBJECT_TYPE]:n=>{const r=n.toConfig();return new fr({...r,isTypeOf:void 0})},[xe.INTERFACE_TYPE]:n=>{const r=n.toConfig();return new ha({...r,resolveType:void 0})},[xe.UNION_TYPE]:n=>{const r=n.toConfig();return new Ec({...r,resolveType:void 0})},[xe.ENUM_VALUE]:n=>({...n,value:void 0})})}function qUe(e,t){var n;if(!((n=e==null?void 0:e.data)===null||n===void 0)&&n.__schema)return c8e(e.data,t);if(e!=null&&e.errors){const r=e.errors.map(i=>Qe(i.message,i));throw e.errors.length===1?r[0]:new Tc(r,"Could not obtain introspection result")}throw Qe(`Could not obtain introspection result, received the following as response; + ${On(e)}`)}function HA(e,t,n){const r=up(u8e(n),n);return new xt(()=>e({document:r,context:t})).then(i=>ql(i)?i[Symbol.asyncIterator]().next().then(({value:a})=>a):i).then(i=>qUe(i,n)).resolve()}var Xl=null;typeof WebSocket<"u"?Xl=WebSocket:typeof MozWebSocket<"u"?Xl=MozWebSocket:typeof global<"u"?Xl=global.WebSocket||global.MozWebSocket:typeof window<"u"?Xl=window.WebSocket||window.MozWebSocket:typeof self<"u"&&(Xl=self.WebSocket||self.MozWebSocket);const zUe=Xl;var Pj=globalThis.fetch,QUe=globalThis.FormData,GUe=globalThis.AbortController,HUe=globalThis.File,Mj=globalThis.TextDecoder;const WUe=async(e,t)=>Pj(e,t),dD=new TextEncoder;function ga(...e){const t=new ga.Request(...e),n=new XMLHttpRequest;n.withCredentials=t.credentials==="include",n.timeout=t[Te].timeout,n.open(t.method,t.url,!1);try{n.responseType="arraybuffer"}catch{}for(const o of t.headers)n.setRequestHeader(...o);n.send(t.body||null);let r=n.getAllResponseHeaders();r=r&&r.split(`\r +`).filter(Boolean).map(o=>o.split(": ",2));const i=new ga.Response(n.response,{headers:r,status:n.status,statusText:n.statusText});return i[Te].url=n.responseURL,i[Te].redirected=n.responseURL!==t.url,i}const Te=Symbol("SyncFetch Internals"),YUe=["mode","cache","redirect","referrer","integrity"],JUe={100:"Continue",101:"Switching Protocols",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",426:"Upgrade Required",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported"};class fp{constructor(t,n={}){for(const r of YUe)if(r in n)throw new TypeError(`option ${r} not supported`);if(n.credentials==="same-origin")throw new TypeError("option credentials with value 'same-origin' not supported");if(this[Te]={method:n.method||"GET",headers:new ga.Headers(n.headers),body:n.body?dD.encode(n.body):null,credentials:n.credentials||"omit",timeout:n.timeout||0},typeof t=="string")this[Te].url=t;else if(t instanceof fp)this[Te].url=t.url,n.method||(this[Te].method=t.method),n.headers||(this[Te].headers=t.headers),n.body||(this[Te].body=t[Te].body),n.credentials||(this[Te].credentials=t.credentials);else throw new TypeError("Request input should be a URL string or a Request object")}get cache(){return"default"}get credentials(){return this[Te].credentials}get destination(){return""}get headers(){return this[Te].headers}get integrity(){return""}get method(){return this[Te].method}get mode(){return"cors"}get priority(){return"auto"}get redirect(){return"follow"}get referrer(){return"about:client"}get referrerPolicy(){return""}get url(){return this[Te].url}clone(){return pD(this),new fp(this.url,this[Te])}}class fE{constructor(t,n={}){this[Te]={body:t?dD.encode(t):null,bodyUsed:!1,headers:new ga.Headers(n.headers),status:n.status,statusText:n.statusText}}get headers(){return this[Te].headers}get ok(){const t=this[Te].status;return t>=200&&t<300}get redirected(){return this[Te].redirected}get status(){return this[Te].status}get statusText(){return this[Te].statusText}get url(){return this[Te].url}clone(){return this.redirect(this[Te].url,this[Te].status)}redirect(t,n){pD(this);const r=new fE(this[Te].body,{headers:this[Te].headers,status:n||this[Te].status,statusText:JUe[n]||this[Te].statusText});return r[Te].url=t||this[Te].url,r[Te].redirected=this[Te].redirected,r}}class dp{constructor(t){this[Te]={body:dD.encode(t),bodyUsed:!1}}get bodyUsed(){return this[Te].bodyUsed}static mixin(t){for(const n of Object.getOwnPropertyNames(dp.prototype)){if(n==="constructor")continue;const r=Object.getOwnPropertyDescriptor(dp.prototype,n);Object.defineProperty(t,n,{...r,enumerable:!0})}}arrayBuffer(){const t=df(this);return t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength)}blob(){const t=this.headers&&this.headers.get("content-type");return new Blob([df(this)],t&&{type:t})}text(){return df(this).toString()}json(){try{return JSON.parse(df(this).toString())}catch(t){throw new TypeError(`invalid json response body at ${this.url} reason: ${t.message}`,"invalid-json")}}buffer(){return df(this).clone()}}function pD(e){if(e.bodyUsed)throw new TypeError(`body used already for: ${e.url}`)}function df(e){return pD(e),e[Te].bodyUsed=!0,e[Te].body||Buffer.alloc(0)}dp.mixin(fp.prototype);dp.mixin(fE.prototype);class KUe{constructor(t){if(t instanceof ga.Headers)this[Te]={...t[Te]};else if(this[Te]={},Array.isArray(t))for(const[n,r]of t)this.append(n,r);else if(typeof t=="object")for(const n in t)this.set(n,t[n])}append(t,n){t=t.toLowerCase(),this[Te][t]||(this[Te][t]=[]),this[Te][t].push(n)}delete(t){delete this[Te][t.toLowerCase()]}set(t,n){this[Te][t.toLowerCase()]=[n]}entries(){const t=[];for(const n in this[Te])for(const r of this[Te][n])t.push([n,r]);return t}get(t){return t=t.toLowerCase(),t in this[Te]?this[Te][t].join(", "):null}keys(){return Object.keys(this[Te])}has(t){return t.toLowerCase()in this[Te]}values(){const t=[];for(const n in this[Te])for(const r of this[Te][n])t.push(r);return t}*[Symbol.iterator](){for(const t in this[Te])for(const n of this[Te][t])yield[t,n]}}ga.Headers=KUe;ga.Request=fp;ga.Response=fE;var XUe=ga;const ZUe=XUe,eBe=(e,t)=>(typeof e=="string"?t==null||delete t.signal:delete e.signal,ZUe(e,t));/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +***************************************************************************** */var t_=function(e,t){return t_=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var i in r)r.hasOwnProperty(i)&&(n[i]=r[i])},t_(e,t)};function tBe(e,t){t_(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}function wc(e,t,n,r){function i(o){return o instanceof n?o:new n(function(a){a(o)})}return new(n||(n=Promise))(function(o,a){function s(c){try{u(r.next(c))}catch(f){a(f)}}function l(c){try{u(r.throw(c))}catch(f){a(f)}}function u(c){c.done?o(c.value):i(c.value).then(s,l)}u((r=r.apply(e,t||[])).next())})}function vs(e,t){var n={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},r,i,o,a;return a={next:s(0),throw:s(1),return:s(2)},typeof Symbol=="function"&&(a[Symbol.iterator]=function(){return this}),a;function s(u){return function(c){return l([u,c])}}function l(u){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(o=u[0]&2?i.return:u[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,u[1])).done)return o;switch(i=0,o&&(u=[u[0]&2,o.value]),u[0]){case 0:case 1:o=u;break;case 4:return n.label++,{value:u[1],done:!1};case 5:n.label++,i=u[1],u=[0];continue;case 7:u=n.ops.pop(),n.trys.pop();continue;default:if(o=n.trys,!(o=o.length>0&&o[o.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!o||u[1]>o[0]&&u[1]=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function pp(e){return this instanceof pp?(this.v=e,this):new pp(e)}function nBe(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(e,t||[]),i,o=[];return i={},a("next"),a("throw"),a("return"),i[Symbol.asyncIterator]=function(){return this},i;function a(d){r[d]&&(i[d]=function(p){return new Promise(function(m,v){o.push([d,p,m,v])>1||s(d,p)})})}function s(d,p){try{l(r[d](p))}catch(m){f(o[0][3],m)}}function l(d){d.value instanceof pp?Promise.resolve(d.value.v).then(u,c):f(o[0][2],d)}function u(d){s("next",d)}function c(d){s("throw",d)}function f(d,p){d(p),o.shift(),o.length&&s(o[0][0],o[0][1])}}var Vj=function(e){tBe(t,e);function t(n){var r=e.call(this,n)||this;return Object.defineProperty(r,"name",{value:"RepeaterOverflowError",enumerable:!1}),typeof Object.setPrototypeOf=="function"?Object.setPrototypeOf(r,r.constructor.prototype):r.__proto__=r.constructor.prototype,typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(r,r.constructor),r}return t}(Error);(function(){function e(t){if(t<0)throw new RangeError("Capacity may not be less than 0");this._c=t,this._q=[]}return Object.defineProperty(e.prototype,"empty",{get:function(){return this._q.length===0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"full",{get:function(){return this._q.length>=this._c},enumerable:!1,configurable:!0}),e.prototype.add=function(t){if(this.full)throw new Error("Buffer full");this._q.push(t)},e.prototype.remove=function(){if(this.empty)throw new Error("Buffer empty");return this._q.shift()},e})();(function(){function e(t){if(t<1)throw new RangeError("Capacity may not be less than 1");this._c=t,this._q=[]}return Object.defineProperty(e.prototype,"empty",{get:function(){return this._q.length===0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"full",{get:function(){return!1},enumerable:!1,configurable:!0}),e.prototype.add=function(t){for(;this._q.length>=this._c;)this._q.shift();this._q.push(t)},e.prototype.remove=function(){if(this.empty)throw new Error("Buffer empty");return this._q.shift()},e})();(function(){function e(t){if(t<1)throw new RangeError("Capacity may not be less than 1");this._c=t,this._q=[]}return Object.defineProperty(e.prototype,"empty",{get:function(){return this._q.length===0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"full",{get:function(){return!1},enumerable:!1,configurable:!0}),e.prototype.add=function(t){this._q.length=Yg;return Promise.resolve(t).then(function(r){return!n&&e.state>=r_?Qu(e).then(function(i){return{value:i,done:!0}}):{value:r,done:n}})}function hD(e,t){var n,r;if(!(e.state>=Ol))if(e.state=Ol,e.onnext(),e.onstop(),e.err==null&&(e.err=t),e.pushes.length===0&&(typeof e.buffer>"u"||e.buffer.empty))od(e);else try{for(var i=zc(e.pushes),o=i.next();!o.done;o=i.next()){var a=o.value;a.resolve()}}catch(s){n={error:s}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}}function od(e){var t,n;if(!(e.state>=Yg)){e.state=r_||(e.state=Jg)throw new Vj("No more than "+Jg+" pending calls to push are allowed on a single repeater.");if(e.state>=Ol)return Promise.resolve(void 0);var n=e.pending===void 0?Promise.resolve(t):e.pending.then(function(){return t});n=n.catch(function(l){e.state=WA)){e.state=WA;var t=rBe.bind(null,e),n=iBe(e);e.execution=new Promise(function(r){return r(e.executor(t,n))}),e.execution.catch(function(){return hD(e)})}}var em=new WeakMap,Qc=function(){function e(t,n){em.set(this,{executor:t,buffer:n,err:void 0,state:z1,pushes:[],nexts:[],pending:void 0,execution:void 0,onnext:Kg,onstop:Kg})}return e.prototype.next=function(t){n_(t);var n=em.get(this);if(n===void 0)throw new Error("WeakMap error");if(n.nexts.length>=Jg)throw new Vj("No more than "+Jg+" pending calls to next are allowed on a single repeater.");if(n.state<=z1&&oBe(n),n.onnext(t),typeof n.buffer<"u"&&!n.buffer.empty){var r=Gs(n,n.buffer.remove());if(n.pushes.length){var i=n.pushes.shift();n.buffer.add(i.value),n.onnext=i.resolve}return r}else if(n.pushes.length){var o=n.pushes.shift();return n.onnext=o.resolve,Gs(n,o.value)}else if(n.state>=Ol)return od(n),Gs(n,Qu(n));return new Promise(function(a){return n.nexts.push({resolve:a,value:t})})},e.prototype.return=function(t){n_(t);var n=em.get(this);if(n===void 0)throw new Error("WeakMap error");return od(n),n.execution=Promise.resolve(n.execution).then(function(){return t}),Gs(n,Qu(n))},e.prototype.throw=function(t){var n=em.get(this);if(n===void 0)throw new Error("WeakMap error");return n.state<=z1||n.state>=Ol||typeof n.buffer<"u"&&!n.buffer.empty?(od(n),n.err==null&&(n.err=t),Gs(n,Qu(n))):this.next(Promise.reject(t))},e.prototype[Symbol.asyncIterator]=function(){return this},e.race=aBe,e.merge=sBe,e.zip=lBe,e.latest=uBe,e}();function dE(e,t){var n,r,i=[],o=function(u){u!=null&&typeof u[Symbol.asyncIterator]=="function"?i.push(u[Symbol.asyncIterator]()):u!=null&&typeof u[Symbol.iterator]=="function"?i.push(u[Symbol.iterator]()):i.push(function(){return nBe(this,arguments,function(){return vs(this,function(d){switch(d.label){case 0:return t.yieldValues?[4,pp(u)]:[3,3];case 1:return[4,d.sent()];case 2:d.sent(),d.label=3;case 3:return t.returnValues?[4,pp(u)]:[3,5];case 4:return[2,d.sent()];case 5:return[2]}})})}())};try{for(var a=zc(e),s=a.next();!s.done;s=a.next()){var l=s.value;o(l)}}catch(u){n={error:u}}finally{try{s&&!s.done&&(r=a.return)&&r.call(a)}finally{if(n)throw n.error}}return i}function aBe(e){var t=this,n=dE(e,{returnValues:!0});return new Qc(function(r,i){return wc(t,void 0,void 0,function(){var o,a,s,l,u,c;return vs(this,function(f){switch(f.label){case 0:if(!n.length)return i(),[2];a=!1,i.then(function(){o(),a=!0}),f.label=1;case 1:f.trys.push([1,,5,7]),l=void 0,u=0,c=function(){var d,p,m,v,b,E;return vs(this,function(y){switch(y.label){case 0:d=u;try{for(p=(b=void 0,zc(n)),m=p.next();!m.done;m=p.next())v=m.value,Promise.resolve(v.next()).then(function(T){T.done?(i(),s===void 0&&(s=T)):u===d&&(u++,o(T))},function(T){return i(T)})}catch(T){b={error:T}}finally{try{m&&!m.done&&(E=p.return)&&E.call(p)}finally{if(b)throw b.error}}return[4,new Promise(function(T){return o=T})];case 1:return l=y.sent(),l===void 0?[3,3]:[4,r(l.value)];case 2:y.sent(),y.label=3;case 3:return[2]}})},f.label=2;case 2:return a?[3,4]:[5,c()];case 3:return f.sent(),[3,2];case 4:return[2,s&&s.value];case 5:return i(),[4,Promise.race(n.map(function(d){return d.return&&d.return()}))];case 6:return f.sent(),[7];case 7:return[2]}})})})}function sBe(e){var t=this,n=dE(e,{yieldValues:!0});return new Qc(function(r,i){return wc(t,void 0,void 0,function(){var o,a,s,l=this;return vs(this,function(u){switch(u.label){case 0:if(!n.length)return i(),[2];o=[],a=!1,i.then(function(){var c,f;a=!0;try{for(var d=zc(o),p=d.next();!p.done;p=d.next()){var m=p.value;m()}}catch(v){c={error:v}}finally{try{p&&!p.done&&(f=d.return)&&f.call(d)}finally{if(c)throw c.error}}}),u.label=1;case 1:return u.trys.push([1,,3,4]),[4,Promise.all(n.map(function(c,f){return wc(l,void 0,void 0,function(){var d,p;return vs(this,function(m){switch(m.label){case 0:m.trys.push([0,,6,9]),m.label=1;case 1:return a?[3,5]:(Promise.resolve(c.next()).then(function(v){return o[f](v)},function(v){return i(v)}),[4,new Promise(function(v){o[f]=v})]);case 2:return d=m.sent(),d===void 0?[3,4]:d.done?(s=d,[2]):[4,r(d.value)];case 3:m.sent(),m.label=4;case 4:return[3,1];case 5:return[3,9];case 6:return p=c.return,p?[4,c.return()]:[3,8];case 7:p=m.sent(),m.label=8;case 8:return[7];case 9:return[2]}})})}))];case 2:return u.sent(),[2,s&&s.value];case 3:return i(),[7];case 4:return[2]}})})})}function lBe(e){var t=this,n=dE(e,{returnValues:!0});return new Qc(function(r,i){return wc(t,void 0,void 0,function(){var o,a,s,l;return vs(this,function(u){switch(u.label){case 0:if(!n.length)return i(),[2,[]];a=!1,i.then(function(){o(),a=!0}),u.label=1;case 1:u.trys.push([1,,6,8]),u.label=2;case 2:return a?[3,5]:(Promise.all(n.map(function(c){return c.next()})).then(function(c){return o(c)},function(c){return i(c)}),[4,new Promise(function(c){return o=c})]);case 3:return s=u.sent(),s===void 0?[2]:(l=s.map(function(c){return c.value}),s.some(function(c){return c.done})?[2,l]:[4,r(l)]);case 4:return u.sent(),[3,2];case 5:return[3,8];case 6:return i(),[4,Promise.all(n.map(function(c){return c.return&&c.return()}))];case 7:return u.sent(),[7];case 8:return[2]}})})})}function uBe(e){var t=this,n=dE(e,{yieldValues:!0,returnValues:!0});return new Qc(function(r,i){return wc(t,void 0,void 0,function(){var o,a,s,l,u,c=this;return vs(this,function(f){switch(f.label){case 0:if(!n.length)return i(),[2,[]];a=[],s=!1,i.then(function(){var d,p;o();try{for(var m=zc(a),v=m.next();!v.done;v=m.next()){var b=v.value;b()}}catch(E){d={error:E}}finally{try{v&&!v.done&&(p=m.return)&&p.call(m)}finally{if(d)throw d.error}}s=!0}),f.label=1;case 1:return f.trys.push([1,,5,7]),Promise.all(n.map(function(d){return d.next()})).then(function(d){return o(d)},function(d){return i(d)}),[4,new Promise(function(d){return o=d})];case 2:return l=f.sent(),l===void 0?[2]:(u=l.map(function(d){return d.value}),l.every(function(d){return d.done})?[2,u]:[4,r(u.slice())]);case 3:return f.sent(),[4,Promise.all(n.map(function(d,p){return wc(c,void 0,void 0,function(){var m;return vs(this,function(v){switch(v.label){case 0:if(l[p].done)return[2,l[p].value];v.label=1;case 1:return s?[3,4]:(Promise.resolve(d.next()).then(function(b){return a[p](b)},function(b){return i(b)}),[4,new Promise(function(b){return a[p]=b})]);case 2:return m=v.sent(),m===void 0?[2,l[p].value]:m.done?[2,m.value]:(u[p]=m.value,[4,r(u.slice())]);case 3:return v.sent(),[3,1];case 4:return[2]}})})}))];case 4:return[2,f.sent()];case 5:return i(),[4,Promise.all(n.map(function(d){return d.return&&d.return()}))];case 6:return f.sent(),[7];case 7:return[2]}})})})}function gr(e){return e===null?"null":Array.isArray(e)?"array":typeof e}function qs(e){return gr(e)==="object"}function cBe(e){return Array.isArray(e)&&e.length>0&&e.every(t=>"message"in t)}function JA(e,t){return e.length<124?e:t}const fBe="graphql-transport-ws";var kr;(function(e){e[e.InternalServerError=4500]="InternalServerError",e[e.InternalClientError=4005]="InternalClientError",e[e.BadRequest=4400]="BadRequest",e[e.BadResponse=4004]="BadResponse",e[e.Unauthorized=4401]="Unauthorized",e[e.Forbidden=4403]="Forbidden",e[e.SubprotocolNotAcceptable=4406]="SubprotocolNotAcceptable",e[e.ConnectionInitialisationTimeout=4408]="ConnectionInitialisationTimeout",e[e.ConnectionAcknowledgementTimeout=4504]="ConnectionAcknowledgementTimeout",e[e.SubscriberAlreadyExists=4409]="SubscriberAlreadyExists",e[e.TooManyInitialisationRequests=4429]="TooManyInitialisationRequests"})(kr||(kr={}));var Yt;(function(e){e.ConnectionInit="connection_init",e.ConnectionAck="connection_ack",e.Ping="ping",e.Pong="pong",e.Subscribe="subscribe",e.Next="next",e.Error="error",e.Complete="complete"})(Yt||(Yt={}));function jj(e){if(!qs(e))throw new Error(`Message is expected to be an object, but got ${gr(e)}`);if(!e.type)throw new Error("Message is missing the 'type' property");if(typeof e.type!="string")throw new Error(`Message is expects the 'type' property to be a string, but got ${gr(e.type)}`);switch(e.type){case Yt.ConnectionInit:case Yt.ConnectionAck:case Yt.Ping:case Yt.Pong:{if("payload"in e&&!qs(e.payload))throw new Error(`"${e.type}" message expects the 'payload' property to be an object or missing, but got "${e.payload}"`);break}case Yt.Subscribe:{if(typeof e.id!="string")throw new Error(`"${e.type}" message expects the 'id' property to be a string, but got ${gr(e.id)}`);if(!e.id)throw new Error(`"${e.type}" message requires a non-empty 'id' property`);if(!qs(e.payload))throw new Error(`"${e.type}" message expects the 'payload' property to be an object, but got ${gr(e.payload)}`);if(typeof e.payload.query!="string")throw new Error(`"${e.type}" message payload expects the 'query' property to be a string, but got ${gr(e.payload.query)}`);if(e.payload.variables!=null&&!qs(e.payload.variables))throw new Error(`"${e.type}" message payload expects the 'variables' property to be a an object or nullish or missing, but got ${gr(e.payload.variables)}`);if(e.payload.operationName!=null&&gr(e.payload.operationName)!=="string")throw new Error(`"${e.type}" message payload expects the 'operationName' property to be a string or nullish or missing, but got ${gr(e.payload.operationName)}`);if(e.payload.extensions!=null&&!qs(e.payload.extensions))throw new Error(`"${e.type}" message payload expects the 'extensions' property to be a an object or nullish or missing, but got ${gr(e.payload.extensions)}`);break}case Yt.Next:{if(typeof e.id!="string")throw new Error(`"${e.type}" message expects the 'id' property to be a string, but got ${gr(e.id)}`);if(!e.id)throw new Error(`"${e.type}" message requires a non-empty 'id' property`);if(!qs(e.payload))throw new Error(`"${e.type}" message expects the 'payload' property to be an object, but got ${gr(e.payload)}`);break}case Yt.Error:{if(typeof e.id!="string")throw new Error(`"${e.type}" message expects the 'id' property to be a string, but got ${gr(e.id)}`);if(!e.id)throw new Error(`"${e.type}" message requires a non-empty 'id' property`);if(!cBe(e.payload))throw new Error(`"${e.type}" message expects the 'payload' property to be an array of GraphQL errors, but got ${JSON.stringify(e.payload)}`);break}case Yt.Complete:{if(typeof e.id!="string")throw new Error(`"${e.type}" message expects the 'id' property to be a string, but got ${gr(e.id)}`);if(!e.id)throw new Error(`"${e.type}" message requires a non-empty 'id' property`);break}default:throw new Error(`Invalid message 'type' property "${e.type}"`)}return e}function dBe(e,t){return jj(typeof e=="string"?JSON.parse(e,t):e)}function pf(e,t){return jj(e),JSON.stringify(e,t)}function pBe(e){const{url:t,connectionParams:n,lazy:r=!0,onNonLazyError:i=console.error,lazyCloseTimeout:o=0,keepAlive:a=0,disablePong:s,connectionAckWaitTimeout:l=0,retryAttempts:u=5,retryWait:c=async function(V){let j=1e3;for(let H=0;HsetTimeout(H,j+Math.floor(Math.random()*(3e3-300)+300)))},shouldRetry:f=tm,isFatalConnectionProblem:d,on:p,webSocketImpl:m,generateID:v=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,V=>{const j=Math.random()*16|0;return(V=="x"?j:j&3|8).toString(16)})},jsonMessageReplacer:b,jsonMessageReviver:E}=e;let y;if(m){if(!mBe(m))throw new Error("Invalid WebSocket implementation provided");y=m}else typeof WebSocket<"u"?y=WebSocket:typeof global<"u"?y=global.WebSocket||global.MozWebSocket:typeof window<"u"&&(y=window.WebSocket||window.MozWebSocket);if(!y)throw new Error("WebSocket implementation missing; on Node you can `import WebSocket from 'ws';` and pass `webSocketImpl: WebSocket` to `createClient`");const T=y,w=(()=>{const P=(()=>{const j={};return{on(H,F){return j[H]=F,()=>{delete j[H]}},emit(H){var F;"id"in H&&((F=j[H.id])===null||F===void 0||F.call(j,H))}}})(),V={connecting:p!=null&&p.connecting?[p.connecting]:[],opened:p!=null&&p.opened?[p.opened]:[],connected:p!=null&&p.connected?[p.connected]:[],ping:p!=null&&p.ping?[p.ping]:[],pong:p!=null&&p.pong?[p.pong]:[],message:p!=null&&p.message?[P.emit,p.message]:[P.emit],closed:p!=null&&p.closed?[p.closed]:[],error:p!=null&&p.error?[p.error]:[]};return{onMessage:P.on,on(j,H){const F=V[j];return F.push(H),()=>{F.splice(F.indexOf(H),1)}},emit(j,...H){for(const F of[...V[j]])F(...H)}}})();function S(P){const V=[w.on("error",j=>{V.forEach(H=>H()),P(j)}),w.on("closed",j=>{V.forEach(H=>H()),P(j)})]}let _,I=0,A,N=!1,C=0,U=!1;async function G(){clearTimeout(A);const[P,V]=await(_??(_=new Promise((F,z)=>(async()=>{if(N){if(await c(C),!I)return _=void 0,z({code:1e3,reason:"All Subscriptions Gone"});C++}w.emit("connecting");const B=new T(typeof t=="function"?await t():t,fBe);let X,x;function M(){isFinite(a)&&a>0&&(clearTimeout(x),x=setTimeout(()=>{B.readyState===T.OPEN&&(B.send(pf({type:Yt.Ping})),w.emit("ping",!1,void 0))},a))}S(R=>{_=void 0,clearTimeout(X),clearTimeout(x),z(R),tm(R)&&R.code===4499&&(B.close(4499,"Terminated"),B.onerror=null,B.onclose=null)}),B.onerror=R=>w.emit("error",R),B.onclose=R=>w.emit("closed",R),B.onopen=async()=>{try{w.emit("opened",B);const R=typeof n=="function"?await n():n;if(B.readyState!==T.OPEN)return;B.send(pf(R?{type:Yt.ConnectionInit,payload:R}:{type:Yt.ConnectionInit},b)),isFinite(l)&&l>0&&(X=setTimeout(()=>{B.close(kr.ConnectionAcknowledgementTimeout,"Connection acknowledgement timeout")},l)),M()}catch(R){w.emit("error",R),B.close(kr.InternalClientError,JA(R instanceof Error?R.message:new Error(R).message,"Internal client error"))}};let L=!1;B.onmessage=({data:R})=>{try{const J=dBe(R,E);if(w.emit("message",J),J.type==="ping"||J.type==="pong"){w.emit(J.type,!0,J.payload),J.type==="pong"?M():s||(B.send(pf(J.payload?{type:Yt.Pong,payload:J.payload}:{type:Yt.Pong})),w.emit("pong",!1,J.payload));return}if(L)return;if(J.type!==Yt.ConnectionAck)throw new Error(`First message cannot be of type ${J.type}`);clearTimeout(X),L=!0,w.emit("connected",B,J.payload),N=!1,C=0,F([B,new Promise((ae,se)=>S(se))])}catch(J){B.onmessage=null,w.emit("error",J),B.close(kr.BadResponse,JA(J instanceof Error?J.message:new Error(J).message,"Bad response"))}}})())));P.readyState===T.CLOSING&&await V;let j=()=>{};const H=new Promise(F=>j=F);return[P,j,Promise.race([H.then(()=>{if(!I){const F=()=>P.close(1e3,"Normal Closure");isFinite(o)&&o>0?A=setTimeout(()=>{P.readyState===T.OPEN&&F()},o):F()}}),V])]}function Y(P){if(tm(P)&&(hBe(P.code)||[kr.InternalServerError,kr.InternalClientError,kr.BadRequest,kr.BadResponse,kr.Unauthorized,kr.SubprotocolNotAcceptable,kr.SubscriberAlreadyExists,kr.TooManyInitialisationRequests].includes(P.code)))throw P;if(U)return!1;if(tm(P)&&P.code===1e3)return I>0;if(!u||C>=u||!f(P)||d!=null&&d(P))throw P;return N=!0}return r||(async()=>{for(I++;;)try{const[,,P]=await G();await P}catch(P){try{if(!Y(P))return}catch(V){return i==null?void 0:i(V)}}})(),{on:w.on,subscribe(P,V){const j=v(P);let H=!1,F=!1,z=()=>{I--,H=!0};return(async()=>{for(I++;;)try{const[B,X,x]=await G();if(H)return X();const M=w.onMessage(j,L=>{switch(L.type){case Yt.Next:{V.next(L.payload);return}case Yt.Error:{F=!0,H=!0,V.error(L.payload),z();return}case Yt.Complete:{H=!0,z();return}}});B.send(pf({id:j,type:Yt.Subscribe,payload:P},b)),z=()=>{!H&&B.readyState===T.OPEN&&B.send(pf({id:j,type:Yt.Complete},b)),I--,H=!0,X()},await x.finally(M);return}catch(B){if(!Y(B))return}})().then(()=>{F||V.complete()}).catch(B=>{V.error(B)}),()=>{H||z()}},async dispose(){if(U=!0,_){const[P]=await _;P.close(1e3,"Normal Closure")}},terminate(){_&&w.emit("closed",{code:4499,reason:"Terminated",wasClean:!1})}}}function tm(e){return qs(e)&&"code"in e&&"reason"in e}function hBe(e){return[1e3,1001,1006,1005,1012,1013,1013].includes(e)?!1:e>=1e3&&e<=1999}function mBe(e){return typeof e=="function"&&"constructor"in e&&"CLOSED"in e&&"CLOSING"in e&&"CONNECTING"in e&&"OPEN"in e}var Zl=null;typeof WebSocket<"u"?Zl=WebSocket:typeof MozWebSocket<"u"?Zl=MozWebSocket:typeof global<"u"?Zl=global.WebSocket||global.MozWebSocket:typeof window<"u"?Zl=window.WebSocket||window.MozWebSocket:typeof self<"u"&&(Zl=self.WebSocket||self.MozWebSocket);const vBe=Zl;function gBe(e){return"subscribe"in e}function yBe(e){let t;return gBe(e)?t=e:(t=pBe({webSocketImpl:vBe,lazy:!0,...e}),e.onClient&&e.onClient(t)),function(r){const{document:i,variables:o,operationName:a,extensions:s,operationType:l=va(r).operation}=r,u=Ot(i);return l==="subscription"?new Qc(function(f,d){const p=t.subscribe({query:u,variables:o,operationName:a,extensions:s},{next(m){return f(m)},error(m){return d(m)},complete(){return d()}});return d.finally(p)}):new Promise((c,f)=>{const d=t.subscribe({query:u,variables:o,operationName:a,extensions:s},{next(p){return c(p)},error(p){return f(p)},complete(){d()}})})}}const Uj=Bl(function(t){var n;return t.operation==="query"&&((n=t.directives)===null||n===void 0?void 0:n.some(r=>r.name.value==="live"))});function EBe({baseUrl:e="",query:t,variables:n,operationName:r,extensions:i}){const o="https://dummyhostname.com",a=e.startsWith("http")?e:e!=null&&e.startsWith("/")?`${o}${e}`:`${o}/${e}`,s=new URL(a);return s.searchParams.set("query",d8e(t)),n&&Object.keys(n).length>0&&s.searchParams.set("variables",JSON.stringify(n)),r&&s.searchParams.set("operationName",r),i&&s.searchParams.set("extensions",JSON.stringify(i)),s.toString().replace(o,"")}var bBe=class{constructor({uri:t,name:n,type:r}){this.uri=t,this.name=n,this.type=r}};const TBe=bBe;var Bj=function(t){return typeof File<"u"&&t instanceof File||typeof Blob<"u"&&t instanceof Blob||t instanceof TBe};const wBe=Bj,_Be=Bj;var SBe=function(t,n="",r=_Be){const i=new Map,o=new Map;function a(s,l,u){let c=s;if(r(s)){c=null;const f=i.get(s);f?f.push(l):i.set(s,[l])}else{const f=Array.isArray(s)||typeof FileList<"u"&&s instanceof FileList,d=s&&s.constructor===Object;if(f||d){const p=o.has(s);if(p?c=o.get(s):(c=f?[]:{},o.set(s,c)),!u.has(s)){const m=l?`${l}.`:"",v=new Set(u).add(s);if(f){let b=0;for(const E of s){const y=a(E,m+b++,v);p||c.push(y)}}else for(const b in s){const E=a(s[b],m+b,v);p||(c[b]=E)}}}}return c}return{clone:a(t,n,new Set),files:i}};const NBe=SBe;function IBe(e){return typeof e.createReadStream=="function"}function xBe({query:e,variables:t,operationName:n,extensions:r},{File:i=HUe,FormData:o=QUe}){const a=Object.assign({},t),{clone:s,files:l}=NBe(a,"variables",m=>wBe(m)||(m==null?void 0:m.promise)||ql(m)||(m==null?void 0:m.then)||typeof(m==null?void 0:m.arrayBuffer)=="function");if(l.size===0)return JSON.stringify({query:e,variables:t,operationName:n,extensions:r});const u={},c=[];let f=0;for(const[m,v]of l)u[f]=v,c[f]=m,f++;const d=new o;d.append("operations",JSON.stringify({query:e,variables:s,operationName:n,extensions:r})),d.append("map",JSON.stringify(u));function p(m,v){const b=v.toString();if(m!=null){const E=m.filename||m.name||m.path||`blob-${b}`;if(vn(m))return m.then(y=>p(y,v));if(DBe(m))d.append(b,m,E);else if(IBe(m)){const y=m.createReadStream(),T=[];return Promise.resolve().then(async()=>{for await(const S of y)S&&T.push(...S);const w=new Uint8Array(T);d.append(b,new i([w],E,{type:m.mimetype}),E)})}else d.append(b,new i([m],E),E)}}return xt.all(c.map((m,v)=>new xt(()=>p(m,v)))).then(()=>d).resolve()}function DBe(e){return typeof e.arrayBuffer=="function"}async function*OBe(e){const t=new Mj;e:for await(const n of e){const r=typeof n=="string"?n:t.decode(n,{stream:!0});for(const i of r.split(` + +`))if(i){const o=i.split("event: ")[1],a=i.split("data: ")[1];if(o==="complete")break e;if(a){const s=JSON.parse(a);yield s.payload||s}}}}function qj(e,t){return i7e(e,()=>{t.signal.aborted||t.abort()})}function CBe(e){const t=new Mj;return new Qc(function(r,i){const o=e.getReader();async function a(){const{done:s,value:l}=await o.read();if(s)return i();if(l){const u=typeof l=="string"?l:t.decode(l,{stream:!0});for(const c of u.split(` + +`))if(c){const f=c.split("event: ")[1],d=c.split("data: ")[1];if(f==="complete")return i();if(d){const p=JSON.parse(d);await r(p.payload||p)}}}return a()}return i.finally(()=>o.cancel()),a()})}function kBe(e){return e&&typeof e.getReader=="function"}function ABe(e,t){const n=e.body;if(n){if(ql(n)){const r=OBe(n);return t?qj(r,t):r}if(kBe(n))return CBe(n)}throw new Error("Response body is expected to be a readable stream but got; "+On(n))}async function FBe(e,t){const n=e.headers["content-type"];if(!n||!~n.indexOf("multipart/mixed"))return e;const r=n.indexOf("boundary="),i=r+9,o=n.indexOf(";",i);return async function*(a,s,l){const u=!l||!l.multiple;let c=Buffer.byteLength(s),f=Buffer.alloc(0),d=!0,p=[];e:for await(const m of a){const v=m.indexOf(s);let b=f.byteLength;for(f=Buffer.concat([f,m]),~v?b+=v:b=f.indexOf(s),p=[];~b;){const E=f.slice(0,b),y=f.slice(b+c);if(d)d=!1,s=`\r +`+s,c+=2;else{const T={},w=E.indexOf(`\r +\r +`)+4,S=String(f.slice(0,w)).trim().split(`\r +`);let _;for(;_=S.shift();)_=_.split(": "),T[_.shift().toLowerCase()]=_.join(": ");const I=E.lastIndexOf(`\r +`,w);let A=E.slice(w,I>-1?void 0:I),N=!1;if(_=T["content-type"],_&&~_.indexOf("application/json"))try{A=JSON.parse(String(A)),N=!0}catch{}if(_={headers:T,body:A,json:N},u?yield _:p.push(_),y[0]===45&&y[1]===45)break e}f=y,b=f.indexOf(s)}p.length&&(yield p)}p.length&&(yield p)}(e,`--${~r?n.substring(i,o>-1?o:void 0).replace(/['"]/g,"").trim():"-"}`,t)}var RBe=new TextDecoder;async function LBe(e,t){if(!e.ok||!e.body||e.bodyUsed)return e;const n=e.headers.get("content-type");if(!n||!~n.indexOf("multipart/mixed"))return e;const r=n.indexOf("boundary="),i=r+9,o=n.indexOf(";",i);return async function*(a,s,l){const u=a.getReader(),c=!l||!l.multiple;let f=s.length,d="",p=!0,m=[];try{let v;e:for(;!(v=await u.read()).done;){const b=RBe.decode(v.value),E=b.indexOf(s);let y=d.length;for(d+=b,~E?y+=E:y=d.indexOf(s),m=[];~y;){const T=d.substring(0,y),w=d.substring(y+f);if(p)p=!1,s=`\r +`+s,f+=2;else{const S={},_=T.indexOf(`\r +\r +`)+4,I=String(d.slice(0,_)).trim().split(`\r +`);let A;for(;A=I.shift();)A=A.split(": "),S[A.shift().toLowerCase()]=A.join(": ");const N=T.lastIndexOf(`\r +`,_);let C=T.substring(_,N>-1?void 0:N),U=!1;if(A=S["content-type"],A&&~A.indexOf("application/json"))try{C=JSON.parse(C),U=!0}catch{}if(A={headers:S,body:C,json:U},c?yield A:m.push(A),w.substring(0,2)==="--")break e}d=w,y=d.indexOf(s)}m.length&&(yield m)}}finally{m.length&&(yield m),await u.cancel()}}(e.body,`--${~r?n.substring(i,o>-1?o:void 0).replace(/['"]/g,"").trim():"-"}`,t)}function i_(e,t,n){if(typeof e=="object"&&typeof t=="object"){if(Array.isArray(e)&&Array.isArray(t))for(n=0;n{if(l.json){const u=l.body;return a(u),o}});return t?qj(s,t):s}function MBe(e){const t=n=>{var r,i,o,a,s,l,u;const c=(o=(i=(r=n.extensions)===null||r===void 0?void 0:r.fetch)!==null&&i!==void 0?i:e==null?void 0:e.fetch)!==null&&o!==void 0?o:Pj;let f,d=((a=n.extensions)===null||a===void 0?void 0:a.method)||(e==null?void 0:e.method)||"POST";const p=va(n),m=p.operation;(e!=null&&e.useGETForQueries||!((s=n.extensions)===null||s===void 0)&&s.useGETForQueries)&&m==="query"&&(d="GET");let v="application/graphql-response+json, application/json, multipart/mixed";(m==="subscription"||Uj(p))&&(d="GET",v="text/event-stream");const b=((l=n.extensions)===null||l===void 0?void 0:l.endpoint)||(e==null?void 0:e.endpoint)||"/graphql",E=Object.assign({accept:v},(typeof(e==null?void 0:e.headers)=="function"?e.headers(n):e==null?void 0:e.headers)||{},((u=n.extensions)===null||u===void 0?void 0:u.headers)||{}),T={query:Ot(n.document),variables:n.variables,operationName:n.operationName,extensions:n.extensions};let w;e!=null&&e.timeout&&(f=new GUe,w=setTimeout(()=>{f!=null&&f.signal.aborted||f==null||f.abort("timeout")},e.timeout));const S={};return new xt(()=>{switch(d){case"GET":{const _=EBe({baseUrl:b,...T});return c(_,{method:"GET",...(e==null?void 0:e.credentials)!=null?{credentials:e.credentials}:{},headers:E,signal:f==null?void 0:f.signal},n.context,n.info)}case"POST":return new xt(()=>xBe(T,{File:e==null?void 0:e.File,FormData:e==null?void 0:e.FormData})).then(_=>c(b,{method:"POST",...(e==null?void 0:e.credentials)!=null?{credentials:e.credentials}:{},body:_,headers:{...E,...typeof _=="string"?{"content-type":"application/json"}:{}},signal:f==null?void 0:f.signal},n.context,n.info)).resolve()}}).then(_=>{if(S.status=_.status,S.statusText=_.statusText,w!=null&&clearTimeout(w),(e==null?void 0:e.retry)!=null&&!_.status.toString().startsWith("2"))throw new Error(_.statusText||`HTTP Error: ${_.status}`);const I=_.headers.get("content-type");return I!=null&&I.includes("text/event-stream")?ABe(_,f):I!=null&&I.includes("multipart/mixed")?PBe(_,f):_.text()}).then(_=>{if(typeof _=="string"){if(_)try{return JSON.parse(_)}catch(I){return{errors:[Qe(`Unexpected response: ${JSON.stringify(_)}`,{extensions:{requestBody:T,responseDetails:S},originalError:I})]}}}else return _}).catch(_=>typeof _=="string"?{errors:[Qe(_,{extensions:{requestBody:T,responseDetails:S}})]}:_.name==="GraphQLError"?{errors:[_]}:_.name==="TypeError"&&_.message==="fetch failed"?{errors:[Qe(`fetch failed to ${b}`,{extensions:{requestBody:T,responseDetails:S},originalError:_})]}:_.message?{errors:[Qe(_.message,{extensions:{requestBody:T,responseDetails:S},originalError:_})]}:{errors:[Qe("Unknown error",{extensions:{requestBody:T,responseDetails:S},originalError:_})]}).resolve()};return(e==null?void 0:e.retry)!=null?function(r){let i,o=0;function a(){return o++,o>e.retry?i??{errors:[Qe("No response returned from fetch")]}:new xt(()=>t(r)).then(s=>{var l;return i=s,!((l=i==null?void 0:i.errors)===null||l===void 0)&&l.length?a():i}).resolve()}return a()}:t}var Jr;(function(e){e.CONNECTION_INIT="connection_init",e.CONNECTION_ACK="connection_ack",e.CONNECTION_ERROR="connection_error",e.CONNECTION_KEEP_ALIVE="ka",e.START="start",e.STOP="stop",e.CONNECTION_TERMINATE="connection_terminate",e.DATA="data",e.ERROR="error",e.COMPLETE="complete"})(Jr||(Jr={}));function VBe(e,t,n){const r=new Map;let i=null;const o=()=>{i=new t(e,"graphql-ws",{followRedirects:!0,headers:n==null?void 0:n.headers,rejectUnauthorized:!1,skipUTF8Validation:!0}),i.onopen=()=>{let s={};switch(typeof(n==null?void 0:n.connectionParams)){case"function":s=n==null?void 0:n.connectionParams();break;case"object":s=n==null?void 0:n.connectionParams;break}i.send(JSON.stringify({type:Jr.CONNECTION_INIT,payload:s}))}},a=()=>{i!=null&&r.size===0&&(i.send(JSON.stringify({type:Jr.CONNECTION_TERMINATE})),i.terminate(),i=null)};return function(l){const u=Date.now().toString();return J8e({subscribe(c){if(o(),i==null)throw new Error("WebSocket connection is not found!");return i.onmessage=f=>{const d=JSON.parse(f.data.toString("utf-8"));switch(d.type){case Jr.CONNECTION_ACK:{if(i==null)throw new Error("WebSocket connection is not found!");i.send(JSON.stringify({type:Jr.START,id:u,payload:{query:Ot(l.document),variables:l.variables,operationName:l.operationName}}));break}case Jr.CONNECTION_ERROR:{c.error(d.payload);break}case Jr.CONNECTION_KEEP_ALIVE:break;case Jr.DATA:{c.next(d.payload);break}case Jr.COMPLETE:{if(i==null)throw new Error("WebSocket connection is not found!");i.send(JSON.stringify({type:Jr.CONNECTION_TERMINATE})),c.complete(),a();break}}},{unsubscribe:()=>{i==null||i.send(JSON.stringify({type:Jr.STOP,id:u})),a()}}}})}}const Q1=e=>Xe(()=>import(e),[]),XA=e=>require(e);var tl;(function(e){e.WS="WS",e.LEGACY_WS="LEGACY_WS",e.SSE="SSE",e.GRAPHQL_SSE="GRAPHQL_SSE"})(tl||(tl={}));function ZA(e){try{return new URL(e),!0}catch{return!1}}class jBe{buildHTTPExecutor(t,n,r){const i=G1(t,{wss:"https",ws:"http"});return MBe({endpoint:i,fetch:n,...r})}buildWSExecutor(t,n,r){const i=G1(t,{https:"wss",http:"ws"});return yBe({url:i,webSocketImpl:n,connectionParams:r})}buildWSLegacyExecutor(t,n,r){const i=G1(t,{https:"wss",http:"ws"});return VBe(i,n,r)}getFetch(t,n){if(t){if(typeof t=="string"){const[r,i]=t.split("#");return new xt(()=>n(r)).then(o=>i?o[i]:o).resolve()}else if(typeof t=="function")return t}return n===Q1?WUe:eBe}getDefaultMethodFromOptions(t,n){return t&&(n=t),n}getWebSocketImpl(t,n){if(typeof(n==null?void 0:n.webSocketImpl)=="string"){const[r,i]=n.webSocketImpl.split("#");return new xt(()=>t(r)).then(o=>i?o[i]:o).resolve()}else return(n==null?void 0:n.webSocketImpl)||zUe}buildSubscriptionExecutor(t,n,r,i){if((i==null?void 0:i.subscriptionsProtocol)===tl.SSE)return this.buildHTTPExecutor(t,n,i);if((i==null?void 0:i.subscriptionsProtocol)===tl.GRAPHQL_SSE)return i!=null&&i.subscriptionsEndpoint||(t+="/stream"),this.buildHTTPExecutor(t,n,i);{const a=new xt(()=>this.getWebSocketImpl(r,i)).then(s=>(i==null?void 0:i.subscriptionsProtocol)===tl.LEGACY_WS?this.buildWSLegacyExecutor(t,s,i):this.buildWSExecutor(t,s,i==null?void 0:i.connectionParams));return s=>a.then(l=>l(s)).resolve()}}getExecutor(t,n,r){const i=new xt(()=>this.getFetch(r==null?void 0:r.customFetch,n)),o=i.then(a=>this.buildHTTPExecutor(t,a,r));if((r==null?void 0:r.subscriptionsEndpoint)!=null||(r==null?void 0:r.subscriptionsProtocol)!==tl.SSE){let s=function(l){var u;return l.operationType=l.operationType||((u=va(l))===null||u===void 0?void 0:u.operation),l.operationType==="subscription"&&Uj(va(l))&&(l.operationType="subscription"),l.operationType==="subscription"?a:o};const a=i.then(l=>{const u=(r==null?void 0:r.subscriptionsEndpoint)||t;return this.buildSubscriptionExecutor(u,l,n,r)});return l=>s(l).then(u=>u(l)).resolve()}else return a=>o.then(s=>s(a)).resolve()}getExecutorAsync(t,n){return this.getExecutor(t,Q1,n)}getExecutorSync(t,n){return this.getExecutor(t,XA,n)}handleSDL(t,n,r){const i=this.getDefaultMethodFromOptions(r==null?void 0:r.method,"GET");return new xt(()=>n(t,{method:i,headers:typeof(r==null?void 0:r.headers)=="function"?r.headers():r==null?void 0:r.headers})).then(o=>o.text()).then(o=>F8e(t,o,r)).resolve()}async load(t,n){if(!ZA(t))return[];let r={location:t},i;if(n!=null&&n.handleAsSDL||t.endsWith(".graphql")||t.endsWith(".graphqls")){const o=await this.getFetch(n==null?void 0:n.customFetch,Q1);if(r=await this.handleSDL(t,o,n),!r.schema&&!r.document&&!r.rawSDL)throw new Error("Invalid SDL response");r.schema=r.schema||(r.document?Jw(r.document,n):r.rawSDL?EA(r.rawSDL,n):void 0)}else i=this.getExecutorAsync(t,n),r.schema=await HA(i,{},n);if(!r.schema)throw new Error("Invalid introspected schema");return n!=null&&n.endpoint&&(i=this.getExecutorAsync(n.endpoint,n)),i&&(r.schema=GA({schema:r.schema,executor:i,batch:n==null?void 0:n.batch})),[r]}loadSync(t,n){if(!ZA(t))return[];let r={location:t},i;if(n!=null&&n.handleAsSDL||t.endsWith(".graphql")||t.endsWith(".graphqls")){const o=this.getFetch(n==null?void 0:n.customFetch,XA);if(r=this.handleSDL(t,o,n),!r.schema&&!r.document&&!r.rawSDL)throw new Error("Invalid SDL response");r.schema=r.schema||(r.document?Jw(r.document,n):r.rawSDL?EA(r.rawSDL,n):void 0)}else i=this.getExecutorSync(t,n),r.schema=HA(i,{},n);if(!r.schema)throw new Error("Invalid introspected schema");return n!=null&&n.endpoint&&(i=this.getExecutorSync(n.endpoint,n)),i&&(r.schema=GA({schema:r.schema,executor:i})),[r]}}function G1(e,t){return Object.entries(t).reduce((n,[r,i])=>n.replace(`${r}://`,`${i}://`).replace(`${r}:\\`,`${i}:\\`),e)}var o_=globalThis&&globalThis.__assign||function(){return o_=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0)&&!(i=r.next()).done;)o.push(i.value)}catch(s){a={error:s}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(a)throw a.error}}return o},BBe=parseInt($.version.slice(0,2),10);if(BBe<16)throw new Error(["GraphiQL 0.18.0 and after is not compatible with React 15 or below.","If you are using a CDN source (jsdelivr, unpkg, etc), follow this example:","https://github.com/graphql/graphiql/blob/master/examples/graphiql-cdn/index.html#L49"].join(` +`));function Qa(e){var t=e.dangerouslyAssumeSchemaIsValid,n=e.defaultQuery,r=e.defaultTabs,i=e.externalFragments,o=e.fetcher,a=e.getDefaultFieldNames,s=e.headers,l=e.initialTabs,u=e.inputValueDeprecation,c=e.introspectionQueryName,f=e.maxHistoryLength,d=e.onEditOperationName,p=e.onSchemaChange,m=e.onTabChange,v=e.onTogglePluginVisibility,b=e.operationName,E=e.plugins,y=e.query,T=e.response,w=e.schema,S=e.schemaDescription,_=e.shouldPersistHeaders,I=e.storage,A=e.validationRules,N=e.variables,C=e.visiblePlugin,U=e.defaultHeaders,G=UBe(e,["dangerouslyAssumeSchemaIsValid","defaultQuery","defaultTabs","externalFragments","fetcher","getDefaultFieldNames","headers","initialTabs","inputValueDeprecation","introspectionQueryName","maxHistoryLength","onEditOperationName","onSchemaChange","onTabChange","onTogglePluginVisibility","operationName","plugins","query","response","schema","schemaDescription","shouldPersistHeaders","storage","validationRules","variables","visiblePlugin","defaultHeaders"]);if(typeof o!="function")throw new TypeError("The `GraphiQL` component requires a `fetcher` function to be passed as prop.");return $.createElement(Y0,{getDefaultFieldNames:a,dangerouslyAssumeSchemaIsValid:t,defaultQuery:n,defaultHeaders:U,defaultTabs:r,externalFragments:i,fetcher:o,headers:s,initialTabs:l,inputValueDeprecation:u,introspectionQueryName:c,maxHistoryLength:f,onEditOperationName:d,onSchemaChange:p,onTabChange:m,onTogglePluginVisibility:v,plugins:E,visiblePlugin:C,operationName:b,query:y,response:T,schema:w,schemaDescription:S,shouldPersistHeaders:_,storage:I,validationRules:A,variables:N},$.createElement(zj,o_({showPersistHeadersSettings:_!==!1},G)))}Qa.Logo=Qj;Qa.Toolbar=Gj;Qa.Footer=Hj;function zj(e){var t,n,r,i=(t=e.isHeadersEditorEnabled)!==null&&t!==void 0?t:!0,o=Gn({nonNull:!0}),a=Mc({nonNull:!0}),s=Ki({nonNull:!0}),l=Ns(),u=M0(),c=Zp({onCopyQuery:e.onCopyQuery}),f=fs(),d=jl(),p=$x(),m=p.theme,v=p.setTheme,b=(n=u==null?void 0:u.visiblePlugin)===null||n===void 0?void 0:n.content,E=td({defaultSizeRelation:1/3,direction:"horizontal",initiallyHidden:u!=null&&u.visiblePlugin?void 0:"first",onHiddenElementChange:function(z){z==="first"&&(u==null||u.setVisiblePlugin(null))},sizeThresholdSecond:200,storageKey:"docExplorerFlex"}),y=td({direction:"horizontal",storageKey:"editorFlex"}),T=td({defaultSizeRelation:3,direction:"vertical",initiallyHidden:function(){if(!(e.defaultEditorToolsVisibility==="variables"||e.defaultEditorToolsVisibility==="headers"))return typeof e.defaultEditorToolsVisibility=="boolean"?e.defaultEditorToolsVisibility?void 0:"second":o.initialVariables||o.initialHeaders?void 0:"second"}(),sizeThresholdSecond:60,storageKey:"secondaryEditorFlex"}),w=H1(g.useState(function(){return e.defaultEditorToolsVisibility==="variables"||e.defaultEditorToolsVisibility==="headers"?e.defaultEditorToolsVisibility:!o.initialVariables&&o.initialHeaders&&i?"headers":"variables"}),2),S=w[0],_=w[1],I=H1(g.useState(null),2),A=I[0],N=I[1],C=H1(g.useState(null),2),U=C[0],G=C[1],Y=$.Children.toArray(e.children),P=Y.find(function(z){return W1(z,Qa.Logo)})||$.createElement(Qa.Logo,null),V=Y.find(function(z){return W1(z,Qa.Toolbar)})||$.createElement($.Fragment,null,$.createElement(cv,{onClick:function(){return d()},label:"Prettify query (Shift-Ctrl-P)"},$.createElement(WZ,{className:"graphiql-toolbar-icon","aria-hidden":"true"})),$.createElement(cv,{onClick:function(){return f()},label:"Merge fragments into query (Shift-Ctrl-M)"},$.createElement(QZ,{className:"graphiql-toolbar-icon","aria-hidden":"true"})),$.createElement(cv,{onClick:function(){return c()},label:"Copy query (Shift-Ctrl-C)"},$.createElement(AZ,{className:"graphiql-toolbar-icon","aria-hidden":"true"})),((r=e.toolbar)===null||r===void 0?void 0:r.additionalContent)||null),j=Y.find(function(z){return W1(z,Qa.Footer)}),H=function(){E.hiddenElement==="first"&&E.setHiddenElement(null)},F=window.navigator.platform.toLowerCase().indexOf("mac")===0?$.createElement("code",{className:"graphiql-key"},"Cmd"):$.createElement("code",{className:"graphiql-key"},"Ctrl");return $.createElement("div",{"data-testid":"graphiql-container",className:"graphiql-container"},$.createElement("div",{className:"graphiql-sidebar"},$.createElement("div",{className:"graphiql-sidebar-section"},u==null?void 0:u.plugins.map(function(z){var B=z===u.visiblePlugin,X="".concat(B?"Hide":"Show"," ").concat(z.title),x=z.icon;return $.createElement(rr,{key:z.title,label:X},$.createElement(ln,{type:"button",className:B?"active":"",onClick:function(){B?(u.setVisiblePlugin(null),E.setHiddenElement("first")):(u.setVisiblePlugin(z),E.setHiddenElement(null))},"aria-label":X},$.createElement(x,{"aria-hidden":"true"})))})),$.createElement("div",{className:"graphiql-sidebar-section"},$.createElement(rr,{label:"Re-fetch GraphQL schema"},$.createElement(ln,{type:"button",disabled:s.isFetching,onClick:function(){return s.introspect()},"aria-label":"Re-fetch GraphQL schema"},$.createElement(YZ,{className:s.isFetching?"graphiql-spin":"","aria-hidden":"true"}))),$.createElement(rr,{label:"Open short keys dialog"},$.createElement(ln,{type:"button",onClick:function(){return N("short-keys")},"aria-label":"Open short keys dialog"},$.createElement(qZ,{"aria-hidden":"true"}))),$.createElement(rr,{label:"Open settings dialog"},$.createElement(ln,{type:"button",onClick:function(){return N("settings")},"aria-label":"Open settings dialog"},$.createElement(KZ,{"aria-hidden":"true"}))))),$.createElement("div",{className:"graphiql-main"},$.createElement("div",{ref:E.firstRef,style:{minWidth:"200px"}},$.createElement("div",{className:"graphiql-plugin"},b?$.createElement(b,null):null)),$.createElement("div",{ref:E.dragBarRef},u!=null&&u.visiblePlugin?$.createElement("div",{className:"graphiql-horizontal-drag-bar"}):null),$.createElement("div",{ref:E.secondRef,style:{minWidth:0}},$.createElement("div",{className:"graphiql-sessions"},$.createElement("div",{className:"graphiql-session-header"},$.createElement(CV,{"aria-label":"Select active operation"},o.tabs.length>1?$.createElement($.Fragment,null,o.tabs.map(function(z,B){return $.createElement(A1,{key:z.id,isActive:B===o.activeTabIndex},$.createElement(A1.Button,{"aria-controls":"graphiql-session",id:"graphiql-session-tab-".concat(B),onClick:function(){a.stop(),o.changeTab(B)}},z.title),$.createElement(A1.Close,{onClick:function(){o.activeTabIndex===B&&a.stop(),o.closeTab(B)}}))}),$.createElement("div",null,$.createElement(rr,{label:"Add tab"},$.createElement(ln,{type:"button",className:"graphiql-tab-add",onClick:function(){return o.addTab()},"aria-label":"Add tab"},$.createElement(pk,{"aria-hidden":"true"}))))):null),$.createElement("div",{className:"graphiql-session-header-right"},o.tabs.length===1?$.createElement("div",{className:"graphiql-add-tab-wrapper"},$.createElement(rr,{label:"Add tab"},$.createElement(ln,{type:"button",className:"graphiql-tab-add",onClick:function(){return o.addTab()},"aria-label":"Add tab"},$.createElement(pk,{"aria-hidden":"true"})))):null,P)),$.createElement("div",{role:"tabpanel",id:"graphiql-session",className:"graphiql-session","aria-labelledby":"graphiql-session-tab-".concat(o.activeTabIndex)},$.createElement("div",{ref:y.firstRef},$.createElement("div",{className:"graphiql-editors".concat(o.tabs.length===1?" full-height":"")},$.createElement("div",{ref:T.firstRef},$.createElement("section",{className:"graphiql-query-editor","aria-label":"Query Editor"},$.createElement("div",{className:"graphiql-query-editor-wrapper"},$.createElement(H0,{editorTheme:e.editorTheme,keyMap:e.keyMap,onClickReference:H,onCopyQuery:e.onCopyQuery,onEdit:e.onEditQuery,readOnly:e.readOnly})),$.createElement("div",{className:"graphiql-toolbar",role:"toolbar","aria-label":"Editor Commands"},$.createElement(sp,null),V))),$.createElement("div",{ref:T.dragBarRef},$.createElement("div",{className:"graphiql-editor-tools"},$.createElement("div",{className:"graphiql-editor-tools-tabs"},$.createElement(ln,{type:"button",className:S==="variables"&&T.hiddenElement!=="second"?"active":"",onClick:function(){T.hiddenElement==="second"&&T.setHiddenElement(null),_("variables")}},"Variables"),i?$.createElement(ln,{type:"button",className:S==="headers"&&T.hiddenElement!=="second"?"active":"",onClick:function(){T.hiddenElement==="second"&&T.setHiddenElement(null),_("headers")}},"Headers"):null),$.createElement(rr,{label:T.hiddenElement==="second"?"Show editor tools":"Hide editor tools"},$.createElement(ln,{type:"button",onClick:function(){T.setHiddenElement(T.hiddenElement==="second"?null:"second")},"aria-label":T.hiddenElement==="second"?"Show editor tools":"Hide editor tools"},T.hiddenElement==="second"?$.createElement(kZ,{className:"graphiql-chevron-icon","aria-hidden":"true"}):$.createElement(OZ,{className:"graphiql-chevron-icon","aria-hidden":"true"}))))),$.createElement("div",{ref:T.secondRef},$.createElement("section",{className:"graphiql-editor-tool","aria-label":S==="variables"?"Variables":"Headers"},$.createElement(ap,{editorTheme:e.editorTheme,isHidden:S!=="variables",keyMap:e.keyMap,onEdit:e.onEditVariables,onClickReference:H,readOnly:e.readOnly}),i&&$.createElement(rp,{editorTheme:e.editorTheme,isHidden:S!=="headers",keyMap:e.keyMap,onEdit:e.onEditHeaders,readOnly:e.readOnly}))))),$.createElement("div",{ref:y.dragBarRef},$.createElement("div",{className:"graphiql-horizontal-drag-bar"})),$.createElement("div",{ref:y.secondRef},$.createElement("div",{className:"graphiql-response"},a.isFetching?$.createElement(qI,null):null,$.createElement(W0,{editorTheme:e.editorTheme,responseTooltip:e.responseTooltip,keyMap:e.keyMap}),j)))))),$.createElement(jh,{isOpen:A==="short-keys",onDismiss:function(){return N(null)}},$.createElement("div",{className:"graphiql-dialog-header"},$.createElement("div",{className:"graphiql-dialog-title"},"Short Keys"),$.createElement(jh.Close,{onClick:function(){return N(null)}})),$.createElement("div",{className:"graphiql-dialog-section"},$.createElement("div",null,$.createElement("table",{className:"graphiql-table"},$.createElement("thead",null,$.createElement("tr",null,$.createElement("th",null,"Short key"),$.createElement("th",null,"Function"))),$.createElement("tbody",null,$.createElement("tr",null,$.createElement("td",null,F," + ",$.createElement("code",{className:"graphiql-key"},"F")),$.createElement("td",null,"Search in editor")),$.createElement("tr",null,$.createElement("td",null,F," + ",$.createElement("code",{className:"graphiql-key"},"K")),$.createElement("td",null,"Search in documentation")),$.createElement("tr",null,$.createElement("td",null,F," + ",$.createElement("code",{className:"graphiql-key"},"Enter")),$.createElement("td",null,"Execute query")),$.createElement("tr",null,$.createElement("td",null,$.createElement("code",{className:"graphiql-key"},"Ctrl")," + ",$.createElement("code",{className:"graphiql-key"},"Shift")," + ",$.createElement("code",{className:"graphiql-key"},"P")),$.createElement("td",null,"Prettify editors")),$.createElement("tr",null,$.createElement("td",null,$.createElement("code",{className:"graphiql-key"},"Ctrl")," + ",$.createElement("code",{className:"graphiql-key"},"Shift")," + ",$.createElement("code",{className:"graphiql-key"},"M")),$.createElement("td",null,"Merge fragments definitions into operation definition")),$.createElement("tr",null,$.createElement("td",null,$.createElement("code",{className:"graphiql-key"},"Ctrl")," + ",$.createElement("code",{className:"graphiql-key"},"Shift")," + ",$.createElement("code",{className:"graphiql-key"},"C")),$.createElement("td",null,"Copy query")),$.createElement("tr",null,$.createElement("td",null,$.createElement("code",{className:"graphiql-key"},"Ctrl")," + ",$.createElement("code",{className:"graphiql-key"},"Shift")," + ",$.createElement("code",{className:"graphiql-key"},"R")),$.createElement("td",null,"Re-fetch schema using introspection")))),$.createElement("p",null,"The editors use"," ",$.createElement("a",{href:"https://codemirror.net/5/doc/manual.html#keymaps",target:"_blank",rel:"noopener noreferrer"},"CodeMirror Key Maps")," ","that add more short keys. This instance of Graph",$.createElement("em",null,"i"),"QL uses"," ",$.createElement("code",null,e.keyMap||"sublime"),".")))),$.createElement(jh,{isOpen:A==="settings",onDismiss:function(){N(null),G(null)}},$.createElement("div",{className:"graphiql-dialog-header"},$.createElement("div",{className:"graphiql-dialog-title"},"Settings"),$.createElement(jh.Close,{onClick:function(){N(null),G(null)}})),e.showPersistHeadersSettings?$.createElement("div",{className:"graphiql-dialog-section"},$.createElement("div",null,$.createElement("div",{className:"graphiql-dialog-section-title"},"Persist headers"),$.createElement("div",{className:"graphiql-dialog-section-caption"},"Save headers upon reloading."," ",$.createElement("span",{className:"graphiql-warning-text"},"Only enable if you trust this device."))),$.createElement(lw,null,$.createElement(co,{type:"button",id:"enable-persist-headers",className:o.shouldPersistHeaders?"active":void 0,onClick:function(){o.setShouldPersistHeaders(!0)}},"On"),$.createElement(co,{type:"button",id:"disable-persist-headers",className:o.shouldPersistHeaders?void 0:"active",onClick:function(){o.setShouldPersistHeaders(!1)}},"Off"))):null,$.createElement("div",{className:"graphiql-dialog-section"},$.createElement("div",null,$.createElement("div",{className:"graphiql-dialog-section-title"},"Theme"),$.createElement("div",{className:"graphiql-dialog-section-caption"},"Adjust how the interface looks like.")),$.createElement("div",null,$.createElement(lw,null,$.createElement(co,{type:"button",className:m===null?"active":"",onClick:function(){return v(null)}},"System"),$.createElement(co,{type:"button",className:m==="light"?"active":"",onClick:function(){return v("light")}},"Light"),$.createElement(co,{type:"button",className:m==="dark"?"active":"",onClick:function(){return v("dark")}},"Dark")))),l?$.createElement("div",{className:"graphiql-dialog-section"},$.createElement("div",null,$.createElement("div",{className:"graphiql-dialog-section-title"},"Clear storage"),$.createElement("div",{className:"graphiql-dialog-section-caption"},"Remove all locally stored data and start fresh.")),$.createElement("div",null,$.createElement(co,{type:"button",state:U||void 0,disabled:U==="success",onClick:function(){try{l==null||l.clear(),G("success")}catch{G("error")}}},U==="success"?"Cleared data":U==="error"?"Failed":"Clear data"))):null))}function Qj(e){return $.createElement("div",{className:"graphiql-logo"},e.children||$.createElement("a",{className:"graphiql-logo-link",href:"https://github.com/graphql/graphiql",target:"_blank",rel:"noreferrer"},"Graph",$.createElement("em",null,"i"),"QL"))}Qj.displayName="GraphiQLLogo";function Gj(e){return $.createElement($.Fragment,null,e.children)}Gj.displayName="GraphiQLToolbar";function Hj(e){return $.createElement("div",{className:"graphiql-footer"},e.children)}Hj.displayName="GraphiQLFooter";function W1(e,t){var n;return!((n=e==null?void 0:e.type)===null||n===void 0)&&n.displayName&&e.type.displayName===t.displayName?!0:e.type===t}const nm=function(){},Y1={popstate:[]};let qBe={URL:function(){return{searchParams:{set:nm,append:nm,delete:nm}}},location:{href:"",search:""},history:{pushState:nm},fireEvent:function(e){Y1[e].forEach(t=>{t()})},addEventListener:function(e,t){Y1[e].push(t)},removeEventListener:function(e,t){const n=Y1[e],r=n.findIndex(i=>i===t);n.splice(r,1)}};function Aa(){return typeof window<"u"?window:qBe}const eF=[Number,String,Boolean,Date];function zBe(e){const{URL:t}=Aa(),n=new t(Aa().location.href);return Object.keys(e).forEach(r=>{const i=e[r];i!=null?Array.isArray(i)?(n.searchParams.delete(r),i.forEach(o=>{n.searchParams.append(r,o)})):i instanceof Date?isNaN(i.getTime())||n.searchParams.set(r,i.toISOString()):typeof i=="object"?n.searchParams.set(r,JSON.stringify(i)):n.searchParams.set(r,i):n.searchParams.delete(r)}),n}function QBe(e){return Array.isArray(e)&&e.length>0&&e.every(t=>typeof t=="number"||typeof t=="string"||typeof t=="boolean")}function GBe(e={}){if(!Object.values(e).every(n=>eF.includes(n)||QBe(n)||typeof n=="function"))throw new Error(`Unsupported param types. Must be one of [${eF.map(n=>n.name).join(", ")}]`)}function HBe(e={},t={},n=!1){t&&GBe(t);const[,r]=g.useState(),i=Aa().location.search,o=g.useMemo(()=>new URLSearchParams(i),[i]),a=g.useMemo(()=>{let u=[];o.forEach((f,d)=>{u.push({key:d,value:f})}),u=u.reduce((f,d)=>((f[d.key]=f[d.key]||[]).push(d),f),{}),u=Object.keys(u).map(f=>{const d=u[f];return d.length===1?[f,d[0].value]:[f,d.map(({value:p})=>p)]});const c=Object.assign({},e);return u.forEach(([f,d])=>{c[f]=YBe(f,d,t,e)}),c},[o]);function s(u){const c=zBe(u);Aa().location.search!==c.search&&(n?Aa().history.replaceState({},"",c.toString()):Aa().history.pushState({},"",c.toString())),o.toString()!==c.searchParams.toString()&&r({})}g.useEffect(()=>{s(Object.assign(Object.assign({},e),a))},[a]);const l=u=>{s(u)};return g.useEffect(()=>{const u=()=>{r({})};return Aa().addEventListener("popstate",u),()=>{Aa().removeEventListener("popstate",u)}},[]),[a,l]}const WBe={true:!0,false:!1};function YBe(e,t,n,r){if(!n)return t;const i=n[e],o=t===void 0?r[e]:t;return i===Number?Number(o):i===Boolean?WBe[o]:i===Date?new Date(o):Array.isArray(i)?i.find(a=>a==o)||r[e]:typeof i=="function"?i(o):o}const JBe=(e,t)=>{const n=e.definitions.filter(r=>{var i;return!(r.kind===D.OPERATION_DEFINITION&&t&&((i=r.name)==null?void 0:i.value)!==t)});return{kind:D.DOCUMENT,definitions:n}};function tF(e){var c;const t=e.endpoint||"",n={query:String},r=g.useMemo(()=>new jBe,[]),i=g.useMemo(()=>{const f=r.getExecutorAsync(t,{subscriptionsProtocol:tl.SSE,credentials:"same-origin",specifiedByUrl:!0,directiveIsRepeatable:!0,...e,headers:e.additionalHeaders||{}});return function(p,m){const v=JBe(qr(p.query),p.operationName??void 0);return f({document:v,operationName:p.operationName??void 0,variables:p.variables,extensions:{headers:m==null?void 0:m.headers}})}},[r,t,e]),[o,a]=HBe({query:e.defaultQuery||""},n,!1),[s,l]=g.useState((c=o.query)==null?void 0:c.toString()),u=WVe({query:s,onEdit:l});return k("div",{className:"graphiql-container",children:k(Y0,{plugins:[u],query:s,headers:e.headers,schemaDescription:!0,fetcher:i,children:k(zj,{isHeadersEditorEnabled:!0,defaultEditorToolsVisibility:!0,onEditQuery:f=>a({query:f}),children:k(Qa.Logo,{children:k("div",{style:{display:"flex",alignItems:"center"},children:k("span",{children:e!=null&&e.title?e.title:k(Gu,{children:"GraphiQL"})})})})})})})}const KBe=Mi` + query { + webConfig { + graphqlEndpoint + } + generateAuthHeaders { + authProvider + cookie + authorization + } + } +`;function XBe(){const{data:e}=Dc(KBe);let t;if(e&&e.generateAuthHeaders){const{authProvider:n,authorization:r,cookie:i}=e.generateAuthHeaders;return n&&(t={"auth-provider":n,authorization:r},i&&(t={"auth-provider":n,authorization:r,cookie:i})),t?(console.debug("headers",t),console.debug("headers JSON",JSON.stringify(t)),k(tF,{headers:JSON.stringify(t),endpoint:"http://localhost:4318/proxies/graphql"})):k(tF,{endpoint:"http://localhost:4318/proxies/graphql"})}return k("div",{children:"Loading..."})}function rm({title:e,icon:t,colouring:n,link:r,loading:i,value:o,error:a}){return ue("div",{className:"relative overflow-hidden rounded-lg bg-white px-4 pt-5 pb-12 shadow sm:px-6 sm:pt-6",children:[ue("dt",{children:[k("div",{className:`absolute rounded-md ${n} p-3`,children:k(t,{className:"h-6 w-6 text-white","aria-hidden":"true"})}),k("p",{className:"ml-16 truncate text-sm font-medium text-gray-500",children:e})]}),ue("dd",{className:"ml-16 flex items-baseline pb-6 sm:pb-7",children:[k("p",{className:"text-2xl font-semibold text-gray-900",children:o||(a?"error":i?k(Mp,{}):k(MK,{className:"h-6 w-6","aria-hidden":"true"}))}),k("div",{className:"absolute inset-x-0 bottom-0 bg-gray-50 px-4 py-4 sm:px-6",children:k("div",{className:"text-sm",children:ue(OT,{to:r,className:"font-medium text-slate-600 hover:text-slate-500",children:[" ","View all",ue("span",{className:"sr-only",children:[" ",e," stats"]})]})})})]})]})}const ZBe=Mi` + query GetSpanCount { + graphQLSpanCount + sqlCount + traceCount + } +`;function eqe(){const{loading:e,error:t,data:n}=Dc(ZBe,{pollInterval:1e3});return k("div",{className:"mx-auto py-6 px-4 max-w-[95%] md:max-w-[80%] sm:px-6 lg:px-8",children:ue("div",{children:[k("h3",{className:"text-base font-semibold leading-6 text-gray-900",children:"Development Studio"}),ue("dl",{className:"mt-5 grid grid-cols-1 gap-5 sm:grid-cols-2 lg:grid-cols-3",children:[k(rm,{title:"OpenTelemetry Traces",colouring:"bg-emerald-500",icon:bP,link:"/tracing",loading:e,error:t,value:n==null?void 0:n.traceCount}),k(rm,{title:"Service Function Calls",colouring:"bg-fuchsia-600",icon:yP,link:"/coming-soon",loading:!1,error:void 0,value:void 0}),k(rm,{title:"SQL Queries",colouring:"bg-cyan-600",icon:gN,link:"/sql",loading:e,error:t,value:n==null?void 0:n.sqlCount}),k(rm,{title:"GraphQL Resolutions",colouring:"bg-orange-600",icon:TP,link:"/coming-soon",loading:e,error:t,value:n==null?void 0:n.graphQLSpanCount})]})]})})}function tqe(){return ue("div",{className:"flex flex-col justify-center py-12 sm:py-16 mx-auto max-w-[95%] md:max-w-[80%] px-6 lg:px-8",children:[k("span",{className:"text-4xl font-mono",children:"4🤔4"}),k("span",{className:"text-xl",children:"We couldn't find something cool to show you..."})]})}const nqe=new Intl.NumberFormat(void 0,{minimumFractionDigits:3,maximumFractionDigits:3}),rqe=Mi` + query GetAllSQLSpans { + sqlSpans { + id + trace + startNano + durationNano + attributes + } + } +`;function iqe(){const{loading:e,error:t,data:n}=Dc(rqe,{pollInterval:1e3});return t?k("div",{className:"mx-auto py-6 px-4 max-w-[95%] md:max-w-[80%] sm:px-6 lg:px-8",children:k("div",{className:"rounded-md bg-red-50 p-4",children:ue("div",{className:"flex",children:[k("div",{className:"flex-shrink-0",children:k(qy,{className:"h-5 w-5 text-red-400","aria-hidden":"true"})}),ue("div",{className:"ml-3",children:[k("h3",{className:"text-sm font-medium text-red-800",children:"There were an error"}),k("div",{className:"mt-2 text-sm text-red-700",children:JSON.stringify(t)})]})]})})}):e?k("div",{className:"mx-auto py-6 px-4 max-w-[95%] md:max-w-[80%] sm:px-6 lg:px-8 flex justify-center",children:k(Mp,{})}):k("div",{className:"mx-auto py-6 px-4 max-w-[95%] md:max-w-[80%] sm:px-6 lg:px-8",children:ue("div",{className:"px-4 sm:px-6 lg:px-8",children:[k("div",{className:"sm:flex sm:items-center -mx-4 sm:-mx-6 lg:-mx-8",children:ue("div",{className:"sm:flex-auto",children:[k("h1",{className:"text-base font-semibold leading-6 text-gray-900",children:"SQL Statements"}),k("p",{className:"mt-2 text-sm text-gray-700",children:"A livestream of all the SQL queries that have been executed, enriched with insights we think you'll find useful."})]})}),k("div",{className:"mt-4 flow-root",children:k("div",{className:"-my-2 -mx-4 overflow-x-auto sm:-mx-6 lg:-mx-8",children:k("div",{className:"inline-block min-w-full py-2 align-middle",children:ue("table",{className:"min-w-full divide-y divide-gray-300",children:[k("thead",{children:ue("tr",{children:[k("th",{scope:"col",className:"py-3.5 pl-4 pr-3 text-left text-sm font-semibold text-gray-900 sm:pl-6 lg:pl-8",children:"Trace"}),k("th",{scope:"col",className:"px-3 py-3.5 text-left text-sm font-semibold text-gray-900",children:"Start"}),k("th",{scope:"col",className:"px-3 py-3.5 text-left text-sm font-semibold text-gray-900",children:"Duration (ms)"}),k("th",{scope:"col",className:"px-3 py-3.5 text-left text-sm font-semibold text-gray-900",children:"Insights"}),k("th",{scope:"col",className:"px-3 py-3.5 text-left text-sm font-semibold text-gray-900 pr-4 sm:pr-6 lg:pr-8",children:"SQL"})]})}),k("tbody",{className:"divide-y divide-gray-200",children:n.sqlSpans.map(r=>ue("tr",{children:[k("td",{className:"whitespace-nowrap py-4 pl-4 pr-3 text-sm text-gray-500 font-mono sm:pl-6 lg:pl-8",children:k(uN,{to:`/tracing/${r.trace}`,children:k(bX,{className:"mr-1.5 h-5 w-5 flex-shrink-0 text-cyan-400","aria-hidden":"true"})})}),k("td",{className:"whitespace-nowrap py-4 px-3 text-sm text-gray-500",children:new Date(Number(BigInt(r.startNano)/BigInt(1e6))).toISOString()}),k("td",{className:"whitespace-nowrap py-4 px-3 text-sm text-gray-500",children:nqe.format(parseInt(r.durationNano)/1e6)}),k("td",{className:"text-right whitespace-nowrap py-4 px-3 text-sm text-gray-500",children:k(EX,{className:"mr-1.5 h-5 w-5 flex-shrink-0 text-gray-400","aria-hidden":"true"})}),k("td",{className:"whitespace-pre-wrap py-4 px-3 text-sm text-gray-500 flex-wrap sm:pr-6 lg:pr-8",children:JSON.parse(r.attributes)["db.statement"]})]},r.id))})]})})})})]})})}var oqe=e=>{if(typeof e!="number")throw new TypeError("Expected a number");const t=e>0?Math.floor:Math.ceil;return{days:t(e/864e5),hours:t(e/36e5)%24,minutes:t(e/6e4)%60,seconds:t(e/1e3)%60,milliseconds:t(e)%1e3,microseconds:t(e*1e3)%1e3,nanoseconds:t(e*1e6)%1e3}};const aqe=oqe,sqe=(e,t)=>t===1?e:`${e}s`,lqe=1e-7;var Xg=(e,t={})=>{if(!Number.isFinite(e))throw new TypeError("Expected a finite number");t.colonNotation&&(t.compact=!1,t.formatSubMilliseconds=!1,t.separateMilliseconds=!1,t.verbose=!1),t.compact&&(t.secondsDecimalDigits=0,t.millisecondsDecimalDigits=0);const n=[],r=(a,s)=>{const l=Math.floor(a*10**s+lqe);return(Math.round(l)/10**s).toFixed(s)},i=(a,s,l,u)=>{if((n.length===0||!t.colonNotation)&&a===0&&!(t.colonNotation&&l==="m"))return;u=(u||a||"0").toString();let c,f;if(t.colonNotation){c=n.length>0?":":"",f="";const d=u.includes(".")?u.split(".")[0].length:u.length,p=n.length>0?2:1;u="0".repeat(Math.max(0,p-d))+u}else c="",f=t.verbose?" "+sqe(s,a):l;n.push(c+u+f)},o=aqe(e);if(i(Math.trunc(o.days/365),"year","y"),i(o.days%365,"day","d"),i(o.hours,"hour","h"),i(o.minutes,"minute","m"),t.separateMilliseconds||t.formatSubMilliseconds||!t.colonNotation&&e<1e3)if(i(o.seconds,"second","s"),t.formatSubMilliseconds)i(o.milliseconds,"millisecond","ms"),i(o.microseconds,"microsecond","µs"),i(o.nanoseconds,"nanosecond","ns");else{const a=o.milliseconds+o.microseconds/1e3+o.nanoseconds/1e6,s=typeof t.millisecondsDecimalDigits=="number"?t.millisecondsDecimalDigits:0,l=a>=1?Math.round(a):Math.ceil(a),u=s?a.toFixed(s):l;i(Number.parseFloat(u,10),"millisecond","ms",u)}else{const a=e/1e3%60,s=typeof t.secondsDecimalDigits=="number"?t.secondsDecimalDigits:1,l=r(a,s),u=t.keepDecimalsOnWholeSeconds?l:l.replace(/\.0+$/,"");i(Number.parseFloat(u,10),"second","s",u)}if(n.length===0)return"0"+(t.verbose?" milliseconds":"ms");if(t.compact)return n[0];if(typeof t.unitCount=="number"){const a=t.colonNotation?"":" ";return n.slice(0,Math.max(t.unitCount,1)).join(a)}return t.colonNotation?n.join(""):n.join(" ")};const nF={sql:"SQL",service_function:"Service Function",graphql:"GraphQL"},uqe={sql:gN,service_function:yP,graphql:TP},rF={sql:"text-cyan-500",service_function:"text-fuchsia-500",graphql:"text-orange-500"};function Wj({enhancementFeatures:e}){const t=Object.keys(nF);return k("div",{className:"sm:flex",children:e.sort().map(n=>{if(t.includes(n)){const r=uqe[n];return ue("p",{className:`flex items-center text-sm ${rF[n]} pr-2`,children:[k(r,{className:`mr-1.5 h-5 w-5 flex-shrink-0 ${rF[n]}`,"aria-hidden":"true"}),nF[n]]},n)}return k(Gu,{})})})}const iF=(e,t)=>{if(e.length===0)return 0;if(t<=0)return e[0];if(t>=1)return e[e.length-1];const n=(e.length-1)*t,r=Math.floor(n),i=r+1,o=n%1;return i>=e.length?e[r]:e[r]*(1-o)+e[i]*o};function cqe({trace:e}){const t=e.spans.map(o=>({id:o.id,name:o.name,duration:Number(o.durationNano),parent:o.parent})),r=Array.from(new Set(t.map(o=>o.name))).map(o=>{const a=t.filter(c=>c.name===o),s=a.map(c=>c.duration).sort((c,f)=>c-f),l=s.reduce((c,f)=>c+f,0),u=Math.floor(s.length/2);return{name:o,count:a.length,mean:l/a.length,min:Math.min(...s),median:s.length%2===0?(s[u-1]+s[u])/2:s[u],max:Math.max(...s),p90:iF(s,.9),p95:iF(s,.95),sum:l}}).sort((o,a)=>o.p90>a.p90?1:a.p90>o.p90?-1:0),i=new Intl.NumberFormat(void 0,{minimumFractionDigits:3,maximumFractionDigits:3});return ue("div",{className:"px-4 sm:px-6 lg:px-8",children:[k("div",{className:"sm:flex sm:items-center -mx-4 sm:-mx-6 lg:-mx-8",children:ue("div",{className:"sm:flex-auto",children:[k("h1",{className:"text-base font-semibold leading-6 text-gray-900",children:"Flame Table"}),k("p",{className:"mt-2 text-sm text-gray-700",children:"A list of all the spans grouped by name. The values below are calculated based on the total duration of a span which includes the durations of any child spans."})]})}),k("div",{className:"mt-4 flow-root",children:k("div",{className:"-my-2 -mx-4 overflow-x-auto sm:-mx-6 lg:-mx-8",children:k("div",{className:"inline-block min-w-full py-2 align-middle",children:ue("table",{className:"min-w-full divide-y divide-gray-300",children:[k("thead",{children:ue("tr",{children:[k("th",{scope:"col",className:"py-3.5 pl-4 pr-3 text-left text-sm font-semibold text-gray-900 sm:pl-6 lg:pl-8",children:"Span Name"}),k("th",{scope:"col",className:"px-3 py-3.5 text-left text-sm font-semibold text-gray-900",children:"Quantity"}),k("th",{scope:"col",className:"px-3 py-3.5 text-right text-sm font-semibold text-gray-900",children:"Mean (ms)"}),k("th",{scope:"col",className:"px-3 py-3.5 text-right text-sm font-semibold text-gray-900",children:"Min (ms)"}),k("th",{scope:"col",className:"px-3 py-3.5 text-right text-sm font-semibold text-gray-900",children:"Median (ms)"}),k("th",{scope:"col",className:"px-3 py-3.5 text-right text-sm font-semibold text-gray-900",children:"Max (ms)"}),k("th",{scope:"col",className:"px-3 py-3.5 text-right text-sm font-semibold text-gray-900",children:"p(90) (ms)"}),k("th",{scope:"col",className:"px-3 py-3.5 text-right text-sm font-semibold text-gray-900",children:"p(95) (ms)"}),k("th",{scope:"col",className:"px-3 py-3.5 text-right text-sm font-semibold text-gray-900 pr-4 sm:pr-6 lg:pr-8",children:"Sum (ms)"})]})}),k("tbody",{className:"divide-y divide-gray-200",children:r.sort((o,a)=>o.selfue("tr",{children:[k("td",{className:"whitespace-nowrap py-4 pl-4 pr-3 text-sm font-medium text-gray-900 sm:pl-6 lg:pl-8",children:o.name}),k("td",{className:"whitespace-nowrap py-4 px-3 text-sm text-gray-500",children:o.count}),k("td",{className:"text-right whitespace-nowrap py-4 px-3 text-sm text-gray-500",children:i.format(o.mean/1e6)}),k("td",{className:"text-right whitespace-nowrap py-4 px-3 text-sm text-gray-500",children:i.format(o.min/1e6)}),k("td",{className:"text-right whitespace-nowrap py-4 px-3 text-sm text-gray-500",children:i.format(o.median/1e6)}),k("td",{className:"text-right whitespace-nowrap py-4 px-3 text-sm text-gray-500",children:i.format(o.max/1e6)}),k("td",{className:"text-right whitespace-nowrap py-4 px-3 text-sm text-gray-500",children:i.format(o.p90/1e6)}),k("td",{className:"text-right whitespace-nowrap py-4 px-3 text-sm text-gray-500",children:i.format(o.p95/1e6)}),k("td",{className:"whitespace-pre-wrap py-4 px-3 text-sm text-gray-500 flex-wrap sm:pr-6 lg:pr-8 text-right",children:i.format(o.sum/1e6)})]},o.id))})]})})})})]})}function fqe({prismaQueries:e}){return ue("div",{className:"px-4 sm:px-6 lg:px-8",children:[k("div",{className:"sm:flex sm:items-center -mx-4 sm:-mx-6 lg:-mx-8",children:ue("div",{className:"sm:flex-auto",children:[k("h1",{className:"text-base font-semibold leading-6 text-gray-900",children:"Prisma Queries"}),k("p",{className:"mt-2 text-sm text-gray-700",children:"A list of all Prisma queries executed during this trace."})]})}),k("div",{className:"mt-4 flow-root",children:k("div",{className:"-my-2 -mx-4 overflow-x-auto sm:-mx-6 lg:-mx-8",children:k("div",{className:"inline-block min-w-full py-2 align-middle",children:ue("table",{className:"min-w-full divide-y divide-gray-300",children:[k("thead",{children:ue("tr",{children:[k("th",{scope:"col",className:"py-3.5 pl-4 pr-3 text-left text-sm font-semibold text-gray-900 sm:pl-6 lg:pl-8",children:"Model"}),k("th",{scope:"col",className:"px-3 py-3.5 text-left text-sm font-semibold text-gray-900",children:"Method"}),k("th",{scope:"col",className:"px-3 py-3.5 text-left text-sm font-semibold text-gray-900",children:"Duration (ms)"}),k("th",{scope:"col",className:"px-3 py-3.5 text-left text-sm font-semibold text-gray-900 pr-4 sm:pr-6 lg:pr-8",children:"DB Statement"})]})}),k("tbody",{className:"divide-y divide-gray-200",children:e.map(t=>ue("tr",{children:[k("td",{className:"whitespace-nowrap py-4 pl-4 pr-3 text-sm font-medium text-gray-900 sm:pl-6 lg:pl-8",children:t.model}),k("td",{className:"whitespace-nowrap py-4 px-3 text-sm text-gray-500",children:t.method}),k("td",{className:"text-right whitespace-nowrap py-4 px-3 text-sm text-gray-500",children:t.duration_ms}),k("td",{className:"whitespace-pre-wrap py-4 px-3 text-sm text-gray-500 flex-wrap sm:pr-6 lg:pr-8",children:t.db_statement})]},t.id))})]})})})})]})}const dqe=new Intl.NumberFormat(void 0,{minimumFractionDigits:2,maximumFractionDigits:2});function Yj({trace:e,span:t,depth:n=0,traceStartNano:r,traceEndNano:i}){const[o,a]=g.useState(!0),[s,l]=g.useState(!1),u=BigInt.asUintN(63,BigInt(r)),c=BigInt.asUintN(63,BigInt(i)),f=Number(c-u),d=BigInt.asUintN(63,BigInt(t.startNano)),p=BigInt.asUintN(63,BigInt(t.endNano)),m=Number(d-u)/f*99.999,v=Number(p-d)/f*99.999,b=Number(c-p)/f*99.999,E=`${dqe.format(Number(p-d)/1e6)}ms`,y=b>.2,T=!y&&v>.2,w=!y&&!T,S=e.spans.filter(_=>_.parent===t.id).sort((_,I)=>_.startNano>I.startNano?1:I.startNano>_.startNano?-1:0);return ue("div",{className:"flex flex-col gap-1",children:[ue("div",{className:"flex flex-row bg-slate-50 py-2 px-1 rounded-md shadow-sm",children:[ue("div",{className:"basis-2/5 flex flex-row gap-2",style:{paddingLeft:n*16+(S.length>0?-2:26)},children:[S.length>0&&k("button",{className:"text-left",onClick:()=>a(!o),disabled:S.length===0,children:o?k(LK,{className:"h-5 w-5","aria-hidden":"true"}):k($K,{className:"h-5 w-5","aria-hidden":"true"})}),k("button",{className:"text-left",onClick:()=>l(!s),children:t.name})]}),k("div",{className:"basis-3/5",children:ue("div",{className:"px-2 flex flex-row w-full min-w-full",children:[k("div",{style:{flexBasis:`${m.toFixed(3)}%`,paddingRight:"0.5rem"},children:w?E:"⠀"}),k("div",{className:"bg-gradient-to-r from-slate-600 to-slate-400 rounded-md pl-2 text-white text-md shadow-md",style:{flexBasis:`${v.toFixed(3)}%`},children:T?E:"⠀"}),k("div",{className:"ml-2 text-md text-slate-400",style:{flexBasis:`${b.toFixed(3)}%`},children:y?E:"⠀"})]})})]}),s&&ue("div",{className:"flex flex-col gap-1 bg-slate-50 mx-6 border border-neutral-400 p-2 rounded-md shadow-md",children:[ue("details",{children:[k("summary",{children:"Attributes"}),k("div",{className:"flex flex-col gap-1",children:Object.entries(JSON.parse(t.attributes)).map(([_,I])=>ue("div",{className:"flex flex-row gap-2",children:[k("div",{className:"font-bold",children:_}),k("div",{className:"grow",children:JSON.stringify(I)})]},_))})]}),ue("details",{children:[k("summary",{children:"Events"}),k("div",{className:"flex flex-col gap-1",children:Object.entries(JSON.parse(t.events)).map(([_,I])=>ue("div",{className:"flex flex-row gap-2",children:[k("div",{className:"font-bold",children:_}),k("div",{className:"grow",children:JSON.stringify(I)})]},_))})]}),ue("details",{children:[k("summary",{children:"Resources"}),k("div",{className:"flex flex-col gap-1",children:Object.entries(JSON.parse(t.resources)).map(([_,I])=>ue("div",{className:"flex flex-row gap-2",children:[k("div",{className:"font-bold",children:_}),k("div",{className:"grow",children:JSON.stringify(I)})]},_))})]})]}),o&&k("div",{children:S.map(_=>k(Yj,{trace:e,span:_,depth:n+1,traceStartNano:r,traceEndNano:i},_.id))})]})}function pqe({trace:e}){const t=e.spans.filter(i=>i.parent==null).sort((i,o)=>i.startNano>o.startNano?1:o.startNano>i.startNano?-1:0),n=e.spans.map(i=>i.startNano).sort((i,o)=>i>o?1:o>i?-1:0)[0],r=e.spans.map(i=>i.endNano).sort((i,o)=>i>o?-1:o>i?1:0)[0];return k("div",{className:"flex flex-col gap-1",children:t.map(i=>k(Yj,{trace:e,span:i,traceStartNano:n,traceEndNano:r},i.id))})}const hqe=Mi` + query GetTraceSpans($id: String!) { + trace(id: $id) { + id + spans { + id + name + parent + kind + statusCode + statusMessage + startNano + endNano + durationNano + events + attributes + resources + } + enhancements { + features + } + } + prismaQueries(id: $id) { + id + trace + parent_id + parent_trace + name + method + model + prisma_name + start_nano + end_nano + duration_nano + duration_ms + duration_sec + db_statement + } + authProvider + } +`,im=e=>{const t=e.sort((n,r)=>n.startNano>r.startNano?1:r.startNano>n.startNano?-1:0);return t.length===0?t[0]:t.filter(n=>n.parent===null)[0]||t[0]},mqe=e=>{const t=e.sort((n,r)=>n.startNano>r.startNano?-1:r.startNano>n.startNano?1:0);return t.length===0?t[0]:t.filter(n=>n.parent===null)[0]||t[0]};function J1(...e){return e.filter(Boolean).join(" ")}const oF=[{name:"Timeline"},{name:"Flame Table"},{name:"Prisma Queries"}];function vqe(){const{traceId:e}=VH(),{loading:t,error:n,data:r}=Dc(hqe,{variables:{id:e}}),[i,o]=g.useState(()=>oF[0]);return n?k("div",{className:"mx-auto py-6 px-4 max-w-[95%] md:max-w-[80%] sm:px-6 lg:px-8",children:k("div",{className:"rounded-md bg-red-50 p-4",children:ue("div",{className:"flex",children:[k("div",{className:"flex-shrink-0",children:k(qy,{className:"h-5 w-5 text-red-400","aria-hidden":"true"})}),ue("div",{className:"ml-3",children:[k("h3",{className:"text-sm font-medium text-red-800",children:"There were an error"}),k("div",{className:"mt-2 text-sm text-red-700",children:JSON.stringify(n)})]})]})})}):t?k("div",{className:"mx-auto py-6 px-4 max-w-[95%] md:max-w-[80%] sm:px-6 lg:px-8 flex justify-center",children:k(Mp,{})}):r.trace.spans.length===0?ue("div",{className:"flex flex-col justify-center items-center h-full gap-2",children:[k("div",{className:"text-4xl",children:"😔"}),ue("div",{className:"text-xl",children:["No spans found for trace: ",k("span",{className:"italic",children:e})]})]}):ue("div",{className:"mx-auto py-6 px-4 max-w-[95%] md:max-w-[80%] sm:px-6 lg:px-8",children:[k("div",{className:"lg:flex lg:items-center lg:justify-between",children:ue("div",{className:"min-w-0 flex-1",children:[ue("h2",{className:"text-2xl font-bold font-mono leading-7 text-gray-900 sm:truncate sm:text-3xl sm:tracking-tight",children:[r.trace.id," | ",im(r.trace.spans).name]}),k("div",{className:"mt-1 flex flex-col sm:mt-0 sm:flex-row sm:flex-wrap sm:space-x-6",children:ue("div",{className:"mt-2 flex items-center text-sm text-gray-500",children:[k(wP,{className:"mr-1.5 h-5 w-5 flex-shrink-0 text-gray-400","aria-hidden":"true"}),Xg(Number(BigInt(mqe(r.trace.spans).endNano)-BigInt(im(r.trace.spans).startNano))/1e6,{millisecondsDecimalDigits:2,keepDecimalsOnWholeSeconds:!0})," duration, starting ",Xg(Date.now()-Number(BigInt(im(r.trace.spans).startNano))/1e6,{compact:!0})," ago at ",new Date(Number(BigInt(im(r.trace.spans).startNano))/1e6).toISOString()]})}),k("div",{className:"mt-1 flex flex-col sm:mt-2 sm:flex-row sm:flex-wrap sm:space-x-6",children:k(Wj,{enhancementFeatures:r.trace.enhancements.features})})]})}),k("div",{className:"mt-4",children:k(lf,{value:i,onChange:o,children:({open:a})=>ue(Gu,{children:[k(lf.Label,{className:"block text-sm font-medium leading-6 text-gray-900",children:"Visualisation"}),ue("div",{className:"relative mt-1",children:[ue(lf.Button,{className:"relative w-full cursor-default rounded-md bg-white py-1.5 pl-3 pr-10 text-left text-gray-900 shadow-sm ring-1 ring-inset ring-gray-300 focus:outline-none focus:ring-2 focus:ring-indigo-600 sm:text-sm sm:leading-6",children:[k("span",{className:"block truncate",children:i.name}),k("span",{className:"pointer-events-none absolute inset-y-0 right-0 flex items-center pr-2",children:k(yX,{className:"h-5 w-5 text-gray-400","aria-hidden":"true"})})]}),k(_f,{show:a,as:g.Fragment,leave:"transition ease-in duration-100",leaveFrom:"opacity-100",leaveTo:"opacity-0",children:k(lf.Options,{className:"absolute z-10 mt-1 max-h-56 w-full overflow-auto rounded-md bg-white py-1 text-base shadow-lg ring-1 ring-black ring-opacity-5 focus:outline-none sm:text-sm",children:oF.map(s=>k(lf.Option,{className:({active:l})=>J1(l?"bg-slate-600 text-white":"text-gray-900","relative cursor-default select-none py-2 pl-3 pr-9"),value:s,children:({selected:l,active:u})=>ue(Gu,{children:[k("span",{className:J1(l?"font-semibold":"font-normal","block truncate"),children:s.name}),l?k("span",{className:J1(u?"text-white":"text-slate-600","absolute inset-y-0 right-0 flex items-center pr-4"),children:k(gX,{className:"h-5 w-5","aria-hidden":"true"})}):null]})},s.name))})})]})]})})}),ue("div",{className:"mt-6",children:[i.name==="Timeline"&&k(pqe,{trace:r==null?void 0:r.trace}),i.name==="Flame Table"&&k(cqe,{trace:r==null?void 0:r.trace}),i.name==="Prisma Queries"&&k(fqe,{prismaQueries:r==null?void 0:r.prismaQueries})]})]})}const gqe=Mi` + query GetAllTraces { + traces { + id + spans { + id + parent + name + kind + statusCode # TODO: Give an indicator if an error occurred + startNano + endNano + } + enhancements { + features + containsError + } + } + } +`,K1=e=>{const t=e.sort((n,r)=>n.startNano>r.startNano?1:r.startNano>n.startNano?-1:0);return t.length===0?t[0]:t.filter(n=>n.parent===null)[0]||t[0]},aF=e=>{const t=e.sort((n,r)=>n.startNano>r.startNano?-1:r.startNano>n.startNano?1:0);return t.length===0?t[0]:t.filter(n=>n.parent===null)[0]||t[0]};function yqe(){const{loading:e,error:t,data:n}=Dc(gqe,{pollInterval:1e3});if(t)return k("div",{className:"mx-auto py-6 px-4 max-w-[95%] md:max-w-[80%] sm:px-6 lg:px-8",children:k("div",{className:"rounded-md bg-red-50 p-4",children:ue("div",{className:"flex",children:[k("div",{className:"flex-shrink-0",children:k(qy,{className:"h-5 w-5 text-red-400","aria-hidden":"true"})}),ue("div",{className:"ml-3",children:[k("h3",{className:"text-sm font-medium text-red-800",children:"There were an error"}),k("div",{className:"mt-2 text-sm text-red-700",children:JSON.stringify(t)})]})]})})});if(e)return k("div",{className:"mx-auto py-6 px-4 max-w-[95%] md:max-w-[80%] sm:px-6 lg:px-8 flex justify-center",children:k(Mp,{})});const r=new Map;n.traces.forEach(a=>{r.set(a.id,K1(a.spans))});const i=new Map;n.traces.forEach(a=>{i.set(a.id,aF(a.spans))});const o=n.traces.sort((a,s)=>r.get(a.id).startNano>r.get(s.id).startNano?-1:r.get(s.id).startNano>r.get(a.id).startNano?1:0);return k("div",{className:"mx-auto py-6 px-4 max-w-[95%] md:max-w-[80%] sm:px-6 lg:px-8",children:k("div",{className:"overflow-hidden bg-white shadow sm:rounded-md",children:k("ul",{role:"list",className:"divide-y divide-gray-200",children:o.map(a=>k("li",{children:k(uN,{to:`/tracing/${a.id}`,className:"block hover:bg-gray-50",children:ue("div",{className:"px-4 py-4 sm:px-6",children:[ue("div",{className:"flex items-center justify-between",children:[ue("p",{className:"truncate text-sm font-medium font-mono",children:["ID: ",a.id," | ",r.get(a.id).name]}),k("div",{className:"ml-2 flex flex-shrink-0",children:k("p",{className:`inline-flex rounded-full bg-emerald-100 px-2 text-xs font-semibold leading-5 text-${a.enhancements.containsError?"red":"emerald"}-800`,children:a.enhancements.containsError?"Error":"Successful"})})]}),ue("div",{className:"mt-2 sm:flex sm:justify-between",children:[k(Wj,{enhancementFeatures:a.enhancements.features}),ue("div",{className:"mt-2 flex items-center text-sm text-gray-500 sm:mt-0",children:[k(wP,{className:"mr-1.5 h-5 w-5 flex-shrink-0 text-gray-400","aria-hidden":"true"}),Xg(Number(BigInt(aF(a.spans).endNano)-BigInt(K1(a.spans).startNano))/1e6,{millisecondsDecimalDigits:2,keepDecimalsOnWholeSeconds:!0}),", ",Xg(Date.now()-Number(BigInt(K1(a.spans).startNano))/1e6,{compact:!0})," ","ago"]})]})]})})},a.id))})})})}const Eqe=new Oz({uri:"http://localhost:4318/graphql",cache:new Tz});Ab.createRoot(document.getElementById("root")).render(k($.StrictMode,{children:k(Mz,{client:Eqe,children:k(nW,{children:k(KH,{children:ue(so,{element:k(JK,{}),children:[k(so,{index:!0,element:k(eqe,{})}),k(so,{path:"/tracing",element:k(yqe,{})}),k(so,{path:"/tracing/:traceId",element:k(vqe,{})}),k(so,{path:"/graphiql",element:k(XBe,{})}),k(so,{path:"/sql",element:k(iqe,{})}),k(so,{path:"/config",element:k(wX,{})}),k(so,{path:"/coming-soon",element:k(XK,{})}),k(so,{path:"*",element:k(tqe,{})})]})})})})}));export{iZ as A,oZ as B,iw as C,In as D,qF as E,No as F,K as G,Ie as H,Ge as I,Mt as J,WF as K,JF as L,ev as M,ZF as N,Qqe as O,aR as P,pC as S,hC as T,TR as U,qr as a,D as b,kU as c,wR as d,gR as e,yR as f,cZ as g,vR as h,M_ as i,P_ as j,q_ as k,B_ as l,z_ as m,Ae as n,F3 as o,ot as p,Nn as q,At as r,xR as s,dl as t,ry as u,CR as v,Io as w,mC as x,pn as y,rZ as z}; diff --git a/packages/studio/dist-frontend/assets/index-8ccb8db0.css b/packages/studio/dist-frontend/assets/index-8ccb8db0.css new file mode 100644 index 000000000000..31d34f084cb9 --- /dev/null +++ b/packages/studio/dist-frontend/assets/index-8ccb8db0.css @@ -0,0 +1,9 @@ +*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}[type=text],[type=email],[type=url],[type=password],[type=number],[type=date],[type=datetime-local],[type=month],[type=search],[type=tel],[type=time],[type=week],[multiple],textarea,select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow: 0 0 #0000}[type=text]:focus,[type=email]:focus,[type=url]:focus,[type=password]:focus,[type=number]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=month]:focus,[type=search]:focus,[type=tel]:focus,[type=time]:focus,[type=week]:focus,[multiple]:focus,textarea:focus,select:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: #2563eb;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#2563eb}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-top:0;padding-bottom:0}select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple]{background-image:initial;background-position:initial;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#2563eb;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow: 0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 2px;--tw-ring-offset-color: #fff;--tw-ring-color: #2563eb;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}[type=checkbox]:checked,[type=radio]:checked{border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e")}[type=radio]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e")}[type=checkbox]:checked:hover,[type=checkbox]:checked:focus,[type=radio]:checked:hover,[type=radio]:checked:focus{border-color:transparent;background-color:currentColor}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e");border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat}[type=checkbox]:indeterminate:hover,[type=checkbox]:indeterminate:focus{border-color:transparent;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px solid ButtonText;outline:1px auto -webkit-focus-ring-color}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0px;right:0px;bottom:0px;left:0px}.inset-x-0{left:0px;right:0px}.inset-y-0{top:0px;bottom:0px}.bottom-0{bottom:0px}.left-0{left:0px}.right-0{right:0px}.top-0{top:0px}.z-10{z-index:10}.z-40{z-index:40}.-mx-4{margin-left:-1rem;margin-right:-1rem}.-my-2{margin-top:-.5rem;margin-bottom:-.5rem}.mx-6{margin-left:1.5rem;margin-right:1.5rem}.mx-auto{margin-left:auto;margin-right:auto}.-mr-12{margin-right:-3rem}.ml-1{margin-left:.25rem}.ml-16{margin-left:4rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.mr-1{margin-right:.25rem}.mr-1\.5{margin-right:.375rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mt-1{margin-top:.25rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.flow-root{display:flow-root}.grid{display:grid}.hidden{display:none}.h-0{height:0px}.h-10{height:2.5rem}.h-16{height:4rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-full{height:100%}.h-screen{height:100vh}.max-h-56{max-height:14rem}.w-10{width:2.5rem}.w-14{width:3.5rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-auto{width:auto}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-7xl{max-width:80rem}.max-w-\[95\%\]{max-width:95%}.max-w-full{max-width:100%}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.flex-grow,.grow{flex-grow:1}.basis-2\/5{flex-basis:40%}.basis-3\/5{flex-basis:60%}.-translate-x-full{--tw-translate-x: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-default{cursor:default}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-5{gap:1.25rem}.gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.gap-y-10{row-gap:2.5rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(229 231 235 / var(--tw-divide-opacity))}.divide-gray-300>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(209 213 219 / var(--tw-divide-opacity))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity))}.border-neutral-400{--tw-border-opacity: 1;border-color:rgb(163 163 163 / var(--tw-border-opacity))}.border-transparent{border-color:transparent}.bg-cyan-600{--tw-bg-opacity: 1;background-color:rgb(8 145 178 / var(--tw-bg-opacity))}.bg-emerald-100{--tw-bg-opacity: 1;background-color:rgb(209 250 229 / var(--tw-bg-opacity))}.bg-emerald-500{--tw-bg-opacity: 1;background-color:rgb(16 185 129 / var(--tw-bg-opacity))}.bg-fuchsia-600{--tw-bg-opacity: 1;background-color:rgb(192 38 211 / var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))}.bg-gray-600{--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity))}.bg-orange-600{--tw-bg-opacity: 1;background-color:rgb(234 88 12 / var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity))}.bg-slate-50{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity))}.bg-slate-500{--tw-bg-opacity: 1;background-color:rgb(100 116 139 / var(--tw-bg-opacity))}.bg-slate-600{--tw-bg-opacity: 1;background-color:rgb(71 85 105 / var(--tw-bg-opacity))}.bg-slate-700{--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bg-opacity-75{--tw-bg-opacity: .75}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-slate-600{--tw-gradient-from: #475569;--tw-gradient-to: rgb(71 85 105 / 0);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-slate-400{--tw-gradient-to: #94a3b8}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pb-12{padding-bottom:3rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pl-16{padding-left:4rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pl-8{padding-left:2rem}.pr-10{padding-right:2.5rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pr-9{padding-right:2.25rem}.pt-2{padding-top:.5rem}.pt-5{padding-top:1.25rem}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.italic{font-style:italic}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.leading-8{line-height:2rem}.tracking-tight{letter-spacing:-.025em}.text-cyan-400{--tw-text-opacity: 1;color:rgb(34 211 238 / var(--tw-text-opacity))}.text-cyan-500{--tw-text-opacity: 1;color:rgb(6 182 212 / var(--tw-text-opacity))}.text-fuchsia-500{--tw-text-opacity: 1;color:rgb(217 70 239 / var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}.text-orange-500{--tw-text-opacity: 1;color:rgb(249 115 22 / var(--tw-text-opacity))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity))}.text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity))}.text-red-800{--tw-text-opacity: 1;color:rgb(153 27 27 / var(--tw-text-opacity))}.text-slate-100{--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity))}.text-slate-300{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}.text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.opacity-0{opacity:0}.opacity-100{opacity:1}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-inset{--tw-ring-inset: inset}.ring-black{--tw-ring-opacity: 1;--tw-ring-color: rgb(0 0 0 / var(--tw-ring-opacity))}.ring-gray-300{--tw-ring-opacity: 1;--tw-ring-color: rgb(209 213 219 / var(--tw-ring-opacity))}.ring-opacity-5{--tw-ring-opacity: .05}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-300{transition-duration:.3s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{transition-timing-function:linear}.focus-within\:text-gray-600:focus-within{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}.hover\:bg-amber-400:hover{--tw-bg-opacity: 1;background-color:rgb(251 191 36 / var(--tw-bg-opacity))}.hover\:bg-amber-600:hover{--tw-bg-opacity: 1;background-color:rgb(217 119 6 / var(--tw-bg-opacity))}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))}.hover\:text-gray-500:hover{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}.hover\:text-slate-500:hover{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity))}.focus\:border-transparent:focus{border-color:transparent}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-0:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-inset:focus{--tw-ring-inset: inset}.focus\:ring-indigo-600:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(79 70 229 / var(--tw-ring-opacity))}.focus\:ring-slate-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(100 116 139 / var(--tw-ring-opacity))}.focus\:ring-white:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus\:placeholder\:text-gray-400:focus::-moz-placeholder{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.focus\:placeholder\:text-gray-400:focus::placeholder{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}@media (min-width: 640px){.sm\:col-span-2{grid-column:span 2 / span 2}.sm\:-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.sm\:mt-0{margin-top:0}.sm\:mt-2{margin-top:.5rem}.sm\:mt-20{margin-top:5rem}.sm\:flex{display:flex}.sm\:grid{display:grid}.sm\:flex-auto{flex:1 1 auto}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:flex-wrap{flex-wrap:wrap}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:gap-4{gap:1rem}.sm\:space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1.5rem * var(--tw-space-x-reverse));margin-left:calc(1.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sm\:rounded-lg{border-radius:.5rem}.sm\:rounded-md{border-radius:.375rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-16{padding-top:4rem;padding-bottom:4rem}.sm\:pb-7{padding-bottom:1.75rem}.sm\:pl-6{padding-left:1.5rem}.sm\:pr-6{padding-right:1.5rem}.sm\:pt-6{padding-top:1.5rem}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}.sm\:leading-6{line-height:1.5rem}.sm\:tracking-tight{letter-spacing:-.025em}}@media (min-width: 768px){.md\:max-w-\[80\%\]{max-width:80%}}@media (min-width: 1024px){.lg\:fixed{position:fixed}.lg\:inset-y-0{top:0px;bottom:0px}.lg\:-mx-8{margin-left:-2rem;margin-right:-2rem}.lg\:ml-0{margin-left:0}.lg\:ml-6{margin-left:1.5rem}.lg\:mt-24{margin-top:6rem}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:w-64{width:16rem}.lg\:max-w-4xl{max-width:56rem}.lg\:max-w-none{max-width:none}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:flex-col{flex-direction:column}.lg\:items-center{align-items:center}.lg\:justify-between{justify-content:space-between}.lg\:gap-y-16{row-gap:4rem}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:pl-64{padding-left:16rem}.lg\:pl-8{padding-left:2rem}.lg\:pr-8{padding-right:2rem}.lg\:text-center{text-align:center}}.\[\&\.active\]\:bg-amber-500.active{--tw-bg-opacity: 1;background-color:rgb(245 158 11 / var(--tw-bg-opacity))}.\[\&\.active\]\:bg-amber-700.active{--tw-bg-opacity: 1;background-color:rgb(180 83 9 / var(--tw-bg-opacity))}.\[\&\.active\]\:text-white.active{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}/*!*********************************************************************************************!*\ + !*** css ../../../node_modules/css-loader/dist/cjs.js!../../graphiql-react/font/roboto.css ***! + \*********************************************************************************************/@font-face{font-family:Roboto;font-style:italic;font-weight:400;font-display:swap;src:url(data:font/woff2;base64,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) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Roboto;font-style:italic;font-weight:400;font-display:swap;src:url(data:font/woff2;base64,d09GMgABAAAAAByUAA4AAAAANagAABw8AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGmobllYcNgZgAIIEEQwKw3y2PwuCEAABNgIkA4QcBCAFgwoHIBvkLKOipNV2jiiCjQMF4peCvzqwwRj5aGHyaBhljLHOdnTs2BiTuV25u1Hu0SDvNTVqKC5bf7FJY/2tfvWUhxyhsU9yefhvf/C/596ZO/MENLIS7fkLWag/SRVe3dEZrMT5e53l+5IMzCtYQMlmeYFA9gLZC4DVXbgFmj6TOlVKwipFmaK64Wlu/+5ueYNtbESZjQXaZAxjCCpRNoKjU6Id+aFFMKYyaoQxYtAywMYxqhTQ/vBPdI/vedmZTYC+6udyoVIBzj3aX1+exrsHsGWqXShK7WrWx5UudbrMrsCMRWlnesTTrfK6WAaWgf9eG2zfRQtUtE5SVEBVcvpT/E3C9vzUkmry11e6UhpapxbAcjihCQ9h0pP85adnbZG95a9SXK7putfXuvdKSmuEBK3SrxW0G+IsC2qNBweGwAAA72iOhQUwFtv+RXfa4Civ8G7GmqvL12C2mdRFYfNNEQkiEkQGCUf/fQ3XR7QxxALR33neIsGoATgNo+Tnh8SQEAYDadAAadICadMF6dED6TMAGTIEmbYAWbIB2fIAQTBgNDAaAhIwUlANYu/+nhEI//XZ3YTwvzvlDQj/t9vfhjB07cLuNmghakaABHRAR+8TEKsSkPJSBLB9SgfNQbNsb65Ft/i3F+VVc22uDZ3drmVx0HTFEzceQoeaob2ub5N1b1Wv1u1zTauP629yC/koi6cUl8nPYD04sq1Xx/dt4S2hvWjdbbkJrb/N53Dytwms3YYAtvGISlYGi22i7hA3SiY8i7pqqDGbIjPCHmuAp/1ZRIhXIMtKvrugCkXk9foEJQb0jPh64OmxaDhwTnywcUbLvY2vnhErvnsQ395nLAGmiDZn7yaGCNUYl3ViPFFTqJ893pqiIh5uSgw3rSisulmk17dQxZQR+Z7mNlqqTeZpidXQ0hYH4nkdBYLwB0E93DvRZtCh3/p7g+hL+3jEJQ6YFS8EbDsuhWcrNCDB4hD0jl/gEcvYD2uI7fkNjSXo+Fnj05VQxjZL/f+VHl1rHAL7rkBT7Ro6mLJOtbs7JCSxzfLXS4kiEsRUM1WWJyUl/+8SfW/2q9rjgV7PhUmKT0BQSFhEVExcQg0SjVGrTr0GjZo0a9GqDYuTwStq16Vbrz79ho0YN2HGnHmLlghKlq1Zt2FLRdWOXfsOHDlx6todL19vhHoj1jKyOUwijQmx9Um2IJ3zmfrkkEchzyfQzp2GLvSin0eQLTSn0hvVlu0BB5sfNe64BacVXzFf13xvWQ/1k/DVKGSbNibAN6wCd2gvuGaVhPGDjYv1Ddk8pkmNtUn2dWR6CR1XjKsaH1v60ATd2HzhH6QBWqEqH2VU45V06zzHIMsdlh+mVeKNGW8zV3Cwh4Yp+Poq0IpQJkxcUxmyJZivBEfF/bvuyF5ktMbL1KmHowzDGdQzqFsoMI2l5yb/Mhy9LA2+CR1NGqYhUCjRFHKn/JAZW/xalh4YzWKBxoQ8jTYiVnEN35lsSrZpwyyAKxpX++ShUTdGMIoRiDCqRpmDcwNmcjMYcQyEmRFiVDZ/aIkJ28KseV6yRemKM4Yc8igwr3C7oZO7gF70Y4T3gAM+vgOnuMI94+PmZUetuOaUwDE2Zk4HmrsbIVEc8hCwm+434zDzCXC3uQpXuWxPZHAMx3AlOy5wMOjk/BGFE1zjTsTHqH/mB9zByQDlHbBCQBusqViRUrrohyFjtZv5kHGCuxUSXAtQ0mxLhpEctVyUr3MWwlcH09pQfHQtmWiPNdJru8CD9kiqQT0NG+iNsW7FRCPw2zGNNU/tdkqcSUVaa5hbBjO/75gu8dU7DFlflR8IbyxrohMwUSYcM2YyfO2kPFiGi0UJNBi18mfmjmA8QwCC4YMAOwPO+hFPiTJUDYs2V41MK5i3OZAIBNpsvhVpedleOyz2oq1iJRXfL/2LpkfvwuRy9K7MR25PPozoePJNbP4ACRCYKAfRGJmbBtGUZw4mYtzCMChq8m46zauZSs+5UGBGkFNqgTF0ipgsCRhPTUlFRAL0xHSkNCRRmqR5UXlUGJ9yI1gVNIhGlYOubXpAL6Pl1Tg13AYp0moAAEiytlk0oPszgSjqxAopBXE8iBWIhFLtlecRCdGuV5Z217mwciu/8r/cDzy2xeqR+3xjSiIC5bFyEKR59x+2/9jyC4AOXmBkSg789rcDynw/A3gH4OI7qwNe6GlA3lw4vLz+o0Mvk32he5vwv0yM2lRgeUnel3WyWbbJyfnpAnOskhFLs0rWzYyclDnvjH+JbEFb/dP6549hLSiG158G7v60u0zzmeE3y3Z/5OcltVUQVhLhPUfD7wNWrVpUI4Joc52QKCnoXuD0diWlpO3JyMrJ21cQCfPBxeC74MHYesiZcxcuZfdxo67cuzYG5fRBLFZ5hQdsaaz10GHqR2DszyDdANJRhnOFu/VI9ACmFT2CTXuPlpoPxG2CT4U9Ag8as699fI2AYrsvpXgBkqkG5R4daD1fFKDBHDi2tCNIOGhSIQlQ2KfS3Ge3TjCQKCl1i5CGAgtYnBuj98X5HTnNToAg+PPbBadQNYUksig3QEkJJ0lD1LqglfNxpx7X+TJjEqihDJtmXh++5rmF84nyF84lHnshMJZg2x1FHt8ZGDEi+1H9AVtVbjA0bityQi5j80dWNoc7TlT9P559D+CMOVJ5K4QwWZBZYk/5opa90NBvwJ2ngFH5MbrmhNHmxy0VQs9IUYSmy4u4WUJpGOKY+1M1laVT+WqVbNCX5Y9/G8O2qZjconuBk+uey0/7AU5OyNHADjXwBTfnYWEOigvIUED/iQIvB1bY3zghjd1CWGtPPhNKHG5oPb4tkSwLR0w2XjmjHvvhaWWOHHp2UwqMSadTsdRiBxEfWHjTBzk///7VfmNtjHwn6dXhHeLooL/5i2UNp1/Pss2IViOFleEbVasODTurQba/4ohhk0stUgGTsJserYfZyyuxUD8Mb1jpJQIbS/u6/kWY4KlvfGIUvBhQvIeSWZybh8IUJKM4y6hz+ZpJw34lKTKwWc4XBwrP6mc4Bf5ErLFkUtiigesa8L7RwBw6UDc/BLnuwfODrKmg0ySAa+3QF8uNh71Pnw8VNU6lY+vDUSLPBdAFOxRRvEWtpezH+LFPmF2+KXkgkhCioAUHQ9pndnp21MDWYJ02UC1BVCvFcWBzMnWa9Ao7ocgZFMSwCbyA8xijQp4wvzQn5LfP4diNz1UVyN0vY0kkZd4dp7tFjs4NMou4+Ja4MDxCk0d4MfgZQ9nAd2HyHxIuZ5QH/yVb/U1I8bFZMMxovqxotGJ/fb+AK+r5CnFWitF5bPrIV4tZuxJdD6b8zFdy6wP9SPfOBzB4Nw8Vb/3jbd+XZ7OCWr1I/kkgHPhfymTnrj5Z4uSMQMrvD+2H35Jcpy7mOUhkZg46bVeNx7IslIKMLg7e0fM/QWQJjdD8MMIGj7hTDOo5RVB1BXLSYCGcXhCUpRR46DOyHPmRYI83G5+MnTBnONsUpiAp4COMFMHCkKIZAe9gCzY08X37u2c4noW6RHqsTS/dHM70fiBaUQjTbaMOV86y340qD2RUV4WcXH8HEfKY6ki10byVWCuEyMiyNx9vom+1ZJtx313Tr3QyS/oQrPmg/sqIP0HeNdN9tXWsaTH7cM3jxKVVX3HDGtEHjOJ0JXbam7ybiSqYtn0fcXX0qKDzp0M22iHXDiYoF/eoNOa5Dcdi0ZjfXfPi24ETZnsbrSFypmCWFyMWz6sFkTSFxkKiWVZm0ls8RvhkbZFbOoRCGRHuZPvyklU/o44qKxMBL7Vv5ArHDLCve0pS7xbyh90IP453DoWDbzSQV1UQD09R1e2lzlCjpCtHmFl2c80jP/2FkmDRIrI23CYtVAdZYEextEdF0UiRTC1Wyhu/KLa6modmMTf46cW5/NPi129KA2pRTVTD1vHDr2QfQ5ji4wQ1LlGfHs8s8Yl7d9v5AMvhI06XABYvFarjuUDyEhcg0OXo/SyLgCN9/qYtfoL9HpwSGpZTe1ph2LsUHKcMcMrB8KdWyWdSvcvX7LbYVhNcyPw14+LWMivSdhBdnUz2k/S4FeaB7Moig6DHIWQ3iWs3bwRg1gDQKdW7Q6SNH8FGwoLA2/PYJMQcNaF67dVz8cVhOpEFgBPzJPaPyEH1mL8bN/+RuYe1wFYnvI1D2JiW7IMPwUm4wNESaVPKCaMMcHyUchsY/Y7At949v/XrDvWUAU79TbeWWgPA8FaVB46MNVOBLuOVu+jLXUgT0jdMes1DvW4n3IZ8kQcFtGCwrlDYeFZs4BT9+GP8b8Wxymc394GN5zmU5cId/MIf+g7lcNrTYIf23SSqdoEly3a30ncLMOh34c4gj5/YLKy3hkPBGtb5HFYbIkRW1hKWkasHtEJlHC8/KaKK2Vh++ttUJAJ5w47cKzUBq2Nfsz8lIfWYn4rbV+kBwPKo/VHNHRoDoqV5arNU7/aFpVO5WiDzdSY1muIbkRGEXACgb4DWTJah8fi/Ac1KuTpgR1FY2e5J1fdnhP2QKld1UnPcoK0XbKx8n9C5pQtwbypvT4spRRKgZxx8OLFC/sVYPSCdJ9pau1pDl6AEa4oJFxCsQ1I6GDehMoTHJxdayGGMZQeo/bFMKIupZrz1czSo4N4g2ROMLjiCb3QBIt4gJTKk5ucQRZGhcCnSMECogtVx6uiZ11Ip4V1hSB4SlXrFQstu0AWid92GS3NVsiXBaUqAaykQV5L4xyq33u1rVyFXXEZqocu5QMHxmISQR88ozguHNDSkKKn6fSEKmRLLvLVK5PivfZ17yTzRSx7YFm4aBb1MvPSXnC5Dy03/fy4+HomEXiVa/pBII99nk+ZThvVccFpED+9YR9gSZltfaSK74y+akrx9Yh2RWPi1SLYKnD4gTy+OwXeE+sE8xMHXlsil6rwvAnTviMQ6JBt59AnzinKRizmb4pJ1FclB3DKscCcSc5FIuP4tqN9Mvh2zh6c6Z45vwCV8ryqFiqDOOiT9OYAY15wsoMuQ1r5Zor7E5aCdVvK1+7IzsW5YR6/0VlNXuAIa5iNZleAi65aTPZTIBAtPtsR8froOr9D8LFUl9VPjrlXJd6CQKk/f0bZ983wErg9W16NS0kfPI/7n9lmr+5EqNzUAyRJLyZyvve3kvTzRlwf5uyVzRYt1lH11ol4BUPoOJvZvyQNiLol/jAsONQ+R/MtTghBfKCUZ8k4BuORgRBeYnyOpA/10WhlZhtZAGeA4AVb9GVeDCPiV7gOmJbRf51sL93vAA9DCIrVLqn/D3DcEZd+DanLJCZIR0UnhkB9cusenVH3jVKVcA2DgVs5n0BboOodNxt42rh7Tvq9+c6cvPPml1+Hux+QHw48wK3/aYBWlnI0Yhec7sLfUG0McLsKZmJacAxXg/BjH/pAe6MCOLFCbaJ07vo8qkbfQFrx2rc04uX9Btg4xlspmhGHvT+xEpD0THnx543DaAMS9LJaKJPsFpnoiQH7paPUtT941O1XQCxY/kuuoLdtmJ+RZ2dU7+fxNqJ/73wrVB7FNKdRA8i3/SH8EmDXTAIOTvb0M+oy8mZbtM2xpMGrFa3uQGC5nrsOx8Ksdga/qyVto8Uq5+oC+wqmGZejVdUivLBN6dtK54ZTzS6BXQiszfH4YDIEZEbWR0rJtaUopwmfpA4WLNhsNQHxTLjVU0sMvyg8BZnZOvJOOy6eceBfg61B3mWMA3SQ1z4y8hV6rGYw8gyUcPT7eWlZ2u8QEBmcycu6w61nsTJj9fWsYeqykj+hVcsuLd8srZcxrSrXG/PtHsLX/UFp9uKSXxJ20kCAoAKqLprvUAinuruE+6D1m4SOlktqPspx3W1fgXdCwe3zc9QyoB/k2QaivBXj31BQ/RBuK2HTulhElUNI9JCQV8xBgOTBs5rxqeFUJaabazq/PUL8MMM9zKAJl///FT5SFqkuIlsuxFlI5KpH4EvHO/2X8Ex6ACIc1YcYjuw81MlKee/tATydl2BewDtr2akedaOd2CsDJiDUqbHjqniuBki11v1Z6c0YpWL/1ddU2ftlM+h0SJY9S+IyilF2AqO7o4uwRb5CtzhotIPURl66t5cFgJfk7UXxtTS0MluRbZRqLxKU4QB/LjZM/kpJ+bbU8aY2Cczoc+B1wuchRbYM+QAPTskKjlnrDVry2u1xxN5wPDx/2rwLruJw77DGyjNlCHzGSgrFJAtb2I8e3Vki8ulJ4wvoy49MTQnU4hs7mh8E7MDlKrae2bV2cVDwa8gkjFgTINVq+r1RwsCZKqBDRZwtZ2FWaGv9YL1iepfR9BPu6caVx2fFIBWYGr/r3AFDK3RGlCNdk9CUhCRh+kUp5HdgzdgL/ARsLd/l7zuBSsW6GnPdaeVou+/xhIfLzn+QL0FgvnQV/Krh6mMLtvuUP44+Yld26vuulhnxhCTySndpae9XTkar9vNtuR6+0ooFSPQcXZnuD9u/F5qJvFL/wHH9EHjic/AeymjPB9v6/PhAn4PwwKXLrmqXtG3sxEdDLuAuLlISTxltNt5Z8VXGVvrde3iWdaGPoGaOvc7qv+nRp2aPMrECYW66Y5gKfg8O8c25A0XBdl0KrJDug0hsBKiT+sQAgAG9TiLHELMF5MznLYOQsNnms9AW0+P6IzhrgetcKZRD1bE1tYYW0TyAs2Rw1kY6fwS0C0MQqEKP0gioS/1gW2J3q4hT1Z92js+ml6KaiKHNhperJD6onuWeEm+AROOyHhpa2liI4/nIwjDHANR/w8hr4Kjq6vNr9oinYpIlr2sSybpqolpbaPATAvrPvebwpQdfe4oIlFG9DNXkOKGk/H1dAZdCLYuJdYvbLC4brtf0xDOwVz/QOM0+4DBLWYtkcgJizrltDzlCKA3pWOr8T1AClbKDGP8Yj8Y9xCWHErVrERx9TSWChoKEzhtH5FziYmcDliWAKolptHwRaacfeTUkVuqnAkeEmc+PQ14auNNhUqsDOFuuXv+6RlLPdO1DwfZ2D1rjubBZ2jRY2UBLZTRDvrmzWHgO+XEaXaPcsZDOEX8yFXODHRTcVjDi9PHcYgxPiYlt0U3ElSi+2VEh3ARvdGeaQ+hpmD/fCgPFGBhDC6tNKzhAL77Vuw89FRzXMhIzWm1VwGWX6yrog6T8hXIMySea7V6dpKqFaqAOsS/lWgtvwmiCWaioIhMpaFLhq6pLnTq2jNebgRMkEMX3/Tn8ov3NdNyBXHuOi9CIRuqmIyx0NdBgqVFOXBdpVhtG+6z2gp1DdO+ma/ce5B06cNaak5mJvwdFr7RSrgCLm2OccBG/qgnJvzHtBGgYKjpewyXGuvIgAVN00zX6oSE3939eDlz42q+7+DxQiDbUoGy3+1sbrQOmFahUs3Xur1qFIV4nLKPP8dQsEWPNnIQ54WYdmfB43CKL5DCvStIV5nYkk7w7zvlD63YBNz6vtIbYX/XI5IDqElrdZ3wA34CJ7+zqCJ0Ydq75d+ffOoz2YYkTwAX+/HGAdr0fbICzME47KoyRFdjg+6c4TYOayrDG6cbWJiEIaE5i/yGzCBuTg4SFMAPQi7NIwGgHA0GDHNnnTfQYS8V75t5C7mHaxYpsLRpvg5RHnhMRiWkcUqsHpZZr9IvSL8erFPdb8czvMsrGX0Kxf1TX4s0Tj8xYmyAZwyvk7uArFO4FdlbUyh+H4rFokE0nqplUS6Gtl7jfVpiF7DOlrk8n7Yze+IdBlGEepsWlwCeL1lOCA4Upurs1TYOetfczd//5kwWKILZRzR9G2ApAdw+932VyHBZjebbKzO9dAu1UGMWWI4CN0v/yGa6g14oN5WqryMEGRHUZO96gEGo7H9LL/gWJMw0NCEiFrsbGxHd1UoMNwk/M4MN7Umwn0aQXm0piI7sHTrqugDMXeRC+gBhaWVhhwIV+km8HVy8l/o+kRIVFbVWBFFLmXxejgr5fH3JCwXMC0vPgX7JFu3KeCj8+qQdhQSietxoPP9WxlGFBjU/381EONsYr37q4p564r38NPojXpbtY/5VB50sGsGA30deQRHKf7/1RKM+fZcbPHQPVgwWTL+iZOqh2vBO7JOUyFeCa6iZ2I5L4ipRCY1OKel+lIApL/kpSMP08u6G81eIm3N3Q2gEzg645UGyXUnoDNi4LNoZs3Je3W8a+8lBN6Srh7VlKaOWczln229HkONsY/c42vHx/O61xCYi6F/PivnTc6CFT7vGTyeAYPT2VsCqctEr2Taxcdo+AwuPv2jTZsQD0gRsSmhEDRUHWYpBs9rd047ZDhOoUQ6VU0TXz23S4ejgYjdzxacYE8QAj5L2MDwgsBEyG2ULa7nHU5IDuF3xdcvgZHQnXRFsuSGRq07MSViehY5AHS8eFBGYCuuYXaInFw3ZDsyx02iBbO3SMKqL0ivrMi8CwJA4r30qWKqJ0lmn83/+7LxufUN+CHkcP7HuXyaYP2ew0K+ktPpamLbe9sfrHO4XEjYEtJgMrxQGl3t5UHqJxPa9LscGSgW0pG2FiuZgd5MpgyRAqX4SSVUpGp+5FNWqIQdhGxeIRIvFHCrG4opZIqlXhJqZVYaZRW6cUQ2JW+wpfNKbOyKLvYSBkSh1dVsanTTzH7UlZljFxlbedWxbSLMjXtozEDuzUM/YHgXaR71KKEqkq7DBXfpy2MR/73rWbis1r9L34CtoD8aiXKg/xi1dQJulRekf39iD6Vx/gY1lahv1zFHVlQDlYV799g1atSPJmVH3Edz3hxBe569cpyQ1WqDG/zzHJn61ETK1k+jI9u8uGX4j6a5lcR+MatEf0hNKzKrm/y9GRzfNPnS2YaZkNprrMmZ10+E0PfBfyvjV/y5fHZfCz4oP81+1wrrUg/+D1lFtXUqcoMNEjf9BaV0b1dWkL6W0QDoPgHTpSZuEp5V2du1Sxpxg4MIMc3YRYCukUTn7Lf02OjOfGbVKEBwLs/6vYCPk9nvvjd8u8PonFjwchgAAnU6/5nACOmSjP/33wHQK9bbvXAuafkJNLvoMyMJzOMXTn7w8oHT8G+tuqcM+T5B+zt7ZbZOpoFVKfCN/iHEcKXq5+zlvrZin9m0c9oSI8XfpxiaFDUEQf/VEXJ0fdv5+OPtII6Vgmfz8hvqsJ+8OnqOP5YRufnpvy18u2myM28hv0SsW+ZeDglQpsiv9HRPtPev3jTWyW7Vn6sFnLvBLmd83Jf4GdS0+rYv791zp+YnHOK44M5Rsipjfj9EyXnD99EoOc4eiKjbTswE47+yzh8C1uuZ4rqg2s6uwz09RCcD8YuVWcNTlU1XJvcbBxNw+Dx5r6bF69v7ZRdQSc2NdJ4ggQ/2FxfvAJWql6fEhG0Gq9nsSaonu6B7IUhefSlFPyEjTqgnnQPmuh0gD9RVETvOlkIAXVCPVEP1BUhIKs+F0S1PvfNmTN7fVs/4A2zMSJVvF1OYCbpR2yW4VAeAZwHtGsRpTlguXXGPTocdyWuFQl7w+I+912r2oif5T9p4ORga1as2udVh1FL3V7tKq7Zm8o37rRNQHG2wWbvkFv2VFO2x2bXYZgSqjEVS4Z97jSzaHP4SGH/SO+UsRizZw2ynQnUmnrN2ISPbOaFSCI30qo2NKkjpqSLqhZNGeXX7lpBJ2Xb6Xmv4R5L8vhPLgmPTJHFwEEsg7i+2i0AAAA=) format("woff2");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Roboto;font-style:italic;font-weight:400;font-display:swap;src:url(data:font/woff2;base64,d09GMgABAAAAAAMwAA4AAAAABZgAAALdAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGiYbIBw2BmAANBEMCoI4ghsLEAABNgIkAxwEIAWDCgcgG3YEyI7DdHsjE9IUV+CFDh74vPL9/MmgO0un0soqjWt7En2kQoCMtXsRxyxkMqP9iO6NfSiUaLJuoRIKnhI0+ImbcWOB5XOAFVmCgxZQQmuBJRhZtsUCXm/492Dyuk2YZJdkdApZeOzyEQgKOwDgRjASBEEBVmAlgACtOHEhpjLyyrACMAB0vaLa6cAw5bc5bvhA2uwO7zXAyKPmkYNnAJgBxLEMDxFLqVBPI6EQ/daTr/QOAgfCngRoZc4UZiL623qCkf/oHVsfRCOuAIbJyF4ajQQKQLmQhNBAA4aygH9b19Xw4iAC8DkKM6WrYw/ABMAOWEAamA7sgBWACgAUSlc3SCmlc95o45idYD92Qt/+5gF19v3FALtB9+7dq/h6/Ljyu/zzYfnngwdlHxO+k39nOcO/e7nPf2vCoo3HVlmNTdnWwW3JZffuVU6cQX14kb3qUGOOJ+mjP9iMeb1Nivq5gXpJUWm+cmVK56e6PjI2uce23hHlG48vyDvym5/5q+wbkjq90rN+z53D6zXqmVUPVshZoVtrZgc4vleS1NNrni6VR8I/vTrpzpPwu1+1Pel4xBIzK16W3KcLNnVGl2RGZHbPXBAvhw4M02Ci/t0BBfw/p79XS9V7CKAMF0++DK9rtI/7MXvGATjz0TEA4K4oef476t9dS555BAoLBYCA6ei/FSzVgvg/cIR45gpTaLWeLiB+oa4xJuTks7r7/xwCmCzlpoJKALCDQmkyEsCsN0mELUADghGsGgAF6c9IXkabDYyqg6WMkZd9z7BT5gaphhhqnOH66aOvkTQhggQLpsk0xBB9DNSLJttgPQTQJBtoIE0JEY2wb+1lhF6GG62XngKUGKLFECMNkW2kZgP10+M31GZUwfojwkU0uAcQkISKFNtqGMlau3vIjjRUjMANjYkDNKeouYh7CRBmuD4CHQgHG6GXET8oT7ZU6QqUStddiABBJPSv6P315AAA) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Roboto;font-style:italic;font-weight:400;font-display:swap;src:url(data:font/woff2;base64,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) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Roboto;font-style:italic;font-weight:400;font-display:swap;src:url(data:font/woff2;base64,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) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Roboto;font-style:italic;font-weight:400;font-display:swap;src:url(data:font/woff2;base64,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) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Roboto;font-style:italic;font-weight:400;font-display:swap;src:url(data:font/woff2;base64,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) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto;font-style:italic;font-weight:500;font-display:swap;src:url(data:font/woff2;base64,d09GMgABAAAAAC6UAA4AAAAAVOgAAC47AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGoFOG5JCHDYGYACCWBEMCoGAEOheC4NaAAE2AiQDhzAEIAWDMgcgG2NGs6Ks7ponijIxGo+oHN0g+C8TOLkK6xAJI1V1fGp1NOoKtBcNQ+jK0/er5q85h4SzDEe8WLZfkSCOKOEITU4Rnwd6/3g7TyHQ0ahSi1ij2km3cPl5j2i//ezdvQweIILwKJNIxSZSouqRPuABEiJISCk2KYoooFKC/ZUwC/MrBigqYIMNz/939Pm7u86tem1ZIQhQMCsagWEmDYB/wBl/nXv9mXnbGcl/vRQgh+vj1yfc3Xsjzc9+r81LDpG/Dlu7aO44XHSHWLKkMYSgi4w036noBt5siPv/4ttPlSYdky5YSNTTjNX9XX/aofghnitDBSjj/2ya7Y53NtFmjxRiBbFofF2Imi5Fs/tHHu/saAUr3T2BQTK8M11Ox3pySFbgALAMVUCV5ZAOAeoAlemSorqmTdvlHOKi7UKQu3lApxxKe2sPD5glEhX1Wqo4k044REC6Hp9eYy39Z057lYxgww1R3lPsIWJzuLs4REiDPBFxfKciGLYzdk/6O6hkCTOIDQeII0eIK3eIJy84fwGQMOGQSJEQiThIshSITDpknWxInjxIgWJIuQpIlSrINtsgu+yCVKuF1KuH7LEH0uwgpE07pNMw5JVXkFFvIGM+QBAMKAVUgUE8+QAREAElaFiI6PN+yBhaH3urltD6en7uYlq/GmuW0YIWf161DBfCJgSIgBiI8WWDsDjTyQME0C6z4pPLw05/Sd2ws88bKytSlWk5PDBBmTZYN0qHIz7JTyHX37xFzmVhjGbRrNLkx30Twb6A67BsPwIUiYt2I4/vjJASwuuO4AEKuZpbdZRKxD9k9R3qUN+D8BKMlKy0t/vt4LjZkkoA7qb8Hu2VDuczdfMZesyFT876DROd0XtDyNa7n/NuvrPcffgyasLXYQqQKrBpeEjwErXxUVKPHwGJTcFzfe3RWJWk/R1XYTlW+H2RKEPoYEforOi1pD5tx8UF4WivNZdgZotEb8UP+GXe0jI29OyOJOh1mkFzHPXzeEbhWhqvU4AV7iszFu62l/bud2h3rxmll4VW9j09wq+Q3JeVEwue/Y9miqphgxuKggLVkm4th2AwU80Zetd2FmluxzKQujRc7ekuLM67R/QstYIdB8HhqjJClJj+blIpChQqVhaW/ggedFiHTl26HdWj1zHHndPnksuuu+mW2+646577nnhu2IhRb1GY9THXPhVbFZmdsLWfbO8XdfWCZHcCWUZHZHZUVkdU9bVtfaW2I+hiu0FGI2W2UFajZPeZ4n5R1S7belVtW9X1MjKzfubar2L72dZ+tb1f1fUzmtg+lNl7svpAdi8o7ltVWLZhqusD9f0Cqe0LJGb9xLWfxfaDrf2uruMwsR0nZKJx7E3BfSY6xJLogmb2new+Udn/7O6wWjyIYz/jM+v6HIri6lOjaENljtgejaPGymxZrXnHosUr7huVjbO1W23vEbubpRZHXaswAmxoEiVnuymjb2V1WFXv2JZVv9xGfkeowJPvW3QYySE2kiA7xBRWyvez0CffkT4KRnREQnqTHkJn1m6Ovcu1l8ViBtWxkSC6zq4DuoY+mkvMqPfsa36gHtkR7eb0+pxy2n/OmpX5qq7EGFpKGgIrYOzg7PE5oAlGEYYlHEcEuih0MeikWFJwFEPK8JRjqcBxAN9BNIexHcHVjqEDTReWbhw9ML3IjsEcR3YKyemkyjupY2QsfTguQS7DXYe7ieIWkdto7hC5i+YekftonmB6Ts4wnlcII4RGyXmb9CXbB2H+OpkzRmCjwEiFus/sT7JVAmOgFaukCoigi2Flca+zVQqL6YJ2WCkZNoJaN7SpIPkp4CfIKXUxDQVlJEO+dOY8Sp0Iu4XsDAwBXeeq46FcOqUYNoFk8iSRlKQlqohiUczFmVTMLsxMPkl3Pn1DAtmRMQRR3W5Z8o2oicdQF2kF0P/D8P5QOmMEG/4BzDs1z6AKnQSkPaaz2VXhZiwbr4QVunYi6sMa+H68CFg6K0nJTFE2Z09a05FTuZmHeZnvg7JyI+gM6YyEJznrUpKtaUxbunM6t/IorzI1WFa+M+Q9Anl3AXmXQV4fyBsBeS9BXgUQEQONgE7MgUnALGAfcAC4AnRnZsR+zWyDCQkXHbdq4csvju74tUBBgmPbSIjQUDOpNodEiBQl2ltj4WXKTzzVrsMrWbK98PKwZDlyrZdng3wFNvrfM4WKFPvPmdDTcb8BJTalbR96pDR0vfs771V67IMGewwkiQoLQVln8l++5Ohn4EdQ5jyo+Rukm0D83tGA3YMuKEnETKySUHc4Rdr8WbUUNF2GcEgpKY2oa1JRQ2gpjRnOKGUKCQ6EnDqcApAKRAcpMb2kacV9d8NZnXhjIUQsgRVEJNeGodi+QwZaXvo8hu86hsMNxZEPBiUiU0kT0jIsVbQxz3U5Wk2YftM1DfI5mqH3Mc+GbKiBHKiFfEXd/O2Y4AOepjlu6AXOF+INaaCesiyIF2qakUvq/PqwzchNojC0bcvKksNeuOOkkdfxkmXxevpzVhQmUgz2vi3D0Nd11+TZoZjF5kONqtaN5Hmu9SflxmnRK+fTVC+SgVphRvKuKAq4hkkPzj+1MUYbJ5MnJowMkDJ4IvIhmEdZoL2Epl2JeOZryGIAMJLE05SAntMFXqOdzZUUcIqfl6Xpz3DFcEjeSYSvdlFvenBEnSqgq4lnXVd/ralhVf2u69+urgpkrs83u72NkeUJGv58+3h0QQtiQqCUrr20sRnkANu+Jx9aQZi9j2nNtePuSAHeP8WGNZm0DkwNC5iyxN7YbXBYnLW88Sg5lY6IineotgSfx7Sx5fPtnbsnRyqQY6mhqwDkrKkBPxSsTQ2DBJ6sU5lZ3830uATWVr2KravL2z8tv0aZJUcMQuE9f7Af35cGdh8hvocrcoLpTImaZLiMzjp7jh5bZYi2W4OcS5lhwGy9p2vBmX36/kbmR3Pzsooqx8zJ4VeBU3wvZGq7LeyQyYufMh4HsvseegOjjhlMv8ejWICSuzbIGYp/Sil4HJMqru0MwUCsdbG0DnJ04b+wwvQLFkGJN4ZmiV8bpwtTr7ta9QnX7bOdGZGvw4p+0g4CEkaFdb3CxED9eAEGwmIE2gvgqtOHdDA+ZjMNGcW+btlhAa7CHYqJqaDhkIDfEGGuXZkPtQl9+x/7B0xbeSoYxuENj5x+Z8BrQREYaUOe7lqZ4eI667EYLwwA9Fp/ePU/t4a8MAlAwOFN9UWt6CjY9Lik4D3x5v55OnYDJYpay6aX8s0IfHMEXkDOi9FYAWlOTsIaSMPklvdnZRcsrSJXYaj0an0Jrh4q1I4WxUpawINs1ifbDLqwhv2Uo7DxuEnVmmujMTsVmpDVWR+iu7oJFgPDoNzAJ9vUkdLXxlW8p42vYdB74VAFAqSkKXBKRiFYC3iC1J4/lmHN5EWYCbZIDSjcHIYsphDj76hdnFyapW7b307jGyEm67ZBqnDOBPVmAbvQnwMdfqBZ6uo+06id6tPX9+IV7Lcpo/FZMfev0RZJEq2dq0AihXaCT1p7q7MXV9Qxi/Biqe2uIOCb25vv9Tmf9/U+VFA3U+enn+sBUi/tuVZ5quaUxutWADFKByJJq8CWuoDRDDT55m/Zw05mkHcoEDxE2aBlx1xog009drVNUMBiENsdAXJesywU4qY8fw1WTFOW36dw5vPdEq8G4ZOfFN4LgY9qTWzMOzpd9/p0xrQl8YLhrog5RPv6VDBjk2tlExwcozt7ygo+RZa3VTrByYsWGwojE2j41EW7bs8P00IwtfRJJu6uatron9KDVbxbJj29IQ/Ay6gXCGq8YipggFDG5AmTyawYKLgA7QvWPp+yxzKC/1Ef9P8pb7Q7RMwXNTmc/e23HWzIL7jauiWdDmbCxEUrHzG31kia/aqz3RIPr/ANyO7i2VpQRc4lUqV32ZLoIyXnwKPHJLYTITsxJVZ+MOPQKt/wb6uHnOetIG3ggiGbQrNsLkMZt2VvTlVPuo/yyMxutVvEfukfEvFARHJGMpRbufW81GMGoWAFInWk8zAE06JPgs0DI63mPkshgC33W+7KN+nkphTcbc5QOhsa1Lw61+SG29Iy9asb67ZV27fIJ3p7T9CiUxFGrmIkXZPtVgCNwSPyZMh6WHEXb6p52LK7pdu5ZvUzPb/qenmrXzR3L6VTNijMxKKuKOhJHtHwKbFksiQMdmtKTtGhVT5A1sqMNNTXXl1TgyVgcHBA5cW+PH9J2etIRLGaowwqTgb/Xcc0D/RT795ZkiUqVgzVedeekCqf3lPggrW4YtaZ8OyKfH5pqDXa7NmDSkuYJy8O1tDnNYMj+4ytVzdytExD4vqypL/5FrV1PvW+3ad07UicjWg+K0RC+BCdLpk8tlXV/9j3eVMZ1zA5pZlzUAmwMMBnHHBCEJpcMe3Sa9vi4QxFn2GdBe8GJ710o32qySr7e7UaOwbGF6nPTYpU6cXHY76/xtB75hCJxgJRvusKG7Sa/MwOsWsHBDDCYit7KMimKD+OC3gqeXfmyKzQST5NJuPZKyGolq7ABja2dNMgIFkwm0vhpgRk5sIuPBqn4WMCiLKM3hjhgP6OChdvbtr9hUUuUXtDoKrUe9dF05KprmGdjo3awku1picsCubMAGvYrEMyq7CpKnoKTcqnbXuTP9h0/d/XwiSTpjwMH9pNZcTeuDCRfON2rjQwX3gyN/8RBU1uTI/GhqVrAYYgPfdM4fohVek21nmbG8LlVKPXpPxVjBTEHYM0xwDuVUU/2g23POPRbRxBG/Pp1q3UpIo4FTGdeKQnJQnB73YHW6ZAEn7c3H2v6NNzcPPbjOdCXMXCj0K//D4IPxWKiXEGDHlcZ0OUAqD6mVmQLdaUHQmw2KAP9gnvPKWkqoylP95SOm0MxAf+PcQZPCBQ8CtvOtiIDy1pWb4h2m8+8v6kMOhtoptfs09aUwqJryku13H9LXZA8a4ztLbGMep9xjQAznIJXswSVBhzETIf6bhTKJvMFECHFMWm35YPNBCy32N9rj6FFRufhu6YWIOooWabJ3M0Gs49D6TO83hkAJAovHwr2UdG+uu9OAosQYE4UGxyndPqZ8k0bgwpNmpPgekdd7UjbnR9zc7nvObOH59Vdof5gv3epxqvndmf8FLsdk7aJ/Iu0lqLkj5ThfpD2CP8D5Uy9p2ozSiVYfuIp181xwQbqZGUqIU9a4O8MRHdaSEsNyi1dDx3QHylnnOhc5f6tT1WVVZQOpVUJEsqmuYMdU7HBspiAqdhwRRnqHMKNEc7WR5+mql+ln2iUx7jeUGaG9d0s74l+FW73L33v3bwElRgDzakT1HqyNlmjjv5MV6HK17hD3FQY0yRshavKmVG+XbVspoUqLGkeP0TshA/LAcf2JGhT3tDO1ZwpwA/TLxgib+B88jICdb2kSnW/pFe9WthMN+wKZM5X+P/5Xf5T4UFwgV6YyYXuSCdOX1TZa56sx/9R7CGIKWMBNuOzy7MrsHL0YlOUjGlTX5wvBqx7LxcBXHrMAckdWFajCNy+Pqd99zTUCd+4Tp3n9sviu98efT8iD1ab3tF43oyFO2JoHtTzO3XwNtrHig/iuc2DHTJxo5boclYKRos851i7xJz67b/+7BpM96B33nR8zzQL80TL8X3fCU9IzPBQllwoIx2Iz8H248HyKIXTHKPwf2ySTklrfhO1DNC/m+R35gNOcuvyheV4OElLrd1sovwYrx5Gn4KyrGbxWEfGFvm8vbXkd8Vl2BX8auaCh9Y0a3UvMx6CdpN5G1Kz7EIeSZBX/edJgVy+sAowZ9u7esKiimDRRWH8Gq0fYh/JuX4RNopew1mZj5WgKILqCnkCe4BmGSrym3YjX+sqMJL0ZXNAT9ZuzmHaiifyrfim9DlysAfzB0fUoiYiFxfLBPb3y88SArNi6wKwXfh3ruNAlgZFHf49/BfqFz9nE+KP3Ym05KFbbpjtB9wPND9KXmu8HvhzJPY1ZInON3kiSVZa9ovTmJ4aE+B8MINEytzfUMry9WLLSxCLGzSM4ytzdUkrjf0+9bcHJaMMusV6+sgLhmiF7gPT7jPNY/svCY+LzXZJSc+z1x6ZaP9hugoj0ywbhSknHYzcjjU9AevRkfbKVtpjUTXm7OIaeepz02VYV5I5s60HeeTQ9ftfuK2Dj0gfNfXFJ/A+0kXWYpDwvJ6VrGsToo80E4jO60lB1ctvrvcqPGEdFOk9p0WkGBbAhlOlY42i+++DcaqihYVHXOJX8IqB84E47zZBGh4ON3AX82XG40R7qz+/To/HztPusRQvC9XuYWRH9sYg+0kaoNW7TFffm01pDQdJEXRW5i2PhRzDycwufCWtvFkdRFegBp253UAUZZh4eB4BnS+z/x6fdFdz0VfGYsugOjbyLNvNP5L2s1zNAJsN46UucN8cS505oMRf2XhrLbzCtUeU9Oef+f9WDH/u8hGNoV/Xz9VebJq9lu3T1Pun3MWEKFhRT7ytNcJ3+By75jf/8RCFcczE27PGPjfcdCZSzs26tbnFI9siGrmkRt4F/Gka8sYmEfYOPmgQmeaBT+jk3QbVA4fhcQCD6pdbpSjP+aLKjxYdpNUyYba/51z0AD+oRWWjJjRDYuq1M4es2Ax2qg54vRnaH4aLVfl9OSLlgaGgteNCa87L9QeWcyZch2bcP1AXa2LSaIqgpTo6gXgZJ7alJAylZBSfzHFXLNAsKhOaSy4PjZ4Kja49FjwEo1ukz/qoJ1il9uYzohlBGYnxaMotDeJG/INqLKKk9MxZWiYmH7IOsG9iaWHLfI/RI5jnNJ6P8JYdQfBmyJnvwAeviEjEuXgfXmshFnnbysY9ID4EtgMdc74t04Z6v/03f/963PM4Audm3qKtX2kPZmuXGVh9JszgHzkrvByyI335n2U27BpJ+w83jCtvMDokHtNf34u0l1FFl0yeZFoHmeRxd8uwsCrmdfKlSyvXnAYH0Ufvyg8dbg85XCFsz54A4l0Y17WQVAKL/gLr/yZ5A5ybi3++019HDt1wbTnBA/loSOb2TJWTFKGBAfzx+SanOIsbBtxY2jJh1+gfm2SEo415Pfm4Jvwjmrxtm+gPWoveI9XYPdyMj5Rd5HSrcvP6AjqDmDPcIygjIBJuOwSrUlmuIm9sPLz0QKH7gmcLWV5t/6lFe9/CZpaUu1aJtLOHr24Re8wZ3qeAiwNn0XYBaZFGtioWmbjTkRM1s4HLtlYB3pyBt/5DlmGerp4Z3jQbYRF+4njoNJeCx4oypZqkehkbWmPpGvYq8aBse1Hz3EkRR12/iVgbGn2zW3Ks/pZ/T0dwcOrufaHnGmj2HcExXeYvOAZaquD5XYzRo/ZJK1JphU2aDR67XoDuMldNvCjSHeqtLNdg29A+0Kleywd9uTMk9tO7mt+vP4xWLwmlE069OzEbHK600w6DexyHJiEFeGZHrSjmRO0pkxXtb5tEDFhJfGTC+1HN5/yTxs5TBqvCbZiZFSR3LC1ohDmBFS+HIIO/GY/tZHegt++NizspBAwa1nAQ/BHWYFMN/qaNT72OIgHy91RdgzH5TlQ4/I7boSshWL8TJnXNHvHfF7DDjRRXoG34beGSd3PgfDzSnPBL5L857mC8kELSk7AVpCOdtK/4bNvcadu4HFoj5eGQ0XLY/wUfvOncJA+QkzTv5Hs5hM29l7mWDheki9IX7DfdAJr7Mn2zi6WWBCWlytcB8sdQkfMpEeUBj+/PIb7oQo7tdUbtpzEW/CuUX6vtH1ibQdubWHqInUjUqT8JGnHZKrfWA6Zr3ZsdMKi0ziSNt+gY2SmaGxyEU7A/c8YLcxexuN+/CXjvFmrcluLscEEXjOzKvab5zxCwSgrie5Jc7CKdCJAycK5GZz1A+x+Eg/xXyT6h+3FzGwn7txc+uIlqA0M0cKZrdn9uXg5099B67Ur6yNegt3OSX9HqsJdWK49kFzmz3aBaZAmV1qOK30bINrxW8Oo51mwT4onfpvkqZYBym2S1avpcXa6Nlu8UV4M32UY6HHFHXdDk7Dz+Asu72IjOF5Y9gQwetmWY9f6P95YsfdbabrGnR85Vp1TTdG29t+gQRSuKzqrJ3LbIfqtudHsJdvI7NWawU/GfMJ9UTw0RPkoqdt9eixuZWuOXeszqB1zv5X+rE3Ovm27kzBb3dbW4TtIglZgGsRjb41FgfqwwRpR+8SYMNzWqWnAh6zNNo1H+L1J0e3FwVOLQzgZntlZRDR2Ns55KsY/Dm2EBqlc4ZLIqcXBc17PegUIvhf3PU1ZcGAARIrts6+9eXCL1fn4YdxwE6fhleA/hZZJxVZ3Jqm8mqnvvaZh3LHZRVogFeYo9f4v6Z+jCjZmQaIGT4kPJolE/ZSkjcp/Nw6MlyHJvCQkPpC3qYsUhR2Oc01nJKCCWTKLnIubzW8ZBAWlFsX6NeGrMbuDTpnF9dHOE48eSoYbOXteCs7ehIkbRiiRt1RT1eIXSCEvTbBRdTaN6SwLx5wmKSuW7hkRJiHUQHxxGorgzuTYFkoK9wUtPnJBdBs5iX15/uQTtKqM4MZwoouW+21PmbfxBCmZKLiws01P2pLHjmNJ0jPWE7tBfFHRorF19y2cayDYNibkDuJQkPCaJNrCS+0ni1VPTMINY4fJ5bS62/6HrPBqop7Z/kBzK8GN5YTkrvapjF60oROPJ3LPVu79FFPuzLQSFI6S9yq3CL8KwFuAIb+FgDfw1XYWVGJD+ZnTlDqy1NTcsij4lMHlMzHqHxnUzNxNPH62/PNBSCKwAwUnhZZG1cT9J8snD0Kw4cHCXrCaw6uvIb5UbsVL8YsVfr85O+QEDbXoS1kVfol4oUB7rH0g8A45RP0zUPIjdow8vU4On/MJKNnRu2DeejxMP81r3L7r6LY0xFV4AP7L89RG4ifZaZ3/oCUBBasHn+2Xqd1anK7Vl8lzMElUcOffpKeavQFoYijl9oHS+k71S8r4S3DgJawZ4GgqrO0DhZR29YsqxChKV9phqLDEk+a+l/hYu1IY2g9y4fuNuhzZZuaMV7uW3cgWyvZavk2+F9Q9rBUSjwL9f79Zq1lDeFNOaZikcUlJPu4oyCfs19onFl4NET/+x2NZJCYuzP5A6saPJywVhhwFubB43Yw35E5yb9wKUcxRAM/CrjPUi4Tougdf+SkXLidRaJ/bXNuqfbdIWag7w/UxO9+Dr/KM+/M+LroWgtaXCTd4COxYyM02yAKPJEoKBetW5H5cUeDkQLH1cLHGArGsTXLFnsIAHbx5E61zlFqssjdZK1knXt3UcDqPnw9ylLgNyXHok6+oxzZUgZ/WmJDKC9wPzEhuYr0fWPfYJpPqE20HmVmqE7PvfhjvInxQub3YYv22DvwgfuST4D91TPVhWaIssB0TDrSQtUbU/+A2uI1JkKszkSjjxqlcfDP7orEmttrSudEaC83kpmoyViBLM48d2DtqsVpVvEa6vkRsajCdxy8Y1WyeXeMj5KTbe0xyA5uBGcFJ3OMP0qHw/4XwflzHY9BeL03HytZH+FnSlV+C/uSR2Nl7XCsAy88RZtW7WO+tXOZyYaazKLcL560GF134Mtx7en7ViQeN8Y8+GkyaxJek9O7U+i/+yK1T468zF+V2yeVCZsp3y+hsxcMtdohfNY+xUCXA/TPxGp+iMka/A2/ONLkSu/pyzqWFKrrYlpSWWPwAgLpswjKuRqt2jtw1+mzS7vrdtUPEIfzmK1LXSniS9JS54snEvn65fbRYcpbnVm+8DoHu8V+H3FP/tI6tOqm581ebe+rfNrr0T5un7E/buPUxmF8/0zYh5UcLaEaqyuUcgfkTPH7cYdB6CmxrQTiSxuFR2htAQArwxKvcOMzQVYQ50Ivsvfi314SIQNnzrVzGSeUmzThnM5CPlHd0dForKjmpUAlaRl8p3omRfuAdH+MlASLSxQPNiqyTo3gtO/QBSSTyjisr3GaH834EchK8EAuKl+R4kXJkIZXikxzphUrkars1258UwZQ7qkBpVLGhYl+Gs8fs8GQBgtal3omRvoAkp8RlA6Uld9uco7KD6ZZ7b7e6TDIHtUxWL17P8V1pYcNd1qaD67vCYtnLdjW7XSscdf9b0pQiTl+zlU76Z+NfQ5DbKrMdugsEsyDI1XzZNl3QiyQp+qB//tNZ30nvfE7XhEqXopIguazOmh04e3r3r7/JhyT/Gn9gW15QebJv1I4NxodmmS+woJvzEpI3xeOG4P1b0Ro5iryL1/qA8ap8l/XJPo7pYcaRaD8KlYagSa7Vk0fAS8oqOoTX4p1PSYNz4i3Ek335SOKf44E24qG5Hq8WpRegpbZqLvlSH4to0xBeMs12D7RabPfubsEnKiUYt2UWoW/4m8Q7NUmyFs1Zz0xmJhRmyPCe+PR3pFVi/FV2UXvkUyX2KCNmiFnM3vcFP6q7uvu9i/I9VkbqllTcH5wiiFnsBR/jzuku4d/5vfGrYNG7PXPHPOPiP3ossCTSY+HfRoOZDrnRsOa+2Q72yHzVwkMv1Lt3z+lytz80/pYT7Lh9h5v6xd1zL4vlusAsLLkjLmmKtX/8mniwLzY8hx6+IuZ84XsF0OcdzrU7NEFrkpWqDaY7dATHd5i85BtqiUFJ4CaLCXRWG/Bh9Ux8cGkA4mS7HAdWiwfdNvCFDj274ttXAK7hqxJVES6NT9vDmPHviyvXF1aGbQ+BiYiJ8++xm7/OdLdd3ZUxr2AXI4ydnrs1Fy8H5ysTtG2yXbQmmahfLSng0Sh/h9y0qs12L74ZjeVufsfZQfVieCq2LZpv6jpMyN9LRNU3VqRT0/0ZFbsP5GL68vs/asjNuS3fVEW5kJ2GbcF7bvN7TGB1vNpjPc0n/U6sGDTTFPtaVj86XL5gpv5LmpvBzVxyG8V4ifpkOVjeFnbjRYYlS/JQBbpVHUzh7pIoPv1CP0OSu7KTr/mXle5IJEZt9MPkXYNa5C7wK3iZ8YPV/r7YOryqj1QvcOLmqN6v31EagnZWcA8EJUkiRE3sPJJXtT2WSJr9HeYYjXuJB5twkhdjoziBtf3NNG3GQ9L5r5cHcUFokT6pNtApHrif3rOLdjRjgtaUsTkee2S6SgRqmp32V2MdGeUtXLP5e0w1AulJ8usOmsgmXOYil8tY9KFR581Dxt3vopv2lyFz0jI2lT+7tFGlvE5U84TXZOwwbuq4EpP4qBnRG414KYJg5gTI8ylZsWtB+/th3DeFxw6Xps9ETm5gfj5Wjp2vP64HwCRP1AHUphRV5XamTb5S3l3q/g5AFqmB2hpHT6vSdzfgt/AxOeIduNJd5EqMQtBxthvNjpVaU7weq8MGbGZfSnFT/RrpR4TQV2OriaS0vGisiBi8YHIT4gWl2K3ikHFBScyc6FPkbU1gigWtXmh7V3Gsm7hCXNZSfseObiW7LMyLXmOLqon1JenZ5iEvJfB1XyBWnm20uQ9ZJTjQrL1dYftaqnTt18F9wj+C5b/MNvOSyiVD+VezqIuNf+P8gWS8tsQGmDJmfEHGWvwPgmP+lfN2jLLq2Ps+T3UtWt2VqlG4hRHKil9blEDqBctaSbb5HaYgJnUmZEsSs6e5mu/kjw9dbkamjnzxxcB5eaqDiVskkhgdjwelHjOngV046wTTKFP+6PULTUtteMp9t9TNhf2uY7bT6IPO98EziH1kWfWKPQpXOAmzL1yxmNd+CO/GP7eG6yqel6s0+4TYfjQ3XlHrzlKsCbttq3z5R998uJBuwR5fNb99OpTlSDPnxG2RgbHRiJv6tfTZR061HVTomGS10wt3XP4l2Ypfwt9+oJz6hofHZ/iiRPxwLieRm5dSmofvhDnHQG+bzF48KFVqPtW7X6HnPbuDvnHHpWlJFXYBf/OecvID4OGSnCC0Fu/M5yRx89M2bcCrYU4vmFnUBggVvXLIUIrfkUZdoxfQy3bf/yet7rjjS+Kh9ehwJVvGTUwsi8GBQnt6SuTVlV499Gdt9SIIEE6xtr/Zm4uqR4cDhd6jwPMh+XHmqUb8nHvFlyRA2ehIOTednZQA09g5kYUdm4RXC/OwWtxHFm8xwbzfvUhHK+lVBbV9PpmJwnnhz4EVjoeRn5QG0s+0YLIGXyWfwuNn8d14113y8fm3E0zCZHgWqrsp7FR3o6BIX6krysEjUkmWEL6OGuGxzot4gdSvV8KOpnRWisLZUWoYqF/XgUnfhtjnKIlb2nYvD1ULaqLmkK2sFtr0b6BW65IBhXPD3wJzBL9f/y/x/3fmANqJ6jsoNXBkTE0cZkusjVt2n8jAnQSOz4DrSHXkVSfNG9mzHXZiW7KIFKoDPTmf/BGpnNkPNzJBibCgjcYApYHvcIa41kypJJzCUiU6TopW6SRXqPJXG+iBygMZLCkrPiFZgmuCysA0jPj8jH2O+4yUaq3snk5xN4iQky24iSvu0Z66WJvvEl60IHE7OOLWC2gOvGxWfMD6QBzKalS678BQJtpMM3d3dkeaoNzHhDPE/Q7aZsI5Yl2UXoIhc52xt8t/oNCo+elSY76LZId28m5YSHJkr6c6rnF0wMBq++uqzfvNF/xgniOCRFfEKYyaobljgrWlzWmM/TYLddSd75ZQWzUIxizhsRP/84oAypkD+GG8/SbvCBjiqf9C+0ze3bi+B3cUXjb3o0irVTpYjsE3rmfco7gsjbiTgBeOMZ8qQSAv8DmwAolA2kCG3XjvbuwQ6r7Gawfvwk5Gqt3CRcY6fSWUNjWCJVIYnhT5VAt2ALXfYHVq/YuVxOxFg4nZsbgjePN435qTO0uv4xlhts5MZNzT0bUyW/VJRirno8kgbuCz5176X7rjxPHvmxbUeYXRBa7CffjnpmQluea5JKXus8pqNYfgWlLp7dybaVmD9qJ3E8r/af+hWVHtmBnlWxOxrejILXjJm+n1HphHaEOlXNYOINp9UGgM2kEkDFPiSfVxA9cicrBy/GpF0DfWNjve7t1/PpdtgYMo3mLVqYBlGzJaz4rq6EFB1Oi4TNDweN2rfj24TKKHFp5FV3e+W0Q6wKX/e330VsBu96gkiHKuDTvYKMGsr+nL1Aak4gFbb66OrnUHyPDiD7QOwl5g9z/MPcqSKVyn/upHLajrGqsdBnY1nspiy5hhNbIibAM6m8ON+Ab0jY399MgarBb9TJCdomVyf+lGOS/QM1/uQYqkFDec44Q3Y/cJygu85yvgAYWJCagc68tgR7Ei8iUFcAbUL4H+q+Iy5dYyWJ7UHpcUImtNxYbn0MJXRMch3wp7IicDZ03CiuvzGPJHb13ciyzQZ7XzlVq5c9rnM2CB0Oax2uA3yY+SMWJzWrn1tOrZabWzT5Yu/jj53LPGFTV8TGmYwvoBc/ZmSVS++rUy65qP4HkbXG5PgN6gTrve8WyvePDSgl8IFmqsvDnviyTc/PWijPMrL7mjF8UXp/D83IL5lqfPBqoEOtVrHvslvwJ/9kjq+miCpXH65SP6clbNODzuLCyT7igVb/9VFPy0PcMwO6ncZO4QM5M5/16yFAyqHu68++D3RTDqQT7mWhEbz5/4URb6L1TO+cRGAC3QBgBtUEb2aAVQgCDcZy6qWO982DLzVcHDBE1NdOwj5wNgHYW0DO9VCC7WV3BfTFWIWGyk4HESSzyG5RRsAM9XiGXYRMGXormQLbq6DFIFD8dUhQjCRgoegukKqR4bKkSPpeoy7Y3t885oQgtti9w61obGmU1h3WAxNvMP/QOb8APDNmHdCK9sItYAwAMhsBQjg1oHaag30b5iDuGN2GITcLgUH5h5RRQ6REQaAGb4SVHsopZjH0qbaTR1U/ucmdMS2X5iZr/ERWYRMrAxcHEH0eiy3kQZc0HLsXbKqHDmKyUmnYf0kAnm9AslNA+UR3Pt8pAXIYNizmfRmxRm/kMY4gtkY+2GWcxqn0YcPpuJz6YrlpcinA+Ux2zt8iiHKuNKeXgdOWhh2RtEbYcCUkOruR7FGQpR004g7gyL9RTYjhl+tFIqlzA1cqZoK9qZttR2R2SG7YysYS6ksKuhNXhxTphrHi4FhrFIViGkeYhF03Pk18A5KihAE8+DWgBzPrNoh01aJHwF2wJGW22gETsoz51GK8AyhduzlAgtLl1mkWcy3Y4vJWJjBT3C8xXsFDZRUFGcxKqKGWmROGpmsdsvtVXK7vhhDz+TCVTan7qz96r2tl3HqOEtvGxIrD9ehSfcbZN9NCnyLJHNkzbfzovp7JF0jS2NGR3vZMk2YjkbkDYqRopCrNxBwUbuSUEguyBIZMlVS7K0V89oPnYOeDoM3qbJOFXeNwWxPJcdhrdf/lTTCt+tp5lkLagBuorK0DlWVxxpIPtp/lfeBlOaZVpANm3/kQ7SPnPbktv3URw3cXw+XzLmMpXbIy1zgej2XGfiIvKuGFb2kcXJtyb9bG9uMXQ6l/EGRy9mjEHcbDrbDIq+Pxo9AoqsmifDU9oP0htHmbhj69u8Jefg1wiefdHiaxTdMJ0407mT40YbpE+OhqV9Hyz7lS3Ejen+nwmUram4dFvNTbESffH7qHQiLUeBqO/Wk7lBG2Rb9geKIB0we7Mmh67FMsf17agd3JKORTuxMKiYNZeZ8LJoxS1tciiaL9G57zJ9FKnH5DWKat/LfX9o7yX8ac+aHrp0Q1y2YBtnxgcgW3TokkFab/rogCLPD4NYZ/+DvrRkSckGOHYb8XRy5wMK1WwEVbCTc1hQkNemmQ+7FtM/l/vtWqcg7lggydkAzb5xu0hHQkDc8PWNZ4otpifL/ium+ADAuz95bwA/PLn9+Wv1/0MvGY8UGBoMIAJFl1wmQPGuLvmGjQforrMb/bV2irCAUQ6IXnbTGHX/KIlMAu2poP28lPEekhYsSlz61OVrB3PB3iwnziyLE2dpjGgj5IuVrrVkfe7Jdae9K9WddekJFR3b4r0LJ65EHE0mK84/nOcwyD+XQDqzSdr6KT225s5BK8/aNuc0lSmmPSW9mgm1E+NC3lMffc7LnsJ26pEgoqynGC/ibOi5GSZOLsX1knucJMfF2Z1H/SgJ2fNYxpna/m3BPKOYj22PbeuO0IrNpbcHCGeQ6PGd8blIHHq4sv5v7/gJSxKT/NWSqsko6qmLj7ywrcJBxHT/5RVDVnltMch/AwrYAIULUGGZnLs6OWmTaOcfxRxfpqQDN6GX8oBO6HhnrM27tUemlU6eEw+beqqo7Xj7p0D8xmnnE8XTQHs24T14dPZVvE0SmdccRqmD0e3JQ6gfF17zwIX0Sx4PJ+OvcKLIz4xZaem3IQoKaYzw8OnAzLmpoJMkvM2hnb8UjxPt7UI8MWxTTjfl/ZTDDFc9Wjaggwnoybynty+y2t1s9kJtQxeacFujrfxU9PlO7fNzlfZOw0h/tSYiy2eTLQOwekx4bfVeHdWeWwdsGzqdp852P9NDUQlQoGpPelhb8mIqzgL+HTxBDwxhD0TBBizgCoTBk3apCYI0qMLbQBFWyk5FgB1Y0S7YgzU1BZqDIniBJ7jX2QVZMEzaN+hsW+JOoB/wpDTgD850aaAhMIdV9dj6J6HXRoVpdDJ0B21BJ5OAgL9sJuKFRORismpYN+TDlIqJgkNpcWAaIF2JzBJ0JYYp40rcXBtzE1eSaDmMyNLdBWXz8AMsJEmWSSpWtBipVBnQo08cqmwkqbo9XuS17SQKp8NWKyje48bMU4gskldGkpJ1FhFgbm9hYRSlRlQ5Dn5yY6VJYCdVqHixwqm7V625l4hQiljgiXiRTjtDppai794UtJcWiYZ0rVQmM6NLxHSm4zojWeitI+lIIhXtZIxESpSSpUCmNexYsOLEnfFFiD4mPTgI30CQiHAGAAA=) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Roboto;font-style:italic;font-weight:500;font-display:swap;src:url(data:font/woff2;base64,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) format("woff2");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Roboto;font-style:italic;font-weight:500;font-display:swap;src:url(data:font/woff2;base64,d09GMgABAAAAAANUAA4AAAAABbwAAAMBAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGiYbIBw2BmAANBEMCoI0ghgLEAABNgIkAxwEIAWDMgcgG5sECK4GbGM62A+KOMNGmZWUwcdhKI9l4Sh/WwYP/3af9w0W4ERa2bOg405uoSptTooGKkF8HniO5b+Iojvye4dReBbNtVHwcLQTG2gBzQfYOqjJ/XYU/jItwgxa4I3czM4Fj9LAAnlHz+dzgSO71Jqn2QML8H66dROj0qAFLYnRhtm0b89/erW/v8l/LA6we9gCizDBtQzSf4EtkcwDT6RtmgYEQXnDKGQslZyX/CkQSFgBAE4ERggEAgmwACwQgADMsONAJKVkFWEBgAJgwMz1NlLWec3G+jtZu+rXO1i7rx/sZi0AEwB5WVY28FUE1CORQAjvtSPftAwCQQjGAbTUfm4qwrvbNmDEf5pjR4JoxElAiYiMWjQyIAEy4EBGAA4UNKCgIMC7a5Cej2sCAA+SMEEyYA2AMQBWgCmQAObACrAAQAUAJCSDMEDmo7CztfXoRGu7SUeVdbvosOq6N6PHnZ2yf9l3eXPj/q2qXdkjBL+qrix1cYsqzItOvXfRPaMXkUvPeFWoxr7tZB8gfxIhMauBapmSUhO8d3O8wUt0MoI7UAxLzt0/zhCwJnVHrsPYXenm8suPeLYORWqn/3wwK6Qp+frDiYGvxHSXFzoXfpihfmlODl9oFbOqKa8nXbZgd6axNivh4JS8xEZKChij/nuDBPx/MrxQA/WBACCtK44947xa66g/k0YcALjxaesDuBuQP/7x/3bTwmQACVMkAAQYd/7HYBqK1H97hriqWIzlN7cD8Qu1mY6Ql7eR9v8qAcCY/apKqAgArEBCCmOEAExoJiOUENTgBAI3NSBhwSjIbLboV0Blo3PIiN06hxVFfmrr0WtMvzYtWg3SBPDjz58mVY8eLTrpNOm6NfKhidepk6ZAbgbym+oG6PoN0zXxUaBHgx6Demiy6Zq0GdIl3aB6ndo04r7WvSV0/Qa0Nd2+yKcNFCrSvh/6dNKO3xV33aBeEXxNZKTyQUaverfOR49+LZno1XUboBt4oSzpEiXLUSjZDgF8+JHBMIY0KQAA) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Roboto;font-style:italic;font-weight:500;font-display:swap;src:url(data:font/woff2;base64,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) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Roboto;font-style:italic;font-weight:500;font-display:swap;src:url(data:font/woff2;base64,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) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Roboto;font-style:italic;font-weight:500;font-display:swap;src:url(data:font/woff2;base64,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) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Roboto;font-style:italic;font-weight:500;font-display:swap;src:url(data:font/woff2;base64,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) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto;font-style:normal;font-weight:400;font-display:swap;src:url(data:font/woff2;base64,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) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Roboto;font-style:normal;font-weight:400;font-display:swap;src:url(data:font/woff2;base64,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) format("woff2");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Roboto;font-style:normal;font-weight:400;font-display:swap;src:url(data:font/woff2;base64,d09GMgABAAAAAALsAA4AAAAABWAAAAKbAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGiYbIBw2BmAANBEMCoIYgXsLEAABNgIkAxwEIAWCdAcgG0AEAB6HcYyyEjO2Dy0eKLv4XvfsrGs+wIhEBOHOERRRTI2158fc/aln0WYmSJq8uTRSIgUyIVMqpfa/7uYHCqzWDuHREj0f5UuuL+ZAokTaYgiIs5sF5aUutjO7QhBlgMaYvCAIIqqoCggoq0+HjRlX70MGclDLyR3Z8fb0q/ectzCv30obmLesvO5hBhRhcp7kToaLpaRXpL0htKmb5C3rIgzUIwA1fnqrhHSbqXhA3v+sK1wRtcWuhdyg9E5tGXERkaAhroCGeNqCnJxAm6m1Sb58SICvFhXFWnVAAWQoYRjYADJUQQqIYm0uSZKkfpYv1sv21dm9b7kWbV6i3BQ2Z/sOf/hl+ezXH88LRz75pnLuq4/MO/Zx+eyHc3x9VDn3yfx9n1ILyusq3ps75y90fVZ657PJ2iXgF+odHbvzv7Lrm+uTsPR0WJqYcelN7180rHDDnbeWbrx0QHht49uXjCzffOsd5RsvGvHe4yF5o+Ej97/ZMP62+Z+3Wz/08CtZ/FezhpdvG/nb6PMhC9vNvHFx3Du9X47etewROuONg4L0v2eI+L9X7dt0evq+gNihfvWttiuWK4f8VmxWBM/+WK8b8F6Y9evfLf57r9SjuA2URBAobPm/Smni3y3+n1TqgQEACsl5awAI/5AetjNp65A+/38vDAUXaayPL4CMKHYkEFC0DlfIlbAMegyqlmGU2eSTO58TTHX2xLyWvlczc/wY7eDo5WxlYenKyMvNg9Go5MAatqis2Jty2oytLaPupFxOlsgFObsjM05dBxMHVwcMbeFma4xFh8jZxUr2e62Th09I7Bd96I2RI3gzYzqKcsHjqZzGjsamlojTwdmCy9bKFNm7IBcudRU5BU09BQ5eTm5coMaMAw==) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Roboto;font-style:normal;font-weight:400;font-display:swap;src:url(data:font/woff2;base64,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) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Roboto;font-style:normal;font-weight:400;font-display:swap;src:url(data:font/woff2;base64,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) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Roboto;font-style:normal;font-weight:400;font-display:swap;src:url(data:font/woff2;base64,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) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Roboto;font-style:normal;font-weight:400;font-display:swap;src:url(data:font/woff2;base64,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) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto;font-style:normal;font-weight:500;font-display:swap;src:url(data:font/woff2;base64,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) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Roboto;font-style:normal;font-weight:500;font-display:swap;src:url(data:font/woff2;base64,d09GMgABAAAAABnoAA4AAAAANCAAABmTAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGmobmnocNgZgAIIEEQwKvFyuQwuCEAABNgIkA4QcBCAFgwAHIBsCKxNuLDxsHADb+BwnipK9GMj+6wROh0BumfMiQUaoWDWaO4tGa4WtoMBMtavqtY9jb+C3vkgTR9zAS1e/IWxxDF8nN8NnIySZbQnEMfLSJu0/j0DNGWDPYAygn5QTdsbNTj30B5rbv1uyEcI2asaoFhtnA2LT5ogc1WNUbGR+OkdahUGpWImfEQbGTnvg5bSUZNmnbZKdUhrPBMAA8r0bfrNviW+exRNAwgNgAnCj14Z0y0NEpndEJQYcwb5mQTQJojV027rMxWjbnm5QEFNrXv7Xrv7PmovbEC2FaJXXoeJN1OMyScVP/kE693vn3tyqdjdUGoXedOBNAVFUJpNf7wKFUdmHn6u0efc3V8CUeEo8Qp4+X2FqTP7/2fTe/MlCFv9mMVvKzdGU56aUhTJbVhXyMlOCA3YFBSyBjai9ugrjSG1PWFVbm5WaYS8hpY9WXEMXvMakfb2MWbr52d5cqHmLkIcY4+hYuy0CMCADAO7DgBSoUYOALkMIGDOGwEYbIbCZCQSYDkLgsMMQsGQNAVu2EGBxgYAbPwgE4EEAAQyAHQA7gAAIAFugwQDO/GqtA7Re7BdToPVm0ZsArY/fVzTQgvi9WtBAFgIyQAMIAA1AA4pysAgAgdOCA4B0J64Ft4B3w78kpxJ2Es6QXxKWyankVDJFlVKJBsTkHesiniN+kdCSMJHIlZSSqJP4QaKRl0kHSd6kGtLgsuYl0jTpB/lg7DfdhLjnMQrZ5GrdueRycgP5Jfm9pBL5m/RIUiyWlNo2AIZcDj7xgbZnYUhn4TmaYuMAe71aExdfJRh1662Hv6ACRMfT/eQdS1+FqzHMnKLtNTIHvZ1t9L5Z2tvq26cn0FsoM/MF3NaHPhWQE8Odm1Y1m8XWUiIUPXPFURGoC+h94P4qovl0+DoWstdquk2j8bQnimSrGXrLcRuWXLiCtqipOwDa772Bxj6YJGsQoeZ5U0xLwe8sCO8Ki/x2Gub5UHV2t3o+1Q36BGpsOXn4GRbKWrjNx3NH8LTie+X1fh0KcI7+Ht10m3i9LRJtbpfc9IrSKqyYiKhaoJqGiwWKimls5bZ6stj2WEu0IbqVb50DXC78RtajZy8srGzsHJxc3Dx8/AKCQsIiomLiEpJS0vIQKExFFVRHaut4651Pvvjqux8oXX0jYxMzDNbcwsra1t7B0YXaYwhLCEceTzp/tEiYTCakV7BfVDomBJtnm2CX6ZjgFurOY5Oe81ma5MjizudJ4Y8X6VYqRC5EPkQxRClEOQTSJwwgUAEEyQ6LqRRMk9gsS2CNA/8C1+TWulU7xYKrO3J40nDX7qT6xs6cMU8UUUI5Q3qCgQRQAQSJTjGVhmkKm2PpuYbykwfjX8G16NYKs8euWFge6VUqWg55FFFCOUMiYUICqACCRIdMjUvhGmZrHLQPHjdclV8QXAEGJAgA2AAAAADADwAAAAAAMFwBAIANAAA8kaaI8pTkmZoFJTs9tyZW+lKaToG4sG3sgpMsaZLBDW+RZB6zBQHb9awr4kkZGHktyaRnMTjCXpRvLbDTcVByU/KQSUhGjMrrp2kVqCCJ8CTQyttUKDJd7d0UpRvqpR6bZmEgCwjmQXBjMJxnTqfsJl6Ie3xbjKJSz3qOZ7HMHsOx0c1yT7JCijYpkBmRjZJbXAMw4MCABic4puGXoLoqGF/AtyoLwTTechmkMrP1hkyW3Ma8oIgSykRiYgKCFQCCRIdLYM1dDQf8xZX8gvVAlrb5jsqGY0zRyxnzgiJKKGdIOgzAQbCCrNoPCJJAB0usccBfXM8ogmZpYZGterYB98ClUSHdi0JEAjc+2N7MHIgbML6VtmT2OOJiRAiV2IikiBMwaTAKL1LIAcoRFopXWqnaCciWZzvmQrgB98CFgqQ3BFdmKltLkuQGrDlc+YlYOpP8pJDrMduWbPNI5REUDEhlsw54d82idp48RRmQM/7jSUTw9Lm1TMLelgit5AgqbFM2UIvUyPLNsfYuBl/6NtJjBW/eDyVKM4FElzUnc69/zMRhfZVaMaCx7tezUUCT35tivCsdl50BKgYVR45cHdcSpMsyiW2owDkze9WGIeyhH3sYQjfs6PdG8KgtUE4ZgrCAD3LBE2cZvAUGIfJ0HFO1xYuH5Jv4vR94T27l+EG3MiUD/bEWFtHHuPubYk+7B+r2tOJGo53iSbMbjucCDR8uiNbefRDdtQs2cAr7S8IQxJnctVIncQ6FuQgo2gQykEERBqgvAvfbEwBOkAEpkAY8EAF0IIAcCVgBRKDYMxtwTG7rGVV5kgCM0gJUEXgEuVkRA7rZ2Z+EBRnAeiAi2TMAACaq57AIcD3+JLxGNDYkkkAwCVwNASJIXXWTMYwRAax2k/7ocrXEGqEm1B6rBrz0LG/dceXxDR6gKmoDCMZ+VZ/Cbm6ELuUbfkzX7pEY2J2geo4AywCvZ0UDFUgtIJkloEIFFkAD0AGcgQUk9XDwxZwi6sPA4DRzbe5Nq3TOguy7cu/fPxJwWmmcFmmd+Sm47z0ksR0CcHDr76M3JQhtp90HPr/cJyyqHKhxFHjwCyHdxld2p8WDttSpo8Gvhyu9uTIQfuSvEkNG8g9/Rdy0UDvstEuY3fYwZSac+cjgXqWFMkVpo822YsSKEz/W2h2VIFWiYxAexzD/SAk/PCGzpb/AjAXbh0H4g7AHqJTt+fbIEhiBuJjc3Rxgt8dob4utMtg4aH47bDFn6Owmp3CA/Hu/oMS/eYKV2V4cVr6MJ1bIUoBnzL6UVEWCwP453QseBUsq6T2XAN5zER6+eAR34B5HSMW9T3irfATAt7iMwB4YXjyIAo85DQbFqN0HlFI4hMdI1U74qgUOL+9ShFfP7sNteMgYPEeUD09TqqKmRk/OQr2RzmwdNa6wUstXskUqfcM6zyeBdf946aRPYOQe7dYzIuq4R9tW0o7qjtwgcBq9n7TmGIYFSqNLptTKWLFiHj0q+ZSTmK/DRfefOzgCpfC24Co2YPlYLlrWVqXFbLvB4eZXl2lX/Ldx+rwpxcKoQoFyLbjyqKlvnDOH2c5GycoBge1treXklM9OuD4TxSOpfsixxdR0ROg3yHqGJiVyQbhOGLpPa3Ejp9rNtxHg8XtZzrEYAjm1OPaf3zwXO42LCHQ0Si6wztuoQ+fR7thfZwzB2iPuXaoIsS87f2p4BPHkS2BxWHdFr8hgmEXjFamJuQtDw9MoRjkFE3mBoXal0pCv3E4j0KRO/Lbu1d5rK8uPt6WZt77W5z6p5aGoUlnX0SHVcoB4l+nOzOiW04E6hrRShH3hbWU3I9d8/aOMK9EV48M3F34vFsNB9clEGFvEI/DGvPCI9sssJbVded8VU5py2oIeVF3qBaOtk1i3+uJ5wxxmo6d6Cgmo5cCyxlyn+Uu0unAGd6kWs9LhFs1qtV0FupWAV+YaPeZ4wnomp5STp1pOWtZuvnlv1qFEF7z5W+F3TS1Cg0pB5xk+TdvrWpqFMcrln9SHuDX1Tcm64p+jQQiQzqbJ0gFfK4kGVJgNfDkw0AZvPTfnY5y1MiPXq6ZyDXJCcqId6lnXlH4oec8PA77s1gfK3SdVah52+aR6zNNotIm5EZxNjvcJM6yGRjm8DA7QmGY8zzzK3mA15xOup5nplLTDT1fJZbyBfclM16MdM7ip1SwBdd7zz/6ZoEDbT2hexkSVi3jy1EkfWNyj3iBRuUBItU1W66kgj1l0uC2S88Jco8MMJX6lVcrIUa+nfovKZum+7tmYVlmRpoD5CQL540a4VBz7wciAV3iNl762mJyrQHrO/ENNbmPG+aRkdFuUW6z+nVxa2mr7pia3nZH7P2T1CG50mP1BW0m9O8Ku5y8VltRt1W9lqZArQHVjT1lRTzyyaLouj0lL1HoiDOFsCs4TuKZiHZ7zgG3yjiCn7lpDAGAWXQjr1v7eO7DbHE0/UrGVabyiWTc5GUnObU9nqEogfQTXp1NRrFY6e1F2ZTYzyneLCQ/LfZCPWqdoj5YsGbnrk6Lxa5rBaJpabzZlXFJqRzg1/S6PL10HKj8mJKPyoBtCfYR2H9Bje0aHUM8VKSia+SxJGUmKYm2iTVejlAdmZr+qEEtnP7END8+tSQt0LX09Yyy6rLSzMLoZczVSwkDO0VOZDCajYUvDqVZLQ62Q5f4I2tym3ZUPXRQjgBeMYD0dAE+US97L+SwZOVOPRRzTEUcsbF9ntzHClqjmKZhRixBIuK9puc+CYsAL0J/IjREPv1ov/QhGoiB2kvDiu3z+LeVIXoTPzDzO8OwvTqqvm3+0c/IPsOx7Lr+gj/vdI9GUtxZzO/1OwVbZ9oGvmnjFT2K5qsLM3GbBF2Qh6WPbz8aSEh61EnaGZh67cn7sDOAFfRODhcfAJhHEaVlpS4AXLDllOYmhVgx4gRiMeALx0hTu+2Phz9lJcXhoeACby4+ETeFNPTdrbmxnVlf70vpVqerX9Q1g9Q0B3dyBvtFh3wdbTysl0YVuQ/SHrkqJ099q/cDm//7HRaaUroE+WlfpLrhn+6h0r9tZD0pHyW54KMaJhpG2pjOAvLf/cg7f0jb474f8Vavb+N+R4bc1S1OPlRaXDMaM03LiuZy87DhkCxzCCW8K/wqvTaSATlHDOmmN01NXX2mbyG+V17r26syUBqgUT41JG8kDdllybxi3rXHybEY3nPlcss/e0cPFzsd2N3oyomLseNylt5cwXQuFOsfkMD374/f+mUhJS3M8ZuFgCyeo82vURGsaYpff5mS9+qKMcbtO5lVVRrZ685Njd7s89SWb1XpEZ8nG3qUQo0JiIQFlooiSicWB1H0HTLbs259qsR8Um5gVLU09tWb3rpwwjsKkNNJK/9wstWrjlmfSi1/IKpMXJOqi/wozSmcpxssiidaMCz/SL59tyr4cFZl1AcwwlL8zelf6fcMRFPDPp0kBvklnbk5rEb7iGxIvckt2R0/viSsNTz4HzzX3+Jr93GCrPXS8NfvD+eFrny7/h1p4ORyz9jiw08Rxx+qdDccso44Xfh0c4d11Dmt1/Yg7Gung7uK+H+DRpLvMQdpRDaknIY9DZGyXO0CTgh+sF6+wdOFrN9nFTV8v3HdwMKVbqjkojmwiAP7RsfWmZhwzMw8zM46p2W3jdP2AuhnkaUbXIRllorB2aC6+t1Lr843ih00P7k89sN8UzMKFdUJhNFWBzW4QC5MuPqooOIATLmYXaYb+VfwskPuwDJcysripwMnl5/EjGdlLwtSJQLB8+0x+Xh/3q5fclL8J7sTclfzpBlENkuKHb0RlUU5ufa+QOPV3TEx42SGsLirhU6vA+kH9unJ4Hx7/IO0OTSzEbRZeUl4vQ3RTO8+r2T0Weozo5GP8mHRv5e3O51K68fmFEWG5uVEIKIftTfQTG+lXLQbEj/EmV/1AVaITowfI5JZrvxZSX5kCXnBQUXIsHNAQfvZMpudJET7MjorHsmKjKrJ5KwfEQs6EK5A0BUtzSXNLgBcMeS95j4LpiLDWVa9uMSBmlDdB+/kJMSRhWc38T6KbmJsZFpiVEIOAw1f2F/Zl9jfi2ohjdl67ZcY0eaVzZzWD6e2K/9ErwEoU3hguDu/wCNu22o441Lae5VztInYpPeG8rq9lNZXEhM0j6m5FYQkBBaEscWTK2XfsnD+0ZyPukc1+a6N0EzsSRvTn/lT8Coi9GCN2qkzk8hviPGNyAzM7bzdIwR68YIxPS2t/k45LMmD9SHCXxJR9UaF2WP2XMmPwjOEp975pLzxyK2yHvz5rQzRDQ4MGzFkthTZKablcZ0e5jExJK9AvoZeU2qmlpdLtnWVycuUdSjdRcn7bhamzg+fvdMnLoDJKbeemBk6zuzN0bYQCqt6C81qwnEWx0zvqdQR4yVmYvyO+B5lxEWU9jbqtoOwpmLswJ547O8eQZQug5x40feqgMl47uRnrliM8QZohBz8t9jZ/UuHHImKwmMXfWDyhckoKRz1Lh6nZf9xhzK96S1F6kC/9dLyeUqtLeUVVHTP4x5gJDPGJYKYuuzhLrlqsuKhBFA2saC3cAhMxd3NNJFsFv/Rx8vMQHDptNrcSy6pXSl8YdrT6K80bwN/+b6NMU3f/BPpv002FrsRYYe67FCk3RVn4jnwGvGDt9XcxGRmZH+BDdhoPtBuXJ77Lvpd6T1adfSOnDRZOP8u+r89Yab1z84jnnrg0y2a1MkZNIz0/v7jwGodX01yV0h0dldojyE5tgDzm6dfzFQWHHDinGD7yMTxW2evqKeKENPk8P+0Sofv23ejE69gHsPEB5zFHxLwNiVc9gs3HCNXS1Z+5pTiR6bDpD8ByalvlCHekdcHMZiBpAB1I/NWvx15vR9D91hbajraHfW/TtcV6bzKCbVjK/mNcS/Wzu8+VfBWMx47bhpT7iEwjTpw66W1rZsXa69LTO9iApJo6HrC1DrDcLsr7PHx29E0jrMcxRUzR/dap7cICxJ0xXSgTFfjp9Rrw8a0btsMecyYT5ayncikrOj4KDsEozYq8v4skpE7Csh4Nu8KYiU7ojjfr3b2HMteDHDrUPIQy0evN11GgoJwWDsrMhh3YKOcoNIp1tRvspEn3Np8//OKO6P4/ee7+RhX0gfJpO/PVHaKWUaveexiJ/82Ctw+H3fQ1PHyTtOHlRtdDDX5tvoakUWU976ArIOHBRLktXJRbRMW82mME06iPo7z363cPbx1GD3O8Xf3d3BWkUFAsZnJtE69mxxUxj98DJijSbmLu2Y/9PthbAxMOvP3Eu8FiNwe2fhi9DjMckxH9lY6LJ9knmjycjgIklU0yUfNwSr3roTVyJX8cFWrW0Qhvq1mPsJ5Rr9CXZEOxciX374u0gphb7ICzEbOOEZxj7LhyyXT7NjvplLhcSOFP0O+Qfo5/v2t5XwpLezA2gjLRM9rf9Zy0o1qzL3D/m+/4xmSKcmbmssXLg+66vpWeZQtXbiDnnc097K0+m0yf9DkJ2uHdku84GcOncJmY/jPXWyzyZS75b4u5vBjs4uBUuC8Jj3bXdNa0oW2SsKP7ZKQX3kqI8YzsHXUPFxK1MMo/iTrCK9/eYoeEBOeIcFZgbBEpm9V2SokKu5qYUb+uYYTna+sWrlxD5jl0Gpci3brYA5bIKM2GbNFD+p86KWLuWjzhdfzIfnfrowDcmuZKtEH9q+ZXKBMtS7zFKc+Thyzc7VigMzjE+Ip24jp6zsWmoayOrHq0ntGxTssbMQ+xUbYlE8zMFyVIdcIZ+GvX74LCpgHOew7K/LBVBFEhVa4lrhlGtRevmFy63GJZdfbqzgtXG3rwLiw/G6tTfu42zix/ayuWvxu12FGKsZFM/gZ4gSTDQ1paBKZBXcHzyNfZI6vTfTN6hvHDGEymIl34Xs4+Xrtvxo4K1szMli8Gpd2JF4fmJvJi032crYt87TwmE51bgocVHn+ukQgvnMxYim1M+y811RdMulmRPtgjs1iPiJ5Rz4gZkiaW2Muviqbxw8GwAyfyc/0TOqBbWxDfBdvX4x7hlnFjHdHKRRhly76JSvMO82EzIC/r0Lo7HQ00u4K/ouUPy39pZgW9bhwwWogAZGYrDcQOJxjeqkhOCUCCyg5S33K7BzkhwCltJAm0gbHZCcNkjWcQgTP4xDC2hgiv6gP2idVCSkgIaaOSCBlBECuErKAYqpGOXUcqW65QEIqCbpQTUNMBKz+ezTbwwatcE0qGlkSr/fMs/Tby99FuzzzzJQLdGbe5SdfBchaq+lf7xMEO6n3V4ztQzki3RZnL699Rv7y3v0EeniSoBLll7tAIorYE6xo03iSB4frYhSVQCcrYUFysNDfbuj7kq6mO4o2pzkI2ijbRmUaHoZTOSNlv+FIJV2Svj7WmRtL9ilZ9qNsrP9CwQUBd4J1zqq7/TUt2I0oa+cgo9YyVx44s9ngnjVEstXyrP04mBugLTUOn8BN47YQjhTrU28ewfnEg8uvRCrSQurE+rgYPzfJAepaIif6a82G/uaO6w9QAAWx/EVAIgKZ+6namtHNO2/9LKG8A4M8XOSMA/iK2//5oLD0iOWyEAZuAAUAATP9jBtj0G+y5vEfd5RerfvRsHvEGxDIoO5SSguLaip18e/1exc1UY4YwLEkonshLOR+7VivOFwsHWbqt2Lq0dyoPsWuSENeQf2cuq0wSm6oOJQEYfZYUlsexVQpudHk9VkRGqKw+lbVMrU7y3khnuJGncrCsqw6FJQH5gwAas4FCPnag2hRXO8Miw9bhzKp+K6wMubNS+fytfNApjd8qiwj5Zc1v2qvLn1QyDivz5PVTePmD9uBYkwqOZDl+BsrLCqoDC5Z5KQX9O/V6wD4f4PXZnEcu/vgovhQxRlCG3ny97WxGqoIMpp0h64XU248pa4Ywn2Qsw6zj27LXi98wkl86KqlU/qb50EE6fcbrMqVKr2hVPoXUK4iOoza6o17KFVXV1dyE1Ie0a3sh5SPGrOhWqdIrvxUPmpuEvjr5kU1VhzYuar5p04g4GVCBAPghjwJL+CtjtvIVxuq6cQPYsIDgSNuhj8EpCNA5nYIBGeDeFqu7LS4+BQ9a+CTAnc+/Kyt1/Ff67yz27UYGhlYeBP/ny8BCbEAm8qZ6ZyTQKF4WDph2txqY5ZXtWdIubJTdFFtF/iBWyQOoqY2szWAcLHbqexZvSgtLI0Nbh3d1SEwKy+1jhpbwqERqxkryfYht5vUdq6QG5T1ejIUBp3lSB0Pj5BJFNYQSRF27G4/laT+exYVVows=) format("woff2");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Roboto;font-style:normal;font-weight:500;font-display:swap;src:url(data:font/woff2;base64,d09GMgABAAAAAAMAAA4AAAAABWwAAAKuAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGiYbIBw2BmAANBEMCoIYgXkLEAABNgIkAxwEIAWDAAcgG0oEAB6D426JQgSiDJGrY+EepR5ejwf4/fWd+/C1EBKYZDS7sRFxHTf9uCJn/m9Of4qsOwRQBbqEex0QSbKziM9Pj42dA85/tYTLU84Cj+f+PIAlq3AtV5GCrQWUqr11TNFedSEUjKs7rSju46fX7RWCSHFAeYQcQRBEKIqiAgIKlGZBdO5a3w4akEBWj6orkgSzThrq5iF0WjfiKGe7e/0dAHkwOR8nW+GblHR72hyEGmzEl02NcDPu9oBKt35NVVBcoyEuIJNhau72SE3EHkhapkdqCiZGhBhliQWUJVETSCQCNfr8o/boWoBjI3miLHqQC4ojH22AaUBxFAUpIBJlJeIVGIvLFI6PlFi4hGYVs0brZ4ZZlT0rbz1SLT+50xlW3X269vh2x+CpO/n7bw02ebvIys0wMkpteMHUIq4PGfxCRBdKjxXGaDRIc42rK+a/qgeebsfBvjGMiQ14cnJjW8fSe6fHlr2NIrgbeH2jS+k9X+md9WJP/5IvZ8LRg1cQ3gz+dJMePnr2/6ZSiy3c9rHc87Zj4tqOx0WLe1U0VR2OOEt9kq4gV/r/NBEyVbPvpL70poCoTunu3LVVZ4nW3xWV8gAKP5VqBMD10Pruq+7/52x5c4B8EQjkzs5oyJ/1JzxT0mgEACA3XjUZACFDut7UuAEqPZepikCuTcprJBVAcSJREzIBeaYSC4kSGAs2BJU5IFLcQjt+sxNAqr55kwOx947iBrvVCRYwpBuDQusVLFWyFCmCVcEwCg8JVsPPK1GwEjxesNZJv6dyHtID6dYP8UnUCvPAemHBGiA+jD6CVgilD8+tWyfSPRiYXwVJDNNkydPUzvrRmeBZvFdArqSTDSCJ3ALcvDp0JBHWjTK8pb0Qvx7N35CkXo0yFRq1qZAgVaJkYiA7H3AA) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Roboto;font-style:normal;font-weight:500;font-display:swap;src:url(data:font/woff2;base64,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) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Roboto;font-style:normal;font-weight:500;font-display:swap;src:url(data:font/woff2;base64,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) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Roboto;font-style:normal;font-weight:500;font-display:swap;src:url(data:font/woff2;base64,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) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Roboto;font-style:normal;font-weight:500;font-display:swap;src:url(data:font/woff2;base64,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) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}/*!************************************************************************************************!*\ + !*** css ../../../node_modules/css-loader/dist/cjs.js!../../graphiql-react/font/fira-code.css ***! + \************************************************************************************************/@font-face{font-family:Fira Code;font-style:normal;font-weight:400;font-display:swap;src:url(data:font/woff;base64,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) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Fira Code;font-style:normal;font-weight:400;font-display:swap;src:url(data:font/woff;base64,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) format("woff");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Fira Code;font-style:normal;font-weight:400;font-display:swap;src:url(data:font/woff;base64,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) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Fira Code;font-style:normal;font-weight:400;font-display:swap;src:url(data:font/woff;base64,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) format("woff");unicode-range:U+0370-03FF}@font-face{font-family:Fira Code;font-style:normal;font-weight:400;font-display:swap;src:url(data:font/woff;base64,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) format("woff");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fira Code;font-style:normal;font-weight:400;font-display:swap;src:url(data:font/woff;base64,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) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}/*!********************************************************************************************!*\ + !*** css ../../../node_modules/css-loader/dist/cjs.js!../../graphiql-react/dist/style.css ***! + \********************************************************************************************/.graphiql-container *{box-sizing:border-box}.graphiql-container,.CodeMirror-info,.CodeMirror-lint-tooltip,reach-portal{--color-primary: 320, 95%, 43%;--color-secondary: 242, 51%, 61%;--color-tertiary: 188, 100%, 36%;--color-info: 208, 100%, 46%;--color-success: 158, 60%, 42%;--color-warning: 36, 100%, 41%;--color-error: 13, 93%, 58%;--color-neutral: 219, 28%, 32%;--color-base: 219, 28%, 100%;--alpha-secondary: .76;--alpha-tertiary: .5;--alpha-background-heavy: .15;--alpha-background-medium: .1;--alpha-background-light: .07;--font-family: "Roboto", sans-serif;--font-family-mono: "Fira Code", monospace;--font-size-hint:.75rem;--font-size-inline-code:.8125rem;--font-size-body:.9375rem;--font-size-h4:1.125rem;--font-size-h3:1.375rem;--font-size-h2:1.8125rem;--font-weight-regular: 400;--font-weight-medium: 500;--line-height: 1.5;--px-2: 2px;--px-4: 4px;--px-6: 6px;--px-8: 8px;--px-10: 10px;--px-12: 12px;--px-16: 16px;--px-20: 20px;--px-24: 24px;--border-radius-2: 2px;--border-radius-4: 4px;--border-radius-8: 8px;--border-radius-12: 12px;--popover-box-shadow: 0px 6px 20px rgba(59, 76, 106, .13), 0px 1.34018px 4.46726px rgba(59, 76, 106, .0774939), 0px .399006px 1.33002px rgba(59, 76, 106, .0525061);--popover-border: none;--sidebar-width: 60px;--toolbar-width: 40px;--session-header-height: 51px}@media (prefers-color-scheme: dark){body:not(.graphiql-light) .graphiql-container,body:not(.graphiql-light) .CodeMirror-info,body:not(.graphiql-light) .CodeMirror-lint-tooltip,body:not(.graphiql-light) reach-portal{--color-primary: 338, 100%, 67%;--color-secondary: 243, 100%, 77%;--color-tertiary: 188, 100%, 44%;--color-info: 208, 100%, 72%;--color-success: 158, 100%, 42%;--color-warning: 30, 100%, 80%;--color-error: 13, 100%, 58%;--color-neutral: 219, 29%, 78%;--color-base: 219, 29%, 18%;--popover-box-shadow: none;--popover-border: 1px solid hsl(var(--color-neutral))}}body.graphiql-dark .graphiql-container,body.graphiql-dark .CodeMirror-info,body.graphiql-dark .CodeMirror-lint-tooltip,body.graphiql-dark reach-portal{--color-primary: 338, 100%, 67%;--color-secondary: 243, 100%, 77%;--color-tertiary: 188, 100%, 44%;--color-info: 208, 100%, 72%;--color-success: 158, 100%, 42%;--color-warning: 30, 100%, 80%;--color-error: 13, 100%, 58%;--color-neutral: 219, 29%, 78%;--color-base: 219, 29%, 18%;--popover-box-shadow: none;--popover-border: 1px solid hsl(var(--color-neutral))}:is(.graphiql-container,.CodeMirror-info,.CodeMirror-lint-tooltip,reach-portal),:is(.graphiql-container,.CodeMirror-info,.CodeMirror-lint-tooltip,reach-portal):is(button){color:hsla(var(--color-neutral),1);font-family:var(--font-family);font-size:var(--font-size-body);font-weight:var(----font-weight-regular);line-height:var(--line-height)}:is(.graphiql-container,.CodeMirror-info,.CodeMirror-lint-tooltip,reach-portal) input{color:hsla(var(--color-neutral),1);font-family:var(--font-family);font-size:var(--font-size-caption)}:is(.graphiql-container,.CodeMirror-info,.CodeMirror-lint-tooltip,reach-portal) input::-moz-placeholder{color:hsla(var(--color-neutral),var(--alpha-secondary))}:is(.graphiql-container,.CodeMirror-info,.CodeMirror-lint-tooltip,reach-portal) input::placeholder{color:hsla(var(--color-neutral),var(--alpha-secondary))}:is(.graphiql-container,.CodeMirror-info,.CodeMirror-lint-tooltip,reach-portal) a{color:hsl(var(--color-primary))}:is(.graphiql-container,.CodeMirror-info,.CodeMirror-lint-tooltip,reach-portal) a:focus{outline:hsl(var(--color-primary)) auto 1px}.graphiql-un-styled,button.graphiql-un-styled{all:unset;border-radius:var(--border-radius-4);cursor:pointer}:is(.graphiql-un-styled,button.graphiql-un-styled):hover{background-color:hsla(var(--color-neutral),var(--alpha-background-light))}:is(.graphiql-un-styled,button.graphiql-un-styled):active{background-color:hsla(var(--color-neutral),var(--alpha-background-medium))}:is(.graphiql-un-styled,button.graphiql-un-styled):focus{outline:hsla(var(--color-neutral),var(--alpha-background-heavy)) auto 1px}.graphiql-button,button.graphiql-button{background-color:hsla(var(--color-neutral),var(--alpha-background-light));border:none;border-radius:var(--border-radius-4);color:hsla(var(--color-neutral),1);cursor:pointer;font-size:var(--font-size-body);padding:var(--px-8) var(--px-12)}:is(.graphiql-button,button.graphiql-button):hover,:is(.graphiql-button,button.graphiql-button):active{background-color:hsla(var(--color-neutral),var(--alpha-background-medium))}:is(.graphiql-button,button.graphiql-button):focus{outline:hsla(var(--color-neutral),var(--alpha-background-heavy)) auto 1px}.graphiql-button-success:is(.graphiql-button,button.graphiql-button){background-color:hsla(var(--color-success),var(--alpha-background-heavy))}.graphiql-button-error:is(.graphiql-button,button.graphiql-button){background-color:hsla(var(--color-error),var(--alpha-background-heavy))}.graphiql-button-group{background-color:hsla(var(--color-neutral),var(--alpha-background-light));border-radius:calc(var(--border-radius-4) + var(--px-4));display:flex;padding:var(--px-4)}.graphiql-button-group>button.graphiql-button{background-color:transparent}.graphiql-button-group>button.graphiql-button:hover{background-color:hsla(var(--color-neutral),var(--alpha-background-light))}.graphiql-button-group>button.graphiql-button.active{background-color:hsl(var(--color-base));cursor:default}.graphiql-button-group>*+*{margin-left:var(--px-8)}:root{--reach-dialog: 1}[data-reach-dialog-overlay]{background:hsla(0,0%,0%,.33);position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto}[data-reach-dialog-content]{width:50vw;margin:10vh auto;background:white;padding:2rem;outline:none}[data-reach-dialog-overlay]{align-items:center;background-color:hsla(var(--color-neutral),var(--alpha-background-heavy));display:flex;justify-content:center;z-index:10}[data-reach-dialog-content]{background-color:hsl(var(--color-base));border:var(--popover-border);border-radius:var(--border-radius-12);box-shadow:var(--popover-box-shadow);margin:0;max-height:80vh;max-width:80vw;overflow:auto;padding:0;width:unset}.graphiql-dialog-close>svg{color:hsla(var(--color-neutral),var(--alpha-secondary));display:block;height:var(--px-12);padding:var(--px-12);width:var(--px-12)}:root{--reach-listbox: 1}[data-reach-listbox-popover]{display:block;position:absolute;min-width:-moz-fit-content;min-width:-moz-min-content;min-width:min-content;padding:.25rem 0;background:hsl(0,0%,100%);outline:none;border:solid 1px hsla(0,0%,0%,.25)}[data-reach-listbox-popover]:focus-within{box-shadow:0 0 4px Highlight;outline:-webkit-focus-ring-color auto 4px}[data-reach-listbox-popover][hidden]{display:none}[data-reach-listbox-list]{margin:0;padding:0;list-style:none}[data-reach-listbox-list]:focus{box-shadow:none;outline:none}[data-reach-listbox-option]{display:block;margin:0;padding:.25rem .5rem;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}[data-reach-listbox-option][data-current-nav]{background:hsl(211,81%,46%);color:#fff}[data-reach-listbox-option][data-current-selected]{font-weight:bolder}[data-reach-listbox-option][data-current-selected][data-confirming]{animation:flash .1s;animation-iteration-count:1}[data-reach-listbox-option][aria-disabled=true]{opacity:.5}[data-reach-listbox-button]{display:inline-flex;align-items:center;justify-content:space-between;padding:1px 10px 2px;border:1px solid;border-color:rgb(216,216,216) rgb(209,209,209) rgb(186,186,186);cursor:default;-webkit-user-select:none;-moz-user-select:none;user-select:none}[data-reach-listbox-button][aria-disabled=true]{opacity:.5}[data-reach-listbox-arrow]{margin-left:.5rem;display:block;font-size:.5em}[data-reach-listbox-group-label]{display:block;margin:0;padding:.25rem .5rem;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-weight:bolder}@keyframes flash{0%{background:hsla(211,81%,36%,1);color:#fff;opacity:1}50%{opacity:.5;background:inherit;color:inherit}to{background:hsla(211,81%,36%,1);color:#fff;opacity:1}}:root{--reach-menu-button: 1}[data-reach-menu]{position:relative}[data-reach-menu-popover]{display:block;position:absolute}[data-reach-menu-popover][hidden]{display:none}[data-reach-menu-list],[data-reach-menu-items]{display:block;white-space:nowrap;border:solid 1px hsla(0,0%,0%,.25);background:hsla(0,100%,100%,.99);outline:none;padding:1rem 0;font-size:85%}[data-reach-menu-item]{-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:pointer;display:block;color:inherit;font:inherit;text-decoration:initial;padding:5px 20px}[data-reach-menu-item][data-selected]{background:hsl(211,81%,36%);color:#fff;outline:none}[data-reach-menu-item][aria-disabled]{opacity:.5;cursor:not-allowed}[data-reach-listbox-popover],[data-reach-menu-list]{background-color:hsl(var(--color-base));border:var(--popover-border);border-radius:var(--border-radius-8);box-shadow:var(--popover-box-shadow);font-size:inherit;max-width:250px;padding:var(--px-4)}[data-reach-listbox-option],[data-reach-menu-item]{border-radius:var(--border-radius-4);font-size:inherit;margin:var(--px-4);overflow:hidden;padding:var(--px-6) var(--px-8);text-overflow:ellipsis;white-space:nowrap}[data-reach-listbox-option][data-selected],[data-reach-menu-item][data-selected],[data-reach-listbox-option][data-current-nav],[data-reach-menu-item][data-current-nav],[data-reach-listbox-option]:hover,[data-reach-menu-item]:hover{background-color:hsla(var(--color-neutral),var(--alpha-background-light));color:inherit}[data-reach-listbox-option]:not(:first-child),[data-reach-menu-item]:not(:first-child){margin-top:0}[data-reach-listbox-button]{border:none;cursor:pointer;padding:0}:is(.graphiql-markdown-description,.graphiql-markdown-deprecation,.CodeMirror-hint-information-description,.CodeMirror-hint-information-deprecation-reason,.CodeMirror-info .info-description,.CodeMirror-info .info-deprecation) blockquote{margin-left:0;margin-right:0;padding-left:var(--px-8)}:is(.graphiql-markdown-description,.graphiql-markdown-deprecation,.CodeMirror-hint-information-description,.CodeMirror-hint-information-deprecation-reason,.CodeMirror-info .info-description,.CodeMirror-info .info-deprecation) code,:is(.graphiql-markdown-description,.graphiql-markdown-deprecation,.CodeMirror-hint-information-description,.CodeMirror-hint-information-deprecation-reason,.CodeMirror-info .info-description,.CodeMirror-info .info-deprecation) pre{border-radius:var(--border-radius-4);font-family:var(--font-family-mono);font-size:var(--font-size-inline-code)}:is(.graphiql-markdown-description,.graphiql-markdown-deprecation,.CodeMirror-hint-information-description,.CodeMirror-hint-information-deprecation-reason,.CodeMirror-info .info-description,.CodeMirror-info .info-deprecation) code{padding:var(--px-2)}:is(.graphiql-markdown-description,.graphiql-markdown-deprecation,.CodeMirror-hint-information-description,.CodeMirror-hint-information-deprecation-reason,.CodeMirror-info .info-description,.CodeMirror-info .info-deprecation) pre{overflow:auto;padding:var(--px-6) var(--px-8)}:is(.graphiql-markdown-description,.graphiql-markdown-deprecation,.CodeMirror-hint-information-description,.CodeMirror-hint-information-deprecation-reason,.CodeMirror-info .info-description,.CodeMirror-info .info-deprecation) pre code{background-color:initial;border-radius:0;padding:0}:is(.graphiql-markdown-description,.graphiql-markdown-deprecation,.CodeMirror-hint-information-description,.CodeMirror-hint-information-deprecation-reason,.CodeMirror-info .info-description,.CodeMirror-info .info-deprecation) ol,:is(.graphiql-markdown-description,.graphiql-markdown-deprecation,.CodeMirror-hint-information-description,.CodeMirror-hint-information-deprecation-reason,.CodeMirror-info .info-description,.CodeMirror-info .info-deprecation) ul{padding-left:var(--px-16)}:is(.graphiql-markdown-description,.graphiql-markdown-deprecation,.CodeMirror-hint-information-description,.CodeMirror-hint-information-deprecation-reason,.CodeMirror-info .info-description,.CodeMirror-info .info-deprecation) ol{list-style-type:decimal}:is(.graphiql-markdown-description,.graphiql-markdown-deprecation,.CodeMirror-hint-information-description,.CodeMirror-hint-information-deprecation-reason,.CodeMirror-info .info-description,.CodeMirror-info .info-deprecation) ul{list-style-type:disc}:is(.graphiql-markdown-description,.graphiql-markdown-deprecation,.CodeMirror-hint-information-description,.CodeMirror-hint-information-deprecation-reason,.CodeMirror-info .info-description,.CodeMirror-info .info-deprecation) img{border-radius:var(--border-radius-4);max-height:120px;max-width:100%}:is(.graphiql-markdown-description,.graphiql-markdown-deprecation,.CodeMirror-hint-information-description,.CodeMirror-hint-information-deprecation-reason,.CodeMirror-info .info-description,.CodeMirror-info .info-deprecation)>:first-child{margin-top:0}:is(.graphiql-markdown-description,.graphiql-markdown-deprecation,.CodeMirror-hint-information-description,.CodeMirror-hint-information-deprecation-reason,.CodeMirror-info .info-description,.CodeMirror-info .info-deprecation)>:last-child{margin-bottom:0}:is(.graphiql-markdown-description,.CodeMirror-hint-information-description,.CodeMirror-info .info-description) a{color:hsl(var(--color-primary));text-decoration:none}:is(.graphiql-markdown-description,.CodeMirror-hint-information-description,.CodeMirror-info .info-description) a:hover{text-decoration:underline}:is(.graphiql-markdown-description,.CodeMirror-hint-information-description,.CodeMirror-info .info-description) blockquote{border-left:1.5px solid hsla(var(--color-neutral),var(--alpha-tertiary))}:is(.graphiql-markdown-description,.CodeMirror-hint-information-description,.CodeMirror-info .info-description) code,:is(.graphiql-markdown-description,.CodeMirror-hint-information-description,.CodeMirror-info .info-description) pre{background-color:hsla(var(--color-neutral),var(--alpha-background-light));color:hsla(var(--color-neutral),1)}:is(.graphiql-markdown-description,.CodeMirror-hint-information-description,.CodeMirror-info .info-description)>*{margin:var(--px-12) 0}:is(.graphiql-markdown-deprecation,.CodeMirror-hint-information-deprecation-reason,.CodeMirror-info .info-deprecation) a{color:hsl(var(--color-warning));text-decoration:underline}:is(.graphiql-markdown-deprecation,.CodeMirror-hint-information-deprecation-reason,.CodeMirror-info .info-deprecation) blockquote{border-left:1.5px solid hsl(var(--color-warning))}:is(.graphiql-markdown-deprecation,.CodeMirror-hint-information-deprecation-reason,.CodeMirror-info .info-deprecation) code,:is(.graphiql-markdown-deprecation,.CodeMirror-hint-information-deprecation-reason,.CodeMirror-info .info-deprecation) pre{background-color:hsla(var(--color-warning),var(--alpha-background-heavy))}:is(.graphiql-markdown-deprecation,.CodeMirror-hint-information-deprecation-reason,.CodeMirror-info .info-deprecation)>*{margin:var(--px-8) 0}.graphiql-markdown-preview>:not(:first-child){display:none}.CodeMirror-hint-information-deprecation,.CodeMirror-info .info-deprecation{background-color:hsla(var(--color-warning),var(--alpha-background-light));border:1px solid hsl(var(--color-warning));border-radius:var(--border-radius-4);color:hsl(var(--color-warning));margin-top:var(--px-12);padding:var(--px-6) var(--px-8)}.CodeMirror-hint-information-deprecation-label,.CodeMirror-info .info-deprecation-label{font-size:var(--font-size-hint);font-weight:var(--font-weight-medium)}.CodeMirror-hint-information-deprecation-reason,.CodeMirror-info .info-deprecation-reason{margin-top:var(--px-6)}.graphiql-spinner{height:56px;margin:auto;margin-top:var(--px-16);width:56px}.graphiql-spinner:after{animation:rotation .8s linear 0s infinite;border:4px solid transparent;border-radius:100%;border-top:4px solid hsla(var(--color-neutral),var(--alpha-tertiary));content:"";display:inline-block;height:46px;vertical-align:middle;width:46px}@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:root{--reach-tooltip: 1}[data-reach-tooltip]{z-index:1;pointer-events:none;position:absolute;padding:.25em .5em;box-shadow:2px 2px 10px #0000001a;white-space:nowrap;font-size:85%;background:#f0f0f0;color:#444;border:solid 1px #ccc;background:hsl(var(--color-base));border:var(--popover-border);border-radius:var(--border-radius-4);box-shadow:var(--popover-box-shadow);color:hsl(var(--color-neutral));font-size:inherit;padding:var(--px-4) var(--px-6)}.graphiql-tabs{display:flex;overflow-x:auto;padding:var(--px-12)}.graphiql-tabs>:not(:first-child){margin-left:var(--px-12)}.graphiql-tab{align-items:stretch;border-radius:var(--border-radius-8);color:hsla(var(--color-neutral),var(--alpha-secondary));display:flex}.graphiql-tab>button.graphiql-tab-close{visibility:hidden}.graphiql-tab.graphiql-tab-active>button.graphiql-tab-close,.graphiql-tab:hover>button.graphiql-tab-close,.graphiql-tab:focus-within>button.graphiql-tab-close{visibility:unset}.graphiql-tab.graphiql-tab-active{background-color:hsla(var(--color-neutral),var(--alpha-background-heavy));color:hsla(var(--color-neutral),1)}button.graphiql-tab-button{padding:var(--px-4) 0 var(--px-4) var(--px-8)}button.graphiql-tab-close{align-items:center;display:flex;padding:var(--px-4) var(--px-8)}button.graphiql-tab-close>svg{height:var(--px-8);width:var(--px-8)}.graphiql-history-header{font-size:var(--font-size-h2);font-weight:var(--font-weight-medium)}.graphiql-history-items{margin:var(--px-16) 0 0;list-style:none;padding:0}.graphiql-history-item{border-radius:var(--border-radius-4);color:hsla(var(--color-neutral),var(--alpha-secondary));display:flex;font-size:var(--font-size-inline-code);font-family:var(--font-family-mono);height:34px}.graphiql-history-item:hover{color:hsla(var(--color-neutral),1);background-color:hsla(var(--color-neutral),var(--alpha-background-light))}.graphiql-history-item:not(:first-child){margin-top:var(--px-4)}.graphiql-history-item.editable{background-color:hsla(var(--color-primary),var(--alpha-background-medium))}.graphiql-history-item.editable>input{background:transparent;border:none;flex:1;margin:0;outline:none;padding:0 var(--px-10);width:100%}.graphiql-history-item.editable>input::-moz-placeholder{color:hsla(var(--color-neutral),var(--alpha-secondary))}.graphiql-history-item.editable>input::placeholder{color:hsla(var(--color-neutral),var(--alpha-secondary))}.graphiql-history-item.editable>button{color:hsl(var(--color-primary));padding:0 var(--px-10)}.graphiql-history-item.editable>button:active{background-color:hsla(var(--color-primary),var(--alpha-background-heavy))}.graphiql-history-item.editable>button:focus{outline:hsl(var(--color-primary)) auto 1px}.graphiql-history-item.editable>button>svg{display:block}button.graphiql-history-item-label{flex:1;padding:var(--px-8) var(--px-10);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}button.graphiql-history-item-action{align-items:center;color:hsla(var(--color-neutral),var(--alpha-secondary));display:flex;padding:var(--px-8) var(--px-6)}button.graphiql-history-item-action:hover{color:hsla(var(--color-neutral),1)}button.graphiql-history-item-action>svg{height:14px;width:14px}.graphiql-history-item-spacer{height:var(--px-16)}.graphiql-doc-explorer-default-value{color:hsl(var(--color-success))}a.graphiql-doc-explorer-type-name{color:hsl(var(--color-warning));text-decoration:none}a.graphiql-doc-explorer-type-name:hover{text-decoration:underline}a.graphiql-doc-explorer-type-name:focus{outline:hsl(var(--color-warning)) auto 1px}.graphiql-doc-explorer-argument>*+*{margin-top:var(--px-12)}.graphiql-doc-explorer-argument-name{color:hsl(var(--color-secondary))}.graphiql-doc-explorer-argument-deprecation{background-color:hsla(var(--color-warning),var(--alpha-background-light));border:1px solid hsl(var(--color-warning));border-radius:var(--border-radius-4);color:hsl(var(--color-warning));padding:var(--px-8)}.graphiql-doc-explorer-argument-deprecation-label{font-size:var(--font-size-hint);font-weight:var(--font-weight-medium)}.graphiql-doc-explorer-deprecation{background-color:hsla(var(--color-warning),var(--alpha-background-light));border:1px solid hsl(var(--color-warning));border-radius:var(--px-4);color:hsl(var(--color-warning));padding:var(--px-8)}.graphiql-doc-explorer-deprecation-label{font-size:var(--font-size-hint);font-weight:var(--font-weight-medium)}.graphiql-doc-explorer-directive{color:hsl(var(--color-secondary))}.graphiql-doc-explorer-section-title{align-items:center;display:flex;font-size:var(--font-size-hint);font-weight:var(--font-weight-medium);line-height:1}.graphiql-doc-explorer-section-title>svg{height:var(--px-16);margin-right:var(--px-8);width:var(--px-16)}.graphiql-doc-explorer-section-content{margin-left:var(--px-8);margin-top:var(--px-16)}.graphiql-doc-explorer-section-content>*+*{margin-top:var(--px-16)}.graphiql-doc-explorer-root-type{color:hsl(var(--color-info))}:root{--reach-combobox: 1}[data-reach-combobox-popover]{border:solid 1px hsla(0,0%,0%,.25);background:hsla(0,100%,100%,.99);font-size:85%}[data-reach-combobox-list]{list-style:none;margin:0;padding:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}[data-reach-combobox-option]{cursor:pointer;margin:0;padding:.25rem .5rem}[data-reach-combobox-option][aria-selected=true]{background:hsl(211,10%,95%)}[data-reach-combobox-option]:hover{background:hsl(211,10%,92%)}[data-reach-combobox-option][aria-selected=true]:hover{background:hsl(211,10%,90%)}[data-suggested-value]{font-weight:700}[data-reach-combobox]{color:hsla(var(--color-neutral),var(--alpha-secondary))}[data-reach-combobox]:not([data-state="idle"]){border:var(--popover-border);border-radius:var(--border-radius-4);box-shadow:var(--popover-box-shadow);color:hsla(var(--color-neutral),1)}[data-reach-combobox]:not([data-state="idle"]) .graphiql-doc-explorer-search-input{background:hsl(var(--color-base));border-bottom-left-radius:0;border-bottom-right-radius:0}.graphiql-doc-explorer-search-input{align-items:center;background-color:hsla(var(--color-neutral),var(--alpha-background-light));border-radius:var(--border-radius-4);display:flex;padding:var(--px-8) var(--px-12)}[data-reach-combobox-input]{border:none;background-color:transparent;margin-left:var(--px-4);width:100%}[data-reach-combobox-input]:focus{outline:none}[data-reach-combobox-popover]{background-color:hsl(var(--color-base));border:none;border-bottom-left-radius:var(--border-radius-4);border-bottom-right-radius:var(--border-radius-4);border-top:1px solid hsla(var(--color-neutral),var(--alpha-background-heavy));max-height:400px;overflow-y:auto;position:relative}[data-reach-combobox-list]{font-size:var(--font-size-body);padding:var(--px-4)}[data-reach-combobox-option]{border-radius:var(--border-radius-4);color:hsla(var(--color-neutral),var(--alpha-secondary));overflow-x:hidden;padding:var(--px-8) var(--px-12);text-overflow:ellipsis;white-space:nowrap}[data-reach-combobox-option][data-highlighted]{background-color:hsla(var(--color-neutral),var(--alpha-background-light))}[data-reach-combobox-option]:hover{background-color:hsla(var(--color-neutral),var(--alpha-background-medium))}[data-reach-combobox-option][data-highlighted]:hover{background-color:hsla(var(--color-neutral),var(--alpha-background-heavy))}[data-reach-combobox-option]+[data-reach-combobox-option]{margin-top:var(--px-4)}.graphiql-doc-explorer-search-type{color:hsl(var(--color-info))}.graphiql-doc-explorer-search-field{color:hsl(var(--color-warning))}.graphiql-doc-explorer-search-argument{color:hsl(var(--color-secondary))}.graphiql-doc-explorer-search-divider{color:hsla(var(--color-neutral),var(--alpha-secondary));font-size:var(--font-size-hint);font-weight:var(--font-weight-medium);margin-top:var(--px-8);padding:var(--px-8) var(--px-12)}.graphiql-doc-explorer-search-empty{color:hsla(var(--color-neutral),var(--alpha-secondary));padding:var(--px-8) var(--px-12)}a.graphiql-doc-explorer-field-name{color:hsl(var(--color-info));text-decoration:none}a.graphiql-doc-explorer-field-name:hover{text-decoration:underline}a.graphiql-doc-explorer-field-name:focus{outline:hsl(var(--color-info)) auto 1px}.graphiql-doc-explorer-item>:not(:first-child){margin-top:var(--px-12)}.graphiql-doc-explorer-argument-multiple{margin-left:var(--px-8)}.graphiql-doc-explorer-enum-value{color:hsl(var(--color-info))}.graphiql-doc-explorer-header{display:flex;justify-content:space-between;position:relative}.graphiql-doc-explorer-header:focus-within .graphiql-doc-explorer-title{visibility:hidden}.graphiql-doc-explorer-header:focus-within .graphiql-doc-explorer-back:not(:focus){color:transparent}.graphiql-doc-explorer-header-content{display:flex;flex-direction:column;min-width:0}.graphiql-doc-explorer-search{height:100%;position:absolute;right:0;top:0}.graphiql-doc-explorer-search:focus-within{left:0}.graphiql-doc-explorer-search [data-reach-combobox-input]{height:24px;width:4ch}.graphiql-doc-explorer-search [data-reach-combobox-input]:focus{width:100%}a.graphiql-doc-explorer-back{align-items:center;color:hsla(var(--color-neutral),var(--alpha-secondary));display:flex;text-decoration:none}a.graphiql-doc-explorer-back:hover{text-decoration:underline}a.graphiql-doc-explorer-back:focus{outline:hsla(var(--color-neutral),var(--alpha-secondary)) auto 1px}a.graphiql-doc-explorer-back:focus+.graphiql-doc-explorer-title{visibility:unset}a.graphiql-doc-explorer-back>svg{height:var(--px-8);margin-right:var(--px-8);width:var(--px-8)}.graphiql-doc-explorer-title{font-weight:var(--font-weight-medium);font-size:var(--font-size-h2);overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}.graphiql-doc-explorer-title:not(:first-child){font-size:var(--font-size-h3);margin-top:var(--px-8)}.graphiql-doc-explorer-content>*{color:hsla(var(--color-neutral),var(--alpha-secondary));margin-top:var(--px-20)}.graphiql-doc-explorer-error{background-color:hsla(var(--color-error),var(--alpha-background-heavy));border:1px solid hsl(var(--color-error));border-radius:var(--border-radius-8);color:hsl(var(--color-error));padding:var(--px-8) var(--px-12)}.CodeMirror{font-family:monospace;height:300px;color:#000;direction:ltr}.CodeMirror-lines{padding:4px 0}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{padding:0 4px}.CodeMirror-scrollbar-filler,.CodeMirror-gutter-filler{background-color:#fff}.CodeMirror-gutters{border-right:1px solid #ddd;background-color:#f7f7f7;white-space:nowrap}.CodeMirror-linenumber{padding:0 3px 0 5px;min-width:20px;text-align:right;color:#999;white-space:nowrap}.CodeMirror-guttermarker{color:#000}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror-cursor{border-left:1px solid black;border-right:none;width:0}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.cm-fat-cursor .CodeMirror-cursor{width:auto;border:0!important;background:#7e7}.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-fat-cursor .CodeMirror-line::selection,.cm-fat-cursor .CodeMirror-line>span::selection,.cm-fat-cursor .CodeMirror-line>span>span::selection{background:transparent}.cm-fat-cursor .CodeMirror-line::-moz-selection,.cm-fat-cursor .CodeMirror-line>span::-moz-selection,.cm-fat-cursor .CodeMirror-line>span>span::-moz-selection{background:transparent}.cm-fat-cursor{caret-color:transparent}@keyframes blink{50%{background-color:transparent}}.cm-tab{display:inline-block;text-decoration:inherit}.CodeMirror-rulers{position:absolute;left:0;right:0;top:-50px;bottom:0;overflow:hidden}.CodeMirror-ruler{border-left:1px solid #ccc;top:0;bottom:0;position:absolute}.cm-s-default .cm-header{color:#00f}.cm-s-default .cm-quote{color:#090}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-variable-3,.cm-s-default .cm-type{color:#085}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta,.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-s-default .cm-error,.cm-invalidchar{color:red}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0b0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#a22}.CodeMirror-matchingtag{background:rgba(255,150,0,.3)}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{position:relative;overflow:hidden;background:white}.CodeMirror-scroll{overflow:scroll!important;margin-bottom:-50px;margin-right:-50px;padding-bottom:50px;height:100%;outline:none;position:relative;z-index:0}.CodeMirror-sizer{position:relative;border-right:50px solid transparent}.CodeMirror-vscrollbar,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-gutter-filler{position:absolute;z-index:6;display:none;outline:none}.CodeMirror-vscrollbar{right:0;top:0;overflow-x:hidden;overflow-y:scroll}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-y:hidden;overflow-x:scroll}.CodeMirror-scrollbar-filler{right:0;bottom:0}.CodeMirror-gutter-filler{left:0;bottom:0}.CodeMirror-gutters{position:absolute;left:0;top:0;min-height:100%;z-index:3}.CodeMirror-gutter{white-space:normal;height:100%;display:inline-block;vertical-align:top;margin-bottom:-50px}.CodeMirror-gutter-wrapper{position:absolute;z-index:4;background:none!important;border:none!important}.CodeMirror-gutter-background{position:absolute;top:0;bottom:0;z-index:4}.CodeMirror-gutter-elt{position:absolute;cursor:default;z-index:4}.CodeMirror-gutter-wrapper ::selection{background-color:transparent}.CodeMirror-gutter-wrapper ::-moz-selection{background-color:transparent}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{border-radius:0;border-width:0;background:transparent;font-family:inherit;font-size:inherit;margin:0;white-space:pre;word-wrap:normal;line-height:inherit;color:inherit;z-index:2;position:relative;overflow:visible;-webkit-tap-highlight-color:transparent;font-variant-ligatures:contextual}.CodeMirror-wrap pre.CodeMirror-line,.CodeMirror-wrap pre.CodeMirror-line-like{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{position:absolute;left:0;right:0;top:0;bottom:0;z-index:0}.CodeMirror-linewidget{position:relative;z-index:2;padding:.1px}.CodeMirror-rtl pre{direction:rtl}.CodeMirror-code{outline:none}.CodeMirror-scroll,.CodeMirror-sizer,.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber{box-sizing:content-box}.CodeMirror-measure{position:absolute;width:100%;height:0;overflow:hidden;visibility:hidden}.CodeMirror-cursor{position:absolute;pointer-events:none}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{visibility:hidden;position:relative;z-index:3}div.CodeMirror-dragcursors,.CodeMirror-focused div.CodeMirror-cursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:#d7d4f0}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:#d7d4f0}.cm-searching{background-color:#ffa;background-color:#ff06}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:""}span.CodeMirror-selectedtext{background:none}.CodeMirror{height:100%;position:absolute;width:100%;font-family:var(--font-family-mono)}.CodeMirror,.CodeMirror-gutters{background:none;background-color:var(--editor-background, hsl(var(--color-base)))}.CodeMirror-linenumber{padding:0}.CodeMirror-gutters{border:none}.cm-s-graphiql{color:hsla(var(--color-neutral),var(--alpha-tertiary))}.cm-s-graphiql .cm-keyword{color:hsl(var(--color-primary))}.cm-s-graphiql .cm-def{color:hsl(var(--color-tertiary))}.cm-s-graphiql .cm-punctuation{color:hsla(var(--color-neutral),var(--alpha-tertiary))}.cm-s-graphiql .cm-variable{color:hsl(var(--color-secondary))}.cm-s-graphiql .cm-atom{color:hsl(var(--color-tertiary))}.cm-s-graphiql .cm-number{color:hsl(var(--color-success))}.cm-s-graphiql .cm-string{color:hsl(var(--color-warning))}.cm-s-graphiql .cm-builtin{color:hsl(var(--color-success))}.cm-s-graphiql .cm-string-2{color:hsl(var(--color-secondary))}.cm-s-graphiql .cm-attribute,.cm-s-graphiql .cm-meta{color:hsl(var(--color-tertiary))}.cm-s-graphiql .cm-property{color:hsl(var(--color-info))}.cm-s-graphiql .cm-qualifier{color:hsl(var(--color-secondary))}.cm-s-graphiql .cm-comment{color:hsla(var(--color-neutral),var(--alpha-secondary))}.cm-s-graphiql .cm-ws{color:hsla(var(--color-neutral),var(--alpha-tertiary))}.cm-s-graphiql .cm-invalidchar{color:hsl(var(--color-error))}.cm-s-graphiql .CodeMirror-cursor{border-left:2px solid hsla(var(--color-neutral),var(--alpha-secondary))}.cm-s-graphiql .CodeMirror-linenumber{color:hsla(var(--color-neutral),var(--alpha-tertiary))}div.CodeMirror span.CodeMirror-matchingbracket,div.CodeMirror span.CodeMirror-nonmatchingbracket{color:hsl(var(--color-warning))}.CodeMirror-selected,.CodeMirror-focused .CodeMirror-selected{background:hsla(var(--color-neutral),var(--alpha-background-heavy))}.CodeMirror-dialog{background:inherit;color:inherit;left:0;right:0;overflow:hidden;padding:var(--px-2) var(--px-6);position:absolute;z-index:6}.CodeMirror-dialog-top{border-bottom:1px solid hsla(var(--color-neutral),var(--alpha-background-heavy));padding-bottom:var(--px-12);top:0}.CodeMirror-dialog-bottom{border-top:1px solid hsla(var(--color-neutral),var(--alpha-background-heavy));bottom:0;padding-top:var(--px-12)}.CodeMirror-search-hint{display:none}.CodeMirror-dialog input{border:1px solid hsla(var(--color-neutral),var(--alpha-background-heavy));border-radius:var(--border-radius-4);padding:var(--px-4)}.CodeMirror-dialog input:focus{outline:hsl(var(--color-primary)) solid 2px}.cm-searching{background-color:hsla(var(--color-warning),var(--alpha-background-light));padding-bottom:1.5px;padding-top:.5px}.CodeMirror-foldmarker{color:#00f;text-shadow:#b9f 1px 1px 2px,#b9f -1px -1px 2px,#b9f 1px -1px 2px,#b9f -1px 1px 2px;font-family:arial;line-height:.3;cursor:pointer}.CodeMirror-foldgutter{width:.7em}.CodeMirror-foldgutter-open,.CodeMirror-foldgutter-folded{cursor:pointer}.CodeMirror-foldgutter-open:after{content:"\25be"}.CodeMirror-foldgutter-folded:after{content:"\25b8"}.CodeMirror-foldgutter{width:var(--px-12)}.CodeMirror-foldmarker{background-color:hsl(var(--color-info));border-radius:var(--border-radius-4);color:hsl(var(--color-base));font-family:inherit;margin:0 var(--px-4);padding:0 var(--px-8);text-shadow:none}.CodeMirror-foldgutter-open,.CodeMirror-foldgutter-folded{color:hsla(var(--color-neutral),var(--alpha-tertiary))}.CodeMirror-foldgutter-open:after,.CodeMirror-foldgutter-folded:after{margin:0 var(--px-2)}.graphiql-editor{height:100%;position:relative;width:100%}.graphiql-editor.hidden{left:-9999px;position:absolute;top:-9999px;visibility:hidden}.CodeMirror-lint-markers{width:16px}.CodeMirror-lint-tooltip{background-color:#ffd;border:1px solid black;border-radius:4px;color:#000;font-family:monospace;font-size:10pt;overflow:hidden;padding:2px 5px;position:fixed;white-space:pre;white-space:pre-wrap;z-index:100;max-width:600px;opacity:0;transition:opacity .4s;-moz-transition:opacity .4s;-webkit-transition:opacity .4s;-o-transition:opacity .4s;-ms-transition:opacity .4s}.CodeMirror-lint-mark{background-position:left bottom;background-repeat:repeat-x}.CodeMirror-lint-mark-warning{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAYAAAC09K7GAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJFhQXEbhTg7YAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAAMklEQVQI12NkgIIvJ3QXMjAwdDN+OaEbysDA4MPAwNDNwMCwiOHLCd1zX07o6kBVGQEAKBANtobskNMAAAAASUVORK5CYII=)}.CodeMirror-lint-mark-error{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAYAAAC09K7GAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDw4cOCW1/KIAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAAHElEQVQI12NggIL/DAz/GdA5/xkY/qPKMDAwAADLZwf5rvm+LQAAAABJRU5ErkJggg==)}.CodeMirror-lint-marker{background-position:center center;background-repeat:no-repeat;cursor:pointer;display:inline-block;height:16px;width:16px;vertical-align:middle;position:relative}.CodeMirror-lint-message{padding-left:18px;background-position:top left;background-repeat:no-repeat}.CodeMirror-lint-marker-warning,.CodeMirror-lint-message-warning{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAANlBMVEX/uwDvrwD/uwD/uwD/uwD/uwD/uwD/uwD/uwD6twD/uwAAAADurwD2tQD7uAD+ugAAAAD/uwDhmeTRAAAADHRSTlMJ8mN1EYcbmiixgACm7WbuAAAAVklEQVR42n3PUQqAIBBFUU1LLc3u/jdbOJoW1P08DA9Gba8+YWJ6gNJoNYIBzAA2chBth5kLmG9YUoG0NHAUwFXwO9LuBQL1giCQb8gC9Oro2vp5rncCIY8L8uEx5ZkAAAAASUVORK5CYII=)}.CodeMirror-lint-marker-error,.CodeMirror-lint-message-error{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAHlBMVEW7AAC7AACxAAC7AAC7AAAAAAC4AAC5AAD///+7AAAUdclpAAAABnRSTlMXnORSiwCK0ZKSAAAATUlEQVR42mWPOQ7AQAgDuQLx/z8csYRmPRIFIwRGnosRrpamvkKi0FTIiMASR3hhKW+hAN6/tIWhu9PDWiTGNEkTtIOucA5Oyr9ckPgAWm0GPBog6v4AAAAASUVORK5CYII=)}.CodeMirror-lint-marker-multiple{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAMAAADzjKfhAAAACVBMVEUAAAAAAAC/v7914kyHAAAAAXRSTlMAQObYZgAAACNJREFUeNo1ioEJAAAIwmz/H90iFFSGJgFMe3gaLZ0od+9/AQZ0ADosbYraAAAAAElFTkSuQmCC);background-repeat:no-repeat;background-position:right bottom;width:100%;height:100%}.CodeMirror-lint-line-error{background-color:#b74c5114}.CodeMirror-lint-line-warning{background-color:#ffd3001a}.CodeMirror-lint-mark-error,.CodeMirror-lint-mark-warning{background-repeat:repeat-x;background-size:10px 3px;background-position:0 95%}.cm-s-graphiql .CodeMirror-lint-mark-error{color:hsl(var(--color-error))}.CodeMirror-lint-mark-error{background-image:linear-gradient(45deg,transparent 65%,hsl(var(--color-error)) 80%,transparent 90%),linear-gradient(135deg,transparent 5%,hsl(var(--color-error)) 15%,transparent 25%),linear-gradient(135deg,transparent 45%,hsl(var(--color-error)) 55%,transparent 65%),linear-gradient(45deg,transparent 25%,hsl(var(--color-error)) 35%,transparent 50%)}.cm-s-graphiql .CodeMirror-lint-mark-warning{color:hsl(var(--color-warning))}.CodeMirror-lint-mark-warning{background-image:linear-gradient(45deg,transparent 65%,hsl(var(--color-warning)) 80%,transparent 90%),linear-gradient(135deg,transparent 5%,hsl(var(--color-warning)) 15%,transparent 25%),linear-gradient(135deg,transparent 45%,hsl(var(--color-warning)) 55%,transparent 65%),linear-gradient(45deg,transparent 25%,hsl(var(--color-warning)) 35%,transparent 50%)}.CodeMirror-lint-tooltip{background-color:hsl(var(--color-base));border:var(--popover-border);border-radius:var(--border-radius-8);box-shadow:var(--popover-box-shadow);font-size:var(--font-size-body);font-family:var(--font-family);max-width:600px;overflow:hidden;padding:var(--px-12)}.CodeMirror-lint-message-error,.CodeMirror-lint-message-warning{background-image:none;padding:0}.CodeMirror-lint-message-error{color:hsl(var(--color-error))}.CodeMirror-lint-message-warning{color:hsl(var(--color-warning))}.CodeMirror-hints{position:absolute;z-index:10;overflow:hidden;list-style:none;margin:0;padding:2px;box-shadow:2px 3px 5px #0003;border-radius:3px;border:1px solid silver;background:white;font-size:90%;font-family:monospace;max-height:20em;overflow-y:auto}.CodeMirror-hint{margin:0;padding:0 4px;border-radius:2px;white-space:pre;color:#000;cursor:pointer}li.CodeMirror-hint-active{background:#08f;color:#fff}.CodeMirror-hints{background:hsl(var(--color-base));border:var(--popover-border);border-radius:var(--border-radius-8);box-shadow:var(--popover-box-shadow);display:grid;font-family:var(--font-family);font-size:var(--font-size-body);grid-template-columns:auto fit-content(300px);max-height:264px;padding:0}.CodeMirror-hint{border-radius:var(--border-radius-4);color:hsla(var(--color-neutral),var(--alpha-secondary));grid-column:1 / 2;margin:var(--px-4);padding:var(--px-6) var(--px-8)!important}.CodeMirror-hint:not(:first-child){margin-top:0}li.CodeMirror-hint-active{background:hsla(var(--color-primary),var(--alpha-background-medium));color:hsl(var(--color-primary))}.CodeMirror-hint-information{border-left:1px solid hsla(var(--color-neutral),var(--alpha-background-heavy));grid-column:2 / 3;grid-row:1 / 99999;max-height:264px;overflow:auto;padding:var(--px-12)}.CodeMirror-hint-information-header{display:flex;align-items:baseline}.CodeMirror-hint-information-field-name{font-size:var(--font-size-h4);font-weight:var(--font-weight-medium)}.CodeMirror-hint-information-type-name-pill{border:1px solid hsla(var(--color-neutral),var(--alpha-tertiary));border-radius:var(--border-radius-4);color:hsla(var(--color-neutral),var(--alpha-secondary));margin-left:var(--px-6);padding:var(--px-4)}.CodeMirror-hint-information-type-name{color:inherit;text-decoration:none}.CodeMirror-hint-information-type-name:hover{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.CodeMirror-hint-information-description{color:hsla(var(--color-neutral),var(--alpha-secondary));margin-top:var(--px-12)}.CodeMirror-info{background-color:hsl(var(--color-base));border:var(--popover-border);border-radius:var(--border-radius-8);box-shadow:var(--popover-box-shadow);color:hsla(var(--color-neutral),1);max-height:300px;max-width:400px;opacity:0;overflow:auto;padding:var(--px-12);position:fixed;transition:opacity .15s;z-index:10}.CodeMirror-info a{color:inherit;text-decoration:none}.CodeMirror-info a:hover{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.CodeMirror-info .CodeMirror-info-header{display:flex;align-items:baseline}.CodeMirror-info .CodeMirror-info-header>.type-name,.CodeMirror-info .CodeMirror-info-header>.field-name,.CodeMirror-info .CodeMirror-info-header>.arg-name,.CodeMirror-info .CodeMirror-info-header>.directive-name,.CodeMirror-info .CodeMirror-info-header>.enum-value{font-size:var(--font-size-h4);font-weight:var(--font-weight-medium)}.CodeMirror-info .type-name-pill{border:1px solid hsla(var(--color-neutral),var(--alpha-tertiary));border-radius:var(--border-radius-4);color:hsla(var(--color-neutral),var(--alpha-secondary));margin-left:var(--px-6);padding:var(--px-4)}.CodeMirror-info .info-description{color:hsla(var(--color-neutral),var(--alpha-secondary));margin-top:var(--px-12);overflow:hidden}.CodeMirror-jump-token{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:pointer}.auto-inserted-leaf.cm-property{animation-duration:6s;animation-name:insertionFade;border-radius:var(--border-radius-4);padding:var(--px-2)}@keyframes insertionFade{0%,to{background-color:none}15%,85%{background-color:hsla(var(--color-warning),var(--alpha-background-light))}}button.graphiql-toolbar-button{display:flex;align-items:center;justify-content:center;height:var(--toolbar-width);width:var(--toolbar-width)}button.graphiql-toolbar-button.error{background:hsla(var(--color-error),var(--alpha-background-heavy))}.graphiql-execute-button-wrapper{position:relative}button.graphiql-execute-button{background-color:hsl(var(--color-primary));border:none;border-radius:var(--border-radius-8);cursor:pointer;height:var(--toolbar-width);padding:0;width:var(--toolbar-width)}button.graphiql-execute-button:hover{background-color:hsla(var(--color-primary),.9)}button.graphiql-execute-button:active{background-color:hsla(var(--color-primary),.8)}button.graphiql-execute-button:focus{outline:hsla(var(--color-primary),.8) auto 1px}button.graphiql-execute-button>svg{color:#fff;display:block;height:var(--px-16);margin:auto;width:var(--px-16)}.graphiql-toolbar-listbox,button.graphiql-toolbar-menu{display:block;height:var(--toolbar-width);width:var(--toolbar-width)}/*!*********************************************************************************************************************!*\ + !*** css ../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/postcss-loader/dist/cjs.js!./style.css ***! + \*********************************************************************************************************************/.graphiql-container{background-color:hsl(var(--color-base));display:flex;height:100%;margin:0;overflow:hidden;width:100%}.graphiql-container .graphiql-sidebar{display:flex;flex-direction:column;justify-content:space-between;padding:var(--px-8);width:var(--sidebar-width)}.graphiql-container .graphiql-sidebar .graphiql-sidebar-section{display:flex;flex-direction:column;gap:var(--px-8)}.graphiql-container .graphiql-sidebar button{display:flex;align-items:center;justify-content:center;color:hsla(var(--color-neutral),var(--alpha-secondary));height:calc(var(--sidebar-width) - (2 * var(--px-8)));width:calc(var(--sidebar-width) - (2 * var(--px-8)))}.graphiql-container .graphiql-sidebar button.active{color:hsla(var(--color-neutral),1)}.graphiql-container .graphiql-sidebar button:not(:first-child){margin-top:var(--px-4)}.graphiql-container .graphiql-sidebar button>svg{height:var(--px-20);width:var(--px-20)}.graphiql-container .graphiql-main{display:flex;flex:1;min-width:0}.graphiql-container .graphiql-sessions{background-color:hsla(var(--color-neutral),var(--alpha-background-light));border-radius:calc(var(--border-radius-12) + var(--px-8));display:flex;flex-direction:column;flex:1;max-height:100%;margin:var(--px-16);margin-left:0;min-width:0}.graphiql-container .graphiql-session-header{align-items:center;display:flex;justify-content:space-between;height:var(--session-header-height)}button.graphiql-tab-add{height:100%;padding:0 var(--px-4)}button.graphiql-tab-add>svg{color:hsla(var(--color-neutral),var(--alpha-secondary));display:block;height:var(--px-16);width:var(--px-16)}.graphiql-add-tab-wrapper{padding:var(--px-12) 0}.graphiql-container .graphiql-session-header-right{align-items:stretch;display:flex}.graphiql-container .graphiql-logo{color:hsla(var(--color-neutral),var(--alpha-secondary));font-size:var(--font-size-h4);font-weight:var(--font-weight-medium);padding:var(--px-12) var(--px-16)}.graphiql-container .graphiql-logo .graphiql-logo-link{color:hsla(var(--color-neutral),var(--alpha-secondary));text-decoration:none}.graphiql-container .graphiql-session{display:flex;flex:1;padding:0 var(--px-8) var(--px-8)}.graphiql-container .graphiql-editors{background-color:hsl(var(--color-base));border-radius:calc(var(--border-radius-12));box-shadow:var(--popover-box-shadow);display:flex;flex:1;flex-direction:column}.graphiql-container .graphiql-editors.full-height{margin-top:calc(var(--px-8) - var(--session-header-height))}.graphiql-container .graphiql-query-editor{border-bottom:1px solid hsla(var(--color-neutral),var(--alpha-background-heavy));display:flex;flex:1;padding:var(--px-16)}.graphiql-container .graphiql-query-editor-wrapper{display:flex;flex:1}.graphiql-container .graphiql-toolbar{margin-left:var(--px-16);width:var(--toolbar-width)}.graphiql-container .graphiql-toolbar>*+*{margin-top:var(--px-8)}.graphiql-toolbar-icon{color:hsla(var(--color-neutral),var(--alpha-tertiary));display:block;height:calc(var(--toolbar-width) - (var(--px-8) * 2));width:calc(var(--toolbar-width) - (var(--px-8) * 2))}.graphiql-container .graphiql-editor-tools{align-items:center;cursor:row-resize;display:flex;justify-content:space-between;padding:var(--px-8)}.graphiql-container .graphiql-editor-tools button{color:hsla(var(--color-neutral),var(--alpha-secondary))}.graphiql-container .graphiql-editor-tools button.active{color:hsla(var(--color-neutral),1)}.graphiql-container .graphiql-editor-tools-tabs{cursor:auto;display:flex}.graphiql-container .graphiql-editor-tools-tabs>button{padding:var(--px-8) var(--px-12)}.graphiql-container .graphiql-editor-tools-tabs>button+button{margin-left:var(--px-8)}.graphiql-container .graphiql-editor-tool{flex:1;padding:var(--px-16)}.graphiql-container .graphiql-toolbar,.graphiql-container .graphiql-editor-tools,.graphiql-container .graphiql-editor-tool{position:relative}.graphiql-container .graphiql-response{--editor-background: transparent;display:flex;flex:1;flex-direction:column;position:relative}.graphiql-container .graphiql-response .result-window{position:relative;flex:1}.graphiql-container .graphiql-footer{border-top:1px solid hsla(var(--color-neutral),var(--alpha-background-heavy))}.graphiql-container .graphiql-plugin{border-left:1px solid hsla(var(--color-neutral),var(--alpha-background-heavy));flex:1;overflow-y:auto;padding:var(--px-16)}.graphiql-container .graphiql-horizontal-drag-bar{width:var(--px-12);cursor:col-resize}.graphiql-container .graphiql-horizontal-drag-bar:hover:after{border:var(--px-2) solid hsla(var(--color-neutral),var(--alpha-background-heavy));border-radius:var(--border-radius-2);content:"";display:block;height:25%;margin:0 auto;position:relative;top:37.5%;width:0}.graphiql-container .graphiql-chevron-icon{color:hsla(var(--color-neutral),var(--alpha-tertiary));display:block;height:var(--px-12);margin:var(--px-12);width:var(--px-12)}.graphiql-spin{animation:spin .8s linear 0s infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}reach-portal .graphiql-dialog-header{align-items:center;display:flex;justify-content:space-between;padding:var(--px-24)}reach-portal .graphiql-dialog-title{font-size:var(--font-size-h3);font-weight:var(--font-weight-medium)}reach-portal .graphiql-dialog-section{align-items:center;border-top:1px solid hsla(var(--color-neutral),var(--alpha-background-heavy));display:flex;justify-content:space-between;padding:var(--px-24)}reach-portal .graphiql-dialog-section>:not(:first-child){margin-left:var(--px-24)}reach-portal .graphiql-dialog-section-title{font-size:var(--font-size-h4);font-weight:var(--font-weight-medium)}reach-portal .graphiql-dialog-section-caption{color:hsla(var(--color-neutral),var(--alpha-secondary))}reach-portal .graphiql-warning-text{color:hsl(var(--color-warning));font-weight:var(--font-weight-medium)}reach-portal .graphiql-table{border-collapse:collapse;width:100%}reach-portal .graphiql-table :is(th,td){border:1px solid hsla(var(--color-neutral),var(--alpha-background-heavy));padding:var(--px-8) var(--px-12)}reach-portal .graphiql-key{background-color:hsla(var(--color-neutral),var(--alpha-background-medium));border-radius:var(--border-radius-4);padding:var(--px-4)}.graphiql-container svg{pointer-events:none}.docExplorerWrap{height:unset!important;min-width:unset!important;width:unset!important}.doc-explorer-title{font-size:var(--font-size-h2);font-weight:var(--font-weight-medium)}.doc-explorer-rhs{display:none}.graphiql-explorer-root{font-family:var(--font-family-mono)!important;font-size:var(--font-size-body)!important;padding:0!important}.graphiql-explorer-root>div:first-child{padding-left:var(--px-8)}.graphiql-explorer-root input{background:hsl(var(--color-base))}.graphiql-explorer-root select{background-color:hsl(var(--color-base));border:1px solid hsla(var(--color-neutral),var(--alpha-secondary));border-radius:var(--border-radius-4);color:hsl(var(--color-neutral));margin:0 var(--px-4);padding:var(--px-4) var(--px-6)}body,html{margin:0}.graphiql-container{height:100vh;width:100%} diff --git a/packages/studio/dist-frontend/assets/info-addon.es-a031eb27.js b/packages/studio/dist-frontend/assets/info-addon.es-a031eb27.js new file mode 100644 index 000000000000..50f8194de829 --- /dev/null +++ b/packages/studio/dist-frontend/assets/info-addon.es-a031eb27.js @@ -0,0 +1 @@ +import{C as i}from"./codemirror.es-2fb7d200.js";import"./index-17331a0b.js";var y=Object.defineProperty,u=(e,t)=>y(e,"name",{value:t,configurable:!0});i.defineOption("info",!1,(e,t,n)=>{if(n&&n!==i.Init){const o=e.state.info.onMouseOver;i.off(e.getWrapperElement(),"mouseover",o),clearTimeout(e.state.info.hoverTimeout),delete e.state.info}if(t){const o=e.state.info=v(t);o.onMouseOver=h.bind(null,e),i.on(e.getWrapperElement(),"mouseover",o.onMouseOver)}});function v(e){return{options:e instanceof Function?{render:e}:e===!0?{}:e}}u(v,"createState");function g(e){const{options:t}=e.state.info;return(t==null?void 0:t.hoverTime)||500}u(g,"getHoverTime");function h(e,t){const n=e.state.info,o=t.target||t.srcElement;if(!(o instanceof HTMLElement)||o.nodeName!=="SPAN"||n.hoverTimeout!==void 0)return;const s=o.getBoundingClientRect(),r=u(function(){clearTimeout(n.hoverTimeout),n.hoverTimeout=setTimeout(f,a)},"onMouseMove"),p=u(function(){i.off(document,"mousemove",r),i.off(e.getWrapperElement(),"mouseout",p),clearTimeout(n.hoverTimeout),n.hoverTimeout=void 0},"onMouseOut"),f=u(function(){i.off(document,"mousemove",r),i.off(e.getWrapperElement(),"mouseout",p),n.hoverTimeout=void 0,T(e,s)},"onHover"),a=g(e);n.hoverTimeout=setTimeout(f,a),i.on(document,"mousemove",r),i.on(e.getWrapperElement(),"mouseout",p)}u(h,"onMouseOver");function T(e,t){const n=e.coordsChar({left:(t.left+t.right)/2,top:(t.top+t.bottom)/2}),o=e.state.info,{options:s}=o,r=s.render||e.getHelper(n,"info");if(r){const p=e.getTokenAt(n,!0);if(p){const f=r(p,s,e,n);f&&M(e,t,f)}}}u(T,"onMouseHover");function M(e,t,n){const o=document.createElement("div");o.className="CodeMirror-info",o.appendChild(n),document.body.appendChild(o);const s=o.getBoundingClientRect(),r=window.getComputedStyle(o),p=s.right-s.left+parseFloat(r.marginLeft)+parseFloat(r.marginRight),f=s.bottom-s.top+parseFloat(r.marginTop)+parseFloat(r.marginBottom);let a=t.bottom;f>window.innerHeight-t.bottom-15&&t.top>window.innerHeight-t.bottom&&(a=t.top-f),a<0&&(a=t.bottom);let l=Math.max(0,window.innerWidth-p-15);l>t.left&&(l=t.left),o.style.opacity="1",o.style.top=a+"px",o.style.left=l+"px";let d;const c=u(function(){clearTimeout(d)},"onMouseOverPopup"),m=u(function(){clearTimeout(d),d=setTimeout(O,200)},"onMouseOut"),O=u(function(){i.off(o,"mouseover",c),i.off(o,"mouseout",m),i.off(e.getWrapperElement(),"mouseout",m),o.style.opacity?(o.style.opacity="0",setTimeout(()=>{o.parentNode&&o.parentNode.removeChild(o)},600)):o.parentNode&&o.parentNode.removeChild(o)},"hidePopup");i.on(o,"mouseover",c),i.on(o,"mouseout",m),i.on(e.getWrapperElement(),"mouseout",m)}u(M,"showPopup"); diff --git a/packages/studio/dist-frontend/assets/info.es-352c58ba.js b/packages/studio/dist-frontend/assets/info.es-352c58ba.js new file mode 100644 index 000000000000..cb136e186d50 --- /dev/null +++ b/packages/studio/dist-frontend/assets/info.es-352c58ba.js @@ -0,0 +1 @@ +import{C as g}from"./codemirror.es-2fb7d200.js";import{g as y,a as M,b as V,c as _,d as x,e as u}from"./SchemaReference.es-fa68f115.js";import"./info-addon.es-a031eb27.js";import{n as f,q as p}from"./index-17331a0b.js";import"./forEachState.es-1e367fb2.js";var A=Object.defineProperty,l=(d,e)=>A(d,"name",{value:e,configurable:!0});g.registerHelper("info","graphql",(d,e)=>{if(!e.schema||!d.state)return;const{kind:a,step:n}=d.state,r=y(e.schema,d.state);if(a==="Field"&&n===0&&r.fieldDef||a==="AliasedField"&&n===2&&r.fieldDef){const c=document.createElement("div");c.className="CodeMirror-info-header",v(c,r,e);const i=document.createElement("div");return i.appendChild(c),o(i,e,r.fieldDef),i}if(a==="Directive"&&n===1&&r.directiveDef){const c=document.createElement("div");c.className="CodeMirror-info-header",D(c,r,e);const i=document.createElement("div");return i.appendChild(c),o(i,e,r.directiveDef),i}if(a==="Argument"&&n===0&&r.argDef){const c=document.createElement("div");c.className="CodeMirror-info-header",C(c,r,e);const i=document.createElement("div");return i.appendChild(c),o(i,e,r.argDef),i}if(a==="EnumValue"&&r.enumValue&&r.enumValue.description){const c=document.createElement("div");c.className="CodeMirror-info-header",E(c,r,e);const i=document.createElement("div");return i.appendChild(c),o(i,e,r.enumValue),i}if(a==="NamedType"&&r.type&&r.type.description){const c=document.createElement("div");c.className="CodeMirror-info-header",m(c,r,e,r.type);const i=document.createElement("div");return i.appendChild(c),o(i,e,r.type),i}});function v(d,e,a){h(d,e,a),s(d,e,a,e.type)}l(v,"renderField");function h(d,e,a){var n;const r=((n=e.fieldDef)===null||n===void 0?void 0:n.name)||"";t(d,r,"field-name",a,M(e))}l(h,"renderQualifiedField");function D(d,e,a){var n;const r="@"+(((n=e.directiveDef)===null||n===void 0?void 0:n.name)||"");t(d,r,"directive-name",a,V(e))}l(D,"renderDirective");function C(d,e,a){var n;const r=((n=e.argDef)===null||n===void 0?void 0:n.name)||"";t(d,r,"arg-name",a,_(e)),s(d,e,a,e.inputType)}l(C,"renderArg");function E(d,e,a){var n;const r=((n=e.enumValue)===null||n===void 0?void 0:n.name)||"";m(d,e,a,e.inputType),t(d,"."),t(d,r,"enum-value",a,x(e))}l(E,"renderEnumValue");function s(d,e,a,n){const r=document.createElement("span");r.className="type-name-pill",n instanceof f?(m(r,e,a,n.ofType),t(r,"!")):n instanceof p?(t(r,"["),m(r,e,a,n.ofType),t(r,"]")):t(r,(n==null?void 0:n.name)||"","type-name",a,u(e,n)),d.appendChild(r)}l(s,"renderTypeAnnotation");function m(d,e,a,n){n instanceof f?(m(d,e,a,n.ofType),t(d,"!")):n instanceof p?(t(d,"["),m(d,e,a,n.ofType),t(d,"]")):t(d,(n==null?void 0:n.name)||"","type-name",a,u(e,n))}l(m,"renderType");function o(d,e,a){const{description:n}=a;if(n){const r=document.createElement("div");r.className="info-description",e.renderDescription?r.innerHTML=e.renderDescription(n):r.appendChild(document.createTextNode(n)),d.appendChild(r)}T(d,e,a)}l(o,"renderDescription");function T(d,e,a){const n=a.deprecationReason;if(n){const r=document.createElement("div");r.className="info-deprecation",d.appendChild(r);const c=document.createElement("span");c.className="info-deprecation-label",c.appendChild(document.createTextNode("Deprecated")),r.appendChild(c);const i=document.createElement("div");i.className="info-deprecation-reason",e.renderDescription?i.innerHTML=e.renderDescription(n):i.appendChild(document.createTextNode(n)),r.appendChild(i)}}l(T,"renderDeprecation");function t(d,e,a="",n={onClick:null},r=null){if(a){const{onClick:c}=n;let i;c?(i=document.createElement("a"),i.href="javascript:void 0",i.addEventListener("click",N=>{c(r,N)})):i=document.createElement("span"),i.className=a,i.appendChild(document.createTextNode(e)),d.appendChild(i)}else d.appendChild(document.createTextNode(e))}l(t,"text"); diff --git a/packages/studio/dist-frontend/assets/javascript.es-5b95f990.js b/packages/studio/dist-frontend/assets/javascript.es-5b95f990.js new file mode 100644 index 000000000000..2ac777e8ff76 --- /dev/null +++ b/packages/studio/dist-frontend/assets/javascript.es-5b95f990.js @@ -0,0 +1 @@ +import{a as gr}from"./codemirror.es-2fb7d200.js";import"./index-17331a0b.js";var hr=Object.defineProperty,a=(D,oe)=>hr(D,"name",{value:oe,configurable:!0});function pr(D,oe){return oe.forEach(function(y){y&&typeof y!="string"&&!Array.isArray(y)&&Object.keys(y).forEach(function(B){if(B!=="default"&&!(B in D)){var h=Object.getOwnPropertyDescriptor(y,B);Object.defineProperty(D,B,h.get?h:{enumerable:!0,get:function(){return y[B]}})}})}),Object.freeze(Object.defineProperty(D,Symbol.toStringTag,{value:"Module"}))}a(pr,"_mergeNamespaces");var mr={exports:{}};(function(D,oe){(function(y){y(gr.exports)})(function(y){y.defineMode("javascript",function(B,h){var W=B.indentUnit,Be=h.statementIndent,se=h.jsonld,q=h.json||se,qe=h.trackScope!==!1,k=h.typescript,ce=h.wordCharacters||/[\w$\xa1-\uffff]/,Pe=function(){function e(v){return{type:v,style:"keyword"}}a(e,"kw");var r=e("keyword a"),n=e("keyword b"),f=e("keyword c"),s=e("keyword d"),d=e("operator"),m={type:"atom",style:"atom"};return{if:e("if"),while:r,with:r,else:n,do:n,try:n,finally:n,return:s,break:s,continue:s,new:e("new"),delete:f,void:f,throw:f,debugger:e("debugger"),var:e("var"),const:e("var"),let:e("var"),function:e("function"),catch:e("catch"),for:e("for"),switch:e("switch"),case:e("case"),default:e("default"),in:d,typeof:d,instanceof:d,true:m,false:m,null:m,undefined:m,NaN:m,Infinity:m,this:e("this"),class:e("class"),super:e("atom"),yield:f,export:e("export"),import:e("import"),extends:f,await:f}}(),Fe=/[+\-*&%=<>!?|~^@]/,kr=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/;function Le(e){for(var r=!1,n,f=!1;(n=e.next())!=null;){if(!r){if(n=="/"&&!f)return;n=="["?f=!0:f&&n=="]"&&(f=!1)}r=!r&&n=="\\"}}a(Le,"readRegexp");var Z,le;function x(e,r,n){return Z=e,le=n,r}a(x,"ret");function z(e,r){var n=e.next();if(n=='"'||n=="'")return r.tokenize=Qe(n),r.tokenize(e,r);if(n=="."&&e.match(/^\d[\d_]*(?:[eE][+\-]?[\d_]+)?/))return x("number","number");if(n=="."&&e.match(".."))return x("spread","meta");if(/[\[\]{}\(\),;\:\.]/.test(n))return x(n);if(n=="="&&e.eat(">"))return x("=>","operator");if(n=="0"&&e.match(/^(?:x[\dA-Fa-f_]+|o[0-7_]+|b[01_]+)n?/))return x("number","number");if(/\d/.test(n))return e.match(/^[\d_]*(?:n|(?:\.[\d_]*)?(?:[eE][+\-]?[\d_]+)?)?/),x("number","number");if(n=="/")return e.eat("*")?(r.tokenize=C,C(e,r)):e.eat("/")?(e.skipToEnd(),x("comment","comment")):$e(e,r,1)?(Le(e),e.match(/^\b(([gimyus])(?![gimyus]*\2))+\b/),x("regexp","string-2")):(e.eat("="),x("operator","operator",e.current()));if(n=="`")return r.tokenize=K,K(e,r);if(n=="#"&&e.peek()=="!")return e.skipToEnd(),x("meta","meta");if(n=="#"&&e.eatWhile(ce))return x("variable","property");if(n=="<"&&e.match("!--")||n=="-"&&e.match("->")&&!/\S/.test(e.string.slice(0,e.start)))return e.skipToEnd(),x("comment","comment");if(Fe.test(n))return(n!=">"||!r.lexical||r.lexical.type!=">")&&(e.eat("=")?(n=="!"||n=="=")&&e.eat("="):/[<>*+\-|&?]/.test(n)&&(e.eat(n),n==">"&&e.eat(n))),n=="?"&&e.eat(".")?x("."):x("operator","operator",e.current());if(ce.test(n)){e.eatWhile(ce);var f=e.current();if(r.lastType!="."){if(Pe.propertyIsEnumerable(f)){var s=Pe[f];return x(s.type,s.style,f)}if(f=="async"&&e.match(/^(\s|\/\*([^*]|\*(?!\/))*?\*\/)*[\[\(\w]/,!1))return x("async","keyword",f)}return x("variable","variable",f)}}a(z,"tokenBase");function Qe(e){return function(r,n){var f=!1,s;if(se&&r.peek()=="@"&&r.match(kr))return n.tokenize=z,x("jsonld-keyword","meta");for(;(s=r.next())!=null&&!(s==e&&!f);)f=!f&&s=="\\";return f||(n.tokenize=z),x("string","string")}}a(Qe,"tokenString");function C(e,r){for(var n=!1,f;f=e.next();){if(f=="/"&&n){r.tokenize=z;break}n=f=="*"}return x("comment","comment")}a(C,"tokenComment");function K(e,r){for(var n=!1,f;(f=e.next())!=null;){if(!n&&(f=="`"||f=="$"&&e.eat("{"))){r.tokenize=z;break}n=!n&&f=="\\"}return x("quasi","string-2",e.current())}a(K,"tokenQuasi");var br="([{}])";function de(e,r){r.fatArrowAt&&(r.fatArrowAt=null);var n=e.string.indexOf("=>",e.start);if(!(n<0)){if(k){var f=/:\s*(?:\w+(?:<[^>]*>|\[\])?|\{[^}]*\})\s*$/.exec(e.string.slice(e.start,n));f&&(n=f.index)}for(var s=0,d=!1,m=n-1;m>=0;--m){var v=e.string.charAt(m),_=br.indexOf(v);if(_>=0&&_<3){if(!s){++m;break}if(--s==0){v=="("&&(d=!0);break}}else if(_>=3&&_<6)++s;else if(ce.test(v))d=!0;else if(/["'\/`]/.test(v))for(;;--m){if(m==0)return;var wr=e.string.charAt(m-1);if(wr==v&&e.string.charAt(m-2)!="\\"){m--;break}}else if(d&&!s){++m;break}}d&&!s&&(r.fatArrowAt=m)}}a(de,"findFatArrow");var yr={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,this:!0,import:!0,"jsonld-keyword":!0};function ge(e,r,n,f,s,d){this.indented=e,this.column=r,this.type=n,this.prev=s,this.info=d,f!=null&&(this.align=f)}a(ge,"JSLexical");function Je(e,r){if(!qe)return!1;for(var n=e.localVars;n;n=n.next)if(n.name==r)return!0;for(var f=e.context;f;f=f.prev)for(var n=f.vars;n;n=n.next)if(n.name==r)return!0}a(Je,"inScope");function he(e,r,n,f,s){var d=e.cc;for(i.state=e,i.stream=s,i.marked=null,i.cc=d,i.style=r,e.lexical.hasOwnProperty("align")||(e.lexical.align=!0);;){var m=d.length?d.pop():q?b:w;if(m(n,f)){for(;d.length&&d[d.length-1].lex;)d.pop()();return i.marked?i.marked:n=="variable"&&Je(e,f)?"variable-2":r}}}a(he,"parseJS");var i={state:null,column:null,marked:null,cc:null};function o(){for(var e=arguments.length-1;e>=0;e--)i.cc.push(arguments[e])}a(o,"pass");function t(){return o.apply(null,arguments),!0}a(t,"cont");function pe(e,r){for(var n=r;n;n=n.next)if(n.name==e)return!0;return!1}a(pe,"inList");function P(e){var r=i.state;if(i.marked="def",!!qe){if(r.context){if(r.lexical.info=="var"&&r.context&&r.context.block){var n=ve(e,r.context);if(n!=null){r.context=n;return}}else if(!pe(e,r.localVars)){r.localVars=new H(e,r.localVars);return}}h.globalVars&&!pe(e,r.globalVars)&&(r.globalVars=new H(e,r.globalVars))}}a(P,"register");function ve(e,r){if(r)if(r.block){var n=ve(e,r.prev);return n?n==r.prev?r:new U(n,r.vars,!0):null}else return pe(e,r.vars)?r:new U(r.prev,new H(e,r.vars),!1);else return null}a(ve,"registerVarScoped");function ee(e){return e=="public"||e=="private"||e=="protected"||e=="abstract"||e=="readonly"}a(ee,"isModifier");function U(e,r,n){this.prev=e,this.vars=r,this.block=n}a(U,"Context");function H(e,r){this.name=e,this.next=r}a(H,"Var");var xr=new H("this",new H("arguments",null));function O(){i.state.context=new U(i.state.context,i.state.localVars,!1),i.state.localVars=xr}a(O,"pushcontext");function re(){i.state.context=new U(i.state.context,i.state.localVars,!0),i.state.localVars=null}a(re,"pushblockcontext"),O.lex=re.lex=!0;function T(){i.state.localVars=i.state.context.vars,i.state.context=i.state.context.prev}a(T,"popcontext"),T.lex=!0;function c(e,r){var n=a(function(){var f=i.state,s=f.indented;if(f.lexical.type=="stat")s=f.lexical.indented;else for(var d=f.lexical;d&&d.type==")"&&d.align;d=d.prev)s=d.indented;f.lexical=new ge(s,i.stream.column(),e,null,f.lexical,r)},"result");return n.lex=!0,n}a(c,"pushlex");function u(){var e=i.state;e.lexical.prev&&(e.lexical.type==")"&&(e.indented=e.lexical.indented),e.lexical=e.lexical.prev)}a(u,"poplex"),u.lex=!0;function l(e){function r(n){return n==e?t():e==";"||n=="}"||n==")"||n=="]"?o():t(r)}return a(r,"exp"),r}a(l,"expect");function w(e,r){return e=="var"?t(c("vardef",r),xe,l(";"),u):e=="keyword a"?t(c("form"),me,w,u):e=="keyword b"?t(c("form"),w,u):e=="keyword d"?i.stream.match(/^\s*$/,!1)?t():t(c("stat"),F,l(";"),u):e=="debugger"?t(l(";")):e=="{"?t(c("}"),re,ie,u,T):e==";"?t():e=="if"?(i.state.lexical.info=="else"&&i.state.cc[i.state.cc.length-1]==u&&i.state.cc.pop()(),t(c("form"),me,w,u,_e)):e=="function"?t(V):e=="for"?t(c("form"),re,Ie,w,T,u):e=="class"||k&&r=="interface"?(i.marked="keyword",t(c("form",e=="class"?e:r),ze,u)):e=="variable"?k&&r=="declare"?(i.marked="keyword",t(w)):k&&(r=="module"||r=="enum"||r=="type")&&i.stream.match(/^\s*\w/,!1)?(i.marked="keyword",r=="enum"?t(Ne):r=="type"?t(Ve,l("operator"),p,l(";")):t(c("form"),S,l("{"),c("}"),ie,u,u)):k&&r=="namespace"?(i.marked="keyword",t(c("form"),b,w,u)):k&&r=="abstract"?(i.marked="keyword",t(w)):t(c("stat"),He):e=="switch"?t(c("form"),me,l("{"),c("}","switch"),re,ie,u,u,T):e=="case"?t(b,l(":")):e=="default"?t(l(":")):e=="catch"?t(c("form"),O,Re,w,u,T):e=="export"?t(c("stat"),ur,u):e=="import"?t(c("stat"),or,u):e=="async"?t(w):r=="@"?t(b,w):o(c("stat"),b,l(";"),u)}a(w,"statement");function Re(e){if(e=="(")return t($,l(")"))}a(Re,"maybeCatchBinding");function b(e,r){return je(e,r,!1)}a(b,"expression");function j(e,r){return je(e,r,!0)}a(j,"expressionNoComma");function me(e){return e!="("?o():t(c(")"),F,l(")"),u)}a(me,"parenExpr");function je(e,r,n){if(i.state.fatArrowAt==i.stream.start){var f=n?Se:Te;if(e=="(")return t(O,c(")"),g($,")"),u,l("=>"),f,T);if(e=="variable")return o(O,S,l("=>"),f,T)}var s=n?L:M;return yr.hasOwnProperty(e)?t(s):e=="function"?t(V,s):e=="class"||k&&r=="interface"?(i.marked="keyword",t(c("form"),fr,u)):e=="keyword c"||e=="async"?t(n?j:b):e=="("?t(c(")"),F,l(")"),u,s):e=="operator"||e=="spread"?t(n?j:b):e=="["?t(c("]"),cr,u,s):e=="{"?G(ne,"}",null,s):e=="quasi"?o(te,s):e=="new"?t(We(n)):t()}a(je,"expressionInner");function F(e){return e.match(/[;\}\)\],]/)?o():o(b)}a(F,"maybeexpression");function M(e,r){return e==","?t(F):L(e,r,!1)}a(M,"maybeoperatorComma");function L(e,r,n){var f=n==!1?M:L,s=n==!1?b:j;if(e=="=>")return t(O,n?Se:Te,T);if(e=="operator")return/\+\+|--/.test(r)||k&&r=="!"?t(f):k&&r=="<"&&i.stream.match(/^([^<>]|<[^<>]*>)*>\s*\(/,!1)?t(c(">"),g(p,">"),u,f):r=="?"?t(b,l(":"),s):t(s);if(e=="quasi")return o(te,f);if(e!=";"){if(e=="(")return G(j,")","call",f);if(e==".")return t(Ge,f);if(e=="[")return t(c("]"),F,l("]"),u,f);if(k&&r=="as")return i.marked="keyword",t(p,f);if(e=="regexp")return i.state.lastType=i.marked="operator",i.stream.backUp(i.stream.pos-i.stream.start-1),t(s)}}a(L,"maybeoperatorNoComma");function te(e,r){return e!="quasi"?o():r.slice(r.length-2)!="${"?t(te):t(F,De)}a(te,"quasi");function De(e){if(e=="}")return i.marked="string-2",i.state.tokenize=K,t(te)}a(De,"continueQuasi");function Te(e){return de(i.stream,i.state),o(e=="{"?w:b)}a(Te,"arrowBody");function Se(e){return de(i.stream,i.state),o(e=="{"?w:j)}a(Se,"arrowBodyNoComma");function We(e){return function(r){return r=="."?t(e?Ue:Ke):r=="variable"&&k?t(rr,e?L:M):o(e?j:b)}}a(We,"maybeTarget");function Ke(e,r){if(r=="target")return i.marked="keyword",t(M)}a(Ke,"target");function Ue(e,r){if(r=="target")return i.marked="keyword",t(L)}a(Ue,"targetNoComma");function He(e){return e==":"?t(u,w):o(M,l(";"),u)}a(He,"maybelabel");function Ge(e){if(e=="variable")return i.marked="property",t()}a(Ge,"property");function ne(e,r){if(e=="async")return i.marked="property",t(ne);if(e=="variable"||i.style=="keyword"){if(i.marked="property",r=="get"||r=="set")return t(Xe);var n;return k&&i.state.fatArrowAt==i.stream.start&&(n=i.stream.match(/^\s*:\s*/,!1))&&(i.state.fatArrowAt=i.stream.pos+n[0].length),t(N)}else{if(e=="number"||e=="string")return i.marked=se?"property":i.style+" property",t(N);if(e=="jsonld-keyword")return t(N);if(k&&ee(r))return i.marked="keyword",t(ne);if(e=="[")return t(b,Q,l("]"),N);if(e=="spread")return t(j,N);if(r=="*")return i.marked="keyword",t(ne);if(e==":")return o(N)}}a(ne,"objprop");function Xe(e){return e!="variable"?o(N):(i.marked="property",t(V))}a(Xe,"getterSetter");function N(e){if(e==":")return t(j);if(e=="(")return o(V)}a(N,"afterprop");function g(e,r,n){function f(s,d){if(n?n.indexOf(s)>-1:s==","){var m=i.state.lexical;return m.info=="call"&&(m.pos=(m.pos||0)+1),t(function(v,_){return v==r||_==r?o():o(e)},f)}return s==r||d==r?t():n&&n.indexOf(";")>-1?o(e):t(l(r))}return a(f,"proceed"),function(s,d){return s==r||d==r?t():o(e,f)}}a(g,"commasep");function G(e,r,n){for(var f=3;f"),p);if(e=="quasi")return o(be,E)}a(p,"typeexpr");function Ce(e){if(e=="=>")return t(p)}a(Ce,"maybeReturnType");function ke(e){return e.match(/[\}\)\]]/)?t():e==","||e==";"?t(ke):o(X,ke)}a(ke,"typeprops");function X(e,r){if(e=="variable"||i.style=="keyword")return i.marked="property",t(X);if(r=="?"||e=="number"||e=="string")return t(X);if(e==":")return t(p);if(e=="[")return t(l("variable"),Ye,l("]"),X);if(e=="(")return o(R,X);if(!e.match(/[;\}\)\],]/))return t()}a(X,"typeprop");function be(e,r){return e!="quasi"?o():r.slice(r.length-2)!="${"?t(be):t(p,er)}a(be,"quasiType");function er(e){if(e=="}")return i.marked="string-2",i.state.tokenize=K,t(be)}a(er,"continueQuasiType");function ye(e,r){return e=="variable"&&i.stream.match(/^\s*[?:]/,!1)||r=="?"?t(ye):e==":"?t(p):e=="spread"?t(ye):o(p)}a(ye,"typearg");function E(e,r){if(r=="<")return t(c(">"),g(p,">"),u,E);if(r=="|"||e=="."||r=="&")return t(p);if(e=="[")return t(p,l("]"),E);if(r=="extends"||r=="implements")return i.marked="keyword",t(p);if(r=="?")return t(p,l(":"),p)}a(E,"afterType");function rr(e,r){if(r=="<")return t(c(">"),g(p,">"),u,E)}a(rr,"maybeTypeArgs");function ae(){return o(p,tr)}a(ae,"typeparam");function tr(e,r){if(r=="=")return t(p)}a(tr,"maybeTypeDefault");function xe(e,r){return r=="enum"?(i.marked="keyword",t(Ne)):o(S,Q,I,ir)}a(xe,"vardef");function S(e,r){if(k&&ee(r))return i.marked="keyword",t(S);if(e=="variable")return P(r),t();if(e=="spread")return t(S);if(e=="[")return G(nr,"]");if(e=="{")return G(Ae,"}")}a(S,"pattern");function Ae(e,r){return e=="variable"&&!i.stream.match(/^\s*:/,!1)?(P(r),t(I)):(e=="variable"&&(i.marked="property"),e=="spread"?t(S):e=="}"?o():e=="["?t(b,l("]"),l(":"),Ae):t(l(":"),S,I))}a(Ae,"proppattern");function nr(){return o(S,I)}a(nr,"eltpattern");function I(e,r){if(r=="=")return t(j)}a(I,"maybeAssign");function ir(e){if(e==",")return t(xe)}a(ir,"vardefCont");function _e(e,r){if(e=="keyword b"&&r=="else")return t(c("form","else"),w,u)}a(_e,"maybeelse");function Ie(e,r){if(r=="await")return t(Ie);if(e=="(")return t(c(")"),ar,u)}a(Ie,"forspec");function ar(e){return e=="var"?t(xe,J):e=="variable"?t(J):o(J)}a(ar,"forspec1");function J(e,r){return e==")"?t():e==";"?t(J):r=="in"||r=="of"?(i.marked="keyword",t(b,J)):o(b,J)}a(J,"forspec2");function V(e,r){if(r=="*")return i.marked="keyword",t(V);if(e=="variable")return P(r),t(V);if(e=="(")return t(O,c(")"),g($,")"),u,Ee,w,T);if(k&&r=="<")return t(c(">"),g(ae,">"),u,V)}a(V,"functiondef");function R(e,r){if(r=="*")return i.marked="keyword",t(R);if(e=="variable")return P(r),t(R);if(e=="(")return t(O,c(")"),g($,")"),u,Ee,T);if(k&&r=="<")return t(c(">"),g(ae,">"),u,R)}a(R,"functiondecl");function Ve(e,r){if(e=="keyword"||e=="variable")return i.marked="type",t(Ve);if(r=="<")return t(c(">"),g(ae,">"),u)}a(Ve,"typename");function $(e,r){return r=="@"&&t(b,$),e=="spread"?t($):k&&ee(r)?(i.marked="keyword",t($)):k&&e=="this"?t(Q,I):o(S,Q,I)}a($,"funarg");function fr(e,r){return e=="variable"?ze(e,r):fe(e,r)}a(fr,"classExpression");function ze(e,r){if(e=="variable")return P(r),t(fe)}a(ze,"className");function fe(e,r){if(r=="<")return t(c(">"),g(ae,">"),u,fe);if(r=="extends"||r=="implements"||k&&e==",")return r=="implements"&&(i.marked="keyword"),t(k?p:b,fe);if(e=="{")return t(c("}"),A,u)}a(fe,"classNameAfter");function A(e,r){if(e=="async"||e=="variable"&&(r=="static"||r=="get"||r=="set"||k&&ee(r))&&i.stream.match(/^\s+[\w$\xa1-\uffff]/,!1))return i.marked="keyword",t(A);if(e=="variable"||i.style=="keyword")return i.marked="property",t(Y,A);if(e=="number"||e=="string")return t(Y,A);if(e=="[")return t(b,Q,l("]"),Y,A);if(r=="*")return i.marked="keyword",t(A);if(k&&e=="(")return o(R,A);if(e==";"||e==",")return t(A);if(e=="}")return t();if(r=="@")return t(b,A)}a(A,"classBody");function Y(e,r){if(r=="!"||r=="?")return t(Y);if(e==":")return t(p,I);if(r=="=")return t(j);var n=i.state.lexical.prev,f=n&&n.info=="interface";return o(f?R:V)}a(Y,"classfield");function ur(e,r){return r=="*"?(i.marked="keyword",t(we,l(";"))):r=="default"?(i.marked="keyword",t(b,l(";"))):e=="{"?t(g(Oe,"}"),we,l(";")):o(w)}a(ur,"afterExport");function Oe(e,r){if(r=="as")return i.marked="keyword",t(l("variable"));if(e=="variable")return o(j,Oe)}a(Oe,"exportField");function or(e){return e=="string"?t():e=="("?o(b):e=="."?o(M):o(ue,Me,we)}a(or,"afterImport");function ue(e,r){return e=="{"?G(ue,"}"):(e=="variable"&&P(r),r=="*"&&(i.marked="keyword"),t(sr))}a(ue,"importSpec");function Me(e){if(e==",")return t(ue,Me)}a(Me,"maybeMoreImports");function sr(e,r){if(r=="as")return i.marked="keyword",t(ue)}a(sr,"maybeAs");function we(e,r){if(r=="from")return i.marked="keyword",t(b)}a(we,"maybeFrom");function cr(e){return e=="]"?t():o(g(j,"]"))}a(cr,"arrayLiteral");function Ne(){return o(c("form"),S,l("{"),c("}"),g(lr,"}"),u,u)}a(Ne,"enumdef");function lr(){return o(S,I)}a(lr,"enummember");function dr(e,r){return e.lastType=="operator"||e.lastType==","||Fe.test(r.charAt(0))||/[,.]/.test(r.charAt(0))}a(dr,"isContinuedStatement");function $e(e,r,n){return r.tokenize==z&&/^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\[{}\(,;:]|=>)$/.test(r.lastType)||r.lastType=="quasi"&&/\{\s*$/.test(e.string.slice(0,e.pos-(n||0)))}return a($e,"expressionAllowed"),{startState:function(e){var r={tokenize:z,lastType:"sof",cc:[],lexical:new ge((e||0)-W,0,"block",!1),localVars:h.localVars,context:h.localVars&&new U(null,null,!1),indented:e||0};return h.globalVars&&typeof h.globalVars=="object"&&(r.globalVars=h.globalVars),r},token:function(e,r){if(e.sol()&&(r.lexical.hasOwnProperty("align")||(r.lexical.align=!1),r.indented=e.indentation(),de(e,r)),r.tokenize!=C&&e.eatSpace())return null;var n=r.tokenize(e,r);return Z=="comment"?n:(r.lastType=Z=="operator"&&(le=="++"||le=="--")?"incdec":Z,he(r,n,Z,le,e))},indent:function(e,r){if(e.tokenize==C||e.tokenize==K)return y.Pass;if(e.tokenize!=z)return 0;var n=r&&r.charAt(0),f=e.lexical,s;if(!/^\s*else\b/.test(r))for(var d=e.cc.length-1;d>=0;--d){var m=e.cc[d];if(m==u)f=f.prev;else if(m!=_e&&m!=T)break}for(;(f.type=="stat"||f.type=="form")&&(n=="}"||(s=e.cc[e.cc.length-1])&&(s==M||s==L)&&!/^[,\.=+\-*:?[\(]/.test(r));)f=f.prev;Be&&f.type==")"&&f.prev.type=="stat"&&(f=f.prev);var v=f.type,_=n==v;return v=="vardef"?f.indented+(e.lastType=="operator"||e.lastType==","?f.info.length+1:0):v=="form"&&n=="{"?f.indented:v=="form"?f.indented+W:v=="stat"?f.indented+(dr(e,r)?Be||W:0):f.info=="switch"&&!_&&h.doubleIndentSwitch!=!1?f.indented+(/^(?:case|default)\b/.test(r)?W:2*W):f.align?f.column+(_?0:1):f.indented+(_?0:W)},electricInput:/^\s*(?:case .*?:|default:|\{|\})$/,blockCommentStart:q?null:"/*",blockCommentEnd:q?null:"*/",blockCommentContinue:q?null:" * ",lineComment:q?null:"//",fold:"brace",closeBrackets:"()[]{}''\"\"``",helperType:q?"json":"javascript",jsonldMode:se,jsonMode:q,expressionAllowed:$e,skipExpression:function(e){he(e,"atom","atom","true",new y.StringStream("",2,null))}}}),y.registerHelper("wordChars","javascript",/[\w$]/),y.defineMIME("text/javascript","javascript"),y.defineMIME("text/ecmascript","javascript"),y.defineMIME("application/javascript","javascript"),y.defineMIME("application/x-javascript","javascript"),y.defineMIME("application/ecmascript","javascript"),y.defineMIME("application/json",{name:"javascript",json:!0}),y.defineMIME("application/x-json",{name:"javascript",json:!0}),y.defineMIME("application/manifest+json",{name:"javascript",json:!0}),y.defineMIME("application/ld+json",{name:"javascript",jsonld:!0}),y.defineMIME("text/typescript",{name:"javascript",typescript:!0}),y.defineMIME("application/typescript",{name:"javascript",typescript:!0})})})();var vr=mr.exports,Sr=pr({__proto__:null,default:vr},[mr.exports]);export{Sr as j}; diff --git a/packages/studio/dist-frontend/assets/jump-to-line.es-d1e12e3b.js b/packages/studio/dist-frontend/assets/jump-to-line.es-d1e12e3b.js new file mode 100644 index 000000000000..59af07a8a78c --- /dev/null +++ b/packages/studio/dist-frontend/assets/jump-to-line.es-d1e12e3b.js @@ -0,0 +1 @@ +import{a as d}from"./codemirror.es-2fb7d200.js";import{a as g}from"./dialog.es-aa8a9c34.js";import"./index-17331a0b.js";var h=Object.defineProperty,l=(a,p)=>h(a,"name",{value:p,configurable:!0});function c(a,p){return p.forEach(function(r){r&&typeof r!="string"&&!Array.isArray(r)&&Object.keys(r).forEach(function(i){if(i!=="default"&&!(i in a)){var u=Object.getOwnPropertyDescriptor(r,i);Object.defineProperty(a,i,u.get?u:{enumerable:!0,get:function(){return r[i]}})}})}),Object.freeze(Object.defineProperty(a,Symbol.toStringTag,{value:"Module"}))}l(c,"_mergeNamespaces");var m={exports:{}};(function(a,p){(function(r){r(d.exports,g.exports)})(function(r){r.defineOption("search",{bottom:!1});function i(e,o,n,t,s){e.openDialog?e.openDialog(o,s,{value:t,selectValueOnOpen:!0,bottom:e.options.search.bottom}):s(prompt(n,t))}l(i,"dialog");function u(e){return e.phrase("Jump to line:")+' '+e.phrase("(Use line:column or scroll% syntax)")+""}l(u,"getJumpDialog");function f(e,o){var n=Number(o);return/^[-+]/.test(o)?e.getCursor().line+n:n-1}l(f,"interpretLine"),r.commands.jumpToLine=function(e){var o=e.getCursor();i(e,u(e),e.phrase("Jump to line:"),o.line+1+":"+o.ch,function(n){if(n){var t;if(t=/^\s*([\+\-]?\d+)\s*\:\s*(\d+)\s*$/.exec(n))e.setCursor(f(e,t[1]),Number(t[2]));else if(t=/^\s*([\+\-]?\d+(\.\d+)?)\%\s*/.exec(n)){var s=Math.round(e.lineCount()*Number(t[1])/100);/^[-+]/.test(t[1])&&(s=o.line+s+1),e.setCursor(s-1,o.ch)}else(t=/^\s*\:?\s*([\+\-]?\d+)\s*/.exec(n))&&e.setCursor(f(e,t[1]),o.ch)}})},r.keyMap.default["Alt-G"]="jumpToLine"})})();var b=m.exports,x=c({__proto__:null,default:b},[m.exports]);export{x as j}; diff --git a/packages/studio/dist-frontend/assets/jump.es-7eb528cc.js b/packages/studio/dist-frontend/assets/jump.es-7eb528cc.js new file mode 100644 index 000000000000..e68dec22bd79 --- /dev/null +++ b/packages/studio/dist-frontend/assets/jump.es-7eb528cc.js @@ -0,0 +1 @@ +import{C as u}from"./codemirror.es-2fb7d200.js";import{g as M,a as j,b as k,c as y,d as v,e as O}from"./SchemaReference.es-fa68f115.js";import"./index-17331a0b.js";import"./forEachState.es-1e367fb2.js";var D=Object.defineProperty,s=(e,n)=>D(e,"name",{value:n,configurable:!0});u.defineOption("jump",!1,(e,n,r)=>{if(r&&r!==u.Init){const t=e.state.jump.onMouseOver;u.off(e.getWrapperElement(),"mouseover",t);const i=e.state.jump.onMouseOut;u.off(e.getWrapperElement(),"mouseout",i),u.off(document,"keydown",e.state.jump.onKeyDown),delete e.state.jump}if(n){const t=e.state.jump={options:n,onMouseOver:l.bind(null,e),onMouseOut:m.bind(null,e),onKeyDown:c.bind(null,e)};u.on(e.getWrapperElement(),"mouseover",t.onMouseOver),u.on(e.getWrapperElement(),"mouseout",t.onMouseOut),u.on(document,"keydown",t.onKeyDown)}});function l(e,n){const r=n.target||n.srcElement;if(!(r instanceof HTMLElement)||(r==null?void 0:r.nodeName)!=="SPAN")return;const t=r.getBoundingClientRect(),i={left:(t.left+t.right)/2,top:(t.top+t.bottom)/2};e.state.jump.cursor=i,e.state.jump.isHoldingModifier&&p(e)}s(l,"onMouseOver");function m(e){if(!e.state.jump.isHoldingModifier&&e.state.jump.cursor){e.state.jump.cursor=null;return}e.state.jump.isHoldingModifier&&e.state.jump.marker&&d(e)}s(m,"onMouseOut");function c(e,n){if(e.state.jump.isHoldingModifier||!g(n.key))return;e.state.jump.isHoldingModifier=!0,e.state.jump.cursor&&p(e);const r=s(o=>{o.code===n.code&&(e.state.jump.isHoldingModifier=!1,e.state.jump.marker&&d(e),u.off(document,"keyup",r),u.off(document,"click",t),e.off("mousedown",i))},"onKeyUp"),t=s(o=>{const{destination:a,options:f}=e.state.jump;a&&f.onClick(a,o)},"onClick"),i=s((o,a)=>{e.state.jump.destination&&(a.codemirrorIgnore=!0)},"onMouseDown");u.on(document,"keyup",r),u.on(document,"click",t),e.on("mousedown",i)}s(c,"onKeyDown");const b=typeof navigator<"u"&&navigator&&navigator.appVersion.includes("Mac");function g(e){return e===(b?"Meta":"Control")}s(g,"isJumpModifier");function p(e){if(e.state.jump.marker)return;const{cursor:n,options:r}=e.state.jump,t=e.coordsChar(n),i=e.getTokenAt(t,!0),o=r.getDestination||e.getHelper(t,"jump");if(o){const a=o(i,r,e);if(a){const f=e.markText({line:t.line,ch:i.start},{line:t.line,ch:i.end},{className:"CodeMirror-jump-token"});e.state.jump.marker=f,e.state.jump.destination=a}}}s(p,"enableJumpMode");function d(e){const{marker:n}=e.state.jump;e.state.jump.marker=null,e.state.jump.destination=null,n.clear()}s(d,"disableJumpMode");u.registerHelper("jump","graphql",(e,n)=>{if(!n.schema||!n.onClick||!e.state)return;const{state:r}=e,{kind:t,step:i}=r,o=M(n.schema,r);if(t==="Field"&&i===0&&o.fieldDef||t==="AliasedField"&&i===2&&o.fieldDef)return j(o);if(t==="Directive"&&i===1&&o.directiveDef)return k(o);if(t==="Argument"&&i===0&&o.argDef)return y(o);if(t==="EnumValue"&&o.enumValue)return v(o);if(t==="NamedType"&&o.type)return O(o)}); diff --git a/packages/studio/dist-frontend/assets/lint.es-de839fb1.js b/packages/studio/dist-frontend/assets/lint.es-de839fb1.js new file mode 100644 index 000000000000..fff5aa7c1919 --- /dev/null +++ b/packages/studio/dist-frontend/assets/lint.es-de839fb1.js @@ -0,0 +1,6 @@ +import{C as h}from"./codemirror.es-2fb7d200.js";import{p as C,a as S,G as T,v as E,C as I,s as Q,N as U,E as q,K as G,b as V,c as k,o as A,L as W,U as _,d as x,e as K,f as H,h as O,i as Y,j as $,k as M,P as j,l as F,m as z}from"./index-17331a0b.js";import{R as w,P as f}from"./Range.es-3e45690c.js";var B=Object.defineProperty,p=(n,i)=>B(n,"name",{value:i,configurable:!0});const J=[W,_,x,K,H,O,Y,$,M,j,F,z];function N(n,i,s,o,t){const a=Q.filter(e=>!(e===U||e===q||o&&e===G));return s&&Array.prototype.push.apply(a,s),t&&Array.prototype.push.apply(a,J),E(n,i,a).filter(e=>{if(e.message.includes("Unknown directive")&&e.nodes){const l=e.nodes[0];if(l&&l.kind===V.DIRECTIVE){const u=l.name.value;if(u==="arguments"||u==="argumentDefinitions")return!1}}return!0})}p(N,"validateWithCustomRules");const d={Error:"Error",Warning:"Warning",Information:"Information",Hint:"Hint"},v={[d.Error]:1,[d.Warning]:2,[d.Information]:3,[d.Hint]:4},m=p((n,i)=>{if(!n)throw new Error(i)},"invariant");function D(n,i=null,s,o,t){var a,r;let e=null,l="";t&&(l=typeof t=="string"?t:t.reduce((c,g)=>c+C(g)+` + +`,""));const u=l?`${n} + +${l}`:n;try{e=S(u)}catch(c){if(c instanceof T){const g=b((r=(a=c.locations)===null||a===void 0?void 0:a[0])!==null&&r!==void 0?r:{line:0,column:0},u);return[{severity:v.Error,message:c.message,source:"GraphQL: Syntax",range:g}]}throw c}return L(e,i,s,o)}p(D,"getDiagnostics");function L(n,i=null,s,o){if(!i)return[];const t=N(i,n,s,o).flatMap(r=>R(r,v.Error,"Validation")),a=E(i,n,[k]).flatMap(r=>R(r,v.Warning,"Deprecation"));return t.concat(a)}p(L,"validateQuery");function R(n,i,s){if(!n.nodes)return[];const o=[];return n.nodes.forEach((t,a)=>{const r=t.kind!=="Variable"&&"name"in t&&t.name!==void 0?t.name:"variable"in t&&t.variable!==void 0?t.variable:t;if(r){m(n.locations,"GraphQL validation error requires locations.");const e=n.locations[a],l=P(r),u=e.column+(l.end-l.start);o.push({source:`GraphQL: ${s}`,message:n.message,severity:i,range:new w(new f(e.line-1,e.column-1),new f(e.line-1,u))})}}),o}p(R,"annotations");function b(n,i){const s=A(),o=s.startState(),t=i.split(` +`);m(t.length>=n.line,"Query text must have more lines than where the error happened");let a=null;for(let u=0;u{const{schema:s,validationRules:o,externalFragments:t}=i;return D(n,s,o,void 0,t).map(e=>({message:e.message,severity:e.severity?y[e.severity-1]:y[0],type:e.source?X[e.source]:void 0,from:h.Pos(e.range.start.line,e.range.start.character),to:h.Pos(e.range.end.line,e.range.end.character)}))}); diff --git a/packages/studio/dist-frontend/assets/lint.es2-ec3fd20b.js b/packages/studio/dist-frontend/assets/lint.es2-ec3fd20b.js new file mode 100644 index 000000000000..8bfcd61393fb --- /dev/null +++ b/packages/studio/dist-frontend/assets/lint.es2-ec3fd20b.js @@ -0,0 +1 @@ +import{C as D}from"./codemirror.es-2fb7d200.js";import{n as B,q as H,t as J,w as U,F as z}from"./index-17331a0b.js";var K=Object.defineProperty,t=(e,r)=>K(e,"name",{value:r,configurable:!0});function G(e){d=e,y=e.length,o=c=N=-1,i(),x();const r=$();return p("EOF"),r}t(G,"jsonParse");let d,y,o,c,N,n,l;function $(){const e=o,r=[];if(p("{"),!E("}")){do r.push(Q());while(E(","));p("}")}return{kind:"Object",start:e,end:N,members:r}}t($,"parseObj");function Q(){const e=o,r=l==="String"?v():null;p("String"),p(":");const a=V();return{kind:"Member",start:e,end:N,key:r,value:a}}t(Q,"parseMember");function _(){const e=o,r=[];if(p("["),!E("]")){do r.push(V());while(E(","));p("]")}return{kind:"Array",start:e,end:N,values:r}}t(_,"parseArr");function V(){switch(l){case"[":return _();case"{":return $();case"String":case"Number":case"Boolean":case"Null":const e=v();return x(),e}p("Value")}t(V,"parseVal");function v(){return{kind:l,start:o,end:c,value:JSON.parse(d.slice(o,c))}}t(v,"curToken");function p(e){if(l===e){x();return}let r;if(l==="EOF")r="[end of file]";else if(c-o>1)r="`"+d.slice(o,c)+"`";else{const a=d.slice(o).match(/^.+?\b/);r="`"+(a?a[0]:d[o])+"`"}throw h(`Expected ${e} but found ${r}.`)}t(p,"expect");class L extends Error{constructor(r,a){super(r),this.position=a}}t(L,"JSONSyntaxError");function h(e){return new L(e,{start:o,end:c})}t(h,"syntaxError");function E(e){if(l===e)return x(),!0}t(E,"skip");function i(){return c31;)if(n===92)switch(n=i(),n){case 34:case 47:case 92:case 98:case 102:case 110:case 114:case 116:i();break;case 117:i(),g(),g(),g(),g();break;default:throw h("Bad character escape sequence.")}else{if(c===y)throw h("Unterminated string.");i()}if(n===34){i();return}throw h("Unterminated string.")}t(q,"readString");function g(){if(n>=48&&n<=57||n>=65&&n<=70||n>=97&&n<=102)return i();throw h("Expected hexadecimal digit.")}t(g,"readHex");function C(){n===45&&i(),n===48?i():w(),n===46&&(i(),w()),(n===69||n===101)&&(n=i(),(n===43||n===45)&&i(),w())}t(C,"readNumber");function w(){if(n<48||n>57)throw h("Expected decimal digit.");do i();while(n>=48&&n<=57)}t(w,"readDigits");D.registerHelper("lint","graphql-variables",(e,r,a)=>{if(!e)return[];let f;try{f=G(e)}catch(u){if(u instanceof L)return[O(a,u.position,u.message)];throw u}const{variableToType:s}=r;return s?I(a,s,f):[]});function I(e,r,a){const f=[];return a.members.forEach(s=>{var u;if(s){const b=(u=s.key)===null||u===void 0?void 0:u.value,k=r[b];k?m(k,s.value).forEach(([j,P])=>{f.push(O(e,j,P))}):f.push(O(e,s.key,`Variable "$${b}" does not appear in any GraphQL query.`))}}),f}t(I,"validateVariables");function m(e,r){if(!e||!r)return[];if(e instanceof B)return r.kind==="Null"?[[r,`Type "${e}" is non-nullable and cannot be null.`]]:m(e.ofType,r);if(r.kind==="Null")return[];if(e instanceof H){const a=e.ofType;if(r.kind==="Array"){const f=r.values||[];return F(f,s=>m(a,s))}return m(a,r)}if(e instanceof J){if(r.kind!=="Object")return[[r,`Type "${e}" must be an Object.`]];const a=Object.create(null),f=F(r.members,s=>{var u;const b=(u=s==null?void 0:s.key)===null||u===void 0?void 0:u.value;a[b]=!0;const k=e.getFields()[b];if(!k)return[[s.key,`Type "${e}" does not have a field "${b}".`]];const j=k?k.type:void 0;return m(j,s.value)});return Object.keys(e.getFields()).forEach(s=>{const u=e.getFields()[s];!a[s]&&u.type instanceof B&&!u.defaultValue&&f.push([r,`Object of type "${e}" is missing required field "${s}".`])}),f}return e.name==="Boolean"&&r.kind!=="Boolean"||e.name==="String"&&r.kind!=="String"||e.name==="ID"&&r.kind!=="Number"&&r.kind!=="String"||e.name==="Float"&&r.kind!=="Number"||e.name==="Int"&&(r.kind!=="Number"||(r.value|0)!==r.value)?[[r,`Expected value of type "${e}".`]]:(e instanceof U||e instanceof z)&&(r.kind!=="String"&&r.kind!=="Number"&&r.kind!=="Boolean"&&r.kind!=="Null"||M(e.parseValue(r.value)))?[[r,`Expected value of type "${e}".`]]:[]}t(m,"validateValue");function O(e,r,a){return{message:a,severity:"error",type:"validation",from:e.posFromIndex(r.start),to:e.posFromIndex(r.end)}}t(O,"lintError");function M(e){return e==null||e!==e}t(M,"isNullish");function F(e,r){return Array.prototype.concat.apply([],e.map(r))}t(F,"mapCat"); diff --git a/packages/studio/dist-frontend/assets/lint.es3-1cbd4a05.js b/packages/studio/dist-frontend/assets/lint.es3-1cbd4a05.js new file mode 100644 index 000000000000..e4d094b33674 --- /dev/null +++ b/packages/studio/dist-frontend/assets/lint.es3-1cbd4a05.js @@ -0,0 +1 @@ +import{a as B}from"./codemirror.es-2fb7d200.js";import"./index-17331a0b.js";var W=Object.defineProperty,l=(g,v)=>W(g,"name",{value:v,configurable:!0});function H(g,v){return v.forEach(function(s){s&&typeof s!="string"&&!Array.isArray(s)&&Object.keys(s).forEach(function(u){if(u!=="default"&&!(u in g)){var c=Object.getOwnPropertyDescriptor(s,u);Object.defineProperty(g,u,c.get?c:{enumerable:!0,get:function(){return s[u]}})}})}),Object.freeze(Object.defineProperty(g,Symbol.toStringTag,{value:"Module"}))}l(H,"_mergeNamespaces");var U={exports:{}};(function(g,v){(function(s){s(B.exports)})(function(s){var u="CodeMirror-lint-markers",c="CodeMirror-lint-line-";function E(t,e,r){var n=document.createElement("div");n.className="CodeMirror-lint-tooltip cm-s-"+t.options.theme,n.appendChild(r.cloneNode(!0)),t.state.lint.options.selfContain?t.getWrapperElement().appendChild(n):document.body.appendChild(n);function o(i){if(!n.parentNode)return s.off(document,"mousemove",o);n.style.top=Math.max(0,i.clientY-n.offsetHeight-5)+"px",n.style.left=i.clientX+5+"px"}return l(o,"position"),s.on(document,"mousemove",o),o(e),n.style.opacity!=null&&(n.style.opacity=1),n}l(E,"showTooltip");function C(t){t.parentNode&&t.parentNode.removeChild(t)}l(C,"rm");function N(t){t.parentNode&&(t.style.opacity==null&&C(t),t.style.opacity=0,setTimeout(function(){C(t)},600))}l(N,"hideTooltip");function L(t,e,r,n){var o=E(t,e,r);function i(){s.off(n,"mouseout",i),o&&(N(o),o=null)}l(i,"hide");var a=setInterval(function(){if(o)for(var f=n;;f=f.parentNode){if(f&&f.nodeType==11&&(f=f.host),f==document.body)return;if(!f){i();break}}if(!o)return clearInterval(a)},400);s.on(n,"mouseout",i)}l(L,"showTooltipFor");function w(t,e,r){this.marked=[],e instanceof Function&&(e={getAnnotations:e}),(!e||e===!0)&&(e={}),this.options={},this.linterOptions=e.options||{};for(var n in O)this.options[n]=O[n];for(var n in e)O.hasOwnProperty(n)?e[n]!=null&&(this.options[n]=e[n]):e.options||(this.linterOptions[n]=e[n]);this.timeout=null,this.hasGutter=r,this.onMouseOver=function(o){j(t,o)},this.waitingFor=0}l(w,"LintState");var O={highlightLines:!1,tooltips:!0,delay:500,lintOnChange:!0,getAnnotations:null,async:!1,selfContain:null,formatAnnotation:null,onUpdateLinting:null};function k(t){var e=t.state.lint;e.hasGutter&&t.clearGutter(u),e.options.highlightLines&&x(t);for(var r=0;r-1?!1:f.push(D.message)});for(var p=null,d=r.hasGutter&&document.createDocumentFragment(),_=0;_1,n.tooltips)),n.highlightLines&&t.addLineClass(i,"wrap",c+p)}}n.onUpdateLinting&&n.onUpdateLinting(e,o,t)}}l(y,"updateLinting");function b(t){var e=t.state.lint;e&&(clearTimeout(e.timeout),e.timeout=setTimeout(function(){m(t)},e.options.delay))}l(b,"onChange");function P(t,e,r){for(var n=r.target||r.srcElement,o=document.createDocumentFragment(),i=0;ij(k,"name",{value:B,configurable:!0});function E(k,B){return B.forEach(function(s){s&&typeof s!="string"&&!Array.isArray(s)&&Object.keys(s).forEach(function(v){if(v!=="default"&&!(v in k)){var o=Object.getOwnPropertyDescriptor(s,v);Object.defineProperty(k,v,o.get?o:{enumerable:!0,get:function(){return s[v]}})}})}),Object.freeze(Object.defineProperty(k,Symbol.toStringTag,{value:"Module"}))}g(E,"_mergeNamespaces");var O={exports:{}};(function(k,B){(function(s){s(T.exports)})(function(s){var v=/MSIE \d/.test(navigator.userAgent)&&(document.documentMode==null||document.documentMode<8),o=s.Pos,m={"(":")>",")":"(<","[":"]>","]":"[<","{":"}>","}":"{<","<":">>",">":"<<"};function L(t){return t&&t.bracketRegex||/[(){}[\]]/}g(L,"bracketRegex");function A(t,r,e){var c=t.getLineHandle(r.line),n=r.ch-1,l=e&&e.afterCursor;l==null&&(l=/(^| )cm-fat-cursor($| )/.test(t.getWrapperElement().className));var f=L(e),u=!l&&n>=0&&f.test(c.text.charAt(n))&&m[c.text.charAt(n)]||f.test(c.text.charAt(n+1))&&m[c.text.charAt(++n)];if(!u)return null;var a=u.charAt(1)==">"?1:-1;if(e&&e.strict&&a>0!=(n==r.ch))return null;var p=t.getTokenTypeAt(o(r.line,n+1)),i=H(t,o(r.line,n+(a>0?1:0)),a,p,e);return i==null?null:{from:o(r.line,n),to:i&&i.pos,match:i&&i.ch==u.charAt(0),forward:a>0}}g(A,"findMatchingBracket");function H(t,r,e,c,n){for(var l=n&&n.maxScanLineLength||1e4,f=n&&n.maxScanLines||1e3,u=[],a=L(n),p=e>0?Math.min(r.line+f,t.lastLine()+1):Math.max(t.firstLine()-1,r.line-f),i=r.line;i!=p;i+=e){var h=t.getLine(i);if(h){var d=e>0?0:h.length-1,S=e>0?h.length:-1;if(!(h.length>l))for(i==r.line&&(d=r.ch-(e<0?1:0));d!=S;d+=e){var b=h.charAt(d);if(a.test(b)&&(c===void 0||(t.getTokenTypeAt(o(i,d+1))||"")==(c||""))){var M=m[b];if(M&&M.charAt(1)==">"==e>0)u.push(b);else if(u.length)u.pop();else return{pos:o(i,d),ch:b}}}}}return i-e==(e>0?t.lastLine():t.firstLine())?!1:null}g(H,"scanForBracket");function _(t,r,e){for(var c=t.state.matchBrackets.maxHighlightLineLength||1e3,n=e&&e.highlightNonMatching,l=[],f=t.listSelections(),u=0;uv(e,"name",{value:t,configurable:!0});function i(e,t){var r,o;const{levels:n,indentLevel:l}=e;return((!n||n.length===0?l:n[n.length-1]-(!((r=this.electricInput)===null||r===void 0)&&r.test(t)?1:0))||0)*(((o=this.config)===null||o===void 0?void 0:o.indentUnit)||0)}a(i,"indent");const f=a(e=>{const t=d({eatWhitespace:r=>r.eatWhile(c),lexRules:p,parseRules:u,editorConfig:{tabSize:e.tabSize}});return{config:e,startState:t.startState,token:t.token,indent:i,electricInput:/^\s*[})\]]/,fold:"brace",lineComment:"#",closeBrackets:{pairs:'()[]{}""',explode:"()[]{}"}}},"graphqlModeFactory");s.defineMode("graphql",f); diff --git a/packages/studio/dist-frontend/assets/mode.es2-d2dd0649.js b/packages/studio/dist-frontend/assets/mode.es2-d2dd0649.js new file mode 100644 index 000000000000..c8bcdd39c654 --- /dev/null +++ b/packages/studio/dist-frontend/assets/mode.es2-d2dd0649.js @@ -0,0 +1 @@ +import{C as c}from"./codemirror.es-2fb7d200.js";import{o as d,H as e,I as s,M as l}from"./index-17331a0b.js";var b=Object.defineProperty,p=(t,r)=>b(t,"name",{value:r,configurable:!0});c.defineMode("graphql-results",t=>{const r=d({eatWhitespace:n=>n.eatSpace(),lexRules:V,parseRules:f,editorConfig:{tabSize:t.tabSize}});return{config:t,startState:r.startState,token:r.token,indent:i,electricInput:/^\s*[}\]]/,fold:"brace",closeBrackets:{pairs:'[]{}""',explode:"[]{}"}}});function i(t,r){var n,u;const{levels:a,indentLevel:o}=t;return((!a||a.length===0?o:a[a.length-1]-(!((n=this.electricInput)===null||n===void 0)&&n.test(r)?1:0))||0)*(((u=this.config)===null||u===void 0?void 0:u.indentUnit)||0)}p(i,"indent");const V={Punctuation:/^\[|]|\{|\}|:|,/,Number:/^-?(?:0|(?:[1-9][0-9]*))(?:\.[0-9]*)?(?:[eE][+-]?[0-9]+)?/,String:/^"(?:[^"\\]|\\(?:"|\/|\\|b|f|n|r|t|u[0-9a-fA-F]{4}))*"?/,Keyword:/^true|false|null/},f={Document:[e("{"),s("Entry",e(",")),e("}")],Entry:[l("String","def"),e(":"),"Value"],Value(t){switch(t.kind){case"Number":return"NumberValue";case"String":return"StringValue";case"Punctuation":switch(t.value){case"[":return"ListValue";case"{":return"ObjectValue"}return null;case"Keyword":switch(t.value){case"true":case"false":return"BooleanValue";case"null":return"NullValue"}return null}},NumberValue:[l("Number","number")],StringValue:[l("String","string")],BooleanValue:[l("Keyword","builtin")],NullValue:[l("Keyword","keyword")],ListValue:[e("["),s("Value",e(",")),e("]")],ObjectValue:[e("{"),s("ObjectField",e(",")),e("}")],ObjectField:[l("String","property"),e(":"),"Value"]}; diff --git a/packages/studio/dist-frontend/assets/mode.es3-c0cc5115.js b/packages/studio/dist-frontend/assets/mode.es3-c0cc5115.js new file mode 100644 index 000000000000..58ab3ab6c1da --- /dev/null +++ b/packages/studio/dist-frontend/assets/mode.es3-c0cc5115.js @@ -0,0 +1 @@ +import{C as V}from"./codemirror.es-2fb7d200.js";import{o as m,H as t,I as i,J as s,M as n}from"./index-17331a0b.js";var p=Object.defineProperty,c=(e,a)=>p(e,"name",{value:a,configurable:!0});V.defineMode("graphql-variables",e=>{const a=m({eatWhitespace:r=>r.eatSpace(),lexRules:v,parseRules:f,editorConfig:{tabSize:e.tabSize}});return{config:e,startState:a.startState,token:a.token,indent:d,electricInput:/^\s*[}\]]/,fold:"brace",closeBrackets:{pairs:'[]{}""',explode:"[]{}"}}});function d(e,a){var r,u;const{levels:l,indentLevel:b}=e;return((!l||l.length===0?b:l[l.length-1]-(!((r=this.electricInput)===null||r===void 0)&&r.test(a)?1:0))||0)*(((u=this.config)===null||u===void 0?void 0:u.indentUnit)||0)}c(d,"indent");const v={Punctuation:/^\[|]|\{|\}|:|,/,Number:/^-?(?:0|(?:[1-9][0-9]*))(?:\.[0-9]*)?(?:[eE][+-]?[0-9]+)?/,String:/^"(?:[^"\\]|\\(?:"|\/|\\|b|f|n|r|t|u[0-9a-fA-F]{4}))*"?/,Keyword:/^true|false|null/},f={Document:[t("{"),i("Variable",s(t(","))),t("}")],Variable:[o("variable"),t(":"),"Value"],Value(e){switch(e.kind){case"Number":return"NumberValue";case"String":return"StringValue";case"Punctuation":switch(e.value){case"[":return"ListValue";case"{":return"ObjectValue"}return null;case"Keyword":switch(e.value){case"true":case"false":return"BooleanValue";case"null":return"NullValue"}return null}},NumberValue:[n("Number","number")],StringValue:[n("String","string")],BooleanValue:[n("Keyword","builtin")],NullValue:[n("Keyword","keyword")],ListValue:[t("["),i("Value",s(t(","))),t("]")],ObjectValue:[t("{"),i("ObjectField",s(t(","))),t("}")],ObjectField:[o("attribute"),t(":"),"Value"]};function o(e){return{style:e,match:a=>a.kind==="String",update(a,r){a.name=r.value.slice(1,-1)}}}c(o,"namedKey"); diff --git a/packages/studio/dist-frontend/assets/redwoodjs_diecut_name-f42d607a.svg b/packages/studio/dist-frontend/assets/redwoodjs_diecut_name-f42d607a.svg new file mode 100644 index 000000000000..688dca31a5f3 --- /dev/null +++ b/packages/studio/dist-frontend/assets/redwoodjs_diecut_name-f42d607a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/studio/dist-frontend/assets/search.es-96efae49.js b/packages/studio/dist-frontend/assets/search.es-96efae49.js new file mode 100644 index 000000000000..ea3c23657fe7 --- /dev/null +++ b/packages/studio/dist-frontend/assets/search.es-96efae49.js @@ -0,0 +1,2 @@ +import{a as z}from"./codemirror.es-2fb7d200.js";import{a as K}from"./searchcursor.es-34813366.js";import{a as U}from"./dialog.es-aa8a9c34.js";import"./index-17331a0b.js";var k=Object.defineProperty,i=(x,w)=>k(x,"name",{value:w,configurable:!0});function V(x,w){return w.forEach(function(a){a&&typeof a!="string"&&!Array.isArray(a)&&Object.keys(a).forEach(function(d){if(d!=="default"&&!(d in x)){var O=Object.getOwnPropertyDescriptor(a,d);Object.defineProperty(x,d,O.get?O:{enumerable:!0,get:function(){return a[d]}})}})}),Object.freeze(Object.defineProperty(x,Symbol.toStringTag,{value:"Module"}))}i(V,"_mergeNamespaces");var L={exports:{}};(function(x,w){(function(a){a(z.exports,K.exports,U.exports)})(function(a){a.defineOption("search",{bottom:!1});function d(e,t){return typeof e=="string"?e=new RegExp(e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),t?"gi":"g"):e.global||(e=new RegExp(e.source,e.ignoreCase?"gi":"g")),{token:function(n){e.lastIndex=n.pos;var o=e.exec(n.string);if(o&&o.index==n.pos)return n.pos+=o[0].length||1,"searching";o?n.pos=o.index:n.skipToEnd()}}}i(d,"searchOverlay");function O(){this.posFrom=this.posTo=this.lastQuery=this.query=null,this.overlay=null}i(O,"SearchState");function S(e){return e.state.search||(e.state.search=new O)}i(S,"getSearchState");function N(e){return typeof e=="string"&&e==e.toLowerCase()}i(N,"queryCaseInsensitive");function m(e,t,n){return e.getSearchCursor(t,n,{caseFold:N(t),multiline:!0})}i(m,"getSearchCursor");function $(e,t,n,o,r){e.openDialog(t,o,{value:n,selectValueOnOpen:!0,closeOnEnter:!1,onClose:function(){b(e)},onKeyDown:r,bottom:e.options.search.bottom})}i($,"persistentDialog");function P(e,t,n,o,r){e.openDialog?e.openDialog(t,r,{value:o,selectValueOnOpen:!0,bottom:e.options.search.bottom}):r(prompt(n,o))}i(P,"dialog");function F(e,t,n,o){e.openConfirm?e.openConfirm(t,o):confirm(n)&&o[0]()}i(F,"confirmDialog");function _(e){return e.replace(/\\([nrt\\])/g,function(t,n){return n=="n"?` +`:n=="r"?"\r":n=="t"?" ":n=="\\"?"\\":t})}i(_,"parseString");function C(e){var t=e.match(/^\/(.*)\/([a-z]*)$/);if(t)try{e=new RegExp(t[1],t[2].indexOf("i")==-1?"":"i")}catch{}else e=_(e);return(typeof e=="string"?e=="":e.test(""))&&(e=/x^/),e}i(C,"parseQuery");function R(e,t,n){t.queryText=n,t.query=C(n),e.removeOverlay(t.overlay,N(t.query)),t.overlay=d(t.query,N(t.query)),e.addOverlay(t.overlay),e.showMatchesOnScrollbar&&(t.annotate&&(t.annotate.clear(),t.annotate=null),t.annotate=e.showMatchesOnScrollbar(t.query,N(t.query)))}i(R,"startSearch");function y(e,t,n,o){var r=S(e);if(r.query)return D(e,t);var s=e.getSelection()||r.lastQuery;if(s instanceof RegExp&&s.source=="x^"&&(s=null),n&&e.openDialog){var c=null,p=i(function(f,v){a.e_stop(v),f&&(f!=r.queryText&&(R(e,r,f),r.posFrom=r.posTo=e.getCursor()),c&&(c.style.opacity=1),D(e,v.shiftKey,function(h,g){var u;g.line<3&&document.querySelector&&(u=e.display.wrapper.querySelector(".CodeMirror-dialog"))&&u.getBoundingClientRect().bottom-4>e.cursorCoords(g,"window").top&&((c=u).style.opacity=.4)}))},"searchNext");$(e,Q(e),s,p,function(f,v){var h=a.keyName(f),g=e.getOption("extraKeys"),u=g&&g[h]||a.keyMap[e.getOption("keyMap")][h];u=="findNext"||u=="findPrev"||u=="findPersistentNext"||u=="findPersistentPrev"?(a.e_stop(f),R(e,S(e),v),e.execCommand(u)):(u=="find"||u=="findPersistent")&&(a.e_stop(f),p(v,f))}),o&&s&&(R(e,r,s),D(e,t))}else P(e,Q(e),"Search for:",s,function(f){f&&!r.query&&e.operation(function(){R(e,r,f),r.posFrom=r.posTo=e.getCursor(),D(e,t)})})}i(y,"doSearch");function D(e,t,n){e.operation(function(){var o=S(e),r=m(e,o.query,t?o.posFrom:o.posTo);!r.find(t)&&(r=m(e,o.query,t?a.Pos(e.lastLine()):a.Pos(e.firstLine(),0)),!r.find(t))||(e.setSelection(r.from(),r.to()),e.scrollIntoView({from:r.from(),to:r.to()},20),o.posFrom=r.from(),o.posTo=r.to(),n&&n(r.from(),r.to()))})}i(D,"findNext");function b(e){e.operation(function(){var t=S(e);t.lastQuery=t.query,t.query&&(t.query=t.queryText=null,e.removeOverlay(t.overlay),t.annotate&&(t.annotate.clear(),t.annotate=null))})}i(b,"clearSearch");function l(e,t){var n=e?document.createElement(e):document.createDocumentFragment();for(var o in t)n[o]=t[o];for(var r=2;r$(F,"name",{value:P,configurable:!0});function D(F,P){return P.forEach(function(u){u&&typeof u!="string"&&!Array.isArray(u)&&Object.keys(u).forEach(function(s){if(s!=="default"&&!(s in F)){var L=Object.getOwnPropertyDescriptor(u,s);Object.defineProperty(F,s,L.get?L:{enumerable:!0,get:function(){return u[s]}})}})}),Object.freeze(Object.defineProperty(F,Symbol.toStringTag,{value:"Module"}))}g(D,"_mergeNamespaces");var A={exports:{}};(function(F,P){(function(u){u(M.exports)})(function(u){var s=u.Pos;function L(t){var e=t.flags;return e??(t.ignoreCase?"i":"")+(t.global?"g":"")+(t.multiline?"m":"")}g(L,"regexpFlags");function O(t,e){for(var n=L(t),r=n,l=0;li);f++){var d=t.getLine(a++);r=r==null?d:r+` +`+d}l=l*2,e.lastIndex=n.ch;var o=e.exec(r);if(o){var h=r.slice(0,o.index).split(` +`),c=o[0].split(` +`),v=n.line+h.length-1,m=h[h.length-1].length;return{from:s(v,m),to:s(v+c.length-1,c.length==1?m+c[0].length:c[c.length-1].length),match:o}}}}g(B,"searchRegexpForwardMultiline");function j(t,e,n){for(var r,l=0;l<=t.length;){e.lastIndex=l;var a=e.exec(t);if(!a)break;var i=a.index+a[0].length;if(i>t.length-n)break;(!r||i>r.index+r[0].length)&&(r=a),l=a.index+1}return r}g(j,"lastMatchIn");function k(t,e,n){e=O(e,"g");for(var r=n.line,l=n.ch,a=t.firstLine();r>=a;r--,l=-1){var i=t.getLine(r),f=j(i,e,l<0?0:i.length-l);if(f)return{from:s(r,f.index),to:s(r,f.index+f[0].length),match:f}}}g(k,"searchRegexpBackward");function I(t,e,n){if(!R(e))return k(t,e,n);e=O(e,"gm");for(var r,l=1,a=t.getLine(n.line).length-n.ch,i=n.line,f=t.firstLine();i>=f;){for(var d=0;d=f;d++){var o=t.getLine(i--);r=r==null?o:o+` +`+r}l*=2;var h=j(r,e,a);if(h){var c=r.slice(0,h.index).split(` +`),v=h[0].split(` +`),m=i+c.length,x=c[c.length-1].length;return{from:s(m,x),to:s(m+v.length-1,v.length==1?x+v[0].length:v[v.length-1].length),match:h}}}}g(I,"searchRegexpBackwardMultiline");var b,y;String.prototype.normalize?(b=g(function(t){return t.normalize("NFD").toLowerCase()},"doFold"),y=g(function(t){return t.normalize("NFD")},"noFold")):(b=g(function(t){return t.toLowerCase()},"doFold"),y=g(function(t){return t},"noFold"));function p(t,e,n,r){if(t.length==e.length)return n;for(var l=0,a=n+Math.max(0,t.length-e.length);;){if(l==a)return l;var i=l+a>>1,f=r(t.slice(0,i)).length;if(f==n)return i;f>n?a=i:l=i+1}}g(p,"adjustPos");function N(t,e,n,r){if(!e.length)return null;var l=r?b:y,a=l(e).split(/\r|\n\r?/);e:for(var i=n.line,f=n.ch,d=t.lastLine()+1-a.length;i<=d;i++,f=0){var o=t.getLine(i).slice(f),h=l(o);if(a.length==1){var c=h.indexOf(a[0]);if(c==-1)continue e;var n=p(o,h,c,l)+f;return{from:s(i,p(o,h,c,l)+f),to:s(i,p(o,h,c+a[0].length,l)+f)}}else{var v=h.length-a[0].length;if(h.slice(v)!=a[0])continue e;for(var m=1;m=d;i--,f=-1){var o=t.getLine(i);f>-1&&(o=o.slice(0,f));var h=l(o);if(a.length==1){var c=h.lastIndexOf(a[0]);if(c==-1)continue e;return{from:s(i,p(o,h,c,l)),to:s(i,p(o,h,c+a[0].length,l))}}else{var v=a[a.length-1];if(h.slice(0,v.length)!=v)continue e;for(var m=1,n=i-a.length+1;m(this.doc.getLine(e.line)||"").length&&(e.ch=0,e.line++)),u.cmpPos(e,this.doc.clipPos(e))!=0))return this.atOccurrence=!1;var n=this.matches(t,e);if(this.afterEmptyMatch=n&&u.cmpPos(n.from,n.to)==0,n)return this.pos=n,this.atOccurrence=!0,this.pos.match||!0;var r=s(t?this.doc.firstLine():this.doc.lastLine()+1,0);return this.pos={from:r,to:r},this.atOccurrence=!1},from:function(){if(this.atOccurrence)return this.pos.from},to:function(){if(this.atOccurrence)return this.pos.to},replace:function(t,e){if(this.atOccurrence){var n=u.splitLines(t);this.doc.replaceRange(n,this.pos.from,this.pos.to,e),this.pos.to=s(this.pos.from.line+n.length-1,n[n.length-1].length+(n.length==1?this.pos.from.ch:0))}}},u.defineExtension("getSearchCursor",function(t,e,n){return new S(this.doc,t,e,n)}),u.defineDocExtension("getSearchCursor",function(t,e,n){return new S(this,t,e,n)}),u.defineExtension("selectMatches",function(t,e){for(var n=[],r=this.getSearchCursor(t,this.getCursor("from"),e);r.findNext()&&!(u.cmpPos(r.to(),this.getCursor("to"))>0);)n.push({anchor:r.from(),head:r.to()});n.length&&this.setSelections(n,0)})})})();var C=A.exports,G=D({__proto__:null,default:C},[A.exports]);export{A as a,G as s}; diff --git a/packages/studio/dist-frontend/assets/show-hint.es-add0cd11.js b/packages/studio/dist-frontend/assets/show-hint.es-add0cd11.js new file mode 100644 index 000000000000..7417dad8e2b9 --- /dev/null +++ b/packages/studio/dist-frontend/assets/show-hint.es-add0cd11.js @@ -0,0 +1 @@ +import{a as ct}from"./codemirror.es-2fb7d200.js";import"./index-17331a0b.js";var lt=Object.defineProperty,p=(w,S)=>lt(w,"name",{value:S,configurable:!0});function tt(w,S){return S.forEach(function(r){r&&typeof r!="string"&&!Array.isArray(r)&&Object.keys(r).forEach(function(y){if(y!=="default"&&!(y in w)){var b=Object.getOwnPropertyDescriptor(r,y);Object.defineProperty(w,y,b.get?b:{enumerable:!0,get:function(){return r[y]}})}})}),Object.freeze(Object.defineProperty(w,Symbol.toStringTag,{value:"Module"}))}p(tt,"_mergeNamespaces");var et={exports:{}};(function(w,S){(function(r){r(ct.exports)})(function(r){var y="CodeMirror-hint",b="CodeMirror-hint-active";r.showHint=function(t,e,i){if(!e)return t.showHint(i);i&&i.async&&(e.async=!0);var n={hint:e};if(i)for(var s in i)n[s]=i[s];return t.showHint(n)},r.defineExtension("showHint",function(t){t=j(this,this.getCursor("start"),t);var e=this.listSelections();if(!(e.length>1)){if(this.somethingSelected()){if(!t.hint.supportsSelection)return;for(var i=0;io.clientHeight+1:!1,x;setTimeout(function(){x=n.getScrollInfo()});var ot=m.bottom-B;if(ot>0){var K=m.bottom-m.top,rt=v.top-(v.bottom-m.top);if(rt-K>0)o.style.top=(O=v.top-K-F)+"px",$=!1;else if(K>B){o.style.height=B-5+"px",o.style.top=(O=v.bottom-m.top-F)+"px";var G=n.getCursor();e.from.ch!=G.ch&&(v=n.cursorCoords(G),o.style.left=(T=v.left-k)+"px",m=o.getBoundingClientRect())}}var N=m.right-E;if(X&&(N+=n.display.nativeBarWidth),N>0&&(m.right-m.left>E&&(o.style.width=E-5+"px",N-=m.right-m.left-E),o.style.left=(T=v.left-N-k)+"px"),X)for(var I=o.firstChild;I;I=I.nextSibling)I.style.paddingRight=n.display.nativeBarWidth+"px";if(n.addKeyMap(this.keyMap=D(t,{moveFocus:function(d,g){i.changeActive(i.selectedHint+d,g)},setFocus:function(d){i.changeActive(d)},menuSize:function(){return i.screenAmount()},length:a.length,close:function(){t.close()},pick:function(){i.pick()},data:e})),t.options.closeOnUnfocus){var J;n.on("blur",this.onBlur=function(){J=setTimeout(function(){t.close()},100)}),n.on("focus",this.onFocus=function(){clearTimeout(J)})}n.on("scroll",this.onScroll=function(){var d=n.getScrollInfo(),g=n.getWrapperElement().getBoundingClientRect();x||(x=n.getScrollInfo());var Z=O+x.top-d.top,U=Z-(c.pageYOffset||(s.documentElement||s.body).scrollTop);if($||(U+=o.offsetHeight),U<=g.top||U>=g.bottom)return t.close();o.style.top=Z+"px",o.style.left=T+x.left-d.left+"px"}),r.on(o,"dblclick",function(d){var g=W(o,d.target||d.srcElement);g&&g.hintId!=null&&(i.changeActive(g.hintId),i.pick())}),r.on(o,"click",function(d){var g=W(o,d.target||d.srcElement);g&&g.hintId!=null&&(i.changeActive(g.hintId),t.options.completeOnSingleClick&&i.pick())}),r.on(o,"mousedown",function(){setTimeout(function(){n.focus()},20)});var Q=this.getSelectedHintRange();return(Q.from!==0||Q.to!==0)&&this.scrollToActive(),r.signal(e,"select",a[this.selectedHint],o.childNodes[this.selectedHint]),!0}p(_,"Widget"),_.prototype={close:function(){if(this.completion.widget==this){this.completion.widget=null,this.hints.parentNode&&this.hints.parentNode.removeChild(this.hints),this.completion.cm.removeKeyMap(this.keyMap);var t=this.completion.cm.getInputField();t.removeAttribute("aria-activedescendant"),t.removeAttribute("aria-owns");var e=this.completion.cm;this.completion.options.closeOnUnfocus&&(e.off("blur",this.onBlur),e.off("focus",this.onFocus)),e.off("scroll",this.onScroll)}},disable:function(){this.completion.cm.removeKeyMap(this.keyMap);var t=this;this.keyMap={Enter:function(){t.picked=!0}},this.completion.cm.addKeyMap(this.keyMap)},pick:function(){this.completion.pick(this.data,this.selectedHint)},changeActive:function(t,e){if(t>=this.data.list.length?t=e?this.data.list.length-1:0:t<0&&(t=e?0:this.data.list.length-1),this.selectedHint!=t){var i=this.hints.childNodes[this.selectedHint];i&&(i.className=i.className.replace(" "+b,""),i.removeAttribute("aria-selected")),i=this.hints.childNodes[this.selectedHint=t],i.className+=" "+b,i.setAttribute("aria-selected","true"),this.completion.cm.getInputField().setAttribute("aria-activedescendant",i.id),this.scrollToActive(),r.signal(this.data,"select",this.data.list[this.selectedHint],i)}},scrollToActive:function(){var t=this.getSelectedHintRange(),e=this.hints.childNodes[t.from],i=this.hints.childNodes[t.to],n=this.hints.firstChild;e.offsetTopthis.hints.scrollTop+this.hints.clientHeight&&(this.hints.scrollTop=i.offsetTop+i.offsetHeight-this.hints.clientHeight+n.offsetTop)},screenAmount:function(){return Math.floor(this.hints.clientHeight/this.hints.firstChild.offsetHeight)||1},getSelectedHintRange:function(){var t=this.completion.options.scrollMargin||0;return{from:Math.max(0,this.selectedHint-t),to:Math.min(this.data.list.length-1,this.selectedHint+t)}}};function M(t,e){if(!t.somethingSelected())return e;for(var i=[],n=0;n0?o(f):h(l+1)})}p(h,"run"),h(0)},"resolved");return s.async=!0,s.supportsSelection=!0,s}else return(n=t.getHelper(t.getCursor(),"hintWords"))?function(c){return r.hint.fromList(c,{words:n})}:r.hint.anyword?function(c,o){return r.hint.anyword(c,o)}:function(){}}p(z,"resolveAutoHints"),r.registerHelper("hint","auto",{resolve:z}),r.registerHelper("hint","fromList",function(t,e){var i=t.getCursor(),n=t.getTokenAt(i),s,c=r.Pos(i.line,n.start),o=i;n.start,]/,closeOnPick:!0,closeOnUnfocus:!0,updateOnCursorActivity:!0,completeOnSingleClick:!0,container:null,customKeys:null,extraKeys:null,paddingForScrollbar:!0,moveOnOverlap:!0};r.defineOption("hintOptions",null)})})();var at=et.exports,ut=tt({__proto__:null,default:at},[et.exports]);export{ut as s}; diff --git a/packages/studio/dist-frontend/assets/sublime.es-281dd5a5.js b/packages/studio/dist-frontend/assets/sublime.es-281dd5a5.js new file mode 100644 index 000000000000..5fbcba03675f --- /dev/null +++ b/packages/studio/dist-frontend/assets/sublime.es-281dd5a5.js @@ -0,0 +1,6 @@ +import{a as Y}from"./codemirror.es-2fb7d200.js";import{a as $}from"./searchcursor.es-34813366.js";import{a as z}from"./matchbrackets.es-41794d05.js";import"./index-17331a0b.js";var G=Object.defineProperty,v=(m,A)=>G(m,"name",{value:A,configurable:!0});function E(m,A){return A.forEach(function(h){h&&typeof h!="string"&&!Array.isArray(h)&&Object.keys(h).forEach(function(a){if(a!=="default"&&!(a in m)){var f=Object.getOwnPropertyDescriptor(h,a);Object.defineProperty(m,a,f.get?f:{enumerable:!0,get:function(){return h[a]}})}})}),Object.freeze(Object.defineProperty(m,Symbol.toStringTag,{value:"Module"}))}v(E,"_mergeNamespaces");var H={exports:{}};(function(m,A){(function(h){h(Y.exports,$.exports,z.exports)})(function(h){var a=h.commands,f=h.Pos;function O(e,t,n){if(n<0&&t.ch==0)return e.clipPos(f(t.line-1));var r=e.getLine(t.line);if(n>0&&t.ch>=r.length)return e.clipPos(f(t.line+1,0));for(var l="start",i,o=t.ch,s=o,u=n<0?0:r.length,d=0;s!=u;s+=n,d++){var p=r.charAt(n<0?s-1:s),c=p!="_"&&h.isWordChar(p)?"w":"o";if(c=="w"&&p.toUpperCase()==p&&(c="W"),l=="start")c!="o"?(l="in",i=c):o=s+n;else if(l=="in"&&i!=c){if(i=="w"&&c=="W"&&n<0&&s--,i=="W"&&c=="w"&&n>0)if(s==o+1){i="w";continue}else s--;break}}return f(t.line,s)}v(O,"findPosSubword");function T(e,t){e.extendSelectionsBy(function(n){return e.display.shift||e.doc.extend||n.empty()?O(e.doc,n.head,t):t<0?n.from():n.to()})}v(T,"moveSubword"),a.goSubwordLeft=function(e){T(e,-1)},a.goSubwordRight=function(e){T(e,1)},a.scrollLineUp=function(e){var t=e.getScrollInfo();if(!e.somethingSelected()){var n=e.lineAtHeight(t.top+t.clientHeight,"local");e.getCursor().line>=n&&e.execCommand("goLineUp")}e.scrollTo(null,t.top-e.defaultTextHeight())},a.scrollLineDown=function(e){var t=e.getScrollInfo();if(!e.somethingSelected()){var n=e.lineAtHeight(t.top,"local")+1;e.getCursor().line<=n&&e.execCommand("goLineDown")}e.scrollTo(null,t.top+e.defaultTextHeight())},a.splitSelectionByLine=function(e){for(var t=e.listSelections(),n=[],r=0;rl.line&&o==i.line&&i.ch==0||n.push({anchor:o==l.line?l:f(o,0),head:o==i.line?i:f(o)});e.setSelections(n,0)},a.singleSelectionTop=function(e){var t=e.listSelections()[0];e.setSelection(t.anchor,t.head,{scroll:!1})},a.selectLine=function(e){for(var t=e.listSelections(),n=[],r=0;rr?n.push(s,u):n.length&&(n[n.length-1]=u),r=u}e.operation(function(){for(var d=0;de.lastLine()?e.replaceRange(` +`+b,f(e.lastLine()),null,"+swapLine"):e.replaceRange(b+` +`,f(c,0),null,"+swapLine")}e.setSelections(l),e.scrollIntoView()})},a.swapLineDown=function(e){if(e.isReadOnly())return h.Pass;for(var t=e.listSelections(),n=[],r=e.lastLine()+1,l=t.length-1;l>=0;l--){var i=t[l],o=i.to().line+1,s=i.from().line;i.to().ch==0&&!i.empty()&&o--,o=0;u-=2){var d=n[u],p=n[u+1],c=e.getLine(d);d==e.lastLine()?e.replaceRange("",f(d-1),f(d),"+swapLine"):e.replaceRange("",f(d,0),f(d+1,0),"+swapLine"),e.replaceRange(c+` +`,f(p,0),null,"+swapLine")}e.scrollIntoView()})},a.toggleCommentIndented=function(e){e.toggleComment({indent:!0})},a.joinLines=function(e){for(var t=e.listSelections(),n=[],r=0;r=0;i--){var o=n[r[i]];if(!(s&&h.cmpPos(o.head,s)>0)){var u=R(e,o.head);s=u.from,e.replaceRange(t(u.word),u.from,u.to)}}})}v(F,"modifyWordOrSelection"),a.smartBackspace=function(e){if(e.somethingSelected())return h.Pass;e.operation(function(){for(var t=e.listSelections(),n=e.getOption("indentUnit"),r=t.length-1;r>=0;r--){var l=t[r].head,i=e.getRange({line:l.line,ch:0},l),o=h.countColumn(i,null,e.getOption("tabSize")),s=e.findPosH(l,-1,"char",!1);if(i&&!/\S/.test(i)&&o%n==0){var u=new f(l.line,h.findColumn(i,o-n,n));u.ch!=l.ch&&(s=u)}e.replaceRange("",s,l,"+delete")}})},a.delLineRight=function(e){e.operation(function(){for(var t=e.listSelections(),n=t.length-1;n>=0;n--)e.replaceRange("",t[n].anchor,f(t[n].to().line),"+delete");e.scrollIntoView()})},a.upcaseAtCursor=function(e){F(e,function(t){return t.toUpperCase()})},a.downcaseAtCursor=function(e){F(e,function(t){return t.toLowerCase()})},a.setSublimeMark=function(e){e.state.sublimeMark&&e.state.sublimeMark.clear(),e.state.sublimeMark=e.setBookmark(e.getCursor())},a.selectToSublimeMark=function(e){var t=e.state.sublimeMark&&e.state.sublimeMark.find();t&&e.setSelection(e.getCursor(),t)},a.deleteToSublimeMark=function(e){var t=e.state.sublimeMark&&e.state.sublimeMark.find();if(t){var n=e.getCursor(),r=t;if(h.cmpPos(n,r)>0){var l=r;r=n,n=l}e.state.sublimeKilled=e.getRange(n,r),e.replaceRange("",n,r)}},a.swapWithSublimeMark=function(e){var t=e.state.sublimeMark&&e.state.sublimeMark.find();t&&(e.state.sublimeMark.clear(),e.state.sublimeMark=e.setBookmark(e.getCursor()),e.setCursor(t))},a.sublimeYank=function(e){e.state.sublimeKilled!=null&&e.replaceSelection(e.state.sublimeKilled,null,"paste")},a.showInCenter=function(e){var t=e.cursorCoords(null,"local");e.scrollTo(null,(t.top+t.bottom)/2-e.getScrollInfo().clientHeight/2)};function U(e){var t=e.getCursor("from"),n=e.getCursor("to");if(h.cmpPos(t,n)==0){var r=R(e,t);if(!r.word)return;t=r.from,n=r.to}return{from:t,to:n,query:e.getRange(t,n),word:r}}v(U,"getTarget");function I(e,t){var n=U(e);if(n){var r=n.query,l=e.getSearchCursor(r,t?n.to:n.from);(t?l.findNext():l.findPrevious())?e.setSelection(l.from(),l.to()):(l=e.getSearchCursor(r,t?f(e.firstLine(),0):e.clipPos(f(e.lastLine()))),(t?l.findNext():l.findPrevious())?e.setSelection(l.from(),l.to()):n.word&&e.setSelection(n.from,n.to))}}v(I,"findAndGoTo"),a.findUnder=function(e){I(e,!0)},a.findUnderPrevious=function(e){I(e,!1)},a.findAllUnder=function(e){var t=U(e);if(t){for(var n=e.getSearchCursor(t.query),r=[],l=-1;n.findNext();)r.push({anchor:n.from(),head:n.to()}),n.from().line<=t.from.line&&n.from().ch<=t.from.ch&&l++;e.setSelections(r,l)}};var C=h.keyMap;C.macSublime={"Cmd-Left":"goLineStartSmart","Shift-Tab":"indentLess","Shift-Ctrl-K":"deleteLine","Alt-Q":"wrapLines","Ctrl-Left":"goSubwordLeft","Ctrl-Right":"goSubwordRight","Ctrl-Alt-Up":"scrollLineUp","Ctrl-Alt-Down":"scrollLineDown","Cmd-L":"selectLine","Shift-Cmd-L":"splitSelectionByLine",Esc:"singleSelectionTop","Cmd-Enter":"insertLineAfter","Shift-Cmd-Enter":"insertLineBefore","Cmd-D":"selectNextOccurrence","Shift-Cmd-Space":"selectScope","Shift-Cmd-M":"selectBetweenBrackets","Cmd-M":"goToBracket","Cmd-Ctrl-Up":"swapLineUp","Cmd-Ctrl-Down":"swapLineDown","Cmd-/":"toggleCommentIndented","Cmd-J":"joinLines","Shift-Cmd-D":"duplicateLine",F5:"sortLines","Shift-F5":"reverseSortLines","Cmd-F5":"sortLinesInsensitive","Shift-Cmd-F5":"reverseSortLinesInsensitive",F2:"nextBookmark","Shift-F2":"prevBookmark","Cmd-F2":"toggleBookmark","Shift-Cmd-F2":"clearBookmarks","Alt-F2":"selectBookmarks",Backspace:"smartBackspace","Cmd-K Cmd-D":"skipAndSelectNextOccurrence","Cmd-K Cmd-K":"delLineRight","Cmd-K Cmd-U":"upcaseAtCursor","Cmd-K Cmd-L":"downcaseAtCursor","Cmd-K Cmd-Space":"setSublimeMark","Cmd-K Cmd-A":"selectToSublimeMark","Cmd-K Cmd-W":"deleteToSublimeMark","Cmd-K Cmd-X":"swapWithSublimeMark","Cmd-K Cmd-Y":"sublimeYank","Cmd-K Cmd-C":"showInCenter","Cmd-K Cmd-G":"clearBookmarks","Cmd-K Cmd-Backspace":"delLineLeft","Cmd-K Cmd-1":"foldAll","Cmd-K Cmd-0":"unfoldAll","Cmd-K Cmd-J":"unfoldAll","Ctrl-Shift-Up":"addCursorToPrevLine","Ctrl-Shift-Down":"addCursorToNextLine","Cmd-F3":"findUnder","Shift-Cmd-F3":"findUnderPrevious","Alt-F3":"findAllUnder","Shift-Cmd-[":"fold","Shift-Cmd-]":"unfold","Cmd-I":"findIncremental","Shift-Cmd-I":"findIncrementalReverse","Cmd-H":"replace",F3:"findNext","Shift-F3":"findPrev",fallthrough:"macDefault"},h.normalizeKeyMap(C.macSublime),C.pcSublime={"Shift-Tab":"indentLess","Shift-Ctrl-K":"deleteLine","Alt-Q":"wrapLines","Ctrl-T":"transposeChars","Alt-Left":"goSubwordLeft","Alt-Right":"goSubwordRight","Ctrl-Up":"scrollLineUp","Ctrl-Down":"scrollLineDown","Ctrl-L":"selectLine","Shift-Ctrl-L":"splitSelectionByLine",Esc:"singleSelectionTop","Ctrl-Enter":"insertLineAfter","Shift-Ctrl-Enter":"insertLineBefore","Ctrl-D":"selectNextOccurrence","Shift-Ctrl-Space":"selectScope","Shift-Ctrl-M":"selectBetweenBrackets","Ctrl-M":"goToBracket","Shift-Ctrl-Up":"swapLineUp","Shift-Ctrl-Down":"swapLineDown","Ctrl-/":"toggleCommentIndented","Ctrl-J":"joinLines","Shift-Ctrl-D":"duplicateLine",F9:"sortLines","Shift-F9":"reverseSortLines","Ctrl-F9":"sortLinesInsensitive","Shift-Ctrl-F9":"reverseSortLinesInsensitive",F2:"nextBookmark","Shift-F2":"prevBookmark","Ctrl-F2":"toggleBookmark","Shift-Ctrl-F2":"clearBookmarks","Alt-F2":"selectBookmarks",Backspace:"smartBackspace","Ctrl-K Ctrl-D":"skipAndSelectNextOccurrence","Ctrl-K Ctrl-K":"delLineRight","Ctrl-K Ctrl-U":"upcaseAtCursor","Ctrl-K Ctrl-L":"downcaseAtCursor","Ctrl-K Ctrl-Space":"setSublimeMark","Ctrl-K Ctrl-A":"selectToSublimeMark","Ctrl-K Ctrl-W":"deleteToSublimeMark","Ctrl-K Ctrl-X":"swapWithSublimeMark","Ctrl-K Ctrl-Y":"sublimeYank","Ctrl-K Ctrl-C":"showInCenter","Ctrl-K Ctrl-G":"clearBookmarks","Ctrl-K Ctrl-Backspace":"delLineLeft","Ctrl-K Ctrl-1":"foldAll","Ctrl-K Ctrl-0":"unfoldAll","Ctrl-K Ctrl-J":"unfoldAll","Ctrl-Alt-Up":"addCursorToPrevLine","Ctrl-Alt-Down":"addCursorToNextLine","Ctrl-F3":"findUnder","Shift-Ctrl-F3":"findUnderPrevious","Alt-F3":"findAllUnder","Shift-Ctrl-[":"fold","Shift-Ctrl-]":"unfold","Ctrl-I":"findIncremental","Shift-Ctrl-I":"findIncrementalReverse","Ctrl-H":"replace",F3:"findNext","Shift-F3":"findPrev",fallthrough:"pcDefault"},h.normalizeKeyMap(C.pcSublime);var V=C.default==C.macDefault;C.sublime=V?C.macSublime:C.pcSublime})})();var J=H.exports,Z=E({__proto__:null,default:J},[H.exports]);export{Z as s}; diff --git a/packages/studio/dist-frontend/index.html b/packages/studio/dist-frontend/index.html new file mode 100644 index 000000000000..2974315d0999 --- /dev/null +++ b/packages/studio/dist-frontend/index.html @@ -0,0 +1,15 @@ + + + + + + + RedwoodJS Studio + + + + +
+ + + diff --git a/packages/studio/dist-frontend/vite.svg b/packages/studio/dist-frontend/vite.svg new file mode 100644 index 000000000000..e7b8dfb1b2a6 --- /dev/null +++ b/packages/studio/dist-frontend/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/studio/frontend/.gitignore b/packages/studio/frontend/.gitignore new file mode 100644 index 000000000000..a547bf36d8d1 --- /dev/null +++ b/packages/studio/frontend/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/packages/studio/frontend/index.html b/packages/studio/frontend/index.html new file mode 100644 index 000000000000..c6bb55c437fc --- /dev/null +++ b/packages/studio/frontend/index.html @@ -0,0 +1,13 @@ + + + + + + + RedwoodJS Studio + + +
+ + + diff --git a/packages/studio/frontend/package.json b/packages/studio/frontend/package.json new file mode 100644 index 000000000000..f335c0be956a --- /dev/null +++ b/packages/studio/frontend/package.json @@ -0,0 +1,39 @@ +{ + "name": "frontend", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "tsc && vite build", + "build:watch": "yarn build --watch --emptyOutDir", + "preview": "vite preview" + }, + "dependencies": { + "@apollo/client": "^3.7.8", + "@graphiql/plugin-explorer": "^0.1.14", + "@graphiql/toolkit": "^0.8.2", + "@headlessui/react": "^1.7.13", + "@heroicons/react": "^2.0.16", + "@tailwindcss/forms": "^0.5.3", + "graphiql": "^2.4.0", + "graphql": "^16.6.0", + "json-bigint-patch": "^0.0.8", + "pretty-ms": "^7.0.0", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "react-router-dom": "^6.8.1", + "react-split-pane": "^0.1.92", + "use-url-search-params": "^2.5.1" + }, + "devDependencies": { + "@types/react": "^18.0.27", + "@types/react-dom": "^18.0.10", + "@vitejs/plugin-react": "^3.1.0", + "autoprefixer": "^10.4.13", + "postcss": "^8.4.21", + "tailwindcss": "^3.2.7", + "typescript": "^4.9.3", + "vite": "^4.1.0" + } +} diff --git a/packages/studio/frontend/postcss.config.cjs b/packages/studio/frontend/postcss.config.cjs new file mode 100644 index 000000000000..33ad091d26d8 --- /dev/null +++ b/packages/studio/frontend/postcss.config.cjs @@ -0,0 +1,6 @@ +module.exports = { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +} diff --git a/packages/studio/frontend/public/vite.svg b/packages/studio/frontend/public/vite.svg new file mode 100644 index 000000000000..e7b8dfb1b2a6 --- /dev/null +++ b/packages/studio/frontend/public/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/studio/frontend/src/Components/CountCard.tsx b/packages/studio/frontend/src/Components/CountCard.tsx new file mode 100644 index 000000000000..2672c4970d2a --- /dev/null +++ b/packages/studio/frontend/src/Components/CountCard.tsx @@ -0,0 +1,64 @@ +import React from 'react' + +import { EllipsisHorizontalIcon } from '@heroicons/react/24/outline' +import { NavLink } from 'react-router-dom' + +import LoadingSpinner from './LoadingSpinner' + +function CountCard({ + title, + icon: Icon, + colouring, + link, + loading, + value, + error, +}: { + title: string + icon: React.ForwardRefExoticComponent> + colouring: string + link: string + loading: boolean + value: any + error: any +}) { + return ( +
+
+
+
+

+ {title} +

+
+
+

+ {value ? ( + value + ) : error ? ( + 'error' + ) : loading ? ( + + ) : ( +

+
+
+ + {' '} + View all + {title} stats + +
+
+
+
+ ) +} + +export default CountCard diff --git a/packages/studio/frontend/src/Components/LoadingSpinner.tsx b/packages/studio/frontend/src/Components/LoadingSpinner.tsx new file mode 100644 index 000000000000..2f843d84189c --- /dev/null +++ b/packages/studio/frontend/src/Components/LoadingSpinner.tsx @@ -0,0 +1,107 @@ +import React from 'react' + +function LoadingSpinner({ colour }: { colour?: string }) { + const fill = colour ?? '#475569' + return ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ) +} + +export default LoadingSpinner diff --git a/packages/studio/frontend/src/Components/RedwoodGraphiQL/RedwoodGraphiQL.tsx b/packages/studio/frontend/src/Components/RedwoodGraphiQL/RedwoodGraphiQL.tsx new file mode 100644 index 000000000000..b6adc2f25cc1 --- /dev/null +++ b/packages/studio/frontend/src/Components/RedwoodGraphiQL/RedwoodGraphiQL.tsx @@ -0,0 +1,176 @@ +import 'json-bigint-patch' +import React, { useMemo, useState } from 'react' + +import { useExplorerPlugin } from '@graphiql/plugin-explorer' +import { Fetcher, FetcherOpts, FetcherParams } from '@graphiql/toolkit' +import { + LoadFromUrlOptions, + SubscriptionProtocol, + UrlLoader, +} from '@graphql-tools/url-loader' +import { + GraphiQL, + GraphiQLInterface, + GraphiQLProps, + GraphiQLProvider, +} from 'graphiql' +import { DocumentNode, Kind, parse } from 'graphql' +import { useUrlSearchParams } from 'use-url-search-params' + +import 'graphiql/graphiql.css' +import '@graphiql/plugin-explorer/dist/style.css' +import './styles.css' + +const getOperationWithFragments = ( + document: DocumentNode, + operationName?: string +): DocumentNode => { + const definitions = document.definitions.filter((definition) => { + if ( + definition.kind === Kind.OPERATION_DEFINITION && + operationName && + definition.name?.value !== operationName + ) { + return false + } + return true + }) + + return { + kind: Kind.DOCUMENT, + definitions, + } +} + +export type RedwoodGraphiQLProps = Omit< + GraphiQLProps, + | 'fetcher' + | 'isHeadersEditorEnabled' + | 'defaultEditorToolsVisibility' + | 'onToggleDocs' + | 'toolbar' + | 'onSchemaChange' + | 'query' + | 'onEditQuery' +> & + Partial> & { + title?: string + /** + * Extra headers you always want to pass with users' headers input + */ + additionalHeaders?: LoadFromUrlOptions['headers'] + } + +export function RedwoodGraphiQL( + props: RedwoodGraphiQLProps +): React.ReactElement { + // const initialQuery = /* GraphQL */ `# + // # Welcome to ${props.title || 'Yoga GraphiQL'} + // # + // # ${ + // props.title || 'Redwood GraphiQL' + // } is an in-browser tool for writing, validating, and + // # testing GraphQL queries. + // # + // # Type queries into this side of the screen, and you will see intelligent + // # typeaheads aware of the current GraphQL type schema and live syntax and + // # validation errors highlighted within the text. + // # + // # GraphQL queries typically start with a "{" character. Lines that start + // # with a # are ignored. + // # + // # An example GraphQL query might look like: + // # + // # { + // # field(arg: "value") { + // # subField + // # } + // # } + // # + // # Keyboard shortcuts: + // # + // # Prettify Query: Shift-Ctrl-P (or press the prettify button above) + // # + // # Merge Query: Shift-Ctrl-M (or press the merge button above) + // # + // # Run Query: Ctrl-Enter (or press the play button above) + // # + // # Auto Complete: Ctrl-Space (or just start typing) + // # + // ` + + const endpoint = props.endpoint || '' + + const type = { + query: String, + } + + const urlLoader = useMemo(() => new UrlLoader(), []) + + const fetcher: Fetcher = useMemo(() => { + const executor = urlLoader.getExecutorAsync(endpoint, { + subscriptionsProtocol: SubscriptionProtocol.SSE, + credentials: 'same-origin', + specifiedByUrl: true, + directiveIsRepeatable: true, + ...props, + headers: props.additionalHeaders || {}, + }) + return function fetcher(graphQLParams: FetcherParams, opts?: FetcherOpts) { + const document = getOperationWithFragments( + parse(graphQLParams.query), + graphQLParams.operationName ?? undefined + ) + return executor({ + document, + operationName: graphQLParams.operationName ?? undefined, + variables: graphQLParams.variables, + extensions: { + headers: opts?.headers, + }, + }) + } + }, [urlLoader, endpoint, props]) + + const [params, setParams] = useUrlSearchParams( + { + query: props.defaultQuery || '', + }, + type, + false + ) + + const [query, setQuery] = useState(params.query?.toString()) + const explorerPlugin = useExplorerPlugin({ + query, + onEdit: setQuery, + }) + + return ( +
+ + + setParams({ + query, + }) + } + > + +
+ {props?.title ? props.title : <>GraphiQL} +
+
+
+
+
+ ) +} diff --git a/packages/studio/frontend/src/Components/RedwoodGraphiQL/styles.css b/packages/studio/frontend/src/Components/RedwoodGraphiQL/styles.css new file mode 100644 index 000000000000..073d6e093904 --- /dev/null +++ b/packages/studio/frontend/src/Components/RedwoodGraphiQL/styles.css @@ -0,0 +1,9 @@ +body, +html { + margin: 0; +} + +.graphiql-container { + height: 100vh; + width: 100%; +} diff --git a/packages/studio/frontend/src/Components/Tracing/EnhancementList.tsx b/packages/studio/frontend/src/Components/Tracing/EnhancementList.tsx new file mode 100644 index 000000000000..f2d1feea6632 --- /dev/null +++ b/packages/studio/frontend/src/Components/Tracing/EnhancementList.tsx @@ -0,0 +1,59 @@ +import React from 'react' + +import { + CircleStackIcon, + CodeBracketIcon, + ShareIcon, +} from '@heroicons/react/24/outline' + +const featureNameMapping = { + sql: 'SQL', + service_function: 'Service Function', + graphql: 'GraphQL', +} as { [key: string]: string } + +const featureIconMapping = { + sql: CircleStackIcon, + service_function: CodeBracketIcon, + graphql: ShareIcon, +} as { + [key: string]: React.ForwardRefExoticComponent> +} + +const featureColourMapping = { + sql: 'text-cyan-500', + service_function: 'text-fuchsia-500', + graphql: 'text-orange-500', +} as { [key: string]: string } + +function EnhancementList({ + enhancementFeatures, +}: { + enhancementFeatures: string[] +}) { + const featureKeys = Object.keys(featureNameMapping) + return ( +
+ {enhancementFeatures.sort().map((feature) => { + if (featureKeys.includes(feature)) { + const Icon = featureIconMapping[feature] + return ( +

+

+ ) + } + return <> + })} +
+ ) +} + +export default EnhancementList diff --git a/packages/studio/frontend/src/Components/Tracing/FlameTableView.tsx b/packages/studio/frontend/src/Components/Tracing/FlameTableView.tsx new file mode 100644 index 000000000000..214c94200484 --- /dev/null +++ b/packages/studio/frontend/src/Components/Tracing/FlameTableView.tsx @@ -0,0 +1,191 @@ +import React from 'react' + +// See https://gist.github.com/IceCreamYou/6ffa1b18c4c8f6aeaad2 +const percentile = (numbers: number[], percentile: number): number => { + if (numbers.length === 0) { + return 0 + } + if (percentile <= 0) { + return numbers[0] + } + if (percentile >= 1) { + return numbers[numbers.length - 1] + } + + const index = (numbers.length - 1) * percentile, + lower = Math.floor(index), + upper = lower + 1, + weight = index % 1 + + if (upper >= numbers.length) { + return numbers[lower] + } + return numbers[lower] * (1 - weight) + numbers[upper] * weight +} + +function FlameTableView({ trace }: { trace: any }) { + const spanStats: any[] = trace.spans.map((span: any) => { + return { + id: span.id, + name: span.name, + // We assume durationNano will fit into Number + duration: Number(span.durationNano), + parent: span.parent, + } + }) + const uniqueSpanNames: string[] = Array.from( + new Set(spanStats.map((span) => span.name)) + ) + + const spanFlameData = uniqueSpanNames + .map((spanName: string) => { + const spansOfInterest = spanStats.filter((span) => span.name === spanName) + const durations = ( + spansOfInterest.map((span) => span.duration) as number[] + ).sort((a, b) => a - b) + + const sum = durations.reduce((acc, duration) => acc + duration, 0) + const middle = Math.floor(durations.length / 2) + + return { + name: spanName, + count: spansOfInterest.length, + mean: sum / spansOfInterest.length, + min: Math.min(...durations), + median: + durations.length % 2 === 0 + ? (durations[middle - 1] + durations[middle]) / 2 + : durations[middle], + max: Math.max(...durations), + p90: percentile(durations, 0.9), + p95: percentile(durations, 0.95), + sum, + } + }) + .sort((a, b) => (a.p90 > b.p90 ? 1 : b.p90 > a.p90 ? -1 : 0)) + + const numberFormatter = new Intl.NumberFormat(undefined, { + minimumFractionDigits: 3, + maximumFractionDigits: 3, + }) + + return ( +
+
+
+

+ Flame Table +

+

+ A list of all the spans grouped by name. The values below are + calculated based on the total duration of a span which includes the + durations of any child spans. +

+
+
+
+
+
+ + + + + + + + + + + + + + + + {spanFlameData + .sort((a: any, b: any) => (a.self < b.self ? 1 : -1)) + .map((row: any) => ( + + + + + + + + + + + + ))} + +
+ Span Name + + Quantity + + Mean (ms) + + Min (ms) + + Median (ms) + + Max (ms) + + p(90) (ms) + + p(95) (ms) + + Sum (ms) +
+ {row.name} + + {row.count} + + {numberFormatter.format(row.mean / 1e6)} + + {numberFormatter.format(row.min / 1e6)} + + {numberFormatter.format(row.median / 1e6)} + + {numberFormatter.format(row.max / 1e6)} + + {numberFormatter.format(row.p90 / 1e6)} + + {numberFormatter.format(row.p95 / 1e6)} + + {numberFormatter.format(row.sum / 1e6)} +
+
+
+
+
+ ) +} + +export default FlameTableView diff --git a/packages/studio/frontend/src/Components/Tracing/PrismaQueryView.tsx b/packages/studio/frontend/src/Components/Tracing/PrismaQueryView.tsx new file mode 100644 index 000000000000..971000d69589 --- /dev/null +++ b/packages/studio/frontend/src/Components/Tracing/PrismaQueryView.tsx @@ -0,0 +1,74 @@ +import React from 'react' + +function PrismQueryView({ prismaQueries }: { prismaQueries: [any] }) { + return ( +
+
+
+

+ Prisma Queries +

+

+ A list of all Prisma queries executed during this trace. +

+
+
+
+
+
+ + + + + + + + + + + {prismaQueries.map((prismaQuery) => ( + + + + + + + ))} + +
+ Model + + Method + + Duration (ms) + + DB Statement +
+ {prismaQuery.model} + + {prismaQuery.method} + + {prismaQuery.duration_ms} + + {prismaQuery.db_statement} +
+
+
+
+
+ ) +} + +export default PrismQueryView diff --git a/packages/studio/frontend/src/Components/Tracing/TimelineView.tsx b/packages/studio/frontend/src/Components/Tracing/TimelineView.tsx new file mode 100644 index 000000000000..4295bfa47695 --- /dev/null +++ b/packages/studio/frontend/src/Components/Tracing/TimelineView.tsx @@ -0,0 +1,201 @@ +import React, { useState } from 'react' + +import { ChevronRightIcon, ChevronDownIcon } from '@heroicons/react/24/outline' + +const numberFormatter = new Intl.NumberFormat(undefined, { + minimumFractionDigits: 2, + maximumFractionDigits: 2, +}) + +function SpanSegment({ + trace, + span, + depth = 0, + traceStartNano, + traceEndNano, +}: { + trace: any + span: any + depth?: number + traceStartNano: string + traceEndNano: string +}) { + const [isExpanded, setIsExpanded] = useState(true) + const [showDetails, setShowDetails] = useState(false) + + const traceStart = BigInt.asUintN(63, BigInt(traceStartNano)) + const traceEnd = BigInt.asUintN(63, BigInt(traceEndNano)) + const traceDuration = Number(traceEnd - traceStart) + + const spanStart = BigInt.asUintN(63, BigInt(span.startNano)) + const spanEnd = BigInt.asUintN(63, BigInt(span.endNano)) + + const startBasis = (Number(spanStart - traceStart) / traceDuration) * 99.999 + const duringBasis = (Number(spanEnd - spanStart) / traceDuration) * 99.999 + const endBasis = (Number(traceEnd - spanEnd) / traceDuration) * 99.999 + + const durationText = `${numberFormatter.format( + Number(spanEnd - spanStart) / 1_000_000 + )}ms` + const durationTextAtEnd = endBasis > 0.2 + const durationTextAtDuring = !durationTextAtEnd && duringBasis > 0.2 + const durationTextAtStart = !durationTextAtEnd && !durationTextAtDuring + + const children = trace.spans + .filter((child: any) => child.parent === span.id) + .sort((a: any, b: any) => + a.startNano > b.startNano ? 1 : b.startNano > a.startNano ? -1 : 0 + ) + + return ( +
+
+
0 ? -2 : 26) }} + > + {children.length > 0 && ( + + )} + +
+
+
+
+ {durationTextAtStart ? durationText : '⠀'} +
+
+ {durationTextAtDuring ? durationText : '⠀'} +
+
+ {durationTextAtEnd ? durationText : '⠀'} +
+
+
+
+ {showDetails && ( +
+
+ Attributes +
+ {Object.entries(JSON.parse(span.attributes)).map( + ([key, value]) => { + return ( +
+
{key}
+
{JSON.stringify(value)}
+
+ ) + } + )} +
+
+
+ Events +
+ {Object.entries(JSON.parse(span.events)).map(([key, value]) => { + return ( +
+
{key}
+
{JSON.stringify(value)}
+
+ ) + })} +
+
+
+ Resources +
+ {Object.entries(JSON.parse(span.resources)).map( + ([key, value]) => { + return ( +
+
{key}
+
{JSON.stringify(value)}
+
+ ) + } + )} +
+
+
+ )} + {isExpanded && ( +
+ {children.map((child: any) => ( + + ))} +
+ )} +
+ ) +} + +function TimelineView({ trace }: { trace: any }) { + const rootSpans = trace.spans + .filter((span: any) => span.parent == null) + .sort((a: any, b: any) => + a.startNano > b.startNano ? 1 : b.startNano > a.startNano ? -1 : 0 + ) + + const traceStartNano = trace.spans + .map((span: any) => span.startNano) + .sort((a: any, b: any) => (a > b ? 1 : b > a ? -1 : 0))[0] + + const traceEndNano = trace.spans + .map((span: any) => span.endNano) + .sort((a: any, b: any) => (a > b ? -1 : b > a ? 1 : 0))[0] + + return ( +
+ {rootSpans.map((span: any) => ( + + ))} +
+ ) +} + +export default TimelineView diff --git a/packages/studio/frontend/src/Layouts/MasterLayout.tsx b/packages/studio/frontend/src/Layouts/MasterLayout.tsx new file mode 100644 index 000000000000..93e7b049d393 --- /dev/null +++ b/packages/studio/frontend/src/Layouts/MasterLayout.tsx @@ -0,0 +1,212 @@ +import React, { Fragment, useState } from 'react' + +import { Dialog, Transition } from '@headlessui/react' +import { + Bars3BottomLeftIcon, + BellIcon, + CircleStackIcon, + ViewColumnsIcon, + InformationCircleIcon, + ChatBubbleLeftEllipsisIcon, + WindowIcon, + MagnifyingGlassIcon, + RadioIcon, + XMarkIcon, + WrenchIcon, +} from '@heroicons/react/24/outline' +import { Outlet, NavLink } from 'react-router-dom' + +import redwooodLogo from '../assets/redwoodjs_diecut_name.svg' + +const navigation = [ + { name: 'Studio', to: '/', icon: WindowIcon }, + { name: 'Telemetry Tracing', to: '/tracing', icon: RadioIcon }, + { name: 'GraphiQL Playground', to: '/graphiql', icon: ViewColumnsIcon }, + { name: 'SQL Statements', to: '/sql', icon: CircleStackIcon }, + { name: 'Settings', to: '/config', icon: WrenchIcon }, + { + name: 'About', + to: '/coming-soon', + icon: InformationCircleIcon, + }, + { + name: 'Support & Docs', + to: 'https://community.redwoodjs.com/t/redwood-studio-experimental/4771', + icon: ChatBubbleLeftEllipsisIcon, + }, +] + +export default function MasterLayout() { + const [sidebarOpen, setSidebarOpen] = useState(false) + + return ( + <> +
+ + + +
+ + +
+ + + +
+ +
+
+
+ RedwoodJS Logo +
+
+ +
+
+
+ +
+
+
+ + {/* Static sidebar for desktop */} +
+ {/* Sidebar component, swap this element with another sidebar if you like */} +
+
+ RedwoodJS Logo +
+
+ +
+
+
+
+
+ +
+
+
+ +
+
+
+ +
+
+
+
+ +
+
+
+ +
+ +
+
+
+ + ) +} diff --git a/packages/studio/frontend/src/Pages/ComingSoon.tsx b/packages/studio/frontend/src/Pages/ComingSoon.tsx new file mode 100644 index 000000000000..3aca8ecf4ed2 --- /dev/null +++ b/packages/studio/frontend/src/Pages/ComingSoon.tsx @@ -0,0 +1,80 @@ +import React from 'react' + +import { + ShieldExclamationIcon, + CloudArrowUpIcon, + MagnifyingGlassIcon, + PresentationChartLineIcon, +} from '@heroicons/react/24/outline' + +const features = [ + { + name: 'Cloud Sync', + description: + 'Sync your dev data to the cloud, allowing you to track your apps development across time, team members and git branches.', + icon: CloudArrowUpIcon, + }, + { + name: 'More Understanding', + description: + "We'll be expanding what insights and data we extract from your tracing to build you an even clearer picture of your app.", + icon: MagnifyingGlassIcon, + }, + { + name: 'Security Insights', + description: + 'Get warnings when your app does something risky like access passwords from the database.', + icon: ShieldExclamationIcon, + }, + { + name: 'Visualisations', + description: + 'Understand your data at glace with simple but powerful visualisations which highlight the trends and outliers.', + icon: PresentationChartLineIcon, + }, +] + +function ComingSoon() { + return ( +
+
+
+

+ Coming soon... +

+

+ Everything you need to understand your app while you dev +

+

+ It shouldn't just be in production that you can monitor your + app with power and with ease. Development can be better when + you're able to understand exactly what is happening and + identify how your app is performing or breaking. +

+
+
+
+ {features.map((feature) => ( +
+
+
+
+ {feature.name} +
+
+ {feature.description} +
+
+ ))} +
+
+
+
+ ) +} + +export default ComingSoon diff --git a/packages/studio/frontend/src/Pages/Config.tsx b/packages/studio/frontend/src/Pages/Config.tsx new file mode 100644 index 000000000000..6161c65c7746 --- /dev/null +++ b/packages/studio/frontend/src/Pages/Config.tsx @@ -0,0 +1,132 @@ +import React from 'react' + +import { useQuery, gql } from '@apollo/client' +import { XCircleIcon } from '@heroicons/react/20/solid' +import { + EnvelopeIcon, + KeyIcon, + UserCircleIcon, + UserGroupIcon, +} from '@heroicons/react/24/outline' + +import LoadingSpinner from '../Components/LoadingSpinner' + +const QUERY_GET_CONFIG = gql` + query GetConfig { + studioConfig { + graphiql { + endpoint + authImpersonation { + authProvider + userId + email + roles + jwtSecret + } + } + } + } +` + +function Config() { + const { loading, error, data } = useQuery(QUERY_GET_CONFIG, { + pollInterval: 10_000, + }) + + if (error) { + return ( +
+
+
+
+
+
+

+ There were an error +

+
+ {JSON.stringify(error)} +
+
+
+
+
+ ) + } + + if (loading) { + return ( +
+ +
+ ) + } + + return ( +
+
+

+ {' '} + Studio Configuration Settings +

+

+ These are the various config options the studio is currently using. + You can update some of these values from within your `redwood.toml` + file under the `studio` section and others you can update directly + within the various studio webpages. +

+
+
+
+ {data?.studioConfig && ( + <> +
+
+
+
+ {data?.studioConfig.graphiql.authImpersonation.authProvider} +
+
+
+
+
+
+ {data?.studioConfig.graphiql.authImpersonation.userId} +
+
+
+
+
+
+ {data?.studioConfig.graphiql.authImpersonation.email} +
+
+ +
+
+
+
+ {data?.studioConfig.graphiql.authImpersonation.roles} +
+
+ + )} +
+
+
+ ) +} + +export default Config diff --git a/packages/studio/frontend/src/Pages/GraphiQL.tsx b/packages/studio/frontend/src/Pages/GraphiQL.tsx new file mode 100644 index 000000000000..c16e92e30a7e --- /dev/null +++ b/packages/studio/frontend/src/Pages/GraphiQL.tsx @@ -0,0 +1,59 @@ +import React from 'react' + +import { useQuery, gql } from '@apollo/client' + +import { RedwoodGraphiQL } from '../Components/RedwoodGraphiQL/RedwoodGraphiQL' + +const GET_AUTH = gql` + query { + webConfig { + graphqlEndpoint + } + generateAuthHeaders { + authProvider + cookie + authorization + } + } +` + +function GraphiQL() { + const { data } = useQuery(GET_AUTH) + let headers = undefined as undefined | Record + + if (data && data.generateAuthHeaders) { + const { authProvider, authorization, cookie } = data.generateAuthHeaders + + if (authProvider) { + headers = { + 'auth-provider': authProvider, + authorization: authorization, + } + + if (cookie) { + headers = { + 'auth-provider': authProvider, + authorization: authorization, + cookie, + } + } + } + + if (headers) { + console.debug('headers', headers) + console.debug('headers JSON', JSON.stringify(headers)) + return ( + + ) + } + + return + } + + return
Loading...
+} + +export default GraphiQL diff --git a/packages/studio/frontend/src/Pages/Landing.tsx b/packages/studio/frontend/src/Pages/Landing.tsx new file mode 100644 index 000000000000..3821d2d1d1f7 --- /dev/null +++ b/packages/studio/frontend/src/Pages/Landing.tsx @@ -0,0 +1,76 @@ +import React from 'react' + +import { useQuery, gql } from '@apollo/client' +import { + CircleStackIcon, + CodeBracketIcon, + RadioIcon, + ShareIcon, +} from '@heroicons/react/24/outline' + +import CountCard from '../Components/CountCard' + +const QUERY_GET_SPAN_COUNTS = gql` + query GetSpanCount { + graphQLSpanCount + sqlCount + traceCount + } +` + +function App() { + const { loading, error, data } = useQuery(QUERY_GET_SPAN_COUNTS, { + pollInterval: 1000, + }) + + return ( +
+
+

+ Development Studio +

+ +
+ + + + +
+
+
+ ) +} + +export default App diff --git a/packages/studio/frontend/src/Pages/NotFound.tsx b/packages/studio/frontend/src/Pages/NotFound.tsx new file mode 100644 index 000000000000..e533d0480506 --- /dev/null +++ b/packages/studio/frontend/src/Pages/NotFound.tsx @@ -0,0 +1,14 @@ +import React from 'react' + +function App() { + return ( +
+ 4🤔4 + + We couldn't find something cool to show you... + +
+ ) +} + +export default App diff --git a/packages/studio/frontend/src/Pages/SQL.tsx b/packages/studio/frontend/src/Pages/SQL.tsx new file mode 100644 index 000000000000..00fb126d146d --- /dev/null +++ b/packages/studio/frontend/src/Pages/SQL.tsx @@ -0,0 +1,159 @@ +import React from 'react' + +import { useQuery, gql } from '@apollo/client' +import { XCircleIcon } from '@heroicons/react/20/solid' +import { EllipsisHorizontalIcon, LinkIcon } from '@heroicons/react/20/solid' +import { Link } from 'react-router-dom' + +import LoadingSpinner from '../Components/LoadingSpinner' + +const numberFormatter = new Intl.NumberFormat(undefined, { + minimumFractionDigits: 3, + maximumFractionDigits: 3, +}) + +const QUERY_GET_ALL_SQL_SPANS = gql` + query GetAllSQLSpans { + sqlSpans { + id + trace + startNano + durationNano + attributes + } + } +` + +function SQL() { + const { loading, error, data } = useQuery(QUERY_GET_ALL_SQL_SPANS, { + pollInterval: 1000, + }) + + if (error) { + return ( +
+
+
+
+
+
+

+ There were an error +

+
+ {JSON.stringify(error)} +
+
+
+
+
+ ) + } + + if (loading) { + return ( +
+ +
+ ) + } + + return ( +
+
+
+
+

+ SQL Statements +

+

+ A livestream of all the SQL queries that have been executed, + enriched with insights we think you'll find useful. +

+
+
+
+
+
+ + + + + + + + + + + + {data.sqlSpans.map((span: any) => ( + + + + + + + + ))} + +
+ Trace + + Start + + Duration (ms) + + Insights + + SQL +
+ + + {new Date( + Number(BigInt(span.startNano) / BigInt(1e6)) + ).toISOString()} + + {numberFormatter.format( + parseInt(span.durationNano) / 1e6 + )} + + + {JSON.parse(span.attributes)['db.statement']} +
+
+
+
+
+
+ ) +} + +export default SQL diff --git a/packages/studio/frontend/src/Pages/Tracing/Trace.tsx b/packages/studio/frontend/src/Pages/Tracing/Trace.tsx new file mode 100644 index 000000000000..aa1e91f418be --- /dev/null +++ b/packages/studio/frontend/src/Pages/Tracing/Trace.tsx @@ -0,0 +1,286 @@ +import React, { useState, Fragment } from 'react' + +import { useQuery, gql } from '@apollo/client' +import { Listbox, Transition } from '@headlessui/react' +import { ClockIcon } from '@heroicons/react/20/solid' +import { CheckIcon, ChevronUpDownIcon } from '@heroicons/react/20/solid' +import { XCircleIcon } from '@heroicons/react/20/solid' +import prettyMilliseconds from 'pretty-ms' +import { useParams } from 'react-router-dom' + +import LoadingSpinner from '../../Components/LoadingSpinner' +import EnhancementList from '../../Components/Tracing/EnhancementList' +import FlameTableView from '../../Components/Tracing/FlameTableView' +import PrismaQueryView from '../../Components/Tracing/PrismaQueryView' +import TimelineView from '../../Components/Tracing/TimelineView' + +const GET_TRACE_SPANS = gql` + query GetTraceSpans($id: String!) { + trace(id: $id) { + id + spans { + id + name + parent + kind + statusCode + statusMessage + startNano + endNano + durationNano + events + attributes + resources + } + enhancements { + features + } + } + prismaQueries(id: $id) { + id + trace + parent_id + parent_trace + name + method + model + prisma_name + start_nano + end_nano + duration_nano + duration_ms + duration_sec + db_statement + } + authProvider + } +` + +const startSpan = (spans: any[]) => { + const startSpans = spans.sort((a: any, b: any) => + a.startNano > b.startNano ? 1 : b.startNano > a.startNano ? -1 : 0 + ) + if (startSpans.length === 0) { + return startSpans[0] + } + return startSpans.filter((span) => span.parent === null)[0] || startSpans[0] +} + +const endSpan = (spans: any[]) => { + const endSpans = spans.sort((a: any, b: any) => + a.startNano > b.startNano ? -1 : b.startNano > a.startNano ? 1 : 0 + ) + if (endSpans.length === 0) { + return endSpans[0] + } + return endSpans.filter((span) => span.parent === null)[0] || endSpans[0] +} + +function classNames(...classes: any[]) { + return classes.filter(Boolean).join(' ') +} + +interface VisualisationMode { + name: string +} + +const visualisationModes: VisualisationMode[] = [ + { name: 'Timeline' }, + { name: 'Flame Table' }, + { name: 'Prisma Queries' }, +] + +function Trace() { + const { traceId } = useParams() + const { loading, error, data } = useQuery(GET_TRACE_SPANS, { + variables: { id: traceId }, + }) + + const [visualisationMode, setVisualisationMode] = useState( + () => { + return visualisationModes[0] + } + ) + + if (error) { + return ( +
+
+
+
+
+
+

+ There were an error +

+
+ {JSON.stringify(error)} +
+
+
+
+
+ ) + } + + if (loading) { + return ( +
+ +
+ ) + } + + if (data.trace.spans.length === 0) { + return ( +
+
😔
+
+ No spans found for trace: {traceId} +
+
+ ) + } + + return ( +
+
+
+

+ {data.trace.id} | {startSpan(data.trace.spans).name} +

+
+
+
+
+
+ +
+
+
+ +
+ + {({ open }) => ( + <> + + Visualisation + +
+ + + {visualisationMode.name} + + + + + + + + {visualisationModes.map((mode) => ( + + classNames( + active + ? 'bg-slate-600 text-white' + : 'text-gray-900', + 'relative cursor-default select-none py-2 pl-3 pr-9' + ) + } + value={mode} + > + {({ selected, active }) => ( + <> + + {mode.name} + + + {selected ? ( + + + ) : null} + + )} + + ))} + + +
+ + )} +
+
+ +
+ {visualisationMode.name === 'Timeline' && ( + + )} + {visualisationMode.name === 'Flame Table' && ( + + )} + {visualisationMode.name === 'Prisma Queries' && ( + + )} +
+
+ ) +} + +export default Trace diff --git a/packages/studio/frontend/src/Pages/Tracing/Tracing.tsx b/packages/studio/frontend/src/Pages/Tracing/Tracing.tsx new file mode 100644 index 000000000000..0322088f0773 --- /dev/null +++ b/packages/studio/frontend/src/Pages/Tracing/Tracing.tsx @@ -0,0 +1,176 @@ +import React from 'react' + +import { useQuery, gql } from '@apollo/client' +import { XCircleIcon } from '@heroicons/react/20/solid' +import { ClockIcon } from '@heroicons/react/20/solid' +import prettyMilliseconds from 'pretty-ms' +import { Link } from 'react-router-dom' + +import LoadingSpinner from '../../Components/LoadingSpinner' +import EnhancementList from '../../Components/Tracing/EnhancementList' + +const QUERY_GET_ALL_TRACES = gql` + query GetAllTraces { + traces { + id + spans { + id + parent + name + kind + statusCode # TODO: Give an indicator if an error occurred + startNano + endNano + } + enhancements { + features + containsError + } + } + } +` + +const startSpan = (spans: any[]) => { + const startSpans = spans.sort((a: any, b: any) => + a.startNano > b.startNano ? 1 : b.startNano > a.startNano ? -1 : 0 + ) + if (startSpans.length === 0) { + return startSpans[0] + } + return startSpans.filter((span) => span.parent === null)[0] || startSpans[0] +} + +const endSpan = (spans: any[]) => { + const endSpans = spans.sort((a: any, b: any) => + a.startNano > b.startNano ? -1 : b.startNano > a.startNano ? 1 : 0 + ) + if (endSpans.length === 0) { + return endSpans[0] + } + return endSpans.filter((span) => span.parent === null)[0] || endSpans[0] +} + +function Tracing() { + const { loading, error, data } = useQuery(QUERY_GET_ALL_TRACES, { + pollInterval: 1000, + }) + + if (error) { + return ( +
+
+
+
+
+
+

+ There were an error +

+
+ {JSON.stringify(error)} +
+
+
+
+
+ ) + } + + if (loading) { + return ( +
+ +
+ ) + } + + const startSpans = new Map() + data.traces.forEach((trace: any) => { + startSpans.set(trace.id, startSpan(trace.spans)) + }) + const endSpans = new Map() + data.traces.forEach((trace: any) => { + endSpans.set(trace.id, endSpan(trace.spans)) + }) + + const sortedTraces = data.traces.sort((a: any, b: any) => + startSpans.get(a.id).startNano > startSpans.get(b.id).startNano + ? -1 + : startSpans.get(b.id).startNano > startSpans.get(a.id).startNano + ? 1 + : 0 + ) + + return ( +
+
+
    + {sortedTraces.map((trace: any) => ( +
  • + +
    +
    +

    + ID: {trace.id} | {startSpans.get(trace.id).name} +

    +
    +

    + {trace.enhancements.containsError + ? 'Error' + : 'Successful'} +

    +
    +
    +
    + +
    +
    +
    +
    + +
  • + ))} +
+
+
+ ) +} + +export default Tracing diff --git a/packages/studio/frontend/src/assets/redwoodjs_diecut.svg b/packages/studio/frontend/src/assets/redwoodjs_diecut.svg new file mode 100644 index 000000000000..9557aee2c2b3 --- /dev/null +++ b/packages/studio/frontend/src/assets/redwoodjs_diecut.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/studio/frontend/src/assets/redwoodjs_diecut_name.svg b/packages/studio/frontend/src/assets/redwoodjs_diecut_name.svg new file mode 100644 index 000000000000..688dca31a5f3 --- /dev/null +++ b/packages/studio/frontend/src/assets/redwoodjs_diecut_name.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/studio/frontend/src/index.css b/packages/studio/frontend/src/index.css new file mode 100644 index 000000000000..eb767c13f069 --- /dev/null +++ b/packages/studio/frontend/src/index.css @@ -0,0 +1,4 @@ +/* Tailwind */ +@tailwind base; +@tailwind components; +@tailwind utilities; diff --git a/packages/studio/frontend/src/main.tsx b/packages/studio/frontend/src/main.tsx new file mode 100644 index 000000000000..2fd33916a384 --- /dev/null +++ b/packages/studio/frontend/src/main.tsx @@ -0,0 +1,55 @@ +import React from 'react' + +import { ApolloClient, InMemoryCache, ApolloProvider } from '@apollo/client' +import ReactDOM from 'react-dom/client' +import { HashRouter, Routes, Route } from 'react-router-dom' + +import './index.css' + +import MasterLayout from './Layouts/MasterLayout' +import ComingSoon from './Pages/ComingSoon' +import Config from './Pages/Config' +import GraphiQL from './Pages/GraphiQL' +import Landing from './Pages/Landing' +import NotFound from './Pages/NotFound' +import SQL from './Pages/SQL' +import Trace from './Pages/Tracing/Trace' +import Tracing from './Pages/Tracing/Tracing' + +const client = new ApolloClient({ + uri: 'http://localhost:4318/graphql', + cache: new InMemoryCache(), +}) + +ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render( + + + + + }> + } /> + + {/* Tracing */} + } /> + } /> + + {/* GraphiQL */} + } /> + + {/* SQL */} + } /> + + {/* Config */} + } /> + + {/* Coming Soon */} + } /> + + {/* 404 */} + } /> + + + + + +) diff --git a/packages/studio/frontend/src/util/spans.ts b/packages/studio/frontend/src/util/spans.ts new file mode 100644 index 000000000000..4cd7bda87ed0 --- /dev/null +++ b/packages/studio/frontend/src/util/spans.ts @@ -0,0 +1,19 @@ +export const getFirstSpan = (spans: any[]): any => { + if (spans.length > 1) { + return spans.sort((a, b) => a.startNano - b.startNano)[0] + } else { + return spans[0] ?? null + } +} + +export const getLastSpan = (spans: any[]): any => { + if (spans.length > 1) { + return spans.sort((a, b) => a.endNano - b.endNano)[0] + } else { + return spans[0] ?? null + } +} + +export const nanoToDate = (nano: string): Date => { + return new Date(parseInt(nano.substring(0, nano.length - 6))) +} diff --git a/packages/studio/frontend/src/vite-env.d.ts b/packages/studio/frontend/src/vite-env.d.ts new file mode 100644 index 000000000000..11f02fe2a006 --- /dev/null +++ b/packages/studio/frontend/src/vite-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/packages/studio/frontend/tailwind.config.cjs b/packages/studio/frontend/tailwind.config.cjs new file mode 100644 index 000000000000..c9ef5682e1a4 --- /dev/null +++ b/packages/studio/frontend/tailwind.config.cjs @@ -0,0 +1,8 @@ +/** @type {import('tailwindcss').Config} */ +module.exports = { + content: ['./index.html', './src/**/*.{js,ts,jsx,tsx}'], + theme: { + extend: {}, + }, + plugins: [require('@tailwindcss/forms')], +} diff --git a/packages/studio/frontend/tsconfig.json b/packages/studio/frontend/tsconfig.json new file mode 100644 index 000000000000..3d0a51a86e20 --- /dev/null +++ b/packages/studio/frontend/tsconfig.json @@ -0,0 +1,21 @@ +{ + "compilerOptions": { + "target": "ESNext", + "useDefineForClassFields": true, + "lib": ["DOM", "DOM.Iterable", "ESNext"], + "allowJs": false, + "skipLibCheck": true, + "esModuleInterop": false, + "allowSyntheticDefaultImports": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "module": "ESNext", + "moduleResolution": "Node", + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx" + }, + "include": ["src"], + "references": [{ "path": "./tsconfig.node.json" }] +} diff --git a/packages/studio/frontend/tsconfig.node.json b/packages/studio/frontend/tsconfig.node.json new file mode 100644 index 000000000000..9d31e2aed93c --- /dev/null +++ b/packages/studio/frontend/tsconfig.node.json @@ -0,0 +1,9 @@ +{ + "compilerOptions": { + "composite": true, + "module": "ESNext", + "moduleResolution": "Node", + "allowSyntheticDefaultImports": true + }, + "include": ["vite.config.ts"] +} diff --git a/packages/studio/frontend/vite.config.ts b/packages/studio/frontend/vite.config.ts new file mode 100644 index 000000000000..56e4e2b07720 --- /dev/null +++ b/packages/studio/frontend/vite.config.ts @@ -0,0 +1,13 @@ +import react from '@vitejs/plugin-react' +import { defineConfig } from 'vite' + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [react()], + build: { + outDir: '../dist-frontend', + }, + server: { + port: 4318, + }, +}) diff --git a/packages/studio/frontend/yarn.lock b/packages/studio/frontend/yarn.lock new file mode 100644 index 000000000000..f7c39f7e9a9d --- /dev/null +++ b/packages/studio/frontend/yarn.lock @@ -0,0 +1,3469 @@ +# This file is generated by running "yarn install" inside your project. +# Manual changes might be lost - proceed with caution! + +__metadata: + version: 6 + cacheKey: 8c0 + +"@ampproject/remapping@npm:^2.1.0": + version: 2.2.0 + resolution: "@ampproject/remapping@npm:2.2.0" + dependencies: + "@jridgewell/gen-mapping": ^0.1.0 + "@jridgewell/trace-mapping": ^0.3.9 + checksum: d267d8def81d75976bed4f1f81418a234a75338963ed0b8565342ef3918b07e9043806eb3a1736df7ac0774edb98e2890f880bba42817f800495e4ae3fac995e + languageName: node + linkType: hard + +"@apollo/client@npm:^3.7.8": + version: 3.7.9 + resolution: "@apollo/client@npm:3.7.9" + dependencies: + "@graphql-typed-document-node/core": ^3.1.1 + "@wry/context": ^0.7.0 + "@wry/equality": ^0.5.0 + "@wry/trie": ^0.3.0 + graphql-tag: ^2.12.6 + hoist-non-react-statics: ^3.3.2 + optimism: ^0.16.1 + prop-types: ^15.7.2 + response-iterator: ^0.2.6 + symbol-observable: ^4.0.0 + ts-invariant: ^0.10.3 + tslib: ^2.3.0 + zen-observable-ts: ^1.2.5 + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 + graphql-ws: ^5.5.5 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + subscriptions-transport-ws: ^0.9.0 || ^0.11.0 + peerDependenciesMeta: + graphql-ws: + optional: true + react: + optional: true + react-dom: + optional: true + subscriptions-transport-ws: + optional: true + checksum: 344922f4247d59c2822865a563fd5708848bbe7c3349f0250230ed4caf9377f3c18581635149a9a8ba501fa475a541cff7f0e549df69ee0479b477dbc131e15e + languageName: node + linkType: hard + +"@babel/code-frame@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/code-frame@npm:7.18.6" + dependencies: + "@babel/highlight": ^7.18.6 + checksum: e3966f2717b7ebd9610524730e10b75ee74154f62617e5e115c97dbbbabc5351845c9aa850788012cb4d9aee85c3dc59fe6bef36690f244e8dcfca34bd35e9c9 + languageName: node + linkType: hard + +"@babel/compat-data@npm:^7.20.5": + version: 7.20.14 + resolution: "@babel/compat-data@npm:7.20.14" + checksum: b35587fe2f90dbf4e07d33fcaaa49fa117313eeb892591fede7679b21f7aff4235735a709fdb771a9a33b9e57d5cebed522108ad1364f6a1abf91cf16ffde1e4 + languageName: node + linkType: hard + +"@babel/core@npm:^7.20.12": + version: 7.20.12 + resolution: "@babel/core@npm:7.20.12" + dependencies: + "@ampproject/remapping": ^2.1.0 + "@babel/code-frame": ^7.18.6 + "@babel/generator": ^7.20.7 + "@babel/helper-compilation-targets": ^7.20.7 + "@babel/helper-module-transforms": ^7.20.11 + "@babel/helpers": ^7.20.7 + "@babel/parser": ^7.20.7 + "@babel/template": ^7.20.7 + "@babel/traverse": ^7.20.12 + "@babel/types": ^7.20.7 + convert-source-map: ^1.7.0 + debug: ^4.1.0 + gensync: ^1.0.0-beta.2 + json5: ^2.2.2 + semver: ^6.3.0 + checksum: 190f5e144396692e163d62f17ea715a4cc3cfc22ea8052424e20a5e2bdf162195eac71440244689b2e6d4d61dfdeab1d7f475d77ab31904832c844fe572fbee2 + languageName: node + linkType: hard + +"@babel/generator@npm:^7.20.7": + version: 7.20.14 + resolution: "@babel/generator@npm:7.20.14" + dependencies: + "@babel/types": ^7.20.7 + "@jridgewell/gen-mapping": ^0.3.2 + jsesc: ^2.5.1 + checksum: 4b0159f2175cf002a902e0aaa1c3c2af9c98d309394e685bc556cd2c34ccc4ace38a91b919f62effc7e067fadd2ded6cda8630b7c11367a303a2bd67862989b5 + languageName: node + linkType: hard + +"@babel/helper-compilation-targets@npm:^7.20.7": + version: 7.20.7 + resolution: "@babel/helper-compilation-targets@npm:7.20.7" + dependencies: + "@babel/compat-data": ^7.20.5 + "@babel/helper-validator-option": ^7.18.6 + browserslist: ^4.21.3 + lru-cache: ^5.1.1 + semver: ^6.3.0 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 68c3e12e04c8f26c82a1aabb8003610b818d4171e0b885d1ca87c700acd7f0c50a7f4f1d3c0044947e327cb5670294b55c666d09109144b3b01021c587401e4c + languageName: node + linkType: hard + +"@babel/helper-environment-visitor@npm:^7.18.9": + version: 7.18.9 + resolution: "@babel/helper-environment-visitor@npm:7.18.9" + checksum: a69dd50ea91d8143b899a40ca7a387fa84dbaa02e606d8692188c7c59bd4007bcd632c189f7b7dab72cb7a016e159557a6fccf7093ab9b584d87cf2ea8cf36b7 + languageName: node + linkType: hard + +"@babel/helper-function-name@npm:^7.19.0": + version: 7.19.0 + resolution: "@babel/helper-function-name@npm:7.19.0" + dependencies: + "@babel/template": ^7.18.10 + "@babel/types": ^7.19.0 + checksum: a4181d23274d926df3a8032fb2ff210b8a27c83fedd9e7bd148a6877cb4070be4caf69ddae1bf29447e1e84da807ff769a31ca661ef55ecd4d4d672073a68c48 + languageName: node + linkType: hard + +"@babel/helper-hoist-variables@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/helper-hoist-variables@npm:7.18.6" + dependencies: + "@babel/types": ^7.18.6 + checksum: 830aa7ca663b0d2a025513ab50a9a10adb2a37d8cf3ba40bb74b8ac14d45fbc3d08c37b1889b10d36558edfbd34ff914909118ae156c2f0915f2057901b90eff + languageName: node + linkType: hard + +"@babel/helper-module-imports@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/helper-module-imports@npm:7.18.6" + dependencies: + "@babel/types": ^7.18.6 + checksum: a92e28fc4b5dbb0d0afd4a313efc0cf5b26ce1adc0c01fc22724c997789ac7d7f4f30bc9143d94a6ba8b0a035933cf63a727a365ce1c57dbca0935f48de96244 + languageName: node + linkType: hard + +"@babel/helper-module-transforms@npm:^7.20.11": + version: 7.20.11 + resolution: "@babel/helper-module-transforms@npm:7.20.11" + dependencies: + "@babel/helper-environment-visitor": ^7.18.9 + "@babel/helper-module-imports": ^7.18.6 + "@babel/helper-simple-access": ^7.20.2 + "@babel/helper-split-export-declaration": ^7.18.6 + "@babel/helper-validator-identifier": ^7.19.1 + "@babel/template": ^7.20.7 + "@babel/traverse": ^7.20.10 + "@babel/types": ^7.20.7 + checksum: a6cc533c3c9a2ed939f041002c142611a657a6defffda195f56936793f7ceb6c9abcc0c5e77e49da9e1584f60442e04107937394dbd6560d1094cfd7f3a9a152 + languageName: node + linkType: hard + +"@babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.19.0": + version: 7.20.2 + resolution: "@babel/helper-plugin-utils@npm:7.20.2" + checksum: bf4de040e57b7ddff36ea599e963c391eb246d5a95207bb9ef3e33073c451bcc0821e3a9cc08dfede862a6dcc110d7e6e7d9a483482f852be358c5b60add499c + languageName: node + linkType: hard + +"@babel/helper-simple-access@npm:^7.20.2": + version: 7.20.2 + resolution: "@babel/helper-simple-access@npm:7.20.2" + dependencies: + "@babel/types": ^7.20.2 + checksum: 79cea28155536c74b37839748caea534bc413fac8c512e6101e9eecfe83f670db77bc782bdb41114caecbb1e2a73007ff6015d6a5ce58cae5363b8c5bd2dcee9 + languageName: node + linkType: hard + +"@babel/helper-split-export-declaration@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/helper-split-export-declaration@npm:7.18.6" + dependencies: + "@babel/types": ^7.18.6 + checksum: 1335b510a9aefcbf60d89648e622715774e56040d72302dc5e176c8d837c9ab81414ccfa9ed771a9f98da7192579bb12ab7a95948bfdc69b03b4a882b3983e48 + languageName: node + linkType: hard + +"@babel/helper-string-parser@npm:^7.19.4": + version: 7.19.4 + resolution: "@babel/helper-string-parser@npm:7.19.4" + checksum: e20c81582e75df2a020a1c547376668a6e1e1c2ca535a6b7abb25b83d5536c99c0d113184bbe87c1a26e923a9bb0c6e5279fca8db6bd609cd3499fafafc01598 + languageName: node + linkType: hard + +"@babel/helper-validator-identifier@npm:^7.18.6, @babel/helper-validator-identifier@npm:^7.19.1": + version: 7.19.1 + resolution: "@babel/helper-validator-identifier@npm:7.19.1" + checksum: f978ecfea840f65b64ab9e17fac380625a45f4fe1361eeb29867fcfd1c9eaa72abd7023f2f40ac3168587d7e5153660d16cfccb352a557be2efd347a051b4b20 + languageName: node + linkType: hard + +"@babel/helper-validator-option@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/helper-validator-option@npm:7.18.6" + checksum: 7a1452725b87e6b0d26e8a981ad1e19a24d3bb8b17fb25d1254d6d1f3f2f2efd675135417d44f704ea4dd88f854e7a0a31967322dcb3e06fa80fc4fec71853a5 + languageName: node + linkType: hard + +"@babel/helpers@npm:^7.20.7": + version: 7.20.13 + resolution: "@babel/helpers@npm:7.20.13" + dependencies: + "@babel/template": ^7.20.7 + "@babel/traverse": ^7.20.13 + "@babel/types": ^7.20.7 + checksum: 63269ec5bbc1f1fc4ccb320152c2d37bcebbc2b812b8c6bba6361e7f91900214f8e8300c08505e7f03c2320ed56e8b08ad77c756f3964d2bab36b705e9fad390 + languageName: node + linkType: hard + +"@babel/highlight@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/highlight@npm:7.18.6" + dependencies: + "@babel/helper-validator-identifier": ^7.18.6 + chalk: ^2.0.0 + js-tokens: ^4.0.0 + checksum: a6a6928d25099ef04c337fcbb829fab8059bb67d31ac37212efd611bdbe247d0e71a5096c4524272cb56399f40251fac57c025e42d3bc924db0183a6435a60ac + languageName: node + linkType: hard + +"@babel/parser@npm:^7.20.13, @babel/parser@npm:^7.20.7": + version: 7.20.15 + resolution: "@babel/parser@npm:7.20.15" + bin: + parser: ./bin/babel-parser.js + checksum: 6bea1cedd1c783451984e3c9156052b88f194345ffbfac91e739cbd0d2a7ecb4b46fb027afa4b655d15eed4d0743105e960d93eb3ccc067e24fa2b39e8643861 + languageName: node + linkType: hard + +"@babel/plugin-transform-react-jsx-self@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/plugin-transform-react-jsx-self@npm:7.18.6" + dependencies: + "@babel/helper-plugin-utils": ^7.18.6 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3fb17ae87eb264f77c5d1b30f4687f863f849bf4e8892159aee8e6bd069ff66d909f378dffdb7e6e157f9424cfbfe7c48e884aceac39e33f6a8abbdb04f83303 + languageName: node + linkType: hard + +"@babel/plugin-transform-react-jsx-source@npm:^7.19.6": + version: 7.19.6 + resolution: "@babel/plugin-transform-react-jsx-source@npm:7.19.6" + dependencies: + "@babel/helper-plugin-utils": ^7.19.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: f2e7304b9d789fdac73f21319fcae76c8cdd8e76efce34e21f67828c1bcbd3fe7ce386ca71a43b9e928365155a3f7fe6551005f19ef3fe8cba7f75f17307d2c8 + languageName: node + linkType: hard + +"@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.12.13": + version: 7.21.0 + resolution: "@babel/runtime@npm:7.21.0" + dependencies: + regenerator-runtime: ^0.13.11 + checksum: 8fc28acf3b353390a8188a63d443719847b24b66028fdc8bb301c08e2ee013b52aaeb9d0e9783fa5dcd72bb3c0172fb647419db32392101001738356bdc1f4ab + languageName: node + linkType: hard + +"@babel/template@npm:^7.18.10, @babel/template@npm:^7.20.7": + version: 7.20.7 + resolution: "@babel/template@npm:7.20.7" + dependencies: + "@babel/code-frame": ^7.18.6 + "@babel/parser": ^7.20.7 + "@babel/types": ^7.20.7 + checksum: 1c6dcf9ac92769e6ab5e3d9048975537d26ab00b869646462ab4583d45e419c01db5144715ec0d70548835a3098c5d5416148c4a0b996a95e8e0b9dc8d042dd3 + languageName: node + linkType: hard + +"@babel/traverse@npm:^7.20.10, @babel/traverse@npm:^7.20.12, @babel/traverse@npm:^7.20.13": + version: 7.20.13 + resolution: "@babel/traverse@npm:7.20.13" + dependencies: + "@babel/code-frame": ^7.18.6 + "@babel/generator": ^7.20.7 + "@babel/helper-environment-visitor": ^7.18.9 + "@babel/helper-function-name": ^7.19.0 + "@babel/helper-hoist-variables": ^7.18.6 + "@babel/helper-split-export-declaration": ^7.18.6 + "@babel/parser": ^7.20.13 + "@babel/types": ^7.20.7 + debug: ^4.1.0 + globals: ^11.1.0 + checksum: c28c0dfedac0e6298122495eaeeb53016d307088c0cc7bbb4e6f1196bb3670fb771b618be7a5ef2ef5bb17df1bb8f3cff6475380cdcab2d2d57fbe62cabe79e8 + languageName: node + linkType: hard + +"@babel/types@npm:^7.18.6, @babel/types@npm:^7.19.0, @babel/types@npm:^7.20.2, @babel/types@npm:^7.20.7, @babel/types@npm:^7.8.3": + version: 7.20.7 + resolution: "@babel/types@npm:7.20.7" + dependencies: + "@babel/helper-string-parser": ^7.19.4 + "@babel/helper-validator-identifier": ^7.19.1 + to-fast-properties: ^2.0.0 + checksum: df0061f306bd95389604075ba5a88e984a801635c70c77b3b6ae8ab44675064b9ef4088c6c78dbf786a28efc662ad37f9c09f8658ba44c12cb8dd6f450a8bde7 + languageName: node + linkType: hard + +"@esbuild/android-arm64@npm:0.16.17": + version: 0.16.17 + resolution: "@esbuild/android-arm64@npm:0.16.17" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/android-arm@npm:0.16.17": + version: 0.16.17 + resolution: "@esbuild/android-arm@npm:0.16.17" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@esbuild/android-x64@npm:0.16.17": + version: 0.16.17 + resolution: "@esbuild/android-x64@npm:0.16.17" + conditions: os=android & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/darwin-arm64@npm:0.16.17": + version: 0.16.17 + resolution: "@esbuild/darwin-arm64@npm:0.16.17" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/darwin-x64@npm:0.16.17": + version: 0.16.17 + resolution: "@esbuild/darwin-x64@npm:0.16.17" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/freebsd-arm64@npm:0.16.17": + version: 0.16.17 + resolution: "@esbuild/freebsd-arm64@npm:0.16.17" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/freebsd-x64@npm:0.16.17": + version: 0.16.17 + resolution: "@esbuild/freebsd-x64@npm:0.16.17" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/linux-arm64@npm:0.16.17": + version: 0.16.17 + resolution: "@esbuild/linux-arm64@npm:0.16.17" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/linux-arm@npm:0.16.17": + version: 0.16.17 + resolution: "@esbuild/linux-arm@npm:0.16.17" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@esbuild/linux-ia32@npm:0.16.17": + version: 0.16.17 + resolution: "@esbuild/linux-ia32@npm:0.16.17" + conditions: os=linux & cpu=ia32 + languageName: node + linkType: hard + +"@esbuild/linux-loong64@npm:0.16.17": + version: 0.16.17 + resolution: "@esbuild/linux-loong64@npm:0.16.17" + conditions: os=linux & cpu=loong64 + languageName: node + linkType: hard + +"@esbuild/linux-mips64el@npm:0.16.17": + version: 0.16.17 + resolution: "@esbuild/linux-mips64el@npm:0.16.17" + conditions: os=linux & cpu=mips64el + languageName: node + linkType: hard + +"@esbuild/linux-ppc64@npm:0.16.17": + version: 0.16.17 + resolution: "@esbuild/linux-ppc64@npm:0.16.17" + conditions: os=linux & cpu=ppc64 + languageName: node + linkType: hard + +"@esbuild/linux-riscv64@npm:0.16.17": + version: 0.16.17 + resolution: "@esbuild/linux-riscv64@npm:0.16.17" + conditions: os=linux & cpu=riscv64 + languageName: node + linkType: hard + +"@esbuild/linux-s390x@npm:0.16.17": + version: 0.16.17 + resolution: "@esbuild/linux-s390x@npm:0.16.17" + conditions: os=linux & cpu=s390x + languageName: node + linkType: hard + +"@esbuild/linux-x64@npm:0.16.17": + version: 0.16.17 + resolution: "@esbuild/linux-x64@npm:0.16.17" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/netbsd-x64@npm:0.16.17": + version: 0.16.17 + resolution: "@esbuild/netbsd-x64@npm:0.16.17" + conditions: os=netbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/openbsd-x64@npm:0.16.17": + version: 0.16.17 + resolution: "@esbuild/openbsd-x64@npm:0.16.17" + conditions: os=openbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/sunos-x64@npm:0.16.17": + version: 0.16.17 + resolution: "@esbuild/sunos-x64@npm:0.16.17" + conditions: os=sunos & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/win32-arm64@npm:0.16.17": + version: 0.16.17 + resolution: "@esbuild/win32-arm64@npm:0.16.17" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/win32-ia32@npm:0.16.17": + version: 0.16.17 + resolution: "@esbuild/win32-ia32@npm:0.16.17" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@esbuild/win32-x64@npm:0.16.17": + version: 0.16.17 + resolution: "@esbuild/win32-x64@npm:0.16.17" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@gar/promisify@npm:^1.1.3": + version: 1.1.3 + resolution: "@gar/promisify@npm:1.1.3" + checksum: 0b3c9958d3cd17f4add3574975e3115ae05dc7f1298a60810414b16f6f558c137b5fb3cd3905df380bacfd955ec13f67c1e6710cbb5c246a7e8d65a8289b2bff + languageName: node + linkType: hard + +"@graphiql/plugin-explorer@npm:^0.1.14": + version: 0.1.14 + resolution: "@graphiql/plugin-explorer@npm:0.1.14" + dependencies: + "@graphiql/react": ^0.17.0 + graphiql-explorer: ^0.9.0 + peerDependencies: + graphql: ^15.5.0 || ^16.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + checksum: 8c8308b4a5a14437bce5cb882955185049e7bcc2870146b8309f3fb8cbe5c70fbf6f8f1b60a796e326ba989f0b3a19f26d8df46a2f4c89954fafa3e2919354ea + languageName: node + linkType: hard + +"@graphiql/react@npm:^0.17.0": + version: 0.17.0 + resolution: "@graphiql/react@npm:0.17.0" + dependencies: + "@graphiql/toolkit": ^0.8.2 + "@reach/combobox": ^0.17.0 + "@reach/dialog": ^0.17.0 + "@reach/listbox": ^0.17.0 + "@reach/menu-button": ^0.17.0 + "@reach/tooltip": ^0.17.0 + "@reach/visually-hidden": ^0.17.0 + clsx: ^1.2.1 + codemirror: ^5.65.3 + codemirror-graphql: ^2.0.4 + copy-to-clipboard: ^3.2.0 + graphql-language-service: ^5.1.2 + markdown-it: ^12.2.0 + set-value: ^4.1.0 + peerDependencies: + graphql: ^15.5.0 || ^16.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + checksum: 0c3f4c6a0dfe762aaba236a2402a1a8436912772e82a3518b00ed04745c4f78199a90e041f7d18a09ab0f66ce6f9675ba966e33a5c6bc9c04bac2e3549180c09 + languageName: node + linkType: hard + +"@graphiql/toolkit@npm:^0.8.2": + version: 0.8.2 + resolution: "@graphiql/toolkit@npm:0.8.2" + dependencies: + "@n1ru4l/push-pull-async-iterable-iterator": ^3.1.0 + meros: ^1.1.4 + peerDependencies: + graphql: ^15.5.0 || ^16.0.0 + graphql-ws: ">= 4.5.0" + peerDependenciesMeta: + graphql-ws: + optional: true + checksum: c07bcf27356da73dc99cb8eb4372e75b0ea15cd98b82d46ed221b390172aecfefaf3cb3773425fd8e8ca067540752440a55bc46eaa92311e5d16d270d5b8f1da + languageName: node + linkType: hard + +"@graphql-typed-document-node/core@npm:^3.1.1": + version: 3.1.1 + resolution: "@graphql-typed-document-node/core@npm:3.1.1" + 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 + checksum: c186e5adceb0dfdaa770856d2f17c831a474f5927d79f984326ecb3d8680ba3c1ee2314f7def1d863692cd9cbe4dffc8bb52fc74ee0aa9b31e9491f24ef59f90 + languageName: node + linkType: hard + +"@headlessui/react@npm:^1.7.13": + version: 1.7.13 + resolution: "@headlessui/react@npm:1.7.13" + dependencies: + client-only: ^0.0.1 + peerDependencies: + react: ^16 || ^17 || ^18 + react-dom: ^16 || ^17 || ^18 + checksum: 2bc29abe4a087c9c4ff0275d5a24846071fda6e3bc731ae843e113a35276f717a353547dd7b4b9b23264ce2ed3bbba55d9b02a8c85d8e001846e9fd9b1022b73 + languageName: node + linkType: hard + +"@heroicons/react@npm:^2.0.16": + version: 2.0.16 + resolution: "@heroicons/react@npm:2.0.16" + peerDependencies: + react: ">= 16" + checksum: daed283947a4b2a5d8e15d1431ce2feaa7ffc36b116dd26471769cd030249046c212382f0ac50ad6cf2724b912c93e78fc64d66f4e0ec3ffbe30b23237fe65a9 + languageName: node + linkType: hard + +"@jridgewell/gen-mapping@npm:^0.1.0": + version: 0.1.1 + resolution: "@jridgewell/gen-mapping@npm:0.1.1" + dependencies: + "@jridgewell/set-array": ^1.0.0 + "@jridgewell/sourcemap-codec": ^1.4.10 + checksum: 3d784d87aee604bc4d48d3d9e547e0466d9f4a432cd9b3a4f3e55d104313bf3945e7e970cd5fa767bc145df11f1d568a01ab6659696be41f0ed2a817f3b583a3 + languageName: node + linkType: hard + +"@jridgewell/gen-mapping@npm:^0.3.2": + version: 0.3.2 + resolution: "@jridgewell/gen-mapping@npm:0.3.2" + dependencies: + "@jridgewell/set-array": ^1.0.1 + "@jridgewell/sourcemap-codec": ^1.4.10 + "@jridgewell/trace-mapping": ^0.3.9 + checksum: 82685c8735c63fe388badee45e2970a6bc83eed1c84d46d8652863bafeca22a6c6cc15812f5999a4535366f4668ccc9ba6d5c67dfb72e846fa8a063806f10afd + languageName: node + linkType: hard + +"@jridgewell/resolve-uri@npm:3.1.0": + version: 3.1.0 + resolution: "@jridgewell/resolve-uri@npm:3.1.0" + checksum: 78055e2526108331126366572045355051a930f017d1904a4f753d3f4acee8d92a14854948095626f6163cffc24ea4e3efa30637417bb866b84743dec7ef6fd9 + languageName: node + linkType: hard + +"@jridgewell/set-array@npm:^1.0.0, @jridgewell/set-array@npm:^1.0.1": + version: 1.1.2 + resolution: "@jridgewell/set-array@npm:1.1.2" + checksum: bc7ab4c4c00470de4e7562ecac3c0c84f53e7ee8a711e546d67c47da7febe7c45cd67d4d84ee3c9b2c05ae8e872656cdded8a707a283d30bd54fbc65aef821ab + languageName: node + linkType: hard + +"@jridgewell/sourcemap-codec@npm:1.4.14, @jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.13": + version: 1.4.14 + resolution: "@jridgewell/sourcemap-codec@npm:1.4.14" + checksum: 3fbaff1387c1338b097eeb6ff92890d7838f7de0dde259e4983763b44540bfd5ca6a1f7644dc8ad003a57f7e80670d5b96a8402f1386ba9aee074743ae9bad51 + languageName: node + linkType: hard + +"@jridgewell/trace-mapping@npm:^0.3.9": + version: 0.3.17 + resolution: "@jridgewell/trace-mapping@npm:0.3.17" + dependencies: + "@jridgewell/resolve-uri": 3.1.0 + "@jridgewell/sourcemap-codec": 1.4.14 + checksum: 40b65fcbdd7cc5a60dbe0a2780b6670ebbc1a31c96e43833e0bf2fee0773b1ba5137ab7d137b28fc3f215567bd5f9d06b7b30634ba15636c13bd8a863c20ae9a + languageName: node + linkType: hard + +"@n1ru4l/push-pull-async-iterable-iterator@npm:^3.1.0": + version: 3.2.0 + resolution: "@n1ru4l/push-pull-async-iterable-iterator@npm:3.2.0" + checksum: c1fbfa49f631a4b95899b0d6c13ab7310e849bbfbcbdb4fabbcc8faa2d9e36fffdd05740746814641220235cfaac7440ee54c313edd32b4c1af37887d0046175 + languageName: node + linkType: hard + +"@nodelib/fs.scandir@npm:2.1.5": + version: 2.1.5 + resolution: "@nodelib/fs.scandir@npm:2.1.5" + dependencies: + "@nodelib/fs.stat": 2.0.5 + run-parallel: ^1.1.9 + checksum: 732c3b6d1b1e967440e65f284bd06e5821fedf10a1bea9ed2bb75956ea1f30e08c44d3def9d6a230666574edbaf136f8cfd319c14fd1f87c66e6a44449afb2eb + languageName: node + linkType: hard + +"@nodelib/fs.stat@npm:2.0.5, @nodelib/fs.stat@npm:^2.0.2": + version: 2.0.5 + resolution: "@nodelib/fs.stat@npm:2.0.5" + checksum: 88dafe5e3e29a388b07264680dc996c17f4bda48d163a9d4f5c1112979f0ce8ec72aa7116122c350b4e7976bc5566dc3ddb579be1ceaacc727872eb4ed93926d + languageName: node + linkType: hard + +"@nodelib/fs.walk@npm:^1.2.3": + version: 1.2.8 + resolution: "@nodelib/fs.walk@npm:1.2.8" + dependencies: + "@nodelib/fs.scandir": 2.1.5 + fastq: ^1.6.0 + checksum: db9de047c3bb9b51f9335a7bb46f4fcfb6829fb628318c12115fbaf7d369bfce71c15b103d1fc3b464812d936220ee9bc1c8f762d032c9f6be9acc99249095b1 + languageName: node + linkType: hard + +"@npmcli/fs@npm:^2.1.0": + version: 2.1.2 + resolution: "@npmcli/fs@npm:2.1.2" + dependencies: + "@gar/promisify": ^1.1.3 + semver: ^7.3.5 + checksum: c50d087733d0d8df23be24f700f104b19922a28677aa66fdbe06ff6af6431cc4a5bb1e27683cbc661a5dafa9bafdc603e6a0378121506dfcd394b2b6dd76a187 + languageName: node + linkType: hard + +"@npmcli/move-file@npm:^2.0.0": + version: 2.0.1 + resolution: "@npmcli/move-file@npm:2.0.1" + dependencies: + mkdirp: ^1.0.4 + rimraf: ^3.0.2 + checksum: 11b2151e6d1de6f6eb23128de5aa8a429fd9097d839a5190cb77aa47a6b627022c42d50fa7c47a00f1c9f8f0c1560092b09b061855d293fa0741a2a94cfb174d + languageName: node + linkType: hard + +"@reach/auto-id@npm:0.17.0": + version: 0.17.0 + resolution: "@reach/auto-id@npm:0.17.0" + dependencies: + "@reach/utils": 0.17.0 + tslib: ^2.3.0 + peerDependencies: + react: ^16.8.0 || 17.x + react-dom: ^16.8.0 || 17.x + checksum: 1aae91a4df4a92b166efcbc61bdcc2339589790773e9101d1417ed7240d29dbc8998bfccf4680036e4bcbc094d52bf8db8460f92ecadd8fc5af98a0c2ccd029d + languageName: node + linkType: hard + +"@reach/combobox@npm:^0.17.0": + version: 0.17.0 + resolution: "@reach/combobox@npm:0.17.0" + dependencies: + "@reach/auto-id": 0.17.0 + "@reach/descendants": 0.17.0 + "@reach/popover": 0.17.0 + "@reach/portal": 0.17.0 + "@reach/utils": 0.17.0 + prop-types: ^15.7.2 + tiny-warning: ^1.0.3 + tslib: ^2.3.0 + peerDependencies: + react: ^16.8.0 || 17.x + react-dom: ^16.8.0 || 17.x + checksum: 75a1153da7fea901fa588c69d97cc454cdc83a0b663af5cc7c3440d06516edef917cc3880664a279383011d5c18ec3a7741262dfac74754670c1015ea45a2f23 + languageName: node + linkType: hard + +"@reach/descendants@npm:0.17.0": + version: 0.17.0 + resolution: "@reach/descendants@npm:0.17.0" + dependencies: + "@reach/utils": 0.17.0 + tslib: ^2.3.0 + peerDependencies: + react: ^16.8.0 || 17.x + react-dom: ^16.8.0 || 17.x + checksum: b0975d9bd1e715e19dc1433d62b56f398de870fb41a6cfd1f78c8299fe85f11750eb2978cd258e91c1dc9a807c2d0289f64fb3a224d398fa0668a72392493535 + languageName: node + linkType: hard + +"@reach/dialog@npm:^0.17.0": + version: 0.17.0 + resolution: "@reach/dialog@npm:0.17.0" + dependencies: + "@reach/portal": 0.17.0 + "@reach/utils": 0.17.0 + prop-types: ^15.7.2 + react-focus-lock: ^2.5.2 + react-remove-scroll: ^2.4.3 + tslib: ^2.3.0 + peerDependencies: + react: ^16.8.0 || 17.x + react-dom: ^16.8.0 || 17.x + checksum: d481d4d52a1f852f81bb93ff598cb53111c42325bf25f4fba039f4aa92aaa10833b0b007ec5d645bfffbecbb0e69ed3505b1601d261c3bd8b666eca0006b7435 + languageName: node + linkType: hard + +"@reach/dropdown@npm:0.17.0": + version: 0.17.0 + resolution: "@reach/dropdown@npm:0.17.0" + dependencies: + "@reach/auto-id": 0.17.0 + "@reach/descendants": 0.17.0 + "@reach/popover": 0.17.0 + "@reach/utils": 0.17.0 + tslib: ^2.3.0 + peerDependencies: + react: ^16.8.0 || 17.x + react-dom: ^16.8.0 || 17.x + checksum: 9db6603d6bd6b4e0fdc8184f7b2de97e1334199695b1523807121a83b2a25ebd8d7005509dd928be8e60ed1a90162e2e99f4f95d780f849baf085e2e9a320c42 + languageName: node + linkType: hard + +"@reach/listbox@npm:^0.17.0": + version: 0.17.0 + resolution: "@reach/listbox@npm:0.17.0" + dependencies: + "@reach/auto-id": 0.17.0 + "@reach/descendants": 0.17.0 + "@reach/machine": 0.17.0 + "@reach/popover": 0.17.0 + "@reach/utils": 0.17.0 + prop-types: ^15.7.2 + peerDependencies: + react: ^16.8.0 || 17.x + react-dom: ^16.8.0 || 17.x + checksum: da617d9ddd6d3c7446fa99ee32ac977e76ca90b3e8983d759a9145956137a5258267965b8b05740cda6b6be6a59ae787eb2893a1f9f09fe3d60762f1060c8b07 + languageName: node + linkType: hard + +"@reach/machine@npm:0.17.0": + version: 0.17.0 + resolution: "@reach/machine@npm:0.17.0" + dependencies: + "@reach/utils": 0.17.0 + "@xstate/fsm": 1.4.0 + tslib: ^2.3.0 + peerDependencies: + react: ^16.8.0 || 17.x + react-dom: ^16.8.0 || 17.x + checksum: 943df500567ec8bcb668c24cf554aac22c525ca13f8805119182f6e8df12c3651688153d1beab5543304ca0662b336a0aaaf5feb06b624364fe976e8f032f798 + languageName: node + linkType: hard + +"@reach/menu-button@npm:^0.17.0": + version: 0.17.0 + resolution: "@reach/menu-button@npm:0.17.0" + dependencies: + "@reach/dropdown": 0.17.0 + "@reach/popover": 0.17.0 + "@reach/utils": 0.17.0 + prop-types: ^15.7.2 + tiny-warning: ^1.0.3 + tslib: ^2.3.0 + peerDependencies: + react: ^16.8.0 || 17.x + react-dom: ^16.8.0 || 17.x + react-is: ^16.8.0 || 17.x + checksum: 359cca3bb9d18af3190c1e886d82efc406b93d00dadd62d243d8defe0db87853ba99acb1a3b5206636397c08383cb857719722473392c8525a6f59d6cc79b275 + languageName: node + linkType: hard + +"@reach/observe-rect@npm:1.2.0": + version: 1.2.0 + resolution: "@reach/observe-rect@npm:1.2.0" + checksum: e2d2b399381e466705bcf7535ba1ed29866792d7aff386a2a41ca1f5ae9d8920f21c769d67b82b38045cd14e1c2aa29dbf6f37a77f323d16d01378eb02ad2925 + languageName: node + linkType: hard + +"@reach/popover@npm:0.17.0": + version: 0.17.0 + resolution: "@reach/popover@npm:0.17.0" + dependencies: + "@reach/portal": 0.17.0 + "@reach/rect": 0.17.0 + "@reach/utils": 0.17.0 + tabbable: ^4.0.0 + tslib: ^2.3.0 + peerDependencies: + react: ^16.8.0 || 17.x + react-dom: ^16.8.0 || 17.x + checksum: 77d5861af3f4bd793b026526218896add30cc2faeaec73b9816ebbdb7938b9227a8afdb1e7ba758f77be1301f6d9f9483a08cae2ac4e4a971652547c02ad3d39 + languageName: node + linkType: hard + +"@reach/portal@npm:0.17.0": + version: 0.17.0 + resolution: "@reach/portal@npm:0.17.0" + dependencies: + "@reach/utils": 0.17.0 + tiny-warning: ^1.0.3 + tslib: ^2.3.0 + peerDependencies: + react: ^16.8.0 || 17.x + react-dom: ^16.8.0 || 17.x + checksum: 796bc0c6a2ff1dbfa80e3ba14506c16dd5e846500ef61cd288fe3e85b6c03e07da9a1e5084f66a8c04c6463b02b61cc82573b6d3d01328ee637a7420b4c55ef2 + languageName: node + linkType: hard + +"@reach/rect@npm:0.17.0": + version: 0.17.0 + resolution: "@reach/rect@npm:0.17.0" + dependencies: + "@reach/observe-rect": 1.2.0 + "@reach/utils": 0.17.0 + prop-types: ^15.7.2 + tiny-warning: ^1.0.3 + tslib: ^2.3.0 + peerDependencies: + react: ^16.8.0 || 17.x + react-dom: ^16.8.0 || 17.x + checksum: be8501f4f3dbd52b49ad89bb8a0455e06355959612e9d4d3c27b9c99200e290043bf1b9d00669b1a5587405efeb873c5acb5dc6aa43291c51dc3a556a93d2558 + languageName: node + linkType: hard + +"@reach/tooltip@npm:^0.17.0": + version: 0.17.0 + resolution: "@reach/tooltip@npm:0.17.0" + dependencies: + "@reach/auto-id": 0.17.0 + "@reach/portal": 0.17.0 + "@reach/rect": 0.17.0 + "@reach/utils": 0.17.0 + "@reach/visually-hidden": 0.17.0 + prop-types: ^15.7.2 + tiny-warning: ^1.0.3 + tslib: ^2.3.0 + peerDependencies: + react: ^16.8.0 || 17.x + react-dom: ^16.8.0 || 17.x + checksum: a6e0cb59a584ed8fbb3f00be0fc4bfcbb96a177c13db3ac274bfcd92323afa3ea1aed45236c316d577b8e588954660ae1a5026cf7ca71285336640cf404bcc21 + languageName: node + linkType: hard + +"@reach/utils@npm:0.17.0": + version: 0.17.0 + resolution: "@reach/utils@npm:0.17.0" + dependencies: + tiny-warning: ^1.0.3 + tslib: ^2.3.0 + peerDependencies: + react: ^16.8.0 || 17.x + react-dom: ^16.8.0 || 17.x + checksum: 80e2ebaba02d561ef2cc9d295e5bca5904a0fd7641f3b90050eb49a083e1b312547ce6a7b399a2f67b48afaaf8cde946d27c37b438939f87dda8fb9e4bbb70d4 + languageName: node + linkType: hard + +"@reach/visually-hidden@npm:0.17.0, @reach/visually-hidden@npm:^0.17.0": + version: 0.17.0 + resolution: "@reach/visually-hidden@npm:0.17.0" + dependencies: + prop-types: ^15.7.2 + tslib: ^2.3.0 + peerDependencies: + react: ^16.8.0 || 17.x + react-dom: ^16.8.0 || 17.x + checksum: 5610c1a32181d23f511280d91da67501a86be6dff9c455c0213e5b94cfd672d605991256a70a49af2b14fd80a592ceedf2b477ea8dc645bd83e5e1e8915b0b74 + languageName: node + linkType: hard + +"@remix-run/router@npm:1.3.2": + version: 1.3.2 + resolution: "@remix-run/router@npm:1.3.2" + checksum: 0c2113e9dfd327391c498d8fe5dae5fba801099e87dc6f2df1421a8722c7c3f82df809950efdcf9258b4886237393b59b4c31d229585a68d495379c09a58cce7 + languageName: node + linkType: hard + +"@tailwindcss/forms@npm:^0.5.3": + version: 0.5.3 + resolution: "@tailwindcss/forms@npm:0.5.3" + dependencies: + mini-svg-data-uri: ^1.2.3 + peerDependencies: + tailwindcss: ">=3.0.0 || >= 3.0.0-alpha.1" + checksum: 4881c1d5a9aeaa2eea453dd60a5b7c6671a11f0d74f6075d052a3b4f2d8c7e1f1a42f74fe52421da4c13b19018ab883199f528cd41e6fdb249ed638d3f04cd94 + languageName: node + linkType: hard + +"@tootallnate/once@npm:2": + version: 2.0.0 + resolution: "@tootallnate/once@npm:2.0.0" + checksum: 073bfa548026b1ebaf1659eb8961e526be22fa77139b10d60e712f46d2f0f05f4e6c8bec62a087d41088ee9e29faa7f54838568e475ab2f776171003c3920858 + languageName: node + linkType: hard + +"@types/prop-types@npm:*": + version: 15.7.5 + resolution: "@types/prop-types@npm:15.7.5" + checksum: 648aae41423821c61c83823ae36116c8d0f68258f8b609bdbc257752dcd616438d6343d554262aa9a7edaee5a19aca2e028a74fa2d0f40fffaf2816bc7056857 + languageName: node + linkType: hard + +"@types/react-dom@npm:^18.0.10": + version: 18.0.11 + resolution: "@types/react-dom@npm:18.0.11" + dependencies: + "@types/react": "*" + checksum: 8bf1e3f710221a937613df4d192f3b9e5a30e5c3103cac52c5210fb56b79f7a8cc66137d3bc5c9d92d375165a97fae53284724191bc01cb9898564fa02595569 + languageName: node + linkType: hard + +"@types/react@npm:*, @types/react@npm:^18.0.27": + version: 18.0.28 + resolution: "@types/react@npm:18.0.28" + dependencies: + "@types/prop-types": "*" + "@types/scheduler": "*" + csstype: ^3.0.2 + checksum: 6d94ec25c18b39aac687814b3a717e767f2fba3289c3b682caa4d0182160a72a9816a612b5a207c8ea73f1d288019f56f3d08742ac7cfff91719abb77da9d11a + languageName: node + linkType: hard + +"@types/scheduler@npm:*": + version: 0.16.2 + resolution: "@types/scheduler@npm:0.16.2" + checksum: 89a3a922f03609b61c270d534226791edeedcb1b06f0225d5543ac17830254624ef9d8a97ad05418e4ce549dd545bddf1ff28cb90658ff10721ad14556ca68a5 + languageName: node + linkType: hard + +"@vitejs/plugin-react@npm:^3.1.0": + version: 3.1.0 + resolution: "@vitejs/plugin-react@npm:3.1.0" + dependencies: + "@babel/core": ^7.20.12 + "@babel/plugin-transform-react-jsx-self": ^7.18.6 + "@babel/plugin-transform-react-jsx-source": ^7.19.6 + magic-string: ^0.27.0 + react-refresh: ^0.14.0 + peerDependencies: + vite: ^4.1.0-beta.0 + checksum: 259a92a303cd736240dc0d3282d1261339e7bbcf51c5b326868c910b35d4bd22a360334b2dafa5bfc7f3e935f2cd0fdc7ccb6ec6b519b81017c4c4812cd05290 + languageName: node + linkType: hard + +"@wry/context@npm:^0.7.0": + version: 0.7.0 + resolution: "@wry/context@npm:0.7.0" + dependencies: + tslib: ^2.3.0 + checksum: bc9c7cc0e9c2ee17b1f90f99fdeace158937bb56918c68a85fc21637956469948c0868ad2484350ec4eaa4257b8a534876f7b6b059f446d17a91eebc2ca6431e + languageName: node + linkType: hard + +"@wry/equality@npm:^0.5.0": + version: 0.5.3 + resolution: "@wry/equality@npm:0.5.3" + dependencies: + tslib: ^2.3.0 + checksum: 79c5a05a6be5e38227e1147b24f0d8bfc37612bbd28bdbac8625353e6f4ca3873a1c0ee3ffbae5d6cbce0df6421099e464825cc1a3ae10bb89a1578e6e90f93c + languageName: node + linkType: hard + +"@wry/trie@npm:^0.3.0": + version: 0.3.2 + resolution: "@wry/trie@npm:0.3.2" + dependencies: + tslib: ^2.3.0 + checksum: c27a46592c4c418ad9de596b4f53bcac748585db8b4deab262bf5ab71ec15b9ea09d522e765c4fa05e831176cea1b94220151315b4c542abee40541a26aaf7c0 + languageName: node + linkType: hard + +"@xstate/fsm@npm:1.4.0": + version: 1.4.0 + resolution: "@xstate/fsm@npm:1.4.0" + checksum: b842ed2e771b4c583573bc0fe1f4c047ce46e8ea4f2ead37e486af29c709df13b5fa9a81e503433fedcd7be377810a36d483ead9f7461540a153512848dc522d + languageName: node + linkType: hard + +"abbrev@npm:^1.0.0": + version: 1.1.1 + resolution: "abbrev@npm:1.1.1" + checksum: 3f762677702acb24f65e813070e306c61fafe25d4b2583f9dfc935131f774863f3addd5741572ed576bd69cabe473c5af18e1e108b829cb7b6b4747884f726e6 + languageName: node + linkType: hard + +"acorn-node@npm:^1.8.2": + version: 1.8.2 + resolution: "acorn-node@npm:1.8.2" + dependencies: + acorn: ^7.0.0 + acorn-walk: ^7.0.0 + xtend: ^4.0.2 + checksum: e9a20dae515701cd3d03812929a7f74c4363fdcb4c74d762f7c43566dc87175ad817aa281ba11c88dabf5e8d35aec590073393c02a04bbdcfda58c2f320d08ac + languageName: node + linkType: hard + +"acorn-walk@npm:^7.0.0": + version: 7.2.0 + resolution: "acorn-walk@npm:7.2.0" + checksum: ff99f3406ed8826f7d6ef6ac76b7608f099d45a1ff53229fa267125da1924188dbacf02e7903dfcfd2ae4af46f7be8847dc7d564c73c4e230dfb69c8ea8e6b4c + languageName: node + linkType: hard + +"acorn@npm:^7.0.0": + version: 7.4.1 + resolution: "acorn@npm:7.4.1" + bin: + acorn: bin/acorn + checksum: bd0b2c2b0f334bbee48828ff897c12bd2eb5898d03bf556dcc8942022cec795ac5bb5b6b585e2de687db6231faf07e096b59a361231dd8c9344d5df5f7f0e526 + languageName: node + linkType: hard + +"agent-base@npm:6, agent-base@npm:^6.0.2": + version: 6.0.2 + resolution: "agent-base@npm:6.0.2" + dependencies: + debug: 4 + checksum: dc4f757e40b5f3e3d674bc9beb4f1048f4ee83af189bae39be99f57bf1f48dde166a8b0a5342a84b5944ee8e6ed1e5a9d801858f4ad44764e84957122fe46261 + languageName: node + linkType: hard + +"agentkeepalive@npm:^4.2.1": + version: 4.2.1 + resolution: "agentkeepalive@npm:4.2.1" + dependencies: + debug: ^4.1.0 + depd: ^1.1.2 + humanize-ms: ^1.2.1 + checksum: 259dafa84a9e1f9e277ac8b31995a7a4f4db36a1df1710e9d413d98c6c013ab81370ad585d92038045cc8657662e578b07fd60b312b212f59ad426b10e1d6dce + languageName: node + linkType: hard + +"aggregate-error@npm:^3.0.0": + version: 3.1.0 + resolution: "aggregate-error@npm:3.1.0" + dependencies: + clean-stack: ^2.0.0 + indent-string: ^4.0.0 + checksum: a42f67faa79e3e6687a4923050e7c9807db3848a037076f791d10e092677d65c1d2d863b7848560699f40fc0502c19f40963fb1cd1fb3d338a7423df8e45e039 + languageName: node + linkType: hard + +"ansi-regex@npm:^5.0.1": + version: 5.0.1 + resolution: "ansi-regex@npm:5.0.1" + checksum: 9a64bb8627b434ba9327b60c027742e5d17ac69277960d041898596271d992d4d52ba7267a63ca10232e29f6107fc8a835f6ce8d719b88c5f8493f8254813737 + languageName: node + linkType: hard + +"ansi-styles@npm:^3.2.1": + version: 3.2.1 + resolution: "ansi-styles@npm:3.2.1" + dependencies: + color-convert: ^1.9.0 + checksum: ece5a8ef069fcc5298f67e3f4771a663129abd174ea2dfa87923a2be2abf6cd367ef72ac87942da00ce85bd1d651d4cd8595aebdb1b385889b89b205860e977b + languageName: node + linkType: hard + +"anymatch@npm:~3.1.2": + version: 3.1.3 + resolution: "anymatch@npm:3.1.3" + dependencies: + normalize-path: ^3.0.0 + picomatch: ^2.0.4 + checksum: 57b06ae984bc32a0d22592c87384cd88fe4511b1dd7581497831c56d41939c8a001b28e7b853e1450f2bf61992dfcaa8ae2d0d161a0a90c4fb631ef07098fbac + languageName: node + linkType: hard + +"aproba@npm:^1.0.3 || ^2.0.0": + version: 2.0.0 + resolution: "aproba@npm:2.0.0" + checksum: d06e26384a8f6245d8c8896e138c0388824e259a329e0c9f196b4fa533c82502a6fd449586e3604950a0c42921832a458bb3aa0aa9f0ba449cfd4f50fd0d09b5 + languageName: node + linkType: hard + +"are-we-there-yet@npm:^3.0.0": + version: 3.0.1 + resolution: "are-we-there-yet@npm:3.0.1" + dependencies: + delegates: ^1.0.0 + readable-stream: ^3.6.0 + checksum: 8373f289ba42e4b5ec713bb585acdac14b5702c75f2a458dc985b9e4fa5762bc5b46b40a21b72418a3ed0cfb5e35bdc317ef1ae132f3035f633d581dd03168c3 + languageName: node + linkType: hard + +"arg@npm:^5.0.2": + version: 5.0.2 + resolution: "arg@npm:5.0.2" + checksum: ccaf86f4e05d342af6666c569f844bec426595c567d32a8289715087825c2ca7edd8a3d204e4d2fb2aa4602e09a57d0c13ea8c9eea75aac3dbb4af5514e6800e + languageName: node + linkType: hard + +"argparse@npm:^2.0.1": + version: 2.0.1 + resolution: "argparse@npm:2.0.1" + checksum: c5640c2d89045371c7cedd6a70212a04e360fd34d6edeae32f6952c63949e3525ea77dbec0289d8213a99bbaeab5abfa860b5c12cf88a2e6cf8106e90dd27a7e + languageName: node + linkType: hard + +"autoprefixer@npm:^10.4.13": + version: 10.4.13 + resolution: "autoprefixer@npm:10.4.13" + dependencies: + browserslist: ^4.21.4 + caniuse-lite: ^1.0.30001426 + fraction.js: ^4.2.0 + normalize-range: ^0.1.2 + picocolors: ^1.0.0 + postcss-value-parser: ^4.2.0 + peerDependencies: + postcss: ^8.1.0 + bin: + autoprefixer: bin/autoprefixer + checksum: 55ef1feb555516f68c740b3a0050d89b663c4a806a52ff23b184869ddf511b561fa56d66b2adb533bfef3798aee87b31132474582968d84fa59da133f837a230 + languageName: node + linkType: hard + +"balanced-match@npm:^1.0.0": + version: 1.0.2 + resolution: "balanced-match@npm:1.0.2" + checksum: 9308baf0a7e4838a82bbfd11e01b1cb0f0cf2893bc1676c27c2a8c0e70cbae1c59120c3268517a8ae7fb6376b4639ef81ca22582611dbee4ed28df945134aaee + languageName: node + linkType: hard + +"binary-extensions@npm:^2.0.0": + version: 2.2.0 + resolution: "binary-extensions@npm:2.2.0" + checksum: d73d8b897238a2d3ffa5f59c0241870043aa7471335e89ea5e1ff48edb7c2d0bb471517a3e4c5c3f4c043615caa2717b5f80a5e61e07503d51dc85cb848e665d + languageName: node + linkType: hard + +"brace-expansion@npm:^1.1.7": + version: 1.1.11 + resolution: "brace-expansion@npm:1.1.11" + dependencies: + balanced-match: ^1.0.0 + concat-map: 0.0.1 + checksum: 695a56cd058096a7cb71fb09d9d6a7070113c7be516699ed361317aca2ec169f618e28b8af352e02ab4233fb54eb0168460a40dc320bab0034b36ab59aaad668 + languageName: node + linkType: hard + +"brace-expansion@npm:^2.0.1": + version: 2.0.1 + resolution: "brace-expansion@npm:2.0.1" + dependencies: + balanced-match: ^1.0.0 + checksum: b358f2fe060e2d7a87aa015979ecea07f3c37d4018f8d6deb5bd4c229ad3a0384fe6029bb76cd8be63c81e516ee52d1a0673edbe2023d53a5191732ae3c3e49f + languageName: node + linkType: hard + +"braces@npm:^3.0.2, braces@npm:~3.0.2": + version: 3.0.2 + resolution: "braces@npm:3.0.2" + dependencies: + fill-range: ^7.0.1 + checksum: 321b4d675791479293264019156ca322163f02dc06e3c4cab33bb15cd43d80b51efef69b0930cfde3acd63d126ebca24cd0544fa6f261e093a0fb41ab9dda381 + languageName: node + linkType: hard + +"browserslist@npm:^4.21.3, browserslist@npm:^4.21.4": + version: 4.21.5 + resolution: "browserslist@npm:4.21.5" + dependencies: + caniuse-lite: ^1.0.30001449 + electron-to-chromium: ^1.4.284 + node-releases: ^2.0.8 + update-browserslist-db: ^1.0.10 + bin: + browserslist: cli.js + checksum: 903040d2c45b733e1177c288b4f146ff21d45e8a44ccc87d1d7fc2f6a8d021c7ee54b514fd7722529c282381969382a54bd2ab4263f5b6c8981a856b457ea162 + languageName: node + linkType: hard + +"cacache@npm:^16.1.0": + version: 16.1.3 + resolution: "cacache@npm:16.1.3" + dependencies: + "@npmcli/fs": ^2.1.0 + "@npmcli/move-file": ^2.0.0 + chownr: ^2.0.0 + fs-minipass: ^2.1.0 + glob: ^8.0.1 + infer-owner: ^1.0.4 + lru-cache: ^7.7.1 + minipass: ^3.1.6 + minipass-collect: ^1.0.2 + minipass-flush: ^1.0.5 + minipass-pipeline: ^1.2.4 + mkdirp: ^1.0.4 + p-map: ^4.0.0 + promise-inflight: ^1.0.1 + rimraf: ^3.0.2 + ssri: ^9.0.0 + tar: ^6.1.11 + unique-filename: ^2.0.0 + checksum: cdf6836e1c457d2a5616abcaf5d8240c0346b1f5bd6fdb8866b9d84b6dff0b54e973226dc11e0d099f35394213d24860d1989c8358d2a41b39eb912b3000e749 + languageName: node + linkType: hard + +"camelcase-css@npm:^2.0.1": + version: 2.0.1 + resolution: "camelcase-css@npm:2.0.1" + checksum: 1a1a3137e8a781e6cbeaeab75634c60ffd8e27850de410c162cce222ea331cd1ba5364e8fb21c95e5ca76f52ac34b81a090925ca00a87221355746d049c6e273 + languageName: node + linkType: hard + +"caniuse-lite@npm:^1.0.30001426, caniuse-lite@npm:^1.0.30001449": + version: 1.0.30001456 + resolution: "caniuse-lite@npm:1.0.30001456" + checksum: a40dbc996af9683eac5e4e74c1b713e6b4744a9a8780b0ee9d47a866fb8628565e5faaf3497064438f1e92a661a8f9570cc2ec722d7693339def7ea9f31dc84d + languageName: node + linkType: hard + +"chalk@npm:^2.0.0": + version: 2.4.2 + resolution: "chalk@npm:2.4.2" + dependencies: + ansi-styles: ^3.2.1 + escape-string-regexp: ^1.0.5 + supports-color: ^5.3.0 + checksum: e6543f02ec877732e3a2d1c3c3323ddb4d39fbab687c23f526e25bd4c6a9bf3b83a696e8c769d078e04e5754921648f7821b2a2acfd16c550435fd630026e073 + languageName: node + linkType: hard + +"chokidar@npm:^3.5.3": + version: 3.5.3 + resolution: "chokidar@npm:3.5.3" + dependencies: + anymatch: ~3.1.2 + braces: ~3.0.2 + fsevents: ~2.3.2 + glob-parent: ~5.1.2 + is-binary-path: ~2.1.0 + is-glob: ~4.0.1 + normalize-path: ~3.0.0 + readdirp: ~3.6.0 + dependenciesMeta: + fsevents: + optional: true + checksum: 1076953093e0707c882a92c66c0f56ba6187831aa51bb4de878c1fec59ae611a3bf02898f190efec8e77a086b8df61c2b2a3ea324642a0558bdf8ee6c5dc9ca1 + languageName: node + linkType: hard + +"chownr@npm:^2.0.0": + version: 2.0.0 + resolution: "chownr@npm:2.0.0" + checksum: 594754e1303672171cc04e50f6c398ae16128eb134a88f801bf5354fd96f205320f23536a045d9abd8b51024a149696e51231565891d4efdab8846021ecf88e6 + languageName: node + linkType: hard + +"clean-stack@npm:^2.0.0": + version: 2.2.0 + resolution: "clean-stack@npm:2.2.0" + checksum: 1f90262d5f6230a17e27d0c190b09d47ebe7efdd76a03b5a1127863f7b3c9aec4c3e6c8bb3a7bbf81d553d56a1fd35728f5a8ef4c63f867ac8d690109742a8c1 + languageName: node + linkType: hard + +"client-only@npm:^0.0.1": + version: 0.0.1 + resolution: "client-only@npm:0.0.1" + checksum: 9d6cfd0c19e1c96a434605added99dff48482152af791ec4172fb912a71cff9027ff174efd8cdb2160cc7f377543e0537ffc462d4f279bc4701de3f2a3c4b358 + languageName: node + linkType: hard + +"clsx@npm:^1.2.1": + version: 1.2.1 + resolution: "clsx@npm:1.2.1" + checksum: 34dead8bee24f5e96f6e7937d711978380647e936a22e76380290e35486afd8634966ce300fc4b74a32f3762c7d4c0303f442c3e259f4ce02374eb0c82834f27 + languageName: node + linkType: hard + +"codemirror-graphql@npm:^2.0.4": + version: 2.0.4 + resolution: "codemirror-graphql@npm:2.0.4" + dependencies: + graphql-language-service: 5.1.2 + peerDependencies: + "@codemirror/language": 6.0.0 + codemirror: ^5.65.3 + graphql: ^15.5.0 || ^16.0.0 + checksum: a46ad564fd25bd52d5bf58353445e592623df174217a2ad38bda9fa7b98aac0db4960f33fffaede5f611d54f7910ad10aeb8ddb90545c8215044f9f7dae8e7ea + languageName: node + linkType: hard + +"codemirror@npm:^5.65.3": + version: 5.65.12 + resolution: "codemirror@npm:5.65.12" + checksum: 6f0b8738db551adf5bdebeee02dbf25b2df4e585b07e232cf1b7d00b0413ad7e08d275c4e21fdb323d319574195169c1b2348219ce1736daf379875d8c448d7d + languageName: node + linkType: hard + +"color-convert@npm:^1.9.0": + version: 1.9.3 + resolution: "color-convert@npm:1.9.3" + dependencies: + color-name: 1.1.3 + checksum: 5ad3c534949a8c68fca8fbc6f09068f435f0ad290ab8b2f76841b9e6af7e0bb57b98cb05b0e19fe33f5d91e5a8611ad457e5f69e0a484caad1f7487fd0e8253c + languageName: node + linkType: hard + +"color-name@npm:1.1.3": + version: 1.1.3 + resolution: "color-name@npm:1.1.3" + checksum: 566a3d42cca25b9b3cd5528cd7754b8e89c0eb646b7f214e8e2eaddb69994ac5f0557d9c175eb5d8f0ad73531140d9c47525085ee752a91a2ab15ab459caf6d6 + languageName: node + linkType: hard + +"color-name@npm:^1.1.4": + version: 1.1.4 + resolution: "color-name@npm:1.1.4" + checksum: a1a3f914156960902f46f7f56bc62effc6c94e84b2cae157a526b1c1f74b677a47ec602bf68a61abfa2b42d15b7c5651c6dbe72a43af720bc588dff885b10f95 + languageName: node + linkType: hard + +"color-support@npm:^1.1.3": + version: 1.1.3 + resolution: "color-support@npm:1.1.3" + bin: + color-support: bin.js + checksum: 8ffeaa270a784dc382f62d9be0a98581db43e11eee301af14734a6d089bd456478b1a8b3e7db7ca7dc5b18a75f828f775c44074020b51c05fc00e6d0992b1cc6 + languageName: node + linkType: hard + +"concat-map@npm:0.0.1": + version: 0.0.1 + resolution: "concat-map@npm:0.0.1" + checksum: c996b1cfdf95b6c90fee4dae37e332c8b6eb7d106430c17d538034c0ad9a1630cb194d2ab37293b1bdd4d779494beee7786d586a50bd9376fd6f7bcc2bd4c98f + languageName: node + linkType: hard + +"console-control-strings@npm:^1.1.0": + version: 1.1.0 + resolution: "console-control-strings@npm:1.1.0" + checksum: 7ab51d30b52d461412cd467721bb82afe695da78fff8f29fe6f6b9cbaac9a2328e27a22a966014df9532100f6dd85370460be8130b9c677891ba36d96a343f50 + languageName: node + linkType: hard + +"convert-source-map@npm:^1.7.0": + version: 1.9.0 + resolution: "convert-source-map@npm:1.9.0" + checksum: 281da55454bf8126cbc6625385928c43479f2060984180c42f3a86c8b8c12720a24eac260624a7d1e090004028d2dee78602330578ceec1a08e27cb8bb0a8a5b + languageName: node + linkType: hard + +"copy-to-clipboard@npm:^3.2.0": + version: 3.3.3 + resolution: "copy-to-clipboard@npm:3.3.3" + dependencies: + toggle-selection: ^1.0.6 + checksum: 3ebf5e8ee00601f8c440b83ec08d838e8eabb068c1fae94a9cda6b42f288f7e1b552f3463635f419af44bf7675afc8d0390d30876cf5c2d5d35f86d9c56a3e5f + languageName: node + linkType: hard + +"cssesc@npm:^3.0.0": + version: 3.0.0 + resolution: "cssesc@npm:3.0.0" + bin: + cssesc: bin/cssesc + checksum: 6bcfd898662671be15ae7827120472c5667afb3d7429f1f917737f3bf84c4176003228131b643ae74543f17a394446247df090c597bb9a728cce298606ed0aa7 + languageName: node + linkType: hard + +"csstype@npm:^3.0.2": + version: 3.1.1 + resolution: "csstype@npm:3.1.1" + checksum: 7c8b8c5923049d84132581c13bae6e1faf999746fe3998ba5f3819a8e1cdc7512ace87b7d0a4a69f0f4b8ba11daf835d4f1390af23e09fc4f0baad52c084753a + languageName: node + linkType: hard + +"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.3.3": + version: 4.3.4 + resolution: "debug@npm:4.3.4" + dependencies: + ms: 2.1.2 + peerDependenciesMeta: + supports-color: + optional: true + checksum: cedbec45298dd5c501d01b92b119cd3faebe5438c3917ff11ae1bff86a6c722930ac9c8659792824013168ba6db7c4668225d845c633fbdafbbf902a6389f736 + languageName: node + linkType: hard + +"defined@npm:^1.0.0": + version: 1.0.1 + resolution: "defined@npm:1.0.1" + checksum: 357212c95fd69c3b431f4766440f1b10a8362d2663b86e3d7c139fe7fc98a1d5a4996b8b55ca62e97fb882f9887374b76944d29f9650a07993d98e7be86a804a + languageName: node + linkType: hard + +"delegates@npm:^1.0.0": + version: 1.0.0 + resolution: "delegates@npm:1.0.0" + checksum: ba05874b91148e1db4bf254750c042bf2215febd23a6d3cda2e64896aef79745fbd4b9996488bd3cafb39ce19dbce0fd6e3b6665275638befffe1c9b312b91b5 + languageName: node + linkType: hard + +"depd@npm:^1.1.2": + version: 1.1.2 + resolution: "depd@npm:1.1.2" + checksum: acb24aaf936ef9a227b6be6d495f0d2eb20108a9a6ad40585c5bda1a897031512fef6484e4fdbb80bd249fdaa82841fa1039f416ece03188e677ba11bcfda249 + languageName: node + linkType: hard + +"detect-node-es@npm:^1.1.0": + version: 1.1.0 + resolution: "detect-node-es@npm:1.1.0" + checksum: e562f00de23f10c27d7119e1af0e7388407eb4b06596a25f6d79a360094a109ff285de317f02b090faae093d314cf6e73ac3214f8a5bb3a0def5bece94557fbe + languageName: node + linkType: hard + +"detective@npm:^5.2.1": + version: 5.2.1 + resolution: "detective@npm:5.2.1" + dependencies: + acorn-node: ^1.8.2 + defined: ^1.0.0 + minimist: ^1.2.6 + bin: + detective: bin/detective.js + checksum: 0d3bdfe49ef094165e7876d83ae1a9e0a07d037785ab0edc7b50df9e4390e0a050167670f3d2d506457c7b00b612471ba840898964422c425e50fe046a379e55 + languageName: node + linkType: hard + +"didyoumean@npm:^1.2.2": + version: 1.2.2 + resolution: "didyoumean@npm:1.2.2" + checksum: 95d0b53d23b851aacff56dfadb7ecfedce49da4232233baecfeecb7710248c4aa03f0aa8995062f0acafaf925adf8536bd7044a2e68316fd7d411477599bc27b + languageName: node + linkType: hard + +"dlv@npm:^1.1.3": + version: 1.1.3 + resolution: "dlv@npm:1.1.3" + checksum: 03eb4e769f19a027fd5b43b59e8a05e3fd2100ac239ebb0bf9a745de35d449e2f25cfaf3aa3934664551d72856f4ae8b7822016ce5c42c2d27c18ae79429ec42 + languageName: node + linkType: hard + +"electron-to-chromium@npm:^1.4.284": + version: 1.4.302 + resolution: "electron-to-chromium@npm:1.4.302" + checksum: 409330ecf95dd9d79ad7d14626049f0d1a23bd33c62ab70f8fba2ad69a22a711a98ccb9aef6d5ebceb3a60d291b542bc37308479892a3f33e720dd34805ff234 + languageName: node + linkType: hard + +"emoji-regex@npm:^8.0.0": + version: 8.0.0 + resolution: "emoji-regex@npm:8.0.0" + checksum: b6053ad39951c4cf338f9092d7bfba448cdfd46fe6a2a034700b149ac9ffbc137e361cbd3c442297f86bed2e5f7576c1b54cc0a6bf8ef5106cc62f496af35010 + languageName: node + linkType: hard + +"encoding@npm:^0.1.13": + version: 0.1.13 + resolution: "encoding@npm:0.1.13" + dependencies: + iconv-lite: ^0.6.2 + checksum: 36d938712ff00fe1f4bac88b43bcffb5930c1efa57bbcdca9d67e1d9d6c57cfb1200fb01efe0f3109b2ce99b231f90779532814a81370a1bd3274a0f58585039 + languageName: node + linkType: hard + +"entities@npm:^2.0.0": + version: 2.2.0 + resolution: "entities@npm:2.2.0" + checksum: 7fba6af1f116300d2ba1c5673fc218af1961b20908638391b4e1e6d5850314ee2ac3ec22d741b3a8060479911c99305164aed19b6254bde75e7e6b1b2c3f3aa3 + languageName: node + linkType: hard + +"entities@npm:~2.1.0": + version: 2.1.0 + resolution: "entities@npm:2.1.0" + checksum: dd96ed95f7e017b7fbbcdd39bd6dc3dea6638f747c00610b53f23ea461ac409af87670f313805d85854bfce04f96e17d83575f75b3b2920365d78678ccd2a405 + languageName: node + linkType: hard + +"env-paths@npm:^2.2.0": + version: 2.2.1 + resolution: "env-paths@npm:2.2.1" + checksum: 285325677bf00e30845e330eec32894f5105529db97496ee3f598478e50f008c5352a41a30e5e72ec9de8a542b5a570b85699cd63bd2bc646dbcb9f311d83bc4 + languageName: node + linkType: hard + +"err-code@npm:^2.0.2": + version: 2.0.3 + resolution: "err-code@npm:2.0.3" + checksum: b642f7b4dd4a376e954947550a3065a9ece6733ab8e51ad80db727aaae0817c2e99b02a97a3d6cecc648a97848305e728289cf312d09af395403a90c9d4d8a66 + languageName: node + linkType: hard + +"esbuild@npm:^0.16.14": + version: 0.16.17 + resolution: "esbuild@npm:0.16.17" + dependencies: + "@esbuild/android-arm": 0.16.17 + "@esbuild/android-arm64": 0.16.17 + "@esbuild/android-x64": 0.16.17 + "@esbuild/darwin-arm64": 0.16.17 + "@esbuild/darwin-x64": 0.16.17 + "@esbuild/freebsd-arm64": 0.16.17 + "@esbuild/freebsd-x64": 0.16.17 + "@esbuild/linux-arm": 0.16.17 + "@esbuild/linux-arm64": 0.16.17 + "@esbuild/linux-ia32": 0.16.17 + "@esbuild/linux-loong64": 0.16.17 + "@esbuild/linux-mips64el": 0.16.17 + "@esbuild/linux-ppc64": 0.16.17 + "@esbuild/linux-riscv64": 0.16.17 + "@esbuild/linux-s390x": 0.16.17 + "@esbuild/linux-x64": 0.16.17 + "@esbuild/netbsd-x64": 0.16.17 + "@esbuild/openbsd-x64": 0.16.17 + "@esbuild/sunos-x64": 0.16.17 + "@esbuild/win32-arm64": 0.16.17 + "@esbuild/win32-ia32": 0.16.17 + "@esbuild/win32-x64": 0.16.17 + dependenciesMeta: + "@esbuild/android-arm": + optional: true + "@esbuild/android-arm64": + optional: true + "@esbuild/android-x64": + optional: true + "@esbuild/darwin-arm64": + optional: true + "@esbuild/darwin-x64": + optional: true + "@esbuild/freebsd-arm64": + optional: true + "@esbuild/freebsd-x64": + optional: true + "@esbuild/linux-arm": + optional: true + "@esbuild/linux-arm64": + optional: true + "@esbuild/linux-ia32": + optional: true + "@esbuild/linux-loong64": + optional: true + "@esbuild/linux-mips64el": + optional: true + "@esbuild/linux-ppc64": + optional: true + "@esbuild/linux-riscv64": + optional: true + "@esbuild/linux-s390x": + optional: true + "@esbuild/linux-x64": + optional: true + "@esbuild/netbsd-x64": + optional: true + "@esbuild/openbsd-x64": + optional: true + "@esbuild/sunos-x64": + optional: true + "@esbuild/win32-arm64": + optional: true + "@esbuild/win32-ia32": + optional: true + "@esbuild/win32-x64": + optional: true + bin: + esbuild: bin/esbuild + checksum: c2aaef0d2369349b2ef40c0115c2d2030ed7d7341cc91d26af3e243218ecec972f8f1243d5ce8e9a4c80b29439b89dff44c658e57c696d3b07e9074a77878b49 + languageName: node + linkType: hard + +"escalade@npm:^3.1.1": + version: 3.1.1 + resolution: "escalade@npm:3.1.1" + checksum: afd02e6ca91ffa813e1108b5e7756566173d6bc0d1eb951cb44d6b21702ec17c1cf116cfe75d4a2b02e05acb0b808a7a9387d0d1ca5cf9c04ad03a8445c3e46d + languageName: node + linkType: hard + +"escape-string-regexp@npm:^1.0.5": + version: 1.0.5 + resolution: "escape-string-regexp@npm:1.0.5" + checksum: a968ad453dd0c2724e14a4f20e177aaf32bb384ab41b674a8454afe9a41c5e6fe8903323e0a1052f56289d04bd600f81278edf140b0fcc02f5cac98d0f5b5371 + languageName: node + linkType: hard + +"fast-glob@npm:^3.2.12": + version: 3.2.12 + resolution: "fast-glob@npm:3.2.12" + dependencies: + "@nodelib/fs.stat": ^2.0.2 + "@nodelib/fs.walk": ^1.2.3 + glob-parent: ^5.1.2 + merge2: ^1.3.0 + micromatch: ^4.0.4 + checksum: 08604fb8ef6442ce74068bef3c3104382bb1f5ab28cf75e4ee904662778b60ad620e1405e692b7edea598ef445f5d387827a965ba034e1892bf54b1dfde97f26 + languageName: node + linkType: hard + +"fastq@npm:^1.6.0": + version: 1.15.0 + resolution: "fastq@npm:1.15.0" + dependencies: + reusify: ^1.0.4 + checksum: 5ce4f83afa5f88c9379e67906b4d31bc7694a30826d6cc8d0f0473c966929017fda65c2174b0ec89f064ede6ace6c67f8a4fe04cef42119b6a55b0d465554c24 + languageName: node + linkType: hard + +"fill-range@npm:^7.0.1": + version: 7.0.1 + resolution: "fill-range@npm:7.0.1" + dependencies: + to-regex-range: ^5.0.1 + checksum: 7cdad7d426ffbaadf45aeb5d15ec675bbd77f7597ad5399e3d2766987ed20bda24d5fac64b3ee79d93276f5865608bb22344a26b9b1ae6c4d00bd94bf611623f + languageName: node + linkType: hard + +"focus-lock@npm:^0.11.6": + version: 0.11.6 + resolution: "focus-lock@npm:0.11.6" + dependencies: + tslib: ^2.0.3 + checksum: a68e477a53f0c23c96a68c57f908099b06107880f3e491bf545b7478a31a9ec7514aef7b92ecc8e38abb06a387a7770daebb9280b64a5ad5acce640e52531ccf + languageName: node + linkType: hard + +"fraction.js@npm:^4.2.0": + version: 4.2.0 + resolution: "fraction.js@npm:4.2.0" + checksum: b16c0a6a7f045b3416c1afbb174b7afca73bd7eb0c62598a0c734a8b1f888cb375684174daf170abfba314da9f366b7d6445e396359d5fae640883bdb2ed18cb + languageName: node + linkType: hard + +"frontend@workspace:.": + version: 0.0.0-use.local + resolution: "frontend@workspace:." + dependencies: + "@apollo/client": ^3.7.8 + "@graphiql/plugin-explorer": ^0.1.14 + "@graphiql/toolkit": ^0.8.2 + "@headlessui/react": ^1.7.13 + "@heroicons/react": ^2.0.16 + "@tailwindcss/forms": ^0.5.3 + "@types/react": ^18.0.27 + "@types/react-dom": ^18.0.10 + "@vitejs/plugin-react": ^3.1.0 + autoprefixer: ^10.4.13 + graphiql: ^2.4.0 + graphql: ^16.6.0 + json-bigint-patch: ^0.0.8 + postcss: ^8.4.21 + pretty-ms: ^7.0.0 + react: ^18.2.0 + react-dom: ^18.2.0 + react-router-dom: ^6.8.1 + react-split-pane: ^0.1.92 + tailwindcss: ^3.2.7 + typescript: ^4.9.3 + use-url-search-params: ^2.5.1 + vite: ^4.1.0 + languageName: unknown + linkType: soft + +"fs-minipass@npm:^2.0.0, fs-minipass@npm:^2.1.0": + version: 2.1.0 + resolution: "fs-minipass@npm:2.1.0" + dependencies: + minipass: ^3.0.0 + checksum: 703d16522b8282d7299337539c3ed6edddd1afe82435e4f5b76e34a79cd74e488a8a0e26a636afc2440e1a23b03878e2122e3a2cfe375a5cf63c37d92b86a004 + languageName: node + linkType: hard + +"fs.realpath@npm:^1.0.0": + version: 1.0.0 + resolution: "fs.realpath@npm:1.0.0" + checksum: 444cf1291d997165dfd4c0d58b69f0e4782bfd9149fd72faa4fe299e68e0e93d6db941660b37dd29153bf7186672ececa3b50b7e7249477b03fdf850f287c948 + languageName: node + linkType: hard + +"fsevents@npm:~2.3.2": + version: 2.3.2 + resolution: "fsevents@npm:2.3.2" + dependencies: + node-gyp: latest + checksum: be78a3efa3e181cda3cf7a4637cb527bcebb0bd0ea0440105a3bb45b86f9245b307dc10a2507e8f4498a7d4ec349d1910f4d73e4d4495b16103106e07eee735b + conditions: os=darwin + languageName: node + linkType: hard + +"fsevents@patch:fsevents@~2.3.2#~builtin": + version: 2.3.2 + resolution: "fsevents@patch:fsevents@npm%3A2.3.2#~builtin::version=2.3.2&hash=df0bf1" + dependencies: + node-gyp: latest + conditions: os=darwin + languageName: node + linkType: hard + +"function-bind@npm:^1.1.1": + version: 1.1.1 + resolution: "function-bind@npm:1.1.1" + checksum: 60b74b2407e1942e1ed7f8c284f8ef714d0689dcfce5319985a5b7da3fc727f40b4a59ec72dc55aa83365ad7b8fa4fac3a30d93c850a2b452f29ae03dbc10a1e + languageName: node + linkType: hard + +"gauge@npm:^4.0.3": + version: 4.0.4 + resolution: "gauge@npm:4.0.4" + dependencies: + aproba: ^1.0.3 || ^2.0.0 + color-support: ^1.1.3 + console-control-strings: ^1.1.0 + has-unicode: ^2.0.1 + signal-exit: ^3.0.7 + string-width: ^4.2.3 + strip-ansi: ^6.0.1 + wide-align: ^1.1.5 + checksum: ef10d7981113d69225135f994c9f8c4369d945e64a8fc721d655a3a38421b738c9fe899951721d1b47b73c41fdb5404ac87cc8903b2ecbed95d2800363e7e58c + languageName: node + linkType: hard + +"gensync@npm:^1.0.0-beta.2": + version: 1.0.0-beta.2 + resolution: "gensync@npm:1.0.0-beta.2" + checksum: 782aba6cba65b1bb5af3b095d96249d20edbe8df32dbf4696fd49be2583faf676173bf4809386588828e4dd76a3354fcbeb577bab1c833ccd9fc4577f26103f8 + languageName: node + linkType: hard + +"get-nonce@npm:^1.0.0": + version: 1.0.1 + resolution: "get-nonce@npm:1.0.1" + checksum: 2d7df55279060bf0568549e1ffc9b84bc32a32b7541675ca092dce56317cdd1a59a98dcc4072c9f6a980779440139a3221d7486f52c488e69dc0fd27b1efb162 + languageName: node + linkType: hard + +"glob-parent@npm:^5.1.2, glob-parent@npm:~5.1.2": + version: 5.1.2 + resolution: "glob-parent@npm:5.1.2" + dependencies: + is-glob: ^4.0.1 + checksum: cab87638e2112bee3f839ef5f6e0765057163d39c66be8ec1602f3823da4692297ad4e972de876ea17c44d652978638d2fd583c6713d0eb6591706825020c9ee + languageName: node + linkType: hard + +"glob-parent@npm:^6.0.2": + version: 6.0.2 + resolution: "glob-parent@npm:6.0.2" + dependencies: + is-glob: ^4.0.3 + checksum: 317034d88654730230b3f43bb7ad4f7c90257a426e872ea0bf157473ac61c99bf5d205fad8f0185f989be8d2fa6d3c7dce1645d99d545b6ea9089c39f838e7f8 + languageName: node + linkType: hard + +"glob@npm:^7.1.3, glob@npm:^7.1.4": + version: 7.2.3 + resolution: "glob@npm:7.2.3" + dependencies: + fs.realpath: ^1.0.0 + inflight: ^1.0.4 + inherits: 2 + minimatch: ^3.1.1 + once: ^1.3.0 + path-is-absolute: ^1.0.0 + checksum: 65676153e2b0c9095100fe7f25a778bf45608eeb32c6048cf307f579649bcc30353277b3b898a3792602c65764e5baa4f643714dfbdfd64ea271d210c7a425fe + languageName: node + linkType: hard + +"glob@npm:^8.0.1": + version: 8.1.0 + resolution: "glob@npm:8.1.0" + dependencies: + fs.realpath: ^1.0.0 + inflight: ^1.0.4 + inherits: 2 + minimatch: ^5.0.1 + once: ^1.3.0 + checksum: cb0b5cab17a59c57299376abe5646c7070f8acb89df5595b492dba3bfb43d301a46c01e5695f01154e6553168207cb60d4eaf07d3be4bc3eb9b0457c5c561d0f + languageName: node + linkType: hard + +"globals@npm:^11.1.0": + version: 11.12.0 + resolution: "globals@npm:11.12.0" + checksum: 758f9f258e7b19226bd8d4af5d3b0dcf7038780fb23d82e6f98932c44e239f884847f1766e8fa9cc5635ccb3204f7fa7314d4408dd4002a5e8ea827b4018f0a1 + languageName: node + linkType: hard + +"graceful-fs@npm:^4.2.6": + version: 4.2.10 + resolution: "graceful-fs@npm:4.2.10" + checksum: 4223a833e38e1d0d2aea630c2433cfb94ddc07dfc11d511dbd6be1d16688c5be848acc31f9a5d0d0ddbfb56d2ee5a6ae0278aceeb0ca6a13f27e06b9956fb952 + languageName: node + linkType: hard + +"graphiql-explorer@npm:^0.9.0": + version: 0.9.0 + resolution: "graphiql-explorer@npm:0.9.0" + peerDependencies: + graphql: ^0.6.0 || ^0.7.0 || ^0.8.0-b || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 + react: ^15.6.0 || ^16.0.0 + react-dom: ^15.6.0 || ^16.0.0 + checksum: 5dc209a26508600c290105aebf402747fffaa1dcb63298bdf6599b40b65c41cc5f10acd0c50597ae3c731e22eec5b943f982cca399b0468786a0e7b0a69a3390 + languageName: node + linkType: hard + +"graphiql@npm:^2.4.0": + version: 2.4.0 + resolution: "graphiql@npm:2.4.0" + dependencies: + "@graphiql/react": ^0.17.0 + "@graphiql/toolkit": ^0.8.2 + entities: ^2.0.0 + graphql-language-service: ^5.1.2 + markdown-it: ^12.2.0 + peerDependencies: + graphql: ^15.5.0 || ^16.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + checksum: 839df9db40db3ced93271853aceb8009e0a924fe7020c106e8343d307bfa8da97df7f12cf537d002ec2214942495097a000c67ef2e5e1aae1f2a1770dd7c6621 + languageName: node + linkType: hard + +"graphql-language-service@npm:5.1.2, graphql-language-service@npm:^5.1.2": + version: 5.1.2 + resolution: "graphql-language-service@npm:5.1.2" + dependencies: + nullthrows: ^1.0.0 + vscode-languageserver-types: ^3.17.1 + peerDependencies: + graphql: ^15.5.0 || ^16.0.0 + bin: + graphql: dist/temp-bin.js + checksum: 48923bf6f82f5c5bc98938527c99768c352b8104107ea43448c8fd0a6e33c061ad03aa03b651bfe07cf8024bb412d14067e27f46aecda962a438ccb9a81b196f + languageName: node + linkType: hard + +"graphql-tag@npm:^2.12.6": + version: 2.12.6 + resolution: "graphql-tag@npm:2.12.6" + dependencies: + tslib: ^2.1.0 + peerDependencies: + graphql: ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + checksum: 7763a72011bda454ed8ff1a0d82325f43ca6478e4ce4ab8b7910c4c651dd00db553132171c04d80af5d5aebf1ef6a8a9fd53ccfa33b90ddc00aa3d4be6114419 + languageName: node + linkType: hard + +"graphql@npm:^16.6.0": + version: 16.6.0 + resolution: "graphql@npm:16.6.0" + checksum: 3a2c15ff58b69d017618d2b224fa6f3c4a7937e1f711c3a5e0948db536b4931e6e649560b53de7cc26735e027ceea6e2d0a6bb7c29fc4639b290313e3aa71618 + languageName: node + linkType: hard + +"has-flag@npm:^3.0.0": + version: 3.0.0 + resolution: "has-flag@npm:3.0.0" + checksum: 1c6c83b14b8b1b3c25b0727b8ba3e3b647f99e9e6e13eb7322107261de07a4c1be56fc0d45678fc376e09772a3a1642ccdaf8fc69bdf123b6c086598397ce473 + languageName: node + linkType: hard + +"has-unicode@npm:^2.0.1": + version: 2.0.1 + resolution: "has-unicode@npm:2.0.1" + checksum: ebdb2f4895c26bb08a8a100b62d362e49b2190bcfd84b76bc4be1a3bd4d254ec52d0dd9f2fbcc093fc5eb878b20c52146f9dfd33e2686ed28982187be593b47c + languageName: node + linkType: hard + +"has@npm:^1.0.3": + version: 1.0.3 + resolution: "has@npm:1.0.3" + dependencies: + function-bind: ^1.1.1 + checksum: e1da0d2bd109f116b632f27782cf23182b42f14972ca9540e4c5aa7e52647407a0a4a76937334fddcb56befe94a3494825ec22b19b51f5e5507c3153fd1a5e1b + languageName: node + linkType: hard + +"hoist-non-react-statics@npm:^3.3.2": + version: 3.3.2 + resolution: "hoist-non-react-statics@npm:3.3.2" + dependencies: + react-is: ^16.7.0 + checksum: fe0889169e845d738b59b64badf5e55fa3cf20454f9203d1eb088df322d49d4318df774828e789898dcb280e8a5521bb59b3203385662ca5e9218a6ca5820e74 + languageName: node + linkType: hard + +"http-cache-semantics@npm:^4.1.0": + version: 4.1.1 + resolution: "http-cache-semantics@npm:4.1.1" + checksum: ce1319b8a382eb3cbb4a37c19f6bfe14e5bb5be3d09079e885e8c513ab2d3cd9214902f8a31c9dc4e37022633ceabfc2d697405deeaf1b8f3552bb4ed996fdfc + languageName: node + linkType: hard + +"http-proxy-agent@npm:^5.0.0": + version: 5.0.0 + resolution: "http-proxy-agent@npm:5.0.0" + dependencies: + "@tootallnate/once": 2 + agent-base: 6 + debug: 4 + checksum: 32a05e413430b2c1e542e5c74b38a9f14865301dd69dff2e53ddb684989440e3d2ce0c4b64d25eb63cf6283e6265ff979a61cf93e3ca3d23047ddfdc8df34a32 + languageName: node + linkType: hard + +"https-proxy-agent@npm:^5.0.0": + version: 5.0.1 + resolution: "https-proxy-agent@npm:5.0.1" + dependencies: + agent-base: 6 + debug: 4 + checksum: 6dd639f03434003577c62b27cafdb864784ef19b2de430d8ae2a1d45e31c4fd60719e5637b44db1a88a046934307da7089e03d6089ec3ddacc1189d8de8897d1 + languageName: node + linkType: hard + +"humanize-ms@npm:^1.2.1": + version: 1.2.1 + resolution: "humanize-ms@npm:1.2.1" + dependencies: + ms: ^2.0.0 + checksum: f34a2c20161d02303c2807badec2f3b49cbfbbb409abd4f95a07377ae01cfe6b59e3d15ac609cffcd8f2521f0eb37b7e1091acf65da99aa2a4f1ad63c21e7e7a + languageName: node + linkType: hard + +"iconv-lite@npm:^0.6.2": + version: 0.6.3 + resolution: "iconv-lite@npm:0.6.3" + dependencies: + safer-buffer: ">= 2.1.2 < 3.0.0" + checksum: 98102bc66b33fcf5ac044099d1257ba0b7ad5e3ccd3221f34dd508ab4070edff183276221684e1e0555b145fce0850c9f7d2b60a9fcac50fbb4ea0d6e845a3b1 + languageName: node + linkType: hard + +"imurmurhash@npm:^0.1.4": + version: 0.1.4 + resolution: "imurmurhash@npm:0.1.4" + checksum: 8b51313850dd33605c6c9d3fd9638b714f4c4c40250cff658209f30d40da60f78992fb2df5dabee4acf589a6a82bbc79ad5486550754bd9ec4e3fc0d4a57d6a6 + languageName: node + linkType: hard + +"indent-string@npm:^4.0.0": + version: 4.0.0 + resolution: "indent-string@npm:4.0.0" + checksum: 1e1904ddb0cb3d6cce7cd09e27a90184908b7a5d5c21b92e232c93579d314f0b83c246ffb035493d0504b1e9147ba2c9b21df0030f48673fba0496ecd698161f + languageName: node + linkType: hard + +"infer-owner@npm:^1.0.4": + version: 1.0.4 + resolution: "infer-owner@npm:1.0.4" + checksum: a7b241e3149c26e37474e3435779487f42f36883711f198c45794703c7556bc38af224088bd4d1a221a45b8208ae2c2bcf86200383621434d0c099304481c5b9 + languageName: node + linkType: hard + +"inflight@npm:^1.0.4": + version: 1.0.6 + resolution: "inflight@npm:1.0.6" + dependencies: + once: ^1.3.0 + wrappy: 1 + checksum: 7faca22584600a9dc5b9fca2cd5feb7135ac8c935449837b315676b4c90aa4f391ec4f42240178244b5a34e8bede1948627fda392ca3191522fc46b34e985ab2 + languageName: node + linkType: hard + +"inherits@npm:2, inherits@npm:^2.0.3": + version: 2.0.4 + resolution: "inherits@npm:2.0.4" + checksum: 4e531f648b29039fb7426fb94075e6545faa1eb9fe83c29f0b6d9e7263aceb4289d2d4557db0d428188eeb449cc7c5e77b0a0b2c4e248ff2a65933a0dee49ef2 + languageName: node + linkType: hard + +"invariant@npm:^2.2.4": + version: 2.2.4 + resolution: "invariant@npm:2.2.4" + dependencies: + loose-envify: ^1.0.0 + checksum: 5af133a917c0bcf65e84e7f23e779e7abc1cd49cb7fdc62d00d1de74b0d8c1b5ee74ac7766099fb3be1b05b26dfc67bab76a17030d2fe7ea2eef867434362dfc + languageName: node + linkType: hard + +"ip@npm:^2.0.0": + version: 2.0.0 + resolution: "ip@npm:2.0.0" + checksum: 8d186cc5585f57372847ae29b6eba258c68862055e18a75cc4933327232cb5c107f89800ce29715d542eef2c254fbb68b382e780a7414f9ee7caf60b7a473958 + languageName: node + linkType: hard + +"is-binary-path@npm:~2.1.0": + version: 2.1.0 + resolution: "is-binary-path@npm:2.1.0" + dependencies: + binary-extensions: ^2.0.0 + checksum: a16eaee59ae2b315ba36fad5c5dcaf8e49c3e27318f8ab8fa3cdb8772bf559c8d1ba750a589c2ccb096113bb64497084361a25960899cb6172a6925ab6123d38 + languageName: node + linkType: hard + +"is-core-module@npm:^2.9.0": + version: 2.11.0 + resolution: "is-core-module@npm:2.11.0" + dependencies: + has: ^1.0.3 + checksum: fd8f78ef4e243c295deafa809f89381d89aff5aaf38bb63266b17ee6e34b6a051baa5bdc2365456863336d56af6a59a4c1df1256b4eff7d6b4afac618586b004 + languageName: node + linkType: hard + +"is-extglob@npm:^2.1.1": + version: 2.1.1 + resolution: "is-extglob@npm:2.1.1" + checksum: 5487da35691fbc339700bbb2730430b07777a3c21b9ebaecb3072512dfd7b4ba78ac2381a87e8d78d20ea08affb3f1971b4af629173a6bf435ff8a4c47747912 + languageName: node + linkType: hard + +"is-fullwidth-code-point@npm:^3.0.0": + version: 3.0.0 + resolution: "is-fullwidth-code-point@npm:3.0.0" + checksum: bb11d825e049f38e04c06373a8d72782eee0205bda9d908cc550ccb3c59b99d750ff9537982e01733c1c94a58e35400661f57042158ff5e8f3e90cf936daf0fc + languageName: node + linkType: hard + +"is-glob@npm:^4.0.1, is-glob@npm:^4.0.3, is-glob@npm:~4.0.1": + version: 4.0.3 + resolution: "is-glob@npm:4.0.3" + dependencies: + is-extglob: ^2.1.1 + checksum: 17fb4014e22be3bbecea9b2e3a76e9e34ff645466be702f1693e8f1ee1adac84710d0be0bd9f967d6354036fd51ab7c2741d954d6e91dae6bb69714de92c197a + languageName: node + linkType: hard + +"is-lambda@npm:^1.0.1": + version: 1.0.1 + resolution: "is-lambda@npm:1.0.1" + checksum: 85fee098ae62ba6f1e24cf22678805473c7afd0fb3978a3aa260e354cb7bcb3a5806cf0a98403188465efedec41ab4348e8e4e79305d409601323855b3839d4d + languageName: node + linkType: hard + +"is-number@npm:^7.0.0": + version: 7.0.0 + resolution: "is-number@npm:7.0.0" + checksum: b4686d0d3053146095ccd45346461bc8e53b80aeb7671cc52a4de02dbbf7dc0d1d2a986e2fe4ae206984b4d34ef37e8b795ebc4f4295c978373e6575e295d811 + languageName: node + linkType: hard + +"is-plain-object@npm:^2.0.4": + version: 2.0.4 + resolution: "is-plain-object@npm:2.0.4" + dependencies: + isobject: ^3.0.1 + checksum: f050fdd5203d9c81e8c4df1b3ff461c4bc64e8b5ca383bcdde46131361d0a678e80bcf00b5257646f6c636197629644d53bd8e2375aea633de09a82d57e942f4 + languageName: node + linkType: hard + +"is-primitive@npm:^3.0.1": + version: 3.0.1 + resolution: "is-primitive@npm:3.0.1" + checksum: 2e3b6f029fabbdda467ea51ea4fdd00e6552434108b863a08f296638072c506a7c195089e3e31f83e7fc14bebbd1c5c9f872fe127c9284a7665c8227b47ffdd6 + languageName: node + linkType: hard + +"isexe@npm:^2.0.0": + version: 2.0.0 + resolution: "isexe@npm:2.0.0" + checksum: 228cfa503fadc2c31596ab06ed6aa82c9976eec2bfd83397e7eaf06d0ccf42cd1dfd6743bf9aeb01aebd4156d009994c5f76ea898d2832c1fe342da923ca457d + languageName: node + linkType: hard + +"isobject@npm:^3.0.1": + version: 3.0.1 + resolution: "isobject@npm:3.0.1" + checksum: 03344f5064a82f099a0cd1a8a407f4c0d20b7b8485e8e816c39f249e9416b06c322e8dec5b842b6bb8a06de0af9cb48e7bc1b5352f0fadc2f0abac033db3d4db + languageName: node + linkType: hard + +"js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0": + version: 4.0.0 + resolution: "js-tokens@npm:4.0.0" + checksum: e248708d377aa058eacf2037b07ded847790e6de892bbad3dac0abba2e759cb9f121b00099a65195616badcb6eca8d14d975cb3e89eb1cfda644756402c8aeed + languageName: node + linkType: hard + +"jsesc@npm:^2.5.1": + version: 2.5.2 + resolution: "jsesc@npm:2.5.2" + bin: + jsesc: bin/jsesc + checksum: dbf59312e0ebf2b4405ef413ec2b25abb5f8f4d9bc5fb8d9f90381622ebca5f2af6a6aa9a8578f65903f9e33990a6dc798edd0ce5586894bf0e9e31803a1de88 + languageName: node + linkType: hard + +"json-bigint-patch@npm:^0.0.8": + version: 0.0.8 + resolution: "json-bigint-patch@npm:0.0.8" + checksum: f2ee19607c4927d1b0f1fda2f3c3cdba1162d1a7f6a40ae5e3e034363cddd437a0ef48d975e1e572dc514a7396ab2247b443113444004f1e64af47ba298687b9 + languageName: node + linkType: hard + +"json5@npm:^2.2.2": + version: 2.2.3 + resolution: "json5@npm:2.2.3" + bin: + json5: lib/cli.js + checksum: 5a04eed94810fa55c5ea138b2f7a5c12b97c3750bc63d11e511dcecbfef758003861522a070c2272764ee0f4e3e323862f386945aeb5b85b87ee43f084ba586c + languageName: node + linkType: hard + +"lilconfig@npm:^2.0.5, lilconfig@npm:^2.0.6": + version: 2.0.6 + resolution: "lilconfig@npm:2.0.6" + checksum: 52bcb478586c629a78b9b06de72de897cd6d771725e70ee91ec16605721afebf43cf54b4d20b6bf904ca70877ddd9531b9578494c694072d1573a6d4aba1545a + languageName: node + linkType: hard + +"linkify-it@npm:^3.0.1": + version: 3.0.3 + resolution: "linkify-it@npm:3.0.3" + dependencies: + uc.micro: ^1.0.1 + checksum: 468cb4954f85cdfc16e169db89a42d65287e3f121a9448b29c3c00d64c6f5a8f4367bea3978ba9109a0e3a10b19d50632b983639f91b9be9f20d1f63a5ff5bc1 + languageName: node + linkType: hard + +"loose-envify@npm:^1.0.0, loose-envify@npm:^1.1.0, loose-envify@npm:^1.4.0": + version: 1.4.0 + resolution: "loose-envify@npm:1.4.0" + dependencies: + js-tokens: ^3.0.0 || ^4.0.0 + bin: + loose-envify: cli.js + checksum: 655d110220983c1a4b9c0c679a2e8016d4b67f6e9c7b5435ff5979ecdb20d0813f4dec0a08674fcbdd4846a3f07edbb50a36811fd37930b94aaa0d9daceb017e + languageName: node + linkType: hard + +"lru-cache@npm:^5.1.1": + version: 5.1.1 + resolution: "lru-cache@npm:5.1.1" + dependencies: + yallist: ^3.0.2 + checksum: 89b2ef2ef45f543011e38737b8a8622a2f8998cddf0e5437174ef8f1f70a8b9d14a918ab3e232cb3ba343b7abddffa667f0b59075b2b80e6b4d63c3de6127482 + languageName: node + linkType: hard + +"lru-cache@npm:^6.0.0": + version: 6.0.0 + resolution: "lru-cache@npm:6.0.0" + dependencies: + yallist: ^4.0.0 + checksum: cb53e582785c48187d7a188d3379c181b5ca2a9c78d2bce3e7dee36f32761d1c42983da3fe12b55cb74e1779fa94cdc2e5367c028a9b35317184ede0c07a30a9 + languageName: node + linkType: hard + +"lru-cache@npm:^7.7.1": + version: 7.16.1 + resolution: "lru-cache@npm:7.16.1" + checksum: 0cb0986ff022e13bdc52c2b1395c57d5d2cb1bfad24e4db7a5ab1118228eb51c19cdc7d19fc4197eec13e215a30194a3da7d0df4d3d839d1011bc3608c9f14d0 + languageName: node + linkType: hard + +"magic-string@npm:^0.27.0": + version: 0.27.0 + resolution: "magic-string@npm:0.27.0" + dependencies: + "@jridgewell/sourcemap-codec": ^1.4.13 + checksum: cddacfea14441ca57ae8a307bc3cf90bac69efaa4138dd9a80804cffc2759bf06f32da3a293fb13eaa96334b7d45b7768a34f1d226afae25d2f05b05a3bb37d8 + languageName: node + linkType: hard + +"make-fetch-happen@npm:^10.0.3": + version: 10.2.1 + resolution: "make-fetch-happen@npm:10.2.1" + dependencies: + agentkeepalive: ^4.2.1 + cacache: ^16.1.0 + http-cache-semantics: ^4.1.0 + http-proxy-agent: ^5.0.0 + https-proxy-agent: ^5.0.0 + is-lambda: ^1.0.1 + lru-cache: ^7.7.1 + minipass: ^3.1.6 + minipass-collect: ^1.0.2 + minipass-fetch: ^2.0.3 + minipass-flush: ^1.0.5 + minipass-pipeline: ^1.2.4 + negotiator: ^0.6.3 + promise-retry: ^2.0.1 + socks-proxy-agent: ^7.0.0 + ssri: ^9.0.0 + checksum: 28ec392f63ab93511f400839dcee83107eeecfaad737d1e8487ea08b4332cd89a8f3319584222edd9f6f1d0833cf516691469496d46491863f9e88c658013949 + languageName: node + linkType: hard + +"markdown-it@npm:^12.2.0": + version: 12.3.2 + resolution: "markdown-it@npm:12.3.2" + dependencies: + argparse: ^2.0.1 + entities: ~2.1.0 + linkify-it: ^3.0.1 + mdurl: ^1.0.1 + uc.micro: ^1.0.5 + bin: + markdown-it: bin/markdown-it.js + checksum: 7f97b924e6f90e2c5ccdfb486a19bd7885b938f568a86b527bf6f916a16b01a298e6739f86a99e77acb5e7c020f6c8b34bd726364179b3f820e48b2971a6450c + languageName: node + linkType: hard + +"mdurl@npm:^1.0.1": + version: 1.0.1 + resolution: "mdurl@npm:1.0.1" + checksum: ea8534341eb002aaa532a722daef6074cd8ca66202e10a2b4cda46722c1ebdb1da92197ac300bc953d3ef1bf41cd6561ef2cc69d82d5d0237dae00d4a61a4eee + languageName: node + linkType: hard + +"merge2@npm:^1.3.0": + version: 1.4.1 + resolution: "merge2@npm:1.4.1" + checksum: 254a8a4605b58f450308fc474c82ac9a094848081bf4c06778200207820e5193726dc563a0d2c16468810516a5c97d9d3ea0ca6585d23c58ccfff2403e8dbbeb + languageName: node + linkType: hard + +"meros@npm:^1.1.4": + version: 1.2.1 + resolution: "meros@npm:1.2.1" + peerDependencies: + "@types/node": ">=13" + peerDependenciesMeta: + "@types/node": + optional: true + checksum: f8debb9d03e89cba545b9b7d4d51f2412b33ba86e6f6b2eb0e481a3eaf9975d168e6e708887d87b9fbf5a188f9d5878b50f6fb2ded9614f4cd20feb50d452a5d + languageName: node + linkType: hard + +"micromatch@npm:^4.0.4, micromatch@npm:^4.0.5": + version: 4.0.5 + resolution: "micromatch@npm:4.0.5" + dependencies: + braces: ^3.0.2 + picomatch: ^2.3.1 + checksum: 3d6505b20f9fa804af5d8c596cb1c5e475b9b0cd05f652c5b56141cf941bd72adaeb7a436fda344235cef93a7f29b7472efc779fcdb83b478eab0867b95cdeff + languageName: node + linkType: hard + +"mini-svg-data-uri@npm:^1.2.3": + version: 1.4.4 + resolution: "mini-svg-data-uri@npm:1.4.4" + bin: + mini-svg-data-uri: cli.js + checksum: 24545fa30b5a45449241bf19c25b8bc37594b63ec06401b3d563bd1c2e8a6abb7c18741f8b354e0064baa63c291be214154bf3a66f201ae71dfab3cc1a5e3191 + languageName: node + linkType: hard + +"minimatch@npm:^3.1.1": + version: 3.1.2 + resolution: "minimatch@npm:3.1.2" + dependencies: + brace-expansion: ^1.1.7 + checksum: 0262810a8fc2e72cca45d6fd86bd349eee435eb95ac6aa45c9ea2180e7ee875ef44c32b55b5973ceabe95ea12682f6e3725cbb63d7a2d1da3ae1163c8b210311 + languageName: node + linkType: hard + +"minimatch@npm:^5.0.1": + version: 5.1.6 + resolution: "minimatch@npm:5.1.6" + dependencies: + brace-expansion: ^2.0.1 + checksum: 3defdfd230914f22a8da203747c42ee3c405c39d4d37ffda284dac5e45b7e1f6c49aa8be606509002898e73091ff2a3bbfc59c2c6c71d4660609f63aa92f98e3 + languageName: node + linkType: hard + +"minimist@npm:^1.2.6": + version: 1.2.8 + resolution: "minimist@npm:1.2.8" + checksum: 19d3fcdca050087b84c2029841a093691a91259a47def2f18222f41e7645a0b7c44ef4b40e88a1e58a40c84d2ef0ee6047c55594d298146d0eb3f6b737c20ce6 + languageName: node + linkType: hard + +"minipass-collect@npm:^1.0.2": + version: 1.0.2 + resolution: "minipass-collect@npm:1.0.2" + dependencies: + minipass: ^3.0.0 + checksum: 8f82bd1f3095b24f53a991b04b67f4c710c894e518b813f0864a31de5570441a509be1ca17e0bb92b047591a8fdbeb886f502764fefb00d2f144f4011791e898 + languageName: node + linkType: hard + +"minipass-fetch@npm:^2.0.3": + version: 2.1.2 + resolution: "minipass-fetch@npm:2.1.2" + dependencies: + encoding: ^0.1.13 + minipass: ^3.1.6 + minipass-sized: ^1.0.3 + minizlib: ^2.1.2 + dependenciesMeta: + encoding: + optional: true + checksum: 33ab2c5bdb3d91b9cb8bc6ae42d7418f4f00f7f7beae14b3bb21ea18f9224e792f560a6e17b6f1be12bbeb70dbe99a269f4204c60e5d99130a0777b153505c43 + languageName: node + linkType: hard + +"minipass-flush@npm:^1.0.5": + version: 1.0.5 + resolution: "minipass-flush@npm:1.0.5" + dependencies: + minipass: ^3.0.0 + checksum: 2a51b63feb799d2bb34669205eee7c0eaf9dce01883261a5b77410c9408aa447e478efd191b4de6fc1101e796ff5892f8443ef20d9544385819093dbb32d36bd + languageName: node + linkType: hard + +"minipass-pipeline@npm:^1.2.4": + version: 1.2.4 + resolution: "minipass-pipeline@npm:1.2.4" + dependencies: + minipass: ^3.0.0 + checksum: cbda57cea20b140b797505dc2cac71581a70b3247b84480c1fed5ca5ba46c25ecc25f68bfc9e6dcb1a6e9017dab5c7ada5eab73ad4f0a49d84e35093e0c643f2 + languageName: node + linkType: hard + +"minipass-sized@npm:^1.0.3": + version: 1.0.3 + resolution: "minipass-sized@npm:1.0.3" + dependencies: + minipass: ^3.0.0 + checksum: 298f124753efdc745cfe0f2bdfdd81ba25b9f4e753ca4a2066eb17c821f25d48acea607dfc997633ee5bf7b6dfffb4eee4f2051eb168663f0b99fad2fa4829cb + languageName: node + linkType: hard + +"minipass@npm:^3.0.0, minipass@npm:^3.1.1, minipass@npm:^3.1.6": + version: 3.3.6 + resolution: "minipass@npm:3.3.6" + dependencies: + yallist: ^4.0.0 + checksum: a114746943afa1dbbca8249e706d1d38b85ed1298b530f5808ce51f8e9e941962e2a5ad2e00eae7dd21d8a4aae6586a66d4216d1a259385e9d0358f0c1eba16c + languageName: node + linkType: hard + +"minipass@npm:^4.0.0": + version: 4.0.3 + resolution: "minipass@npm:4.0.3" + checksum: 445425e23866511e729e736c93b938b3453f8912b72bff7cc06a89ba43de93896f4feb201296114e329af0c932793818ad3a6b0031016a3f30e234f0edfdaca4 + languageName: node + linkType: hard + +"minizlib@npm:^2.1.1, minizlib@npm:^2.1.2": + version: 2.1.2 + resolution: "minizlib@npm:2.1.2" + dependencies: + minipass: ^3.0.0 + yallist: ^4.0.0 + checksum: 64fae024e1a7d0346a1102bb670085b17b7f95bf6cfdf5b128772ec8faf9ea211464ea4add406a3a6384a7d87a0cd1a96263692134323477b4fb43659a6cab78 + languageName: node + linkType: hard + +"mkdirp@npm:^1.0.3, mkdirp@npm:^1.0.4": + version: 1.0.4 + resolution: "mkdirp@npm:1.0.4" + bin: + mkdirp: bin/cmd.js + checksum: 46ea0f3ffa8bc6a5bc0c7081ffc3907777f0ed6516888d40a518c5111f8366d97d2678911ad1a6882bf592fa9de6c784fea32e1687bb94e1f4944170af48a5cf + languageName: node + linkType: hard + +"ms@npm:2.1.2": + version: 2.1.2 + resolution: "ms@npm:2.1.2" + checksum: a437714e2f90dbf881b5191d35a6db792efbca5badf112f87b9e1c712aace4b4b9b742dd6537f3edf90fd6f684de897cec230abde57e87883766712ddda297cc + languageName: node + linkType: hard + +"ms@npm:^2.0.0": + version: 2.1.3 + resolution: "ms@npm:2.1.3" + checksum: d924b57e7312b3b63ad21fc5b3dc0af5e78d61a1fc7cfb5457edaf26326bf62be5307cc87ffb6862ef1c2b33b0233cdb5d4f01c4c958cc0d660948b65a287a48 + languageName: node + linkType: hard + +"nanoid@npm:^3.3.4": + version: 3.3.4 + resolution: "nanoid@npm:3.3.4" + bin: + nanoid: bin/nanoid.cjs + checksum: a0747d5c6021828fe8d38334e5afb05d3268d7d4b06024058ec894ccc47070e4e81d268a6b75488d2ff3485fa79a75c251d4b7c6f31051bb54bb662b6fd2a27d + languageName: node + linkType: hard + +"negotiator@npm:^0.6.3": + version: 0.6.3 + resolution: "negotiator@npm:0.6.3" + checksum: 3ec9fd413e7bf071c937ae60d572bc67155262068ed522cf4b3be5edbe6ddf67d095ec03a3a14ebf8fc8e95f8e1d61be4869db0dbb0de696f6b837358bd43fc2 + languageName: node + linkType: hard + +"node-gyp@npm:latest": + version: 9.3.1 + resolution: "node-gyp@npm:9.3.1" + dependencies: + env-paths: ^2.2.0 + glob: ^7.1.4 + graceful-fs: ^4.2.6 + make-fetch-happen: ^10.0.3 + nopt: ^6.0.0 + npmlog: ^6.0.0 + rimraf: ^3.0.2 + semver: ^7.3.5 + tar: ^6.1.2 + which: ^2.0.2 + bin: + node-gyp: bin/node-gyp.js + checksum: 3285c110768eb65aadd9aa1d056f917e594ea22611d21fd535ab3677ea433d0a281e7f09bc73d53e64b02214f4379dbca476dc33faffe455b0ac1d5ba92802f4 + languageName: node + linkType: hard + +"node-releases@npm:^2.0.8": + version: 2.0.10 + resolution: "node-releases@npm:2.0.10" + checksum: 90947653e8e3d85bda4bcbf28d019693ccfb5d5947838ca64e91208b51d7bfc13ba930b8216389a4faffbad8145b2c616bf1f7a09c97a1a9ac57fd6ef6d01c5c + languageName: node + linkType: hard + +"nopt@npm:^6.0.0": + version: 6.0.0 + resolution: "nopt@npm:6.0.0" + dependencies: + abbrev: ^1.0.0 + bin: + nopt: bin/nopt.js + checksum: 837b52c330df16fcaad816b1f54fec6b2854ab1aa771d935c1603fbcf9b023bb073f1466b1b67f48ea4dce127ae675b85b9d9355700e9b109de39db490919786 + languageName: node + linkType: hard + +"normalize-path@npm:^3.0.0, normalize-path@npm:~3.0.0": + version: 3.0.0 + resolution: "normalize-path@npm:3.0.0" + checksum: e008c8142bcc335b5e38cf0d63cfd39d6cf2d97480af9abdbe9a439221fd4d749763bab492a8ee708ce7a194bb00c9da6d0a115018672310850489137b3da046 + languageName: node + linkType: hard + +"normalize-range@npm:^0.1.2": + version: 0.1.2 + resolution: "normalize-range@npm:0.1.2" + checksum: bf39b73a63e0a42ad1a48c2bd1bda5a07ede64a7e2567307a407674e595bcff0fa0d57e8e5f1e7fa5e91000797c7615e13613227aaaa4d6d6e87f5bd5cc95de6 + languageName: node + linkType: hard + +"npmlog@npm:^6.0.0": + version: 6.0.2 + resolution: "npmlog@npm:6.0.2" + dependencies: + are-we-there-yet: ^3.0.0 + console-control-strings: ^1.1.0 + gauge: ^4.0.3 + set-blocking: ^2.0.0 + checksum: 0cacedfbc2f6139c746d9cd4a85f62718435ad0ca4a2d6459cd331dd33ae58206e91a0742c1558634efcde3f33f8e8e7fd3adf1bfe7978310cf00bd55cccf890 + languageName: node + linkType: hard + +"nullthrows@npm:^1.0.0": + version: 1.1.1 + resolution: "nullthrows@npm:1.1.1" + checksum: 56f34bd7c3dcb3bd23481a277fa22918120459d3e9d95ca72976c72e9cac33a97483f0b95fc420e2eb546b9fe6db398273aba9a938650cdb8c98ee8f159dcb30 + languageName: node + linkType: hard + +"object-assign@npm:^4.1.1": + version: 4.1.1 + resolution: "object-assign@npm:4.1.1" + checksum: 1f4df9945120325d041ccf7b86f31e8bcc14e73d29171e37a7903050e96b81323784ec59f93f102ec635bcf6fa8034ba3ea0a8c7e69fa202b87ae3b6cec5a414 + languageName: node + linkType: hard + +"object-hash@npm:^3.0.0": + version: 3.0.0 + resolution: "object-hash@npm:3.0.0" + checksum: a06844537107b960c1c8b96cd2ac8592a265186bfa0f6ccafe0d34eabdb526f6fa81da1f37c43df7ed13b12a4ae3457a16071603bcd39d8beddb5f08c37b0f47 + languageName: node + linkType: hard + +"once@npm:^1.3.0": + version: 1.4.0 + resolution: "once@npm:1.4.0" + dependencies: + wrappy: 1 + checksum: 5d48aca287dfefabd756621c5dfce5c91a549a93e9fdb7b8246bc4c4790aa2ec17b34a260530474635147aeb631a2dcc8b32c613df0675f96041cbb8244517d0 + languageName: node + linkType: hard + +"optimism@npm:^0.16.1": + version: 0.16.2 + resolution: "optimism@npm:0.16.2" + dependencies: + "@wry/context": ^0.7.0 + "@wry/trie": ^0.3.0 + checksum: 06c1e6ab5e7b0c19f69fd7d7959a33122647ae49355233259e4cca505661f36c52a57eca2fc798be56d74eded2a952f50873d9a330064e1e65c19d4d6c8e3f41 + languageName: node + linkType: hard + +"p-map@npm:^4.0.0": + version: 4.0.0 + resolution: "p-map@npm:4.0.0" + dependencies: + aggregate-error: ^3.0.0 + checksum: 592c05bd6262c466ce269ff172bb8de7c6975afca9b50c975135b974e9bdaafbfe80e61aaaf5be6d1200ba08b30ead04b88cfa7e25ff1e3b93ab28c9f62a2c75 + languageName: node + linkType: hard + +"parse-ms@npm:^2.1.0": + version: 2.1.0 + resolution: "parse-ms@npm:2.1.0" + checksum: 9c5c0a95c6267c84085685556a6e102ee806c3147ec11cbb9b98e35998eb4a48a757bd6ea7bfd930062de65909a33d24985055b4394e70aa0b65ee40cef16911 + languageName: node + linkType: hard + +"path-is-absolute@npm:^1.0.0": + version: 1.0.1 + resolution: "path-is-absolute@npm:1.0.1" + checksum: 127da03c82172a2a50099cddbf02510c1791fc2cc5f7713ddb613a56838db1e8168b121a920079d052e0936c23005562059756d653b7c544c53185efe53be078 + languageName: node + linkType: hard + +"path-parse@npm:^1.0.7": + version: 1.0.7 + resolution: "path-parse@npm:1.0.7" + checksum: 11ce261f9d294cc7a58d6a574b7f1b935842355ec66fba3c3fd79e0f036462eaf07d0aa95bb74ff432f9afef97ce1926c720988c6a7451d8a584930ae7de86e1 + languageName: node + linkType: hard + +"picocolors@npm:^1.0.0": + version: 1.0.0 + resolution: "picocolors@npm:1.0.0" + checksum: 20a5b249e331c14479d94ec6817a182fd7a5680debae82705747b2db7ec50009a5f6648d0621c561b0572703f84dbef0858abcbd5856d3c5511426afcb1961f7 + languageName: node + linkType: hard + +"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.3.1": + version: 2.3.1 + resolution: "picomatch@npm:2.3.1" + checksum: 26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be + languageName: node + linkType: hard + +"pify@npm:^2.3.0": + version: 2.3.0 + resolution: "pify@npm:2.3.0" + checksum: 551ff8ab830b1052633f59cb8adc9ae8407a436e06b4a9718bcb27dc5844b83d535c3a8512b388b6062af65a98c49bdc0dd523d8b2617b188f7c8fee457158dc + languageName: node + linkType: hard + +"postcss-import@npm:^14.1.0": + version: 14.1.0 + resolution: "postcss-import@npm:14.1.0" + dependencies: + postcss-value-parser: ^4.0.0 + read-cache: ^1.0.0 + resolve: ^1.1.7 + peerDependencies: + postcss: ^8.0.0 + checksum: 0552f48b6849d48b25213e8bfb4b2ae10fcf061224ba17b5c008d8b8de69b9b85442bff6c7ac2a313aec32f14fd000f57720b06f82dc6e9f104405b221a741db + languageName: node + linkType: hard + +"postcss-js@npm:^4.0.0": + version: 4.0.1 + resolution: "postcss-js@npm:4.0.1" + dependencies: + camelcase-css: ^2.0.1 + peerDependencies: + postcss: ^8.4.21 + checksum: af35d55cb873b0797d3b42529514f5318f447b134541844285c9ac31a17497297eb72296902967911bb737a75163441695737300ce2794e3bd8c70c13a3b106e + languageName: node + linkType: hard + +"postcss-load-config@npm:^3.1.4": + version: 3.1.4 + resolution: "postcss-load-config@npm:3.1.4" + dependencies: + lilconfig: ^2.0.5 + yaml: ^1.10.2 + peerDependencies: + postcss: ">=8.0.9" + ts-node: ">=9.0.0" + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + checksum: 7d2cc6695c2fc063e4538316d651a687fdb55e48db453ff699de916a6ee55ab68eac2b120c28a6b8ca7aa746a588888351b810a215b5cd090eabea62c5762ede + languageName: node + linkType: hard + +"postcss-nested@npm:6.0.0": + version: 6.0.0 + resolution: "postcss-nested@npm:6.0.0" + dependencies: + postcss-selector-parser: ^6.0.10 + peerDependencies: + postcss: ^8.2.14 + checksum: 354ffeab951ac816e3e29dfc958194b7b2f3c749b7af9218a99a7c8ebd5cad7c04fa31b7929024a2f0855c82f02e41994f5409d6377cb97421b53a917bbbad14 + languageName: node + linkType: hard + +"postcss-selector-parser@npm:^6.0.10, postcss-selector-parser@npm:^6.0.11": + version: 6.0.11 + resolution: "postcss-selector-parser@npm:6.0.11" + dependencies: + cssesc: ^3.0.0 + util-deprecate: ^1.0.2 + checksum: 70be26abb75dec3c51be312a086e640aee4a32f18114cfbdf8feac0b6373a5494b5571370ab158174e1d692afc50c198d799ae9759afe5da1da1e629e465112c + languageName: node + linkType: hard + +"postcss-value-parser@npm:^4.0.0, postcss-value-parser@npm:^4.2.0": + version: 4.2.0 + resolution: "postcss-value-parser@npm:4.2.0" + checksum: f4142a4f56565f77c1831168e04e3effd9ffcc5aebaf0f538eee4b2d465adfd4b85a44257bb48418202a63806a7da7fe9f56c330aebb3cac898e46b4cbf49161 + languageName: node + linkType: hard + +"postcss@npm:^8.0.9, postcss@npm:^8.4.21": + version: 8.4.21 + resolution: "postcss@npm:8.4.21" + dependencies: + nanoid: ^3.3.4 + picocolors: ^1.0.0 + source-map-js: ^1.0.2 + checksum: a26e7cc86a1807d624d9965914c26c20faa3f237184cbd69db537387f6a4f62df97347549144284d47e9e8e27e7c60e797cb3b92ad36cb2f4c3c9cb3b73f9758 + languageName: node + linkType: hard + +"pretty-ms@npm:^7.0.0": + version: 7.0.1 + resolution: "pretty-ms@npm:7.0.1" + dependencies: + parse-ms: ^2.1.0 + checksum: 069aec9d939e7903846b3db53b020bed92e3dc5909e0fef09ec8ab104a0b7f9a846605a1633c60af900d288582fb333f6f30469e59d6487a2330301fad35a89c + languageName: node + linkType: hard + +"promise-inflight@npm:^1.0.1": + version: 1.0.1 + resolution: "promise-inflight@npm:1.0.1" + checksum: d179d148d98fbff3d815752fa9a08a87d3190551d1420f17c4467f628214db12235ae068d98cd001f024453676d8985af8f28f002345646c4ece4600a79620bc + languageName: node + linkType: hard + +"promise-retry@npm:^2.0.1": + version: 2.0.1 + resolution: "promise-retry@npm:2.0.1" + dependencies: + err-code: ^2.0.2 + retry: ^0.12.0 + checksum: 9c7045a1a2928094b5b9b15336dcd2a7b1c052f674550df63cc3f36cd44028e5080448175b6f6ca32b642de81150f5e7b1a98b728f15cb069f2dd60ac2616b96 + languageName: node + linkType: hard + +"prop-types@npm:^15.5.4, prop-types@npm:^15.6.2, prop-types@npm:^15.7.2": + version: 15.8.1 + resolution: "prop-types@npm:15.8.1" + dependencies: + loose-envify: ^1.4.0 + object-assign: ^4.1.1 + react-is: ^16.13.1 + checksum: 59ece7ca2fb9838031d73a48d4becb9a7cc1ed10e610517c7d8f19a1e02fa47f7c27d557d8a5702bec3cfeccddc853579832b43f449e54635803f277b1c78077 + languageName: node + linkType: hard + +"queue-microtask@npm:^1.2.2": + version: 1.2.3 + resolution: "queue-microtask@npm:1.2.3" + checksum: 900a93d3cdae3acd7d16f642c29a642aea32c2026446151f0778c62ac089d4b8e6c986811076e1ae180a694cedf077d453a11b58ff0a865629a4f82ab558e102 + languageName: node + linkType: hard + +"quick-lru@npm:^5.1.1": + version: 5.1.1 + resolution: "quick-lru@npm:5.1.1" + checksum: a24cba5da8cec30d70d2484be37622580f64765fb6390a928b17f60cd69e8dbd32a954b3ff9176fa1b86d86ff2ba05252fae55dc4d40d0291c60412b0ad096da + languageName: node + linkType: hard + +"react-clientside-effect@npm:^1.2.6": + version: 1.2.6 + resolution: "react-clientside-effect@npm:1.2.6" + dependencies: + "@babel/runtime": ^7.12.13 + peerDependencies: + react: ^15.3.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 + checksum: aba0adb666018e5c64657c31f4914a8558be73f71d6e2210fa871ebfcab94d786c83082868d7c7fa66feddc2aec19e375745cf0903e0619f2efffef08b92d941 + languageName: node + linkType: hard + +"react-dom@npm:^18.2.0": + version: 18.2.0 + resolution: "react-dom@npm:18.2.0" + dependencies: + loose-envify: ^1.1.0 + scheduler: ^0.23.0 + peerDependencies: + react: ^18.2.0 + checksum: 66dfc5f93e13d0674e78ef41f92ed21dfb80f9c4ac4ac25a4b51046d41d4d2186abc915b897f69d3d0ebbffe6184e7c5876f2af26bfa956f179225d921be713a + languageName: node + linkType: hard + +"react-focus-lock@npm:^2.5.2": + version: 2.9.4 + resolution: "react-focus-lock@npm:2.9.4" + dependencies: + "@babel/runtime": ^7.0.0 + focus-lock: ^0.11.6 + prop-types: ^15.6.2 + react-clientside-effect: ^1.2.6 + use-callback-ref: ^1.3.0 + use-sidecar: ^1.1.2 + peerDependencies: + "@types/react": ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 76b13d7e7e6883f8b941c9778beae8184deb28333fb0c6d8433a245d98e3a4f0bc3c9c395322e209e107f1ea86b117284e34d83f636d5186c200a05081113c6c + languageName: node + linkType: hard + +"react-is@npm:^16.13.1, react-is@npm:^16.7.0": + version: 16.13.1 + resolution: "react-is@npm:16.13.1" + checksum: 33977da7a5f1a287936a0c85639fec6ca74f4f15ef1e59a6bc20338fc73dc69555381e211f7a3529b8150a1f71e4225525b41b60b52965bda53ce7d47377ada1 + languageName: node + linkType: hard + +"react-lifecycles-compat@npm:^3.0.4": + version: 3.0.4 + resolution: "react-lifecycles-compat@npm:3.0.4" + checksum: 1d0df3c85af79df720524780f00c064d53a9dd1899d785eddb7264b378026979acbddb58a4b7e06e7d0d12aa1494fd5754562ee55d32907b15601068dae82c27 + languageName: node + linkType: hard + +"react-refresh@npm:^0.14.0": + version: 0.14.0 + resolution: "react-refresh@npm:0.14.0" + checksum: b8ae07ad153357d77830928a7f1fc2df837aabefee907fa273ba04c7643f3b860e986f1d4b7ada9b721c8d79b8c24b5b911a314a1a2398b105f1b13d19ea2b8d + languageName: node + linkType: hard + +"react-remove-scroll-bar@npm:^2.3.3": + version: 2.3.4 + resolution: "react-remove-scroll-bar@npm:2.3.4" + dependencies: + react-style-singleton: ^2.2.1 + tslib: ^2.0.0 + peerDependencies: + "@types/react": ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 2262750dc1022c56d2c79e8d865c00045881c57bcaca74810ae8adac35cfdf723ff7d6b3b0e95c85eb9a0cff90bb4b1e0af801bd703ce8c0a2e35ab14ff1babb + languageName: node + linkType: hard + +"react-remove-scroll@npm:^2.4.3": + version: 2.5.5 + resolution: "react-remove-scroll@npm:2.5.5" + dependencies: + react-remove-scroll-bar: ^2.3.3 + react-style-singleton: ^2.2.1 + tslib: ^2.1.0 + use-callback-ref: ^1.3.0 + use-sidecar: ^1.1.2 + peerDependencies: + "@types/react": ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 4952657e6a7b9d661d4ad4dfcef81b9c7fa493e35164abff99c35c0b27b3d172ef7ad70c09416dc44dd14ff2e6b38a5ec7da27e27e90a15cbad36b8fd2fd8054 + languageName: node + linkType: hard + +"react-router-dom@npm:^6.8.1": + version: 6.8.1 + resolution: "react-router-dom@npm:6.8.1" + dependencies: + "@remix-run/router": 1.3.2 + react-router: 6.8.1 + peerDependencies: + react: ">=16.8" + react-dom: ">=16.8" + checksum: ce2a756b8deeacf375166d2f009b344560dc45f34ddba213b48caf3089d4035563068beda2bff091904d2a1544b78135cbb9a5fa2f1cd645b7429f2b740defd5 + languageName: node + linkType: hard + +"react-router@npm:6.8.1": + version: 6.8.1 + resolution: "react-router@npm:6.8.1" + dependencies: + "@remix-run/router": 1.3.2 + peerDependencies: + react: ">=16.8" + checksum: ff37445433394f3468c67fb3fb14d3e5c303cd4a9937da31b663818952b0241af3c2de822123e7d06231131e757ce2c72dd08da7e23964b52e6416588112e02e + languageName: node + linkType: hard + +"react-split-pane@npm:^0.1.92": + version: 0.1.92 + resolution: "react-split-pane@npm:0.1.92" + dependencies: + prop-types: ^15.7.2 + react-lifecycles-compat: ^3.0.4 + react-style-proptype: ^3.2.2 + peerDependencies: + react: ^16.0.0-0 + react-dom: ^16.0.0-0 + checksum: 14fdf1e247905abf1e3619042a29ee03ac62f80436bb0c672b04be5d4f0b7c1aeb6d992d5631bcc5b43d3fb766ee4387dc10a83251240a5de6809072a07dfef6 + languageName: node + linkType: hard + +"react-style-proptype@npm:^3.2.2": + version: 3.2.2 + resolution: "react-style-proptype@npm:3.2.2" + dependencies: + prop-types: ^15.5.4 + checksum: 5996267c2b65b3873593e6bc6bb0ac0fddc93c15bddf7a23370ecdabf3e6655367895b8a6b8f0871bef7821b68b21042d150aabd7c16519c3d47e27819d9351f + languageName: node + linkType: hard + +"react-style-singleton@npm:^2.2.1": + version: 2.2.1 + resolution: "react-style-singleton@npm:2.2.1" + dependencies: + get-nonce: ^1.0.0 + invariant: ^2.2.4 + tslib: ^2.0.0 + peerDependencies: + "@types/react": ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 6d66f3bdb65e1ec79089f80314da97c9a005087a04ee034255a5de129a4c0d9fd0bf99fa7bf642781ac2dc745ca687aae3de082bd8afdd0d117bc953241e15ad + languageName: node + linkType: hard + +"react@npm:^18.2.0": + version: 18.2.0 + resolution: "react@npm:18.2.0" + dependencies: + loose-envify: ^1.1.0 + checksum: b562d9b569b0cb315e44b48099f7712283d93df36b19a39a67c254c6686479d3980b7f013dc931f4a5a3ae7645eae6386b4aa5eea933baa54ecd0f9acb0902b8 + languageName: node + linkType: hard + +"read-cache@npm:^1.0.0": + version: 1.0.0 + resolution: "read-cache@npm:1.0.0" + dependencies: + pify: ^2.3.0 + checksum: 90cb2750213c7dd7c80cb420654344a311fdec12944e81eb912cd82f1bc92aea21885fa6ce442e3336d9fccd663b8a7a19c46d9698e6ca55620848ab932da814 + languageName: node + linkType: hard + +"readable-stream@npm:^3.6.0": + version: 3.6.0 + resolution: "readable-stream@npm:3.6.0" + dependencies: + inherits: ^2.0.3 + string_decoder: ^1.1.1 + util-deprecate: ^1.0.1 + checksum: 937bedd29ac8a68331666291922bea892fa2be1a33269e582de9f844a2002f146cf831e39cd49fe6a378d3f0c27358f259ed0e20d20f0bdc6a3f8fc21fce42dc + languageName: node + linkType: hard + +"readdirp@npm:~3.6.0": + version: 3.6.0 + resolution: "readdirp@npm:3.6.0" + dependencies: + picomatch: ^2.2.1 + checksum: 6fa848cf63d1b82ab4e985f4cf72bd55b7dcfd8e0a376905804e48c3634b7e749170940ba77b32804d5fe93b3cc521aa95a8d7e7d725f830da6d93f3669ce66b + languageName: node + linkType: hard + +"regenerator-runtime@npm:^0.13.11": + version: 0.13.11 + resolution: "regenerator-runtime@npm:0.13.11" + checksum: 12b069dc774001fbb0014f6a28f11c09ebfe3c0d984d88c9bced77fdb6fedbacbca434d24da9ae9371bfbf23f754869307fb51a4c98a8b8b18e5ef748677ca24 + languageName: node + linkType: hard + +"resolve@npm:^1.1.7, resolve@npm:^1.22.1": + version: 1.22.1 + resolution: "resolve@npm:1.22.1" + dependencies: + is-core-module: ^2.9.0 + path-parse: ^1.0.7 + supports-preserve-symlinks-flag: ^1.0.0 + bin: + resolve: bin/resolve + checksum: 6d58b1cb40f3fc80b9e45dd799d84cdc3829a993e4b9fa3b59d331e1dfacd0870e1851f4d0eb549d68c796e0b7087b43d1aec162653ccccff9e18191221a6e7d + languageName: node + linkType: hard + +"resolve@patch:resolve@^1.1.7#~builtin, resolve@patch:resolve@^1.22.1#~builtin": + version: 1.22.1 + resolution: "resolve@patch:resolve@npm%3A1.22.1#~builtin::version=1.22.1&hash=c3c19d" + dependencies: + is-core-module: ^2.9.0 + path-parse: ^1.0.7 + supports-preserve-symlinks-flag: ^1.0.0 + bin: + resolve: bin/resolve + checksum: 0d8ccceba5537769c42aa75e4aa75ae854aac866a11d7e9ffdb1663f0158ee646a0d48fc2818ed5e7fb364d64220a1fb9092a160e11e00cbdd5fbab39a13092c + languageName: node + linkType: hard + +"response-iterator@npm:^0.2.6": + version: 0.2.6 + resolution: "response-iterator@npm:0.2.6" + checksum: 60e6b552cd610643269d5d916d270cc8a4bea978cbe4779d6ef8083ac6b89006795508034e4c4ebe204eded75ac32bf243589ba82c1184591dde0674f6db785e + languageName: node + linkType: hard + +"retry@npm:^0.12.0": + version: 0.12.0 + resolution: "retry@npm:0.12.0" + checksum: 59933e8501727ba13ad73ef4a04d5280b3717fd650408460c987392efe9d7be2040778ed8ebe933c5cbd63da3dcc37919c141ef8af0a54a6e4fca5a2af177bfe + languageName: node + linkType: hard + +"reusify@npm:^1.0.4": + version: 1.0.4 + resolution: "reusify@npm:1.0.4" + checksum: c19ef26e4e188f408922c46f7ff480d38e8dfc55d448310dfb518736b23ed2c4f547fb64a6ed5bdba92cd7e7ddc889d36ff78f794816d5e71498d645ef476107 + languageName: node + linkType: hard + +"rimraf@npm:^3.0.2": + version: 3.0.2 + resolution: "rimraf@npm:3.0.2" + dependencies: + glob: ^7.1.3 + bin: + rimraf: bin.js + checksum: 9cb7757acb489bd83757ba1a274ab545eafd75598a9d817e0c3f8b164238dd90eba50d6b848bd4dcc5f3040912e882dc7ba71653e35af660d77b25c381d402e8 + languageName: node + linkType: hard + +"rollup@npm:^3.10.0": + version: 3.17.0 + resolution: "rollup@npm:3.17.0" + dependencies: + fsevents: ~2.3.2 + dependenciesMeta: + fsevents: + optional: true + bin: + rollup: dist/bin/rollup + checksum: 1198f36ee4cfd25da14c55ff843f61e79fde03dcf40011771ff41161a182e46e99993e50c2abf6b224eeb1f79ed47bb3e7b4ba0f0d71ea9c5940aa29898c7672 + languageName: node + linkType: hard + +"run-parallel@npm:^1.1.9": + version: 1.2.0 + resolution: "run-parallel@npm:1.2.0" + dependencies: + queue-microtask: ^1.2.2 + checksum: 200b5ab25b5b8b7113f9901bfe3afc347e19bb7475b267d55ad0eb86a62a46d77510cb0f232507c9e5d497ebda569a08a9867d0d14f57a82ad5564d991588b39 + languageName: node + linkType: hard + +"safe-buffer@npm:~5.2.0": + version: 5.2.1 + resolution: "safe-buffer@npm:5.2.1" + checksum: 6501914237c0a86e9675d4e51d89ca3c21ffd6a31642efeba25ad65720bce6921c9e7e974e5be91a786b25aa058b5303285d3c15dbabf983a919f5f630d349f3 + languageName: node + linkType: hard + +"safer-buffer@npm:>= 2.1.2 < 3.0.0": + version: 2.1.2 + resolution: "safer-buffer@npm:2.1.2" + checksum: 7e3c8b2e88a1841c9671094bbaeebd94448111dd90a81a1f606f3f67708a6ec57763b3b47f06da09fc6054193e0e6709e77325415dc8422b04497a8070fa02d4 + languageName: node + linkType: hard + +"scheduler@npm:^0.23.0": + version: 0.23.0 + resolution: "scheduler@npm:0.23.0" + dependencies: + loose-envify: ^1.1.0 + checksum: b777f7ca0115e6d93e126ac490dbd82642d14983b3079f58f35519d992fa46260be7d6e6cede433a92db70306310c6f5f06e144f0e40c484199e09c1f7be53dd + languageName: node + linkType: hard + +"semver@npm:^6.3.0": + version: 6.3.0 + resolution: "semver@npm:6.3.0" + bin: + semver: ./bin/semver.js + checksum: 1f4959e15bcfbaf727e964a4920f9260141bb8805b399793160da4e7de128e42a7d1f79c1b7d5cd21a6073fba0d55feb9966f5fef3e5ccb8e1d7ead3d7527458 + languageName: node + linkType: hard + +"semver@npm:^7.3.5": + version: 7.3.8 + resolution: "semver@npm:7.3.8" + dependencies: + lru-cache: ^6.0.0 + bin: + semver: bin/semver.js + checksum: 7e581d679530db31757301c2117721577a2bb36a301a443aac833b8efad372cda58e7f2a464fe4412ae1041cc1f63a6c1fe0ced8c57ce5aca1e0b57bb0d627b9 + languageName: node + linkType: hard + +"set-blocking@npm:^2.0.0": + version: 2.0.0 + resolution: "set-blocking@npm:2.0.0" + checksum: 9f8c1b2d800800d0b589de1477c753492de5c1548d4ade52f57f1d1f5e04af5481554d75ce5e5c43d4004b80a3eb714398d6907027dc0534177b7539119f4454 + languageName: node + linkType: hard + +"set-value@npm:^4.1.0": + version: 4.1.0 + resolution: "set-value@npm:4.1.0" + dependencies: + is-plain-object: ^2.0.4 + is-primitive: ^3.0.1 + checksum: dc186676b6cc0cfcf1656b8acdfe7a68591f0645dd2872250100817fb53e5e9298dc1727a95605ac03f82110e9b3820c90a0a02d84e0fb89f210922b08b37e02 + languageName: node + linkType: hard + +"signal-exit@npm:^3.0.7": + version: 3.0.7 + resolution: "signal-exit@npm:3.0.7" + checksum: 25d272fa73e146048565e08f3309d5b942c1979a6f4a58a8c59d5fa299728e9c2fcd1a759ec870863b1fd38653670240cd420dad2ad9330c71f36608a6a1c912 + languageName: node + linkType: hard + +"smart-buffer@npm:^4.2.0": + version: 4.2.0 + resolution: "smart-buffer@npm:4.2.0" + checksum: a16775323e1404dd43fabafe7460be13a471e021637bc7889468eb45ce6a6b207261f454e4e530a19500cc962c4cc5348583520843b363f4193cee5c00e1e539 + languageName: node + linkType: hard + +"socks-proxy-agent@npm:^7.0.0": + version: 7.0.0 + resolution: "socks-proxy-agent@npm:7.0.0" + dependencies: + agent-base: ^6.0.2 + debug: ^4.3.3 + socks: ^2.6.2 + checksum: b859f7eb8e96ec2c4186beea233ae59c02404094f3eb009946836af27d6e5c1627d1975a69b4d2e20611729ed543b6db3ae8481eb38603433c50d0345c987600 + languageName: node + linkType: hard + +"socks@npm:^2.6.2": + version: 2.7.1 + resolution: "socks@npm:2.7.1" + dependencies: + ip: ^2.0.0 + smart-buffer: ^4.2.0 + checksum: 43f69dbc9f34fc8220bc51c6eea1c39715ab3cfdb115d6e3285f6c7d1a603c5c75655668a5bbc11e3c7e2c99d60321fb8d7ab6f38cda6a215fadd0d6d0b52130 + languageName: node + linkType: hard + +"source-map-js@npm:^1.0.2": + version: 1.0.2 + resolution: "source-map-js@npm:1.0.2" + checksum: 32f2dfd1e9b7168f9a9715eb1b4e21905850f3b50cf02cf476e47e4eebe8e6b762b63a64357896aa29b37e24922b4282df0f492e0d2ace572b43d15525976ff8 + languageName: node + linkType: hard + +"ssri@npm:^9.0.0": + version: 9.0.1 + resolution: "ssri@npm:9.0.1" + dependencies: + minipass: ^3.1.1 + checksum: c5d153ce03b5980d683ecaa4d805f6a03d8dc545736213803e168a1907650c46c08a4e5ce6d670a0205482b35c35713d9d286d9133bdd79853a406e22ad81f04 + languageName: node + linkType: hard + +"string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.2.3": + version: 4.2.3 + resolution: "string-width@npm:4.2.3" + dependencies: + emoji-regex: ^8.0.0 + is-fullwidth-code-point: ^3.0.0 + strip-ansi: ^6.0.1 + checksum: 1e525e92e5eae0afd7454086eed9c818ee84374bb80328fc41217ae72ff5f065ef1c9d7f72da41de40c75fa8bb3dee63d92373fd492c84260a552c636392a47b + languageName: node + linkType: hard + +"string_decoder@npm:^1.1.1": + version: 1.3.0 + resolution: "string_decoder@npm:1.3.0" + dependencies: + safe-buffer: ~5.2.0 + checksum: 810614ddb030e271cd591935dcd5956b2410dd079d64ff92a1844d6b7588bf992b3e1b69b0f4d34a3e06e0bd73046ac646b5264c1987b20d0601f81ef35d731d + languageName: node + linkType: hard + +"strip-ansi@npm:^6.0.1": + version: 6.0.1 + resolution: "strip-ansi@npm:6.0.1" + dependencies: + ansi-regex: ^5.0.1 + checksum: 1ae5f212a126fe5b167707f716942490e3933085a5ff6c008ab97ab2f272c8025d3aa218b7bd6ab25729ca20cc81cddb252102f8751e13482a5199e873680952 + languageName: node + linkType: hard + +"supports-color@npm:^5.3.0": + version: 5.5.0 + resolution: "supports-color@npm:5.5.0" + dependencies: + has-flag: ^3.0.0 + checksum: 6ae5ff319bfbb021f8a86da8ea1f8db52fac8bd4d499492e30ec17095b58af11f0c55f8577390a749b1c4dde691b6a0315dab78f5f54c9b3d83f8fb5905c1c05 + languageName: node + linkType: hard + +"supports-preserve-symlinks-flag@npm:^1.0.0": + version: 1.0.0 + resolution: "supports-preserve-symlinks-flag@npm:1.0.0" + checksum: 6c4032340701a9950865f7ae8ef38578d8d7053f5e10518076e6554a9381fa91bd9c6850193695c141f32b21f979c985db07265a758867bac95de05f7d8aeb39 + languageName: node + linkType: hard + +"symbol-observable@npm:^4.0.0": + version: 4.0.0 + resolution: "symbol-observable@npm:4.0.0" + checksum: 5e9a3ab08263a6be8cbee76587ad5880dcc62a47002787ed5ebea56b1eb30dc87da6f0183d67e88286806799fbe21c69077fbd677be4be2188e92318d6c6f31d + languageName: node + linkType: hard + +"tabbable@npm:^4.0.0": + version: 4.0.0 + resolution: "tabbable@npm:4.0.0" + checksum: 8c95a8f7c6301e14f13688dd943d21457d1307220ce79850ccd140db2997be03fa8e49139faad0e3f5d25cafeef95adfae4ac5264d629611d18782e2db7eb59d + languageName: node + linkType: hard + +"tailwindcss@npm:^3.2.7": + version: 3.2.7 + resolution: "tailwindcss@npm:3.2.7" + dependencies: + arg: ^5.0.2 + chokidar: ^3.5.3 + color-name: ^1.1.4 + detective: ^5.2.1 + didyoumean: ^1.2.2 + dlv: ^1.1.3 + fast-glob: ^3.2.12 + glob-parent: ^6.0.2 + is-glob: ^4.0.3 + lilconfig: ^2.0.6 + micromatch: ^4.0.5 + normalize-path: ^3.0.0 + object-hash: ^3.0.0 + picocolors: ^1.0.0 + postcss: ^8.0.9 + postcss-import: ^14.1.0 + postcss-js: ^4.0.0 + postcss-load-config: ^3.1.4 + postcss-nested: 6.0.0 + postcss-selector-parser: ^6.0.11 + postcss-value-parser: ^4.2.0 + quick-lru: ^5.1.1 + resolve: ^1.22.1 + peerDependencies: + postcss: ^8.0.9 + bin: + tailwind: lib/cli.js + tailwindcss: lib/cli.js + checksum: a36da25493efb0bbf1a5c303b2c01f2af4316f971bbd77a6bcc14b1af7afbb4f8417b808e06faa375db1a829900f14a0a1480799f0f470124f98746af73fc21e + languageName: node + linkType: hard + +"tar@npm:^6.1.11, tar@npm:^6.1.2": + version: 6.1.13 + resolution: "tar@npm:6.1.13" + dependencies: + chownr: ^2.0.0 + fs-minipass: ^2.0.0 + minipass: ^4.0.0 + minizlib: ^2.1.1 + mkdirp: ^1.0.3 + yallist: ^4.0.0 + checksum: eee5f264f3f3c27cd8d4934f80c568470f92811c416144ab671bb36b45a8ed55fbfbbd31f0146f3eddaca91fd564c9a7ec4d2086940968b836f4a2c54146c060 + languageName: node + linkType: hard + +"tiny-warning@npm:^1.0.3": + version: 1.0.3 + resolution: "tiny-warning@npm:1.0.3" + checksum: ef8531f581b30342f29670cb41ca248001c6fd7975ce22122bd59b8d62b4fc84ad4207ee7faa95cde982fa3357cd8f4be650142abc22805538c3b1392d7084fa + languageName: node + linkType: hard + +"to-fast-properties@npm:^2.0.0": + version: 2.0.0 + resolution: "to-fast-properties@npm:2.0.0" + checksum: b214d21dbfb4bce3452b6244b336806ffea9c05297148d32ebb428d5c43ce7545bdfc65a1ceb58c9ef4376a65c0cb2854d645f33961658b3e3b4f84910ddcdd7 + languageName: node + linkType: hard + +"to-regex-range@npm:^5.0.1": + version: 5.0.1 + resolution: "to-regex-range@npm:5.0.1" + dependencies: + is-number: ^7.0.0 + checksum: 487988b0a19c654ff3e1961b87f471702e708fa8a8dd02a298ef16da7206692e8552a0250e8b3e8759270f62e9d8314616f6da274734d3b558b1fc7b7724e892 + languageName: node + linkType: hard + +"toggle-selection@npm:^1.0.6": + version: 1.0.6 + resolution: "toggle-selection@npm:1.0.6" + checksum: f2cf1f2c70f374fd87b0cdc8007453ba9e981c4305a8bf4eac10a30e62ecdfd28bca7d18f8f15b15a506bf8a7bfb20dbe3539f0fcf2a2c8396c1a78d53e1f179 + languageName: node + linkType: hard + +"ts-invariant@npm:^0.10.3": + version: 0.10.3 + resolution: "ts-invariant@npm:0.10.3" + dependencies: + tslib: ^2.1.0 + checksum: 2fbc178d5903d325ee0b87fad38827eac11888b6e86979b06754fd4bcdcf44c2a99b8bcd5d59d149c0464ede55ae810b02a2aee6835ad10efe4dd0e22efd68c0 + languageName: node + linkType: hard + +"tslib@npm:^2.0.0, tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.3.0": + version: 2.5.0 + resolution: "tslib@npm:2.5.0" + checksum: e32fc99cc730dd514e53c44e668d76016e738f0bcc726aad5dbd2d335cf19b87a95a9b1e4f0a9993e370f1d702b5e471cdd4acabcac428a3099d496b9af2021e + languageName: node + linkType: hard + +"typescript@npm:^4.9.3": + version: 4.9.5 + resolution: "typescript@npm:4.9.5" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 5f6cad2e728a8a063521328e612d7876e12f0d8a8390d3b3aaa452a6a65e24e9ac8ea22beb72a924fd96ea0a49ea63bb4e251fb922b12eedfb7f7a26475e5c56 + languageName: node + linkType: hard + +"typescript@patch:typescript@^4.9.3#~builtin": + version: 4.9.5 + resolution: "typescript@patch:typescript@npm%3A4.9.5#~builtin::version=4.9.5&hash=23ec76" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10d31da0caa997927eab0167b7ddacb9ac8d3fd87e6584185b14da32b7f033e727309682fc0395021f4ac110860a3be6054e9b039a996a24d282a20bafc599f4 + languageName: node + linkType: hard + +"uc.micro@npm:^1.0.1, uc.micro@npm:^1.0.5": + version: 1.0.6 + resolution: "uc.micro@npm:1.0.6" + checksum: 9bde2afc6f2e24b899db6caea47dae778b88862ca76688d844ef6e6121dec0679c152893a74a6cfbd2e6fde34654e6bd8424fee8e0166cdfa6c9ae5d42b8a17b + languageName: node + linkType: hard + +"unique-filename@npm:^2.0.0": + version: 2.0.1 + resolution: "unique-filename@npm:2.0.1" + dependencies: + unique-slug: ^3.0.0 + checksum: 55d95cd670c4a86117ebc34d394936d712d43b56db6bc511f9ca00f666373818bf9f075fb0ab76bcbfaf134592ef26bb75aad20786c1ff1ceba4457eaba90fb8 + languageName: node + linkType: hard + +"unique-slug@npm:^3.0.0": + version: 3.0.0 + resolution: "unique-slug@npm:3.0.0" + dependencies: + imurmurhash: ^0.1.4 + checksum: 617240eb921af803b47d322d75a71a363dacf2e56c29ae5d1404fad85f64f4ec81ef10ee4fd79215d0202cbe1e5a653edb0558d59c9c81d3bd538c2d58e4c026 + languageName: node + linkType: hard + +"update-browserslist-db@npm:^1.0.10": + version: 1.0.10 + resolution: "update-browserslist-db@npm:1.0.10" + dependencies: + escalade: ^3.1.1 + picocolors: ^1.0.0 + peerDependencies: + browserslist: ">= 4.21.0" + bin: + browserslist-lint: cli.js + checksum: e6fa55b515a674cc3b6c045d1f37f72780ddbbbb48b3094391fb2e43357b859ca5cee4c7d3055fd654d442ef032777d0972494a9a2e6c30d3660ee57b7138ae9 + languageName: node + linkType: hard + +"use-callback-ref@npm:^1.3.0": + version: 1.3.0 + resolution: "use-callback-ref@npm:1.3.0" + dependencies: + tslib: ^2.0.0 + peerDependencies: + "@types/react": ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 8a0867ffd441f358c66d79567970a745cc78ac2f98840a81c1fa749a525e8716116c645497d886a815e1dcf40ad81a107ebd6a7d15fd9ab5925c44a994a1d89a + languageName: node + linkType: hard + +"use-sidecar@npm:^1.1.2": + version: 1.1.2 + resolution: "use-sidecar@npm:1.1.2" + dependencies: + detect-node-es: ^1.1.0 + tslib: ^2.0.0 + peerDependencies: + "@types/react": ^16.9.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 89f0018fd9aee1fc17c85ac18c4bf8944d460d453d0d0e04ddbc8eaddf3fa591e9c74a1f8a438a1bff368a7a2417fab380bdb3df899d2194c4375b0982736de0 + languageName: node + linkType: hard + +"use-url-search-params@npm:^2.5.1": + version: 2.5.1 + resolution: "use-url-search-params@npm:2.5.1" + peerDependencies: + react: "*" + checksum: a4b88944f9aa0f56c4e556ddf80c047a1568604dc160bf1ce6c31a02623d07a17927753aeb95d9c403097c9ecc01cad114f0c1b74aedb744cfd8075e26f068b8 + languageName: node + linkType: hard + +"util-deprecate@npm:^1.0.1, util-deprecate@npm:^1.0.2": + version: 1.0.2 + resolution: "util-deprecate@npm:1.0.2" + checksum: 41a5bdd214df2f6c3ecf8622745e4a366c4adced864bc3c833739791aeeeb1838119af7daed4ba36428114b5c67dcda034a79c882e97e43c03e66a4dd7389942 + languageName: node + linkType: hard + +"vite@npm:^4.1.0": + version: 4.1.2 + resolution: "vite@npm:4.1.2" + dependencies: + esbuild: ^0.16.14 + fsevents: ~2.3.2 + postcss: ^8.4.21 + resolve: ^1.22.1 + rollup: ^3.10.0 + peerDependencies: + "@types/node": ">= 14" + less: "*" + sass: "*" + stylus: "*" + sugarss: "*" + terser: ^5.4.0 + dependenciesMeta: + fsevents: + optional: true + peerDependenciesMeta: + "@types/node": + optional: true + less: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + bin: + vite: bin/vite.js + checksum: 364e51ece1e8080858a2c35bcf01a597a0be23864a758820668af904a4e8f8bd697625d5a3dc13e74d0807fecce9d4e10fd3ab5508eeea67a600c14e0b65906b + languageName: node + linkType: hard + +"vscode-languageserver-types@npm:^3.17.1": + version: 3.17.3 + resolution: "vscode-languageserver-types@npm:3.17.3" + checksum: a70d4ac0dbc08ba425b97e329e6a5696dabc6a264415bacb861e10d859b224f1b46d1fb41c17b6fdd31b32749d3bdfc819cb1b8a57dbe0d1e70e661ba8cfa397 + languageName: node + linkType: hard + +"which@npm:^2.0.2": + version: 2.0.2 + resolution: "which@npm:2.0.2" + dependencies: + isexe: ^2.0.0 + bin: + node-which: ./bin/node-which + checksum: 66522872a768b60c2a65a57e8ad184e5372f5b6a9ca6d5f033d4b0dc98aff63995655a7503b9c0a2598936f532120e81dd8cc155e2e92ed662a2b9377cc4374f + languageName: node + linkType: hard + +"wide-align@npm:^1.1.5": + version: 1.1.5 + resolution: "wide-align@npm:1.1.5" + dependencies: + string-width: ^1.0.2 || 2 || 3 || 4 + checksum: 1d9c2a3e36dfb09832f38e2e699c367ef190f96b82c71f809bc0822c306f5379df87bab47bed27ea99106d86447e50eb972d3c516c2f95782807a9d082fbea95 + languageName: node + linkType: hard + +"wrappy@npm:1": + version: 1.0.2 + resolution: "wrappy@npm:1.0.2" + checksum: 56fece1a4018c6a6c8e28fbc88c87e0fbf4ea8fd64fc6c63b18f4acc4bd13e0ad2515189786dd2c30d3eec9663d70f4ecf699330002f8ccb547e4a18231fc9f0 + languageName: node + linkType: hard + +"xtend@npm:^4.0.2": + version: 4.0.2 + resolution: "xtend@npm:4.0.2" + checksum: 366ae4783eec6100f8a02dff02ac907bf29f9a00b82ac0264b4d8b832ead18306797e283cf19de776538babfdcb2101375ec5646b59f08c52128ac4ab812ed0e + languageName: node + linkType: hard + +"yallist@npm:^3.0.2": + version: 3.1.1 + resolution: "yallist@npm:3.1.1" + checksum: c66a5c46bc89af1625476f7f0f2ec3653c1a1791d2f9407cfb4c2ba812a1e1c9941416d71ba9719876530e3340a99925f697142989371b72d93b9ee628afd8c1 + languageName: node + linkType: hard + +"yallist@npm:^4.0.0": + version: 4.0.0 + resolution: "yallist@npm:4.0.0" + checksum: 2286b5e8dbfe22204ab66e2ef5cc9bbb1e55dfc873bbe0d568aa943eb255d131890dfd5bf243637273d31119b870f49c18fcde2c6ffbb7a7a092b870dc90625a + languageName: node + linkType: hard + +"yaml@npm:^1.10.2": + version: 1.10.2 + resolution: "yaml@npm:1.10.2" + checksum: 5c28b9eb7adc46544f28d9a8d20c5b3cb1215a886609a2fd41f51628d8aaa5878ccd628b755dbcd29f6bb4921bd04ffbc6dcc370689bb96e594e2f9813d2605f + languageName: node + linkType: hard + +"zen-observable-ts@npm:^1.2.5": + version: 1.2.5 + resolution: "zen-observable-ts@npm:1.2.5" + dependencies: + zen-observable: 0.8.15 + checksum: 21d586f3d0543e1d6f05d9333a137b407dbf337907c1ee1c2fa7a7da044f7e1262e4baf4ef8902f230c6f5acb561047659eb7df73df33307233cc451efe46db1 + languageName: node + linkType: hard + +"zen-observable@npm:0.8.15": + version: 0.8.15 + resolution: "zen-observable@npm:0.8.15" + checksum: 71cc2f2bbb537300c3f569e25693d37b3bc91f225cefce251a71c30bc6bb3e7f8e9420ca0eb57f2ac9e492b085b8dfa075fd1e8195c40b83c951dd59c6e4fbf8 + languageName: node + linkType: hard diff --git a/packages/studio/package.json b/packages/studio/package.json new file mode 100644 index 000000000000..6e9af31196fd --- /dev/null +++ b/packages/studio/package.json @@ -0,0 +1,70 @@ +{ + "name": "@redwoodjs/studio", + "version": "0.0.1", + "description": "Redwood's development studio", + "repository": { + "type": "git", + "url": "https://github.com/redwoodjs/redwood.git", + "directory": "packages/studio" + }, + "license": "MIT", + "main": "dist-backend/index.js", + "files": [ + "dist-backend", + "dist-frontend" + ], + "scripts": { + "build": "yarn build:js && yarn build:types", + "build:js": "babel backend -d dist-backend --extensions \".js,.ts,.tsx\"", + "build:types": "tsc --build --verbose", + "build:watch": "nodemon --watch src --ext \"js,ts,tsx\" --ignore dist-backend --exec \"yarn build && yarn fix:permissions\"", + "fix:permissions": "chmod +x dist-backend/index.js; chmod +x dist-backend/watch.js", + "prepublishOnly": "NODE_ENV=production yarn build", + "test": "jest backend frontend --passWithNoTests", + "test:watch": "yarn test --watch" + }, + "dependencies": { + "@babel/plugin-transform-runtime": "7.21.0", + "@babel/runtime-corejs3": "7.21.0", + "@fastify/http-proxy": "9.0.0", + "@fastify/static": "6.10.0", + "@fastify/url-data": "5.3.1", + "@redwoodjs/internal": "4.0.0", + "ansi-colors": "4.1.3", + "chalk": "4.1.2", + "chokidar": "3.5.3", + "core-js": "3.30.0", + "crypto-js": "4.1.1", + "dotenv": "16.0.3", + "fast-json-parse": "1.0.3", + "fastify": "4.15.0", + "fastify-raw-body": "4.2.0", + "graphql": "16.6.0", + "graphql-yoga": "3.8.0", + "jsonwebtoken": "9.0.0", + "lodash.escape": "4.0.1", + "pretty-bytes": "5.6.0", + "qs": "6.11.1", + "split2": "4.2.0", + "sqlite": "4.1.2", + "sqlite3": "5.1.4", + "uuid": "9.0.0", + "yargs": "17.7.1" + }, + "devDependencies": { + "@babel/cli": "7.21.0", + "@babel/core": "7.21.3", + "@types/aws-lambda": "8.10.114", + "@types/crypto-js": "4.1.1", + "@types/jsonwebtoken": "9.0.1", + "@types/lodash.escape": "4.0.7", + "@types/qs": "6.9.7", + "@types/split2": "3.2.1", + "@types/uuid": "9.0.1", + "@types/yargs": "17.0.24", + "aws-lambda": "1.0.7", + "jest": "29.5.0", + "typescript": "5.0.3" + }, + "gitHead": "3905ed045508b861b495f8d5630d76c7a157d8f1" +} diff --git a/packages/studio/tsconfig.json b/packages/studio/tsconfig.json new file mode 100644 index 000000000000..3c8990f7ecd3 --- /dev/null +++ b/packages/studio/tsconfig.json @@ -0,0 +1,11 @@ +{ + "extends": "../../tsconfig.compilerOption.json", + "compilerOptions": { + "baseUrl": "./", + "rootDir": "backend", + "tsBuildInfoFile": "dist-backend/tsconfig.tsbuildinfo", + "outDir": "dist-backend", + }, + "include": ["backend", "ambient.d.ts"], + "references": [{ "path": "../internal" }] +} diff --git a/yarn.lock b/yarn.lock index 69be6d343324..6043587ee407 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2270,6 +2270,16 @@ __metadata: languageName: node linkType: hard +"@envelop/on-resolve@npm:2.0.6": + version: 2.0.6 + resolution: "@envelop/on-resolve@npm:2.0.6" + peerDependencies: + "@envelop/core": ^3.0.6 + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 + checksum: fd194ed2c5941cd23cd8ef2c2666ae2811cc2e68d74030e50f7a6273f8888ffb5430d4a30e2f46acf626cb92b174e31ba690b034edaaa2ff290f2cdb73072f84 + languageName: node + linkType: hard + "@envelop/testing@npm:5.0.6": version: 5.0.6 resolution: "@envelop/testing@npm:5.0.6" @@ -4577,6 +4587,25 @@ __metadata: languageName: node linkType: hard +"@mapbox/node-pre-gyp@npm:^1.0.0": + version: 1.0.10 + resolution: "@mapbox/node-pre-gyp@npm:1.0.10" + dependencies: + detect-libc: ^2.0.0 + https-proxy-agent: ^5.0.0 + make-dir: ^3.1.0 + node-fetch: ^2.6.7 + nopt: ^5.0.0 + npmlog: ^5.0.1 + rimraf: ^3.0.2 + semver: ^7.3.5 + tar: ^6.1.11 + bin: + node-pre-gyp: bin/node-pre-gyp + checksum: 469f3bc00778c76e0a7ffaf40742482462e05fec31b53c55ad6d6a892894046c0db7bb8543ed49b2cf1926dfcd9af1289985c367c5d20076939f8a889f686e45 + languageName: node + linkType: hard + "@mdx-js/mdx@npm:^1.6.22": version: 1.6.22 resolution: "@mdx-js/mdx@npm:1.6.22" @@ -5507,7 +5536,7 @@ __metadata: languageName: node linkType: hard -"@opentelemetry/api@npm:^1.3.0": +"@opentelemetry/api@npm:1.4.0, @opentelemetry/api@npm:^1.3.0": version: 1.4.0 resolution: "@opentelemetry/api@npm:1.4.0" checksum: 1673fd2815eeb5487f2b0dec8595285e634f05b5b06b9a06db7af82238eac197b900ed10bebd923ac5d1fbc4da708e2f574aba58a465f27857f358c2d16987c3 @@ -6857,12 +6886,14 @@ __metadata: "@envelop/depth-limit": 2.0.6 "@envelop/disable-introspection": 4.0.6 "@envelop/filter-operation-type": 4.0.6 + "@envelop/on-resolve": 2.0.6 "@envelop/testing": 5.0.6 "@envelop/types": 3.0.2 "@escape.tech/graphql-armor": 1.8.1 "@graphql-tools/merge": 8.4.0 "@graphql-tools/schema": 9.0.17 "@graphql-tools/utils": 9.2.1 + "@opentelemetry/api": 1.4.0 "@redwoodjs/api": 4.0.0 "@types/jsonwebtoken": 9.0.1 "@types/lodash.merge": 4.6.7 @@ -7063,6 +7094,52 @@ __metadata: languageName: unknown linkType: soft +"@redwoodjs/studio@workspace:packages/studio": + version: 0.0.0-use.local + resolution: "@redwoodjs/studio@workspace:packages/studio" + dependencies: + "@babel/cli": 7.21.0 + "@babel/core": 7.21.3 + "@babel/plugin-transform-runtime": 7.21.0 + "@babel/runtime-corejs3": 7.21.0 + "@fastify/http-proxy": 9.0.0 + "@fastify/static": 6.10.0 + "@fastify/url-data": 5.3.1 + "@redwoodjs/internal": 4.0.0 + "@types/aws-lambda": 8.10.114 + "@types/crypto-js": 4.1.1 + "@types/jsonwebtoken": 9.0.1 + "@types/lodash.escape": 4.0.7 + "@types/qs": 6.9.7 + "@types/split2": 3.2.1 + "@types/uuid": 9.0.1 + "@types/yargs": 17.0.24 + ansi-colors: 4.1.3 + aws-lambda: 1.0.7 + chalk: 4.1.2 + chokidar: 3.5.3 + core-js: 3.30.0 + crypto-js: 4.1.1 + dotenv: 16.0.3 + fast-json-parse: 1.0.3 + fastify: 4.15.0 + fastify-raw-body: 4.2.0 + graphql: 16.6.0 + graphql-yoga: 3.8.0 + jest: 29.5.0 + jsonwebtoken: 9.0.0 + lodash.escape: 4.0.1 + pretty-bytes: 5.6.0 + qs: 6.11.1 + split2: 4.2.0 + sqlite: 4.1.2 + sqlite3: 5.1.4 + typescript: 5.0.3 + uuid: 9.0.0 + yargs: 17.7.1 + languageName: unknown + linkType: soft + "@redwoodjs/telemetry@4.0.0, @redwoodjs/telemetry@workspace:packages/telemetry": version: 0.0.0-use.local resolution: "@redwoodjs/telemetry@workspace:packages/telemetry" @@ -8712,6 +8789,13 @@ __metadata: languageName: node linkType: hard +"@tootallnate/once@npm:1": + version: 1.1.2 + resolution: "@tootallnate/once@npm:1.1.2" + checksum: 8fe4d006e90422883a4fa9339dd05a83ff626806262e1710cee5758d493e8cbddf2db81c0e4690636dc840b02c9fda62877866ea774ebd07c1777ed5fafbdec6 + languageName: node + linkType: hard + "@tootallnate/once@npm:2": version: 2.0.0 resolution: "@tootallnate/once@npm:2.0.0" @@ -10718,7 +10802,7 @@ __metadata: languageName: node linkType: hard -"agentkeepalive@npm:^4.2.1": +"agentkeepalive@npm:^4.1.3, agentkeepalive@npm:^4.2.1": version: 4.2.1 resolution: "agentkeepalive@npm:4.2.1" dependencies: @@ -12587,7 +12671,7 @@ __metadata: languageName: node linkType: hard -"cacache@npm:^15.0.5": +"cacache@npm:^15.0.5, cacache@npm:^15.2.0": version: 15.3.0 resolution: "cacache@npm:15.3.0" dependencies: @@ -15180,6 +15264,13 @@ __metadata: languageName: node linkType: hard +"detect-libc@npm:^2.0.0": + version: 2.0.1 + resolution: "detect-libc@npm:2.0.1" + checksum: 153009d0ce4073ea885a97641aa1cc0327ff168b971fa3c770958345ad3ead4618f3747334435dc8edff32c0f56d8ba16dcf5271543c99b24af532b1cf84a61d + languageName: node + linkType: hard + "detect-newline@npm:^3.0.0": version: 3.1.0 resolution: "detect-newline@npm:3.1.0" @@ -15664,7 +15755,7 @@ __metadata: languageName: node linkType: hard -"encoding@npm:^0.1.13": +"encoding@npm:^0.1.12, encoding@npm:^0.1.13": version: 0.1.13 resolution: "encoding@npm:0.1.13" dependencies: @@ -19075,6 +19166,17 @@ __metadata: languageName: node linkType: hard +"http-proxy-agent@npm:^4.0.1": + version: 4.0.1 + resolution: "http-proxy-agent@npm:4.0.1" + dependencies: + "@tootallnate/once": 1 + agent-base: 6 + debug: 4 + checksum: 4fa4774d65b5331814b74ac05cefea56854fc0d5989c80b13432c1b0d42a14c9f4342ca3ad9f0359a52e78da12b1744c9f8a28e50042136ea9171675d972a5fd + languageName: node + linkType: hard + "http-proxy-middleware@npm:^2.0.3": version: 2.0.6 resolution: "http-proxy-middleware@npm:2.0.6" @@ -22449,6 +22551,30 @@ __metadata: languageName: node linkType: hard +"make-fetch-happen@npm:^9.1.0": + version: 9.1.0 + resolution: "make-fetch-happen@npm:9.1.0" + dependencies: + agentkeepalive: ^4.1.3 + cacache: ^15.2.0 + http-cache-semantics: ^4.1.0 + http-proxy-agent: ^4.0.1 + https-proxy-agent: ^5.0.0 + is-lambda: ^1.0.1 + lru-cache: ^6.0.0 + minipass: ^3.1.3 + minipass-collect: ^1.0.2 + minipass-fetch: ^1.3.2 + minipass-flush: ^1.0.5 + minipass-pipeline: ^1.2.4 + negotiator: ^0.6.2 + promise-retry: ^2.0.1 + socks-proxy-agent: ^6.0.0 + ssri: ^8.0.0 + checksum: 2c737faf6a7f67077679da548b5bfeeef890595bf8c4323a1f76eae355d27ebb33dcf9cf1a673f944cf2f2a7cbf4e2b09f0a0a62931737728f210d902c6be966 + languageName: node + linkType: hard + "makeerror@npm:1.0.12": version: 1.0.12 resolution: "makeerror@npm:1.0.12" @@ -23045,6 +23171,21 @@ __metadata: languageName: node linkType: hard +"minipass-fetch@npm:^1.3.2": + version: 1.4.1 + resolution: "minipass-fetch@npm:1.4.1" + dependencies: + encoding: ^0.1.12 + minipass: ^3.1.0 + minipass-sized: ^1.0.3 + minizlib: ^2.0.0 + dependenciesMeta: + encoding: + optional: true + checksum: a43da7401cd7c4f24b993887d41bd37d097356083b0bb836fd655916467463a1e6e9e553b2da4fcbe8745bf23d40c8b884eab20745562199663b3e9060cd8e7a + languageName: node + linkType: hard + "minipass-fetch@npm:^2.0.3": version: 2.1.2 resolution: "minipass-fetch@npm:2.1.2" @@ -23112,7 +23253,7 @@ __metadata: languageName: node linkType: hard -"minipass@npm:^3.0.0, minipass@npm:^3.1.1, minipass@npm:^3.1.6": +"minipass@npm:^3.0.0, minipass@npm:^3.1.0, minipass@npm:^3.1.1, minipass@npm:^3.1.3, minipass@npm:^3.1.6": version: 3.3.6 resolution: "minipass@npm:3.3.6" dependencies: @@ -23128,7 +23269,7 @@ __metadata: languageName: node linkType: hard -"minizlib@npm:^2.1.1, minizlib@npm:^2.1.2": +"minizlib@npm:^2.0.0, minizlib@npm:^2.1.1, minizlib@npm:^2.1.2": version: 2.1.2 resolution: "minizlib@npm:2.1.2" dependencies: @@ -23399,7 +23540,7 @@ __metadata: languageName: node linkType: hard -"negotiator@npm:0.6.3, negotiator@npm:^0.6.3": +"negotiator@npm:0.6.3, negotiator@npm:^0.6.2, negotiator@npm:^0.6.3": version: 0.6.3 resolution: "negotiator@npm:0.6.3" checksum: 3ec9fd413e7bf071c937ae60d572bc67155262068ed522cf4b3be5edbe6ddf67d095ec03a3a14ebf8fc8e95f8e1d61be4869db0dbb0de696f6b837358bd43fc2 @@ -23467,6 +23608,15 @@ __metadata: languageName: node linkType: hard +"node-addon-api@npm:^4.2.0": + version: 4.3.0 + resolution: "node-addon-api@npm:4.3.0" + dependencies: + node-gyp: latest + checksum: 5febe94d58cdef319bc96a357b43d7a13776c93ee3f2edb374000f16454e65cec06035497947d5fdaa50db1cc7ab8e3a30ca8669bb07a1b159f0307dc2c1ccdf + languageName: node + linkType: hard + "node-dir@npm:^0.1.10, node-dir@npm:^0.1.17": version: 0.1.17 resolution: "node-dir@npm:0.1.17" @@ -23568,6 +23718,26 @@ __metadata: languageName: node linkType: hard +"node-gyp@npm:8.x": + version: 8.4.1 + resolution: "node-gyp@npm:8.4.1" + dependencies: + env-paths: ^2.2.0 + glob: ^7.1.4 + graceful-fs: ^4.2.6 + make-fetch-happen: ^9.1.0 + nopt: ^5.0.0 + npmlog: ^6.0.0 + rimraf: ^3.0.2 + semver: ^7.3.5 + tar: ^6.1.2 + which: ^2.0.2 + bin: + node-gyp: bin/node-gyp.js + checksum: 80ef333b3a882eb6a2695a8e08f31d618f4533eff192864e4a3a16b67ff0abc9d8c1d5fac0395550ec699326b9248c5e2b3be178492f7f4d1ccf97d2cf948021 + languageName: node + linkType: hard + "node-gyp@npm:^9.0.0, node-gyp@npm:latest": version: 9.3.1 resolution: "node-gyp@npm:9.3.1" @@ -23670,6 +23840,17 @@ __metadata: languageName: node linkType: hard +"nopt@npm:^5.0.0": + version: 5.0.0 + resolution: "nopt@npm:5.0.0" + dependencies: + abbrev: 1 + bin: + nopt: bin/nopt.js + checksum: fc5c4f07155cb455bf5fc3dd149fac421c1a40fd83c6bfe83aa82b52f02c17c5e88301321318adaa27611c8a6811423d51d29deaceab5fa158b585a61a551061 + languageName: node + linkType: hard + "nopt@npm:^6.0.0": version: 6.0.0 resolution: "nopt@npm:6.0.0" @@ -28428,6 +28609,17 @@ __metadata: languageName: node linkType: hard +"socks-proxy-agent@npm:^6.0.0": + version: 6.2.1 + resolution: "socks-proxy-agent@npm:6.2.1" + dependencies: + agent-base: ^6.0.2 + debug: ^4.3.3 + socks: ^2.6.2 + checksum: d75c1cf1fdd7f8309a43a77f84409b793fc0f540742ef915154e70ac09a08b0490576fe85d4f8d68bbf80e604a62957a17ab5ef50d312fe1442b0ab6f8f6e6f6 + languageName: node + linkType: hard + "socks-proxy-agent@npm:^7.0.0": version: 7.0.0 resolution: "socks-proxy-agent@npm:7.0.0" @@ -28676,6 +28868,33 @@ __metadata: languageName: node linkType: hard +"sqlite3@npm:5.1.4": + version: 5.1.4 + resolution: "sqlite3@npm:5.1.4" + dependencies: + "@mapbox/node-pre-gyp": ^1.0.0 + node-addon-api: ^4.2.0 + node-gyp: 8.x + tar: ^6.1.11 + peerDependencies: + node-gyp: 8.x + dependenciesMeta: + node-gyp: + optional: true + peerDependenciesMeta: + node-gyp: + optional: true + checksum: 6105ef77ff7da578645bba9a6b86ca9838b22ee8cc07a4fb21909201745fe6f8a06c158c42eeb18e4ebcc45e1f53c606d2faec0d88dc884b8934619a67cb5ac4 + languageName: node + linkType: hard + +"sqlite@npm:4.1.2": + version: 4.1.2 + resolution: "sqlite@npm:4.1.2" + checksum: d6b67cdf141863455a3c4eb1e051bbf302718d7ed10d1d3315366b0e99355930d44895d49a7a0da5897e16e781598b88aab31f06907e5c75a3fe421b8a2d12e0 + languageName: node + linkType: hard + "sshpk@npm:^1.14.1": version: 1.17.0 resolution: "sshpk@npm:1.17.0" @@ -28724,7 +28943,7 @@ __metadata: languageName: node linkType: hard -"ssri@npm:^8.0.1": +"ssri@npm:^8.0.0, ssri@npm:^8.0.1": version: 8.0.1 resolution: "ssri@npm:8.0.1" dependencies: