@workglow/ai 0.0.72 → 0.0.73

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/bun.js.map CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../src/job/AiJob.ts", "../src/model/ModelRegistry.ts", "../src/model/InMemoryModelRepository.ts", "../src/model/ModelRepository.ts", "../src/model/ModelSchema.ts", "../src/provider/AiProviderRegistry.ts", "../src/source/Document.ts", "../src/source/DocumentConverter.ts", "../src/source/DocumentConverterMarkdown.ts", "../src/source/DocumentConverterText.ts", "../src/task/BackgroundRemovalTask.ts", "../src/task/base/AiTaskSchemas.ts", "../src/task/base/AiVisionTask.ts", "../src/task/base/AiTask.ts", "../src/task/DocumentSplitterTask.ts", "../src/task/DownloadModelTask.ts", "../src/task/ImageClassificationTask.ts", "../src/task/ImageEmbeddingTask.ts", "../src/task/ImageSegmentationTask.ts", "../src/task/ImageToTextTask.ts", "../src/task/ObjectDetectionTask.ts", "../src/task/TextClassificationTask.ts", "../src/task/TextEmbeddingTask.ts", "../src/task/TextFillMaskTask.ts", "../src/task/TextGenerationTask.ts", "../src/task/TextLanguageDetectionTask.ts", "../src/task/TextNamedEntityRecognitionTask.ts", "../src/task/TextQuestionAnswerTask.ts", "../src/task/TextRewriterTask.ts", "../src/task/TextSummaryTask.ts", "../src/task/TextTranslationTask.ts", "../src/task/UnloadModelTask.ts", "../src/task/VectorSimilarityTask.ts"],
3
+ "sources": ["../src/job/AiJob.ts", "../src/model/ModelRegistry.ts", "../src/model/InMemoryModelRepository.ts", "../src/model/ModelRepository.ts", "../src/model/ModelSchema.ts", "../src/provider/AiProviderRegistry.ts", "../src/source/Document.ts", "../src/source/DocumentConverter.ts", "../src/source/DocumentConverterMarkdown.ts", "../src/source/DocumentConverterText.ts", "../src/task/BackgroundRemovalTask.ts", "../src/task/base/AiTaskSchemas.ts", "../src/task/base/AiVisionTask.ts", "../src/task/base/AiTask.ts", "../src/task/DocumentSplitterTask.ts", "../src/task/DownloadModelTask.ts", "../src/task/FaceDetectorTask.ts", "../src/task/FaceLandmarkerTask.ts", "../src/task/GestureRecognizerTask.ts", "../src/task/HandLandmarkerTask.ts", "../src/task/ImageClassificationTask.ts", "../src/task/ImageEmbeddingTask.ts", "../src/task/ImageSegmentationTask.ts", "../src/task/ImageToTextTask.ts", "../src/task/ObjectDetectionTask.ts", "../src/task/PoseLandmarkerTask.ts", "../src/task/TextClassificationTask.ts", "../src/task/TextEmbeddingTask.ts", "../src/task/TextFillMaskTask.ts", "../src/task/TextGenerationTask.ts", "../src/task/TextLanguageDetectionTask.ts", "../src/task/TextNamedEntityRecognitionTask.ts", "../src/task/TextQuestionAnswerTask.ts", "../src/task/TextRewriterTask.ts", "../src/task/TextSummaryTask.ts", "../src/task/TextTranslationTask.ts", "../src/task/UnloadModelTask.ts", "../src/task/VectorSimilarityTask.ts"],
4
4
  "sourcesContent": [
5
5
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {\n AbortSignalJobError,\n IJobExecuteContext,\n Job,\n JobStatus,\n PermanentJobError,\n} from \"@workglow/job-queue\";\nimport { TaskInput, TaskOutput } from \"@workglow/task-graph\";\nimport { getGlobalModelRepository } from \"../model/ModelRegistry\";\nimport { getAiProviderRegistry } from \"../provider/AiProviderRegistry\";\n\n/**\n * Input data for the AiJob\n */\nexport interface AiJobInput<Input extends TaskInput = TaskInput> {\n taskType: string;\n aiProvider: string;\n taskInput: Input & { model: string };\n}\n\n/**\n * Extends the base Job class to provide custom execution functionality\n * through a provided function.\n */\nexport class AiJob<\n Input extends AiJobInput<TaskInput> = AiJobInput<TaskInput>,\n Output extends TaskOutput = TaskOutput,\n> extends Job<Input, Output> {\n /**\n * Executes the job using the provided function.\n */\n async execute(input: Input, context: IJobExecuteContext): Promise<Output> {\n if (context.signal.aborted || this.status === JobStatus.ABORTING) {\n throw new AbortSignalJobError(\"Abort signal aborted before execution of job\");\n }\n\n let abortHandler: (() => void) | undefined;\n\n try {\n const abortPromise = new Promise<never>((_resolve, reject) => {\n const handler = () => {\n reject(new AbortSignalJobError(\"Abort signal seen, ending job\"));\n };\n\n context.signal.addEventListener(\"abort\", handler, { once: true });\n abortHandler = () => context.signal.removeEventListener(\"abort\", handler);\n });\n\n const runFn = async () => {\n const fn = getAiProviderRegistry().getDirectRunFn<Input[\"taskInput\"], Output>(\n input.aiProvider,\n input.taskType\n );\n if (!fn) {\n throw new PermanentJobError(\n `No run function found for task type ${input.taskType} and model provider ${input.aiProvider}`\n );\n }\n const modelName = input.taskInput.model;\n const model = await getGlobalModelRepository().findByName(modelName);\n if (modelName && !model) {\n throw new PermanentJobError(`Model ${modelName} not found`);\n }\n if (context.signal?.aborted) {\n throw new AbortSignalJobError(\"Job aborted\");\n }\n return await fn(input.taskInput, model, context.updateProgress, context.signal);\n };\n const runFnPromise = runFn();\n\n return await Promise.race([runFnPromise, abortPromise]);\n } finally {\n // Clean up the abort event listener to prevent memory leaks\n if (abortHandler) {\n abortHandler();\n }\n }\n }\n}\n",
6
6
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { createServiceToken, globalServiceRegistry } from \"@workglow/util\";\nimport { InMemoryModelRepository } from \"./InMemoryModelRepository\";\nimport { ModelRepository } from \"./ModelRepository\";\n\n/**\n * Service token for the global model repository\n */\nexport const MODEL_REPOSITORY = createServiceToken<ModelRepository>(\"model.repository\");\n\n// Register default factory if not already registered\nif (!globalServiceRegistry.has(MODEL_REPOSITORY)) {\n globalServiceRegistry.register(\n MODEL_REPOSITORY,\n (): ModelRepository => new InMemoryModelRepository(),\n true\n );\n}\n\n/**\n * Gets the global model repository instance\n * @returns The model repository instance\n */\nexport function getGlobalModelRepository(): ModelRepository {\n return globalServiceRegistry.get(MODEL_REPOSITORY);\n}\n\n/**\n * Sets the global model repository instance\n * @param pr The model repository instance to register\n */\nexport function setGlobalModelRepository(pr: ModelRepository): void {\n globalServiceRegistry.registerInstance(MODEL_REPOSITORY, pr);\n}\n",
@@ -18,11 +18,16 @@
18
18
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\n/**\n * @description This file contains the implementation of the JobQueueTask class and its derived classes.\n */\n\nimport { Job } from \"@workglow/job-queue\";\nimport {\n JobQueueTask,\n JobQueueTaskConfig,\n TaskConfigurationError,\n TaskInput,\n type TaskOutput,\n} from \"@workglow/task-graph\";\nimport { type JsonSchema } from \"@workglow/util\";\n\nimport { AiJob, AiJobInput } from \"../../job/AiJob\";\nimport { getGlobalModelRepository } from \"../../model/ModelRegistry\";\nimport type { ModelRecord } from \"../../model/ModelSchema\";\n\nfunction schemaFormat(schema: JsonSchema): string | undefined {\n return typeof schema === \"object\" && schema !== null && \"format\" in schema\n ? schema.format\n : undefined;\n}\n\nexport interface AiSingleTaskInput extends TaskInput {\n model: string;\n}\n\nexport interface AiArrayTaskInput extends TaskInput {\n model: string | ModelRecord | (string | ModelRecord)[];\n}\n\n/**\n * A base class for AI related tasks that run in a job queue.\n * Extends the JobQueueTask class to provide LLM-specific functionality.\n */\nexport class AiTask<\n Input extends AiArrayTaskInput = AiArrayTaskInput,\n Output extends TaskOutput = TaskOutput,\n Config extends JobQueueTaskConfig = JobQueueTaskConfig,\n> extends JobQueueTask<Input, Output, Config> {\n public static type: string = \"AiTask\";\n private modelCache?: { name: string; model: ModelRecord };\n\n /**\n * Creates a new AiTask instance\n * @param config - Configuration object for the task\n */\n constructor(input: Input = {} as Input, config: Config = {} as Config) {\n config.name ||= `${new.target.type || new.target.name}${\n input.model ? \" with model \" + input.model : \"\"\n }`;\n super(input, config);\n }\n\n // ========================================================================\n // Job creation\n // ========================================================================\n\n /**\n * Get the input to submit to the job queue.\n * Transforms the task input to AiJobInput format.\n * @param input - The task input\n * @returns The AiJobInput to submit to the queue\n */\n protected override async getJobInput(input: Input): Promise<AiJobInput<Input>> {\n if (typeof input.model !== \"string\") {\n console.error(\"AiTask: Model is not a string\", input);\n throw new TaskConfigurationError(\n \"AiTask: Model is not a string, only create job for single model tasks\"\n );\n }\n const runtype = (this.constructor as any).runtype ?? (this.constructor as any).type;\n const model = await this.getModelForInput(input as AiSingleTaskInput);\n\n // TODO: if the queue is not memory based, we need to convert to something that can structure clone to the queue\n // const registeredQueue = await this.resolveQueue(input);\n // const queueName = registeredQueue?.server.queueName;\n\n return {\n taskType: runtype,\n aiProvider: model.provider,\n taskInput: input as Input & { model: string },\n };\n }\n\n /**\n * Creates a new Job instance for direct execution (without a queue).\n * @param input - The task input\n * @param queueName - The queue name (if any)\n * @returns Promise<Job> - The created job\n */\n override async createJob(\n input: Input,\n queueName?: string\n ): Promise<Job<AiJobInput<Input>, Output>> {\n const jobInput = await this.getJobInput(input);\n const resolvedQueueName = queueName ?? (await this.getDefaultQueueName(input));\n if (!resolvedQueueName) {\n throw new TaskConfigurationError(\"JobQueueTask: Unable to determine queue for AI provider\");\n }\n const job = new AiJob<AiJobInput<Input>, Output>({\n queueName: resolvedQueueName,\n jobRunId: this.config.runnerId, // could be undefined\n input: jobInput,\n });\n return job;\n }\n\n protected async getModelForInput(input: AiSingleTaskInput): Promise<ModelRecord> {\n const modelname = input.model;\n if (!modelname) throw new TaskConfigurationError(\"AiTask: No model name found\");\n if (this.modelCache && this.modelCache.name === modelname) {\n return this.modelCache.model;\n }\n const model = await getGlobalModelRepository().findByName(modelname);\n if (!model) {\n throw new TaskConfigurationError(`JobQueueTask: No model ${modelname} found`);\n }\n this.modelCache = { name: modelname, model };\n return model;\n }\n\n protected override async getDefaultQueueName(input: Input): Promise<string | undefined> {\n if (typeof input.model === \"string\") {\n const model = await this.getModelForInput(input as AiSingleTaskInput);\n return model.provider;\n }\n return undefined;\n }\n\n /**\n * Validates that a model name really exists\n * @param schema The schema to validate against\n * @param item The item to validate\n * @returns True if the item is valid, false otherwise\n */\n async validateInput(input: Input): Promise<boolean> {\n // TODO(str): this is very inefficient, we should cache the results, including intermediate results\n const inputSchema = this.inputSchema();\n if (typeof inputSchema === \"boolean\") {\n if (inputSchema === false) {\n throw new TaskConfigurationError(`AiTask: Input schema is 'false' and accepts no inputs`);\n }\n return true;\n }\n const modelTaskProperties = Object.entries<JsonSchema>(\n (inputSchema.properties || {}) as Record<string, JsonSchema>\n ).filter(([key, schema]) => schemaFormat(schema)?.startsWith(\"model:\"));\n\n if (modelTaskProperties.length > 0) {\n const taskModels = await getGlobalModelRepository().findModelsByTask(this.type);\n for (const [key, propSchema] of modelTaskProperties) {\n let requestedModels = Array.isArray(input[key]) ? input[key] : [input[key]];\n for (const model of requestedModels) {\n const foundModel = taskModels?.find((m) => m.model_id === model);\n if (!foundModel) {\n throw new TaskConfigurationError(\n `AiTask: Missing model for '${key}' named '${model}' for task '${this.type}'`\n );\n }\n }\n }\n }\n\n const modelPlainProperties = Object.entries<JsonSchema>(\n (inputSchema.properties || {}) as Record<string, JsonSchema>\n ).filter(([key, schema]) => schemaFormat(schema) === \"model\");\n\n if (modelPlainProperties.length > 0) {\n for (const [key, propSchema] of modelPlainProperties) {\n let requestedModels = Array.isArray(input[key]) ? input[key] : [input[key]];\n for (const model of requestedModels) {\n const foundModel = await getGlobalModelRepository().findByName(model);\n if (!foundModel) {\n throw new TaskConfigurationError(`AiTask: Missing model for \"${key}\" named \"${model}\"`);\n }\n }\n }\n }\n\n return super.validateInput(input);\n }\n\n // dataflows can strip some models that are incompatible with the target task\n // if all of them are stripped, then the task will fail in validateInput\n async narrowInput(input: Input): Promise<Input> {\n // TODO(str): this is very inefficient, we should cache the results, including intermediate results\n const inputSchema = this.inputSchema();\n if (typeof inputSchema === \"boolean\") {\n if (inputSchema === false) {\n throw new TaskConfigurationError(`AiTask: Input schema is 'false' and accepts no inputs`);\n }\n return input;\n }\n const modelTaskProperties = Object.entries<JsonSchema>(\n (inputSchema.properties || {}) as Record<string, JsonSchema>\n ).filter(([key, schema]) => schemaFormat(schema)?.startsWith(\"model:\"));\n if (modelTaskProperties.length > 0) {\n const taskModels = await getGlobalModelRepository().findModelsByTask(this.type);\n for (const [key, propSchema] of modelTaskProperties) {\n let requestedModels = Array.isArray(input[key]) ? input[key] : [input[key]];\n let usingModels = requestedModels.filter((model: string) =>\n taskModels?.find((m) => m.model_id === model)\n );\n\n // we alter input to be the models that were found for this kind of input\n usingModels = usingModels.length > 1 ? usingModels : usingModels[0];\n (input as any)[key] = usingModels;\n }\n }\n return input;\n }\n}\n",
19
19
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {\n CreateWorkflow,\n JobQueueTaskConfig,\n Task,\n TaskRegistry,\n Workflow,\n} from \"@workglow/task-graph\";\nimport { DataPortSchema, FromSchema } from \"@workglow/util\";\nimport { Document, DocumentFragment } from \"../source/Document\";\n\nconst inputSchema = {\n type: \"object\",\n properties: {\n parser: {\n type: \"string\",\n enum: [\"txt\", \"md\"],\n title: \"Document Kind\",\n description: \"The kind of document (txt or md)\",\n },\n // file: Type.Instance(Document),\n },\n required: [\"parser\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nconst outputSchema = {\n type: \"object\",\n properties: {\n texts: {\n type: \"array\",\n items: { type: \"string\" },\n title: \"Text Chunks\",\n description: \"The text chunks of the document\",\n },\n },\n required: [\"texts\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport type DocumentSplitterTaskInput = FromSchema<typeof inputSchema>;\nexport type DocumentSplitterTaskOutput = FromSchema<typeof outputSchema>;\n\nexport class DocumentSplitterTask extends Task<\n DocumentSplitterTaskInput,\n DocumentSplitterTaskOutput,\n JobQueueTaskConfig\n> {\n public static type = \"DocumentSplitterTask\";\n public static category = \"Document\";\n public static title = \"Document Splitter\";\n public static description = \"Splits documents into text chunks for processing\";\n public static inputSchema(): DataPortSchema {\n return inputSchema as DataPortSchema;\n }\n public static outputSchema(): DataPortSchema {\n return outputSchema as DataPortSchema;\n }\n\n flattenFragmentsToTexts(item: DocumentFragment | Document): string[] {\n if (item instanceof Document) {\n const texts: string[] = [];\n item.fragments.forEach((fragment) => {\n texts.push(...this.flattenFragmentsToTexts(fragment));\n });\n return texts;\n } else {\n return [item.content];\n }\n }\n\n async executeReactive(): Promise<DocumentSplitterTaskOutput> {\n return { texts: this.flattenFragmentsToTexts(this.runInputData.file) };\n }\n}\n\nTaskRegistry.registerTask(DocumentSplitterTask);\n\nexport const DocumentSplitter = (input: DocumentSplitterTaskInput) => {\n return new DocumentSplitterTask(input).run();\n};\n\ndeclare module \"@workglow/task-graph\" {\n interface Workflow {\n DocumentSplitter: CreateWorkflow<\n DocumentSplitterTaskInput,\n DocumentSplitterTaskOutput,\n JobQueueTaskConfig\n >;\n }\n}\n\nWorkflow.prototype.DocumentSplitter = CreateWorkflow(DocumentSplitterTask);\n",
20
20
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { CreateWorkflow, JobQueueTaskConfig, TaskRegistry, Workflow } from \"@workglow/task-graph\";\nimport { DataPortSchema, FromSchema } from \"@workglow/util\";\nimport { AiTask } from \"./base/AiTask\";\nimport { DeReplicateFromSchema, TypeModel, TypeReplicateArray } from \"./base/AiTaskSchemas\";\n\nconst modelSchema = TypeReplicateArray(TypeModel(\"model\"));\n\nconst DownloadModelInputSchema = {\n type: \"object\",\n properties: {\n model: modelSchema,\n },\n required: [\"model\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nconst DownloadModelOutputSchema = {\n type: \"object\",\n properties: {\n model: modelSchema,\n },\n required: [\"model\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport type DownloadModelTaskRunInput = FromSchema<typeof DownloadModelInputSchema>;\nexport type DownloadModelTaskRunOutput = FromSchema<typeof DownloadModelOutputSchema>;\nexport type DownloadModelTaskExecuteInput = DeReplicateFromSchema<typeof DownloadModelInputSchema>;\nexport type DownloadModelTaskExecuteOutput = DeReplicateFromSchema<\n typeof DownloadModelOutputSchema\n>;\n\n/**\n * Download a model from a remote source and cache it locally.\n *\n * @remarks\n * This task has a side effect of downloading the model and caching it locally outside of the task system\n */\nexport class DownloadModelTask extends AiTask<\n DownloadModelTaskRunInput,\n DownloadModelTaskRunOutput,\n JobQueueTaskConfig\n> {\n public static type = \"DownloadModelTask\";\n public static category = \"AI Text Model\";\n public static title = \"Download Model\";\n public static description = \"Downloads and caches AI models locally with progress tracking\";\n public static inputSchema(): DataPortSchema {\n return DownloadModelInputSchema satisfies DataPortSchema;\n }\n public static outputSchema(): DataPortSchema {\n return DownloadModelOutputSchema satisfies DataPortSchema;\n }\n public static cacheable = false;\n\n public files: { file: string; progress: number }[] = [];\n\n constructor(input: Partial<DownloadModelTaskRunInput>, config: JobQueueTaskConfig = {}) {\n super(input as DownloadModelTaskRunInput, config);\n this.on(\"progress\", this.processProgress.bind(this));\n this.on(\"start\", () => {\n this.files = [];\n });\n }\n\n /**\n * Handles progress updates for the download task\n * @param progress - The progress value (0-100)\n * @param message - The message to display\n * @param details - Additional details about the progress\n */\n processProgress(\n progress: number,\n message: string = \"\",\n details?: { file?: string; progress: number; text?: number }\n ): void {\n if (details?.file) {\n const file = this.files.find((f) => f.file === details.file);\n if (file) {\n file.progress = details.progress;\n } else {\n this.files.push({ file: details.file, progress: details.progress });\n }\n this.progress = this.files.reduce((acc, f) => acc + f.progress, 0) / this.files.length;\n } else {\n this.progress = progress;\n }\n }\n}\n\nTaskRegistry.registerTask(DownloadModelTask);\n\n/**\n * Download a model from a remote source and cache it locally.\n *\n * @param input - Input containing model(s) to download\n * @returns Promise resolving to the downloaded model(s)\n */\nexport const DownloadModel = (input: DownloadModelTaskRunInput, config?: JobQueueTaskConfig) => {\n return new DownloadModelTask(input, config).run();\n};\n\ndeclare module \"@workglow/task-graph\" {\n interface Workflow {\n DownloadModel: CreateWorkflow<\n DownloadModelTaskRunInput,\n DownloadModelTaskRunOutput,\n JobQueueTaskConfig\n >;\n }\n}\n\nWorkflow.prototype.DownloadModel = CreateWorkflow(DownloadModelTask);\n",
21
+ "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { CreateWorkflow, JobQueueTaskConfig, TaskRegistry, Workflow } from \"@workglow/task-graph\";\nimport { DataPortSchema, FromSchema } from \"@workglow/util\";\nimport {\n DeReplicateFromSchema,\n TypeImageInput,\n TypeModel,\n TypeReplicateArray,\n} from \"./base/AiTaskSchemas\";\nimport { AiVisionTask } from \"./base/AiVisionTask\";\n\nconst modelSchema = TypeReplicateArray(TypeModel(\"model:FaceDetectorTask\"));\n\n/**\n * A bounding box for face detection.\n */\nconst TypeBoundingBox = {\n type: \"object\",\n properties: {\n x: {\n type: \"number\",\n title: \"X Coordinate\",\n description: \"X coordinate of the top-left corner\",\n },\n y: {\n type: \"number\",\n title: \"Y Coordinate\",\n description: \"Y coordinate of the top-left corner\",\n },\n width: {\n type: \"number\",\n title: \"Width\",\n description: \"Width of the bounding box\",\n },\n height: {\n type: \"number\",\n title: \"Height\",\n description: \"Height of the bounding box\",\n },\n },\n required: [\"x\", \"y\", \"width\", \"height\"],\n additionalProperties: false,\n} as const;\n\n/**\n * A keypoint on the face.\n */\nconst TypeKeypoint = {\n type: \"object\",\n properties: {\n x: {\n type: \"number\",\n title: \"X Coordinate\",\n description: \"X coordinate normalized to [0.0, 1.0]\",\n },\n y: {\n type: \"number\",\n title: \"Y Coordinate\",\n description: \"Y coordinate normalized to [0.0, 1.0]\",\n },\n label: {\n type: \"string\",\n title: \"Keypoint Label\",\n description: \"Label for the keypoint (e.g., 'leftEye', 'rightEye', 'noseTip', etc.)\",\n },\n },\n required: [\"x\", \"y\"],\n additionalProperties: false,\n} as const;\n\n/**\n * A detected face with bounding box and keypoints.\n */\nconst TypeFaceDetection = {\n type: \"object\",\n properties: {\n box: TypeBoundingBox,\n keypoints: {\n type: \"array\",\n items: TypeKeypoint,\n title: \"Keypoints\",\n description: \"Facial keypoints (left eye, right eye, nose tip, mouth, left/right tragion)\",\n },\n score: {\n type: \"number\",\n title: \"Confidence Score\",\n description: \"Confidence score for the face detection\",\n },\n },\n required: [\"box\", \"keypoints\", \"score\"],\n additionalProperties: false,\n} as const;\n\nexport const FaceDetectorInputSchema = {\n type: \"object\",\n properties: {\n image: TypeReplicateArray(TypeImageInput),\n model: modelSchema,\n minDetectionConfidence: {\n type: \"number\",\n minimum: 0,\n maximum: 1,\n default: 0.5,\n title: \"Min Detection Confidence\",\n description: \"Minimum confidence score for face detection\",\n \"x-ui-group\": \"Configuration\",\n },\n minSuppressionThreshold: {\n type: \"number\",\n minimum: 0,\n maximum: 1,\n default: 0.3,\n title: \"Min Suppression Threshold\",\n description: \"Minimum non-maximum-suppression threshold for overlapping detections\",\n \"x-ui-group\": \"Configuration\",\n },\n },\n required: [\"image\", \"model\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport const FaceDetectorOutputSchema = {\n type: \"object\",\n properties: {\n faces: {\n oneOf: [\n { type: \"array\", items: TypeFaceDetection },\n { type: \"array\", items: { type: \"array\", items: TypeFaceDetection } },\n ],\n title: \"Face Detections\",\n description: \"Detected faces with bounding boxes, keypoints, and confidence scores\",\n },\n },\n required: [\"faces\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport type FaceDetectorTaskInput = FromSchema<typeof FaceDetectorInputSchema>;\nexport type FaceDetectorTaskOutput = FromSchema<typeof FaceDetectorOutputSchema>;\nexport type FaceDetectorTaskExecuteInput = DeReplicateFromSchema<typeof FaceDetectorInputSchema>;\nexport type FaceDetectorTaskExecuteOutput = DeReplicateFromSchema<typeof FaceDetectorOutputSchema>;\n\n/**\n * Detects faces in images using MediaPipe Face Detector.\n * Locates faces and identifies facial keypoints like eyes, nose, and mouth.\n */\nexport class FaceDetectorTask extends AiVisionTask<\n FaceDetectorTaskInput,\n FaceDetectorTaskOutput,\n JobQueueTaskConfig\n> {\n public static type = \"FaceDetectorTask\";\n public static category = \"AI Vision Model\";\n public static title = \"Face Detector\";\n public static description =\n \"Detects faces in images. Locates faces and identifies facial keypoints like eyes, nose, and mouth.\";\n public static inputSchema(): DataPortSchema {\n return FaceDetectorInputSchema as DataPortSchema;\n }\n public static outputSchema(): DataPortSchema {\n return FaceDetectorOutputSchema as DataPortSchema;\n }\n}\n\nTaskRegistry.registerTask(FaceDetectorTask);\n\n/**\n * Convenience function to run face detection tasks.\n * Creates and executes a FaceDetectorTask with the provided input.\n * @param input The input parameters for face detection (image, model, and optional configuration)\n * @returns Promise resolving to the detected faces with bounding boxes and keypoints\n */\nexport const FaceDetector = (input: FaceDetectorTaskInput, config?: JobQueueTaskConfig) => {\n return new FaceDetectorTask(input, config).run();\n};\n\ndeclare module \"@workglow/task-graph\" {\n interface Workflow {\n FaceDetector: CreateWorkflow<FaceDetectorTaskInput, FaceDetectorTaskOutput, JobQueueTaskConfig>;\n }\n}\n\nWorkflow.prototype.FaceDetector = CreateWorkflow(FaceDetectorTask);\n",
22
+ "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { CreateWorkflow, JobQueueTaskConfig, TaskRegistry, Workflow } from \"@workglow/task-graph\";\nimport { DataPortSchema, FromSchema } from \"@workglow/util\";\nimport {\n DeReplicateFromSchema,\n TypeImageInput,\n TypeModel,\n TypeReplicateArray,\n} from \"./base/AiTaskSchemas\";\nimport { AiVisionTask } from \"./base/AiVisionTask\";\n\nconst modelSchema = TypeReplicateArray(TypeModel(\"model:FaceLandmarkerTask\"));\n\n/**\n * A landmark point with x, y, z coordinates.\n */\nconst TypeLandmark = {\n type: \"object\",\n properties: {\n x: {\n type: \"number\",\n title: \"X Coordinate\",\n description: \"X coordinate normalized to [0.0, 1.0]\",\n },\n y: {\n type: \"number\",\n title: \"Y Coordinate\",\n description: \"Y coordinate normalized to [0.0, 1.0]\",\n },\n z: {\n type: \"number\",\n title: \"Z Coordinate\",\n description: \"Z coordinate (depth)\",\n },\n },\n required: [\"x\", \"y\", \"z\"],\n additionalProperties: false,\n} as const;\n\n/**\n * A blendshape coefficient representing facial expression.\n */\nconst TypeBlendshape = {\n type: \"object\",\n properties: {\n label: {\n type: \"string\",\n title: \"Blendshape Label\",\n description: \"Name of the blendshape (e.g., 'browDownLeft', 'eyeBlinkRight', etc.)\",\n },\n score: {\n type: \"number\",\n title: \"Coefficient Value\",\n description: \"Coefficient value for this blendshape\",\n },\n },\n required: [\"label\", \"score\"],\n additionalProperties: false,\n} as const;\n\n/**\n * A 4x4 transformation matrix.\n */\nconst TypeTransformationMatrix = {\n type: \"array\",\n items: { type: \"number\" },\n minItems: 16,\n maxItems: 16,\n title: \"Transformation Matrix\",\n description: \"4x4 transformation matrix for face effects rendering\",\n} as const;\n\n/**\n * Detection result for a single face.\n */\nconst TypeFaceLandmarkerDetection = {\n type: \"object\",\n properties: {\n landmarks: {\n type: \"array\",\n items: TypeLandmark,\n title: \"Landmarks\",\n description: \"478 facial landmarks in image coordinates\",\n },\n blendshapes: {\n type: \"array\",\n items: TypeBlendshape,\n title: \"Blendshapes\",\n description: \"52 blendshape coefficients representing facial expressions\",\n },\n transformationMatrix: TypeTransformationMatrix,\n },\n required: [\"landmarks\"],\n additionalProperties: false,\n} as const;\n\nexport const FaceLandmarkerInputSchema = {\n type: \"object\",\n properties: {\n image: TypeReplicateArray(TypeImageInput),\n model: modelSchema,\n numFaces: {\n type: \"number\",\n minimum: 1,\n maximum: 10,\n default: 1,\n title: \"Number of Faces\",\n description: \"The maximum number of faces to detect\",\n \"x-ui-group\": \"Configuration\",\n },\n minFaceDetectionConfidence: {\n type: \"number\",\n minimum: 0,\n maximum: 1,\n default: 0.5,\n title: \"Min Face Detection Confidence\",\n description: \"Minimum confidence score for face detection\",\n \"x-ui-group\": \"Configuration\",\n },\n minFacePresenceConfidence: {\n type: \"number\",\n minimum: 0,\n maximum: 1,\n default: 0.5,\n title: \"Min Face Presence Confidence\",\n description: \"Minimum confidence score for face presence\",\n \"x-ui-group\": \"Configuration\",\n },\n minTrackingConfidence: {\n type: \"number\",\n minimum: 0,\n maximum: 1,\n default: 0.5,\n title: \"Min Tracking Confidence\",\n description: \"Minimum confidence score for face tracking\",\n \"x-ui-group\": \"Configuration\",\n },\n outputFaceBlendshapes: {\n type: \"boolean\",\n default: false,\n title: \"Output Face Blendshapes\",\n description: \"Whether to output blendshape coefficients for facial expressions\",\n \"x-ui-group\": \"Configuration\",\n },\n outputFacialTransformationMatrixes: {\n type: \"boolean\",\n default: false,\n title: \"Output Facial Transformation Matrix\",\n description: \"Whether to output transformation matrix for effects rendering\",\n \"x-ui-group\": \"Configuration\",\n },\n },\n required: [\"image\", \"model\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport const FaceLandmarkerOutputSchema = {\n type: \"object\",\n properties: {\n faces: {\n oneOf: [\n { type: \"array\", items: TypeFaceLandmarkerDetection },\n { type: \"array\", items: { type: \"array\", items: TypeFaceLandmarkerDetection } },\n ],\n title: \"Face Detections\",\n description: \"Detected faces with landmarks, blendshapes, and transformation matrices\",\n },\n },\n required: [\"faces\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport type FaceLandmarkerTaskInput = FromSchema<typeof FaceLandmarkerInputSchema>;\nexport type FaceLandmarkerTaskOutput = FromSchema<typeof FaceLandmarkerOutputSchema>;\nexport type FaceLandmarkerTaskExecuteInput = DeReplicateFromSchema<\n typeof FaceLandmarkerInputSchema\n>;\nexport type FaceLandmarkerTaskExecuteOutput = DeReplicateFromSchema<\n typeof FaceLandmarkerOutputSchema\n>;\n\n/**\n * Detects facial landmarks and expressions in images using MediaPipe Face Landmarker.\n * Identifies 478 facial landmarks, 52 blendshape coefficients for expressions,\n * and provides transformation matrices for AR effects.\n */\nexport class FaceLandmarkerTask extends AiVisionTask<\n FaceLandmarkerTaskInput,\n FaceLandmarkerTaskOutput,\n JobQueueTaskConfig\n> {\n public static type = \"FaceLandmarkerTask\";\n public static category = \"AI Vision Model\";\n public static title = \"Face Landmarker\";\n public static description =\n \"Detects facial landmarks and expressions in images. Identifies 478 facial landmarks, blendshapes for expressions, and transformation matrices for AR effects.\";\n public static inputSchema(): DataPortSchema {\n return FaceLandmarkerInputSchema as DataPortSchema;\n }\n public static outputSchema(): DataPortSchema {\n return FaceLandmarkerOutputSchema as DataPortSchema;\n }\n}\n\nTaskRegistry.registerTask(FaceLandmarkerTask);\n\n/**\n * Convenience function to run face landmark detection tasks.\n * Creates and executes a FaceLandmarkerTask with the provided input.\n * @param input The input parameters for face landmark detection (image, model, and optional configuration)\n * @returns Promise resolving to the detected facial landmarks, blendshapes, and transformation matrices\n */\nexport const FaceLandmarker = (input: FaceLandmarkerTaskInput, config?: JobQueueTaskConfig) => {\n return new FaceLandmarkerTask(input, config).run();\n};\n\ndeclare module \"@workglow/task-graph\" {\n interface Workflow {\n FaceLandmarker: CreateWorkflow<\n FaceLandmarkerTaskInput,\n FaceLandmarkerTaskOutput,\n JobQueueTaskConfig\n >;\n }\n}\n\nWorkflow.prototype.FaceLandmarker = CreateWorkflow(FaceLandmarkerTask);\n",
23
+ "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { CreateWorkflow, JobQueueTaskConfig, TaskRegistry, Workflow } from \"@workglow/task-graph\";\nimport { DataPortSchema, FromSchema } from \"@workglow/util\";\nimport {\n DeReplicateFromSchema,\n TypeImageInput,\n TypeModel,\n TypeReplicateArray,\n} from \"./base/AiTaskSchemas\";\nimport { AiVisionTask } from \"./base/AiVisionTask\";\n\nconst modelSchema = TypeReplicateArray(TypeModel(\"model:GestureRecognizerTask\"));\n\n/**\n * A landmark point with x, y, z coordinates.\n */\nconst TypeLandmark = {\n type: \"object\",\n properties: {\n x: {\n type: \"number\",\n title: \"X Coordinate\",\n description: \"X coordinate normalized to [0.0, 1.0]\",\n },\n y: {\n type: \"number\",\n title: \"Y Coordinate\",\n description: \"Y coordinate normalized to [0.0, 1.0]\",\n },\n z: {\n type: \"number\",\n title: \"Z Coordinate\",\n description: \"Z coordinate (depth)\",\n },\n },\n required: [\"x\", \"y\", \"z\"],\n additionalProperties: false,\n} as const;\n\n/**\n * A recognized gesture with label and confidence score.\n */\nconst TypeGesture = {\n type: \"object\",\n properties: {\n label: {\n type: \"string\",\n title: \"Gesture Label\",\n description: \"The recognized gesture (e.g., 'Thumb_Up', 'Victory', etc.)\",\n },\n score: {\n type: \"number\",\n title: \"Confidence Score\",\n description: \"Confidence score for the gesture\",\n },\n },\n required: [\"label\", \"score\"],\n additionalProperties: false,\n} as const;\n\n/**\n * Handedness classification (left or right hand).\n */\nconst TypeHandedness = {\n type: \"object\",\n properties: {\n label: {\n type: \"string\",\n title: \"Hand Label\",\n description: \"Whether the hand is 'Left' or 'Right'\",\n },\n score: {\n type: \"number\",\n title: \"Confidence Score\",\n description: \"Confidence score for the handedness classification\",\n },\n },\n required: [\"label\", \"score\"],\n additionalProperties: false,\n} as const;\n\n/**\n * Detection result for a single hand.\n */\nconst TypeHandGestureDetection = {\n type: \"object\",\n properties: {\n gestures: {\n type: \"array\",\n items: TypeGesture,\n title: \"Gestures\",\n description: \"Recognized gestures for this hand\",\n },\n handedness: {\n type: \"array\",\n items: TypeHandedness,\n title: \"Handedness\",\n description: \"Handedness classification (left/right)\",\n },\n landmarks: {\n type: \"array\",\n items: TypeLandmark,\n title: \"Landmarks\",\n description: \"21 hand landmarks in image coordinates\",\n },\n worldLandmarks: {\n type: \"array\",\n items: TypeLandmark,\n title: \"World Landmarks\",\n description: \"21 hand landmarks in 3D world coordinates (meters)\",\n },\n },\n required: [\"gestures\", \"handedness\", \"landmarks\", \"worldLandmarks\"],\n additionalProperties: false,\n} as const;\n\nexport const GestureRecognizerInputSchema = {\n type: \"object\",\n properties: {\n image: TypeReplicateArray(TypeImageInput),\n model: modelSchema,\n numHands: {\n type: \"number\",\n minimum: 1,\n maximum: 10,\n default: 1,\n title: \"Number of Hands\",\n description: \"The maximum number of hands to detect\",\n \"x-ui-group\": \"Configuration\",\n },\n minHandDetectionConfidence: {\n type: \"number\",\n minimum: 0,\n maximum: 1,\n default: 0.5,\n title: \"Min Hand Detection Confidence\",\n description: \"Minimum confidence score for hand detection\",\n \"x-ui-group\": \"Configuration\",\n },\n minHandPresenceConfidence: {\n type: \"number\",\n minimum: 0,\n maximum: 1,\n default: 0.5,\n title: \"Min Hand Presence Confidence\",\n description: \"Minimum confidence score for hand presence\",\n \"x-ui-group\": \"Configuration\",\n },\n minTrackingConfidence: {\n type: \"number\",\n minimum: 0,\n maximum: 1,\n default: 0.5,\n title: \"Min Tracking Confidence\",\n description: \"Minimum confidence score for hand tracking\",\n \"x-ui-group\": \"Configuration\",\n },\n },\n required: [\"image\", \"model\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport const GestureRecognizerOutputSchema = {\n type: \"object\",\n properties: {\n hands: {\n oneOf: [\n { type: \"array\", items: TypeHandGestureDetection },\n { type: \"array\", items: { type: \"array\", items: TypeHandGestureDetection } },\n ],\n title: \"Hand Detections\",\n description: \"Detected hands with gestures, handedness, and landmarks\",\n },\n },\n required: [\"hands\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport type GestureRecognizerTaskInput = FromSchema<typeof GestureRecognizerInputSchema>;\nexport type GestureRecognizerTaskOutput = FromSchema<typeof GestureRecognizerOutputSchema>;\nexport type GestureRecognizerTaskExecuteInput = DeReplicateFromSchema<\n typeof GestureRecognizerInputSchema\n>;\nexport type GestureRecognizerTaskExecuteOutput = DeReplicateFromSchema<\n typeof GestureRecognizerOutputSchema\n>;\n\n/**\n * Recognizes hand gestures in images using MediaPipe Gesture Recognizer.\n * Detects hand landmarks, identifies gestures (like thumbs up, victory sign, etc.),\n * and classifies left vs. right hands.\n */\nexport class GestureRecognizerTask extends AiVisionTask<\n GestureRecognizerTaskInput,\n GestureRecognizerTaskOutput,\n JobQueueTaskConfig\n> {\n public static type = \"GestureRecognizerTask\";\n public static category = \"AI Vision Model\";\n public static title = \"Gesture Recognizer\";\n public static description =\n \"Recognizes hand gestures in images. Detects hand landmarks, identifies gestures (thumbs up, victory, etc.), and classifies handedness.\";\n public static inputSchema(): DataPortSchema {\n return GestureRecognizerInputSchema as DataPortSchema;\n }\n public static outputSchema(): DataPortSchema {\n return GestureRecognizerOutputSchema as DataPortSchema;\n }\n}\n\nTaskRegistry.registerTask(GestureRecognizerTask);\n\n/**\n * Convenience function to run gesture recognition tasks.\n * Creates and executes a GestureRecognizerTask with the provided input.\n * @param input The input parameters for gesture recognition (image, model, and optional configuration)\n * @returns Promise resolving to the detected gestures with landmarks and handedness\n */\nexport const GestureRecognizer = (\n input: GestureRecognizerTaskInput,\n config?: JobQueueTaskConfig\n) => {\n return new GestureRecognizerTask(input, config).run();\n};\n\ndeclare module \"@workglow/task-graph\" {\n interface Workflow {\n GestureRecognizer: CreateWorkflow<\n GestureRecognizerTaskInput,\n GestureRecognizerTaskOutput,\n JobQueueTaskConfig\n >;\n }\n}\n\nWorkflow.prototype.GestureRecognizer = CreateWorkflow(GestureRecognizerTask);\n",
24
+ "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { CreateWorkflow, JobQueueTaskConfig, TaskRegistry, Workflow } from \"@workglow/task-graph\";\nimport { DataPortSchema, FromSchema } from \"@workglow/util\";\nimport {\n DeReplicateFromSchema,\n TypeImageInput,\n TypeModel,\n TypeReplicateArray,\n} from \"./base/AiTaskSchemas\";\nimport { AiVisionTask } from \"./base/AiVisionTask\";\n\nconst modelSchema = TypeReplicateArray(TypeModel(\"model:HandLandmarkerTask\"));\n\n/**\n * A landmark point with x, y, z coordinates.\n */\nconst TypeLandmark = {\n type: \"object\",\n properties: {\n x: {\n type: \"number\",\n title: \"X Coordinate\",\n description: \"X coordinate normalized to [0.0, 1.0]\",\n },\n y: {\n type: \"number\",\n title: \"Y Coordinate\",\n description: \"Y coordinate normalized to [0.0, 1.0]\",\n },\n z: {\n type: \"number\",\n title: \"Z Coordinate\",\n description: \"Z coordinate (depth)\",\n },\n },\n required: [\"x\", \"y\", \"z\"],\n additionalProperties: false,\n} as const;\n\n/**\n * Handedness classification (left or right hand).\n */\nconst TypeHandedness = {\n type: \"object\",\n properties: {\n label: {\n type: \"string\",\n title: \"Hand Label\",\n description: \"Whether the hand is 'Left' or 'Right'\",\n },\n score: {\n type: \"number\",\n title: \"Confidence Score\",\n description: \"Confidence score for the handedness classification\",\n },\n },\n required: [\"label\", \"score\"],\n additionalProperties: false,\n} as const;\n\n/**\n * Detection result for a single hand.\n */\nconst TypeHandDetection = {\n type: \"object\",\n properties: {\n handedness: {\n type: \"array\",\n items: TypeHandedness,\n title: \"Handedness\",\n description: \"Handedness classification (left/right)\",\n },\n landmarks: {\n type: \"array\",\n items: TypeLandmark,\n title: \"Landmarks\",\n description: \"21 hand landmarks in image coordinates\",\n },\n worldLandmarks: {\n type: \"array\",\n items: TypeLandmark,\n title: \"World Landmarks\",\n description: \"21 hand landmarks in 3D world coordinates (meters)\",\n },\n },\n required: [\"handedness\", \"landmarks\", \"worldLandmarks\"],\n additionalProperties: false,\n} as const;\n\nexport const HandLandmarkerInputSchema = {\n type: \"object\",\n properties: {\n image: TypeReplicateArray(TypeImageInput),\n model: modelSchema,\n numHands: {\n type: \"number\",\n minimum: 1,\n maximum: 10,\n default: 1,\n title: \"Number of Hands\",\n description: \"The maximum number of hands to detect\",\n \"x-ui-group\": \"Configuration\",\n },\n minHandDetectionConfidence: {\n type: \"number\",\n minimum: 0,\n maximum: 1,\n default: 0.5,\n title: \"Min Hand Detection Confidence\",\n description: \"Minimum confidence score for hand detection\",\n \"x-ui-group\": \"Configuration\",\n },\n minHandPresenceConfidence: {\n type: \"number\",\n minimum: 0,\n maximum: 1,\n default: 0.5,\n title: \"Min Hand Presence Confidence\",\n description: \"Minimum confidence score for hand presence\",\n \"x-ui-group\": \"Configuration\",\n },\n minTrackingConfidence: {\n type: \"number\",\n minimum: 0,\n maximum: 1,\n default: 0.5,\n title: \"Min Tracking Confidence\",\n description: \"Minimum confidence score for hand tracking\",\n \"x-ui-group\": \"Configuration\",\n },\n },\n required: [\"image\", \"model\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport const HandLandmarkerOutputSchema = {\n type: \"object\",\n properties: {\n hands: {\n oneOf: [\n { type: \"array\", items: TypeHandDetection },\n { type: \"array\", items: { type: \"array\", items: TypeHandDetection } },\n ],\n title: \"Hand Detections\",\n description: \"Detected hands with handedness and landmarks\",\n },\n },\n required: [\"hands\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport type HandLandmarkerTaskInput = FromSchema<typeof HandLandmarkerInputSchema>;\nexport type HandLandmarkerTaskOutput = FromSchema<typeof HandLandmarkerOutputSchema>;\nexport type HandLandmarkerTaskExecuteInput = DeReplicateFromSchema<\n typeof HandLandmarkerInputSchema\n>;\nexport type HandLandmarkerTaskExecuteOutput = DeReplicateFromSchema<\n typeof HandLandmarkerOutputSchema\n>;\n\n/**\n * Detects hand landmarks in images using MediaPipe Hand Landmarker.\n * Identifies 21 hand landmarks and classifies left vs. right hands.\n */\nexport class HandLandmarkerTask extends AiVisionTask<\n HandLandmarkerTaskInput,\n HandLandmarkerTaskOutput,\n JobQueueTaskConfig\n> {\n public static type = \"HandLandmarkerTask\";\n public static category = \"AI Vision Model\";\n public static title = \"Hand Landmarker\";\n public static description =\n \"Detects hand landmarks in images. Identifies 21 hand landmarks and classifies left vs. right hands.\";\n public static inputSchema(): DataPortSchema {\n return HandLandmarkerInputSchema as DataPortSchema;\n }\n public static outputSchema(): DataPortSchema {\n return HandLandmarkerOutputSchema as DataPortSchema;\n }\n}\n\nTaskRegistry.registerTask(HandLandmarkerTask);\n\n/**\n * Convenience function to run hand landmark detection tasks.\n * Creates and executes a HandLandmarkerTask with the provided input.\n * @param input The input parameters for hand landmark detection (image, model, and optional configuration)\n * @returns Promise resolving to the detected hand landmarks and handedness\n */\nexport const HandLandmarker = (input: HandLandmarkerTaskInput, config?: JobQueueTaskConfig) => {\n return new HandLandmarkerTask(input, config).run();\n};\n\ndeclare module \"@workglow/task-graph\" {\n interface Workflow {\n HandLandmarker: CreateWorkflow<\n HandLandmarkerTaskInput,\n HandLandmarkerTaskOutput,\n JobQueueTaskConfig\n >;\n }\n}\n\nWorkflow.prototype.HandLandmarker = CreateWorkflow(HandLandmarkerTask);\n",
21
25
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { CreateWorkflow, JobQueueTaskConfig, TaskRegistry, Workflow } from \"@workglow/task-graph\";\nimport { DataPortSchema, FromSchema } from \"@workglow/util\";\nimport {\n DeReplicateFromSchema,\n TypeCategory,\n TypeImageInput,\n TypeModel,\n TypeReplicateArray,\n} from \"./base/AiTaskSchemas\";\nimport { AiVisionTask } from \"./base/AiVisionTask\";\n\nconst modelSchema = TypeReplicateArray(TypeModel(\"model:ImageClassificationTask\"));\n\nexport const ImageClassificationInputSchema = {\n type: \"object\",\n properties: {\n image: TypeReplicateArray(TypeImageInput),\n model: modelSchema,\n categories: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n title: \"Categories\",\n description:\n \"List of candidate categories (optional, if provided uses zero-shot classification)\",\n \"x-ui-group\": \"Configuration\",\n },\n maxCategories: {\n type: \"number\",\n minimum: 1,\n maximum: 1000,\n default: 5,\n title: \"Max Categories\",\n description: \"The maximum number of categories to return\",\n \"x-ui-group\": \"Configuration\",\n },\n },\n required: [\"image\", \"model\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport const ImageClassificationOutputSchema = {\n type: \"object\",\n properties: {\n categories: {\n oneOf: [\n { type: \"array\", items: TypeCategory },\n { type: \"array\", items: { type: \"array\", items: TypeCategory } },\n ],\n title: \"Categories\",\n description: \"The classification categories with their scores\",\n },\n },\n required: [\"categories\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport type ImageClassificationTaskInput = FromSchema<typeof ImageClassificationInputSchema>;\nexport type ImageClassificationTaskOutput = FromSchema<typeof ImageClassificationOutputSchema>;\nexport type ImageClassificationTaskExecuteInput = DeReplicateFromSchema<\n typeof ImageClassificationInputSchema\n>;\nexport type ImageClassificationTaskExecuteOutput = DeReplicateFromSchema<\n typeof ImageClassificationOutputSchema\n>;\n\n/**\n * Classifies images into categories using vision models.\n * Automatically selects between regular and zero-shot classification based on whether categories are provided.\n */\nexport class ImageClassificationTask extends AiVisionTask<\n ImageClassificationTaskInput,\n ImageClassificationTaskOutput,\n JobQueueTaskConfig\n> {\n public static type = \"ImageClassificationTask\";\n public static category = \"AI Vision Model\";\n public static title = \"Image Classification\";\n public static description =\n \"Classifies images into categories using vision models. Supports zero-shot classification when categories are provided.\";\n public static inputSchema(): DataPortSchema {\n return ImageClassificationInputSchema as DataPortSchema;\n }\n public static outputSchema(): DataPortSchema {\n return ImageClassificationOutputSchema as DataPortSchema;\n }\n}\n\nTaskRegistry.registerTask(ImageClassificationTask);\n\n/**\n * Convenience function to run image classification tasks.\n * Creates and executes an ImageClassificationTask with the provided input.\n * @param input The input parameters for image classification (image, model, and optional categories)\n * @returns Promise resolving to the classification categories with scores\n */\nexport const ImageClassification = (\n input: ImageClassificationTaskInput,\n config?: JobQueueTaskConfig\n) => {\n return new ImageClassificationTask(input, config).run();\n};\n\ndeclare module \"@workglow/task-graph\" {\n interface Workflow {\n ImageClassification: CreateWorkflow<\n ImageClassificationTaskInput,\n ImageClassificationTaskOutput,\n JobQueueTaskConfig\n >;\n }\n}\n\nWorkflow.prototype.ImageClassification = CreateWorkflow(ImageClassificationTask);\n",
22
26
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { CreateWorkflow, JobQueueTaskConfig, TaskRegistry, Workflow } from \"@workglow/task-graph\";\nimport { DataPortSchema, FromSchema } from \"@workglow/util\";\nimport {\n DeReplicateFromSchema,\n TypedArraySchema,\n TypeImageInput,\n TypeModel,\n TypeReplicateArray,\n} from \"./base/AiTaskSchemas\";\nimport { AiVisionTask } from \"./base/AiVisionTask\";\n\nconst modelSchema = TypeReplicateArray(TypeModel(\"model:ImageEmbeddingTask\"));\n\nconst embeddingSchema = TypedArraySchema({\n title: \"Embedding\",\n description: \"The image embedding vector\",\n});\n\nexport const ImageEmbeddingInputSchema = {\n type: \"object\",\n properties: {\n image: TypeReplicateArray(TypeImageInput),\n model: modelSchema,\n },\n required: [\"image\", \"model\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport const ImageEmbeddingOutputSchema = {\n type: \"object\",\n properties: {\n vector: {\n oneOf: [embeddingSchema, { type: \"array\", items: embeddingSchema }],\n title: \"Embedding\",\n description: \"The image embedding vector\",\n },\n },\n required: [\"vector\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport type ImageEmbeddingTaskInput = FromSchema<typeof ImageEmbeddingInputSchema>;\nexport type ImageEmbeddingTaskOutput = FromSchema<typeof ImageEmbeddingOutputSchema>;\nexport type ImageEmbeddingTaskExecuteInput = DeReplicateFromSchema<\n typeof ImageEmbeddingInputSchema\n>;\nexport type ImageEmbeddingTaskExecuteOutput = DeReplicateFromSchema<\n typeof ImageEmbeddingOutputSchema\n>;\n\n/**\n * Generates embeddings from images using vision models\n */\nexport class ImageEmbeddingTask extends AiVisionTask<\n ImageEmbeddingTaskInput,\n ImageEmbeddingTaskOutput,\n JobQueueTaskConfig\n> {\n public static type = \"ImageEmbeddingTask\";\n public static category = \"AI Vision Model\";\n public static title = \"Image Embedding\";\n public static description = \"Generates embeddings from images using vision models\";\n public static inputSchema(): DataPortSchema {\n return ImageEmbeddingInputSchema as DataPortSchema;\n }\n public static outputSchema(): DataPortSchema {\n return ImageEmbeddingOutputSchema as DataPortSchema;\n }\n}\n\nTaskRegistry.registerTask(ImageEmbeddingTask);\n\n/**\n * Convenience function to run image embedding tasks.\n * Creates and executes an ImageEmbeddingTask with the provided input.\n * @param input The input parameters for image embedding (image and model)\n * @returns Promise resolving to the image embedding vector\n */\nexport const ImageEmbedding = (input: ImageEmbeddingTaskInput, config?: JobQueueTaskConfig) => {\n return new ImageEmbeddingTask(input, config).run();\n};\n\ndeclare module \"@workglow/task-graph\" {\n interface Workflow {\n ImageEmbedding: CreateWorkflow<\n ImageEmbeddingTaskInput,\n ImageEmbeddingTaskOutput,\n JobQueueTaskConfig\n >;\n }\n}\n\nWorkflow.prototype.ImageEmbedding = CreateWorkflow(ImageEmbeddingTask);\n",
23
27
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { CreateWorkflow, JobQueueTaskConfig, TaskRegistry, Workflow } from \"@workglow/task-graph\";\nimport { DataPortSchema, FromSchema } from \"@workglow/util\";\nimport {\n DeReplicateFromSchema,\n TypeImageInput,\n TypeModel,\n TypeReplicateArray,\n} from \"./base/AiTaskSchemas\";\nimport { AiVisionTask } from \"./base/AiVisionTask\";\n\nconst modelSchema = TypeReplicateArray(TypeModel(\"model:ImageSegmentationTask\"));\n\nexport const ImageSegmentationInputSchema = {\n type: \"object\",\n properties: {\n image: TypeReplicateArray(TypeImageInput),\n model: modelSchema,\n threshold: {\n type: \"number\",\n title: \"Threshold\",\n description: \"The threshold for filtering masks by score\",\n minimum: 0,\n maximum: 1,\n default: 0.5,\n \"x-ui-group\": \"Configuration\",\n },\n maskThreshold: {\n type: \"number\",\n title: \"Mask Threshold\",\n description: \"Threshold to use when turning predicted masks into binary values\",\n minimum: 0,\n maximum: 1,\n default: 0.5,\n \"x-ui-group\": \"Configuration\",\n },\n },\n required: [\"image\", \"model\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nconst segmentationMaskSchema = {\n type: \"object\",\n properties: {\n label: {\n type: \"string\",\n title: \"Label\",\n description: \"The label of the segmented region\",\n },\n score: {\n type: \"number\",\n title: \"Score\",\n description: \"The confidence score for this segmentation\",\n minimum: 0,\n maximum: 1,\n },\n mask: {\n type: \"object\",\n format: \"image\",\n title: \"Mask\",\n description: \"Mask image\",\n },\n },\n required: [\"label\", \"score\", \"mask\"],\n additionalProperties: false,\n} as const;\n\nexport const ImageSegmentationOutputSchema = {\n type: \"object\",\n properties: {\n masks: {\n oneOf: [\n { type: \"array\", items: segmentationMaskSchema },\n { type: \"array\", items: { type: \"array\", items: segmentationMaskSchema } },\n ],\n title: \"Segmentation Masks\",\n description: \"The segmented regions with their labels, scores, and masks\",\n },\n },\n required: [\"masks\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport type ImageSegmentationTaskInput = FromSchema<typeof ImageSegmentationInputSchema>;\nexport type ImageSegmentationTaskOutput = FromSchema<typeof ImageSegmentationOutputSchema>;\nexport type ImageSegmentationTaskExecuteInput = DeReplicateFromSchema<\n typeof ImageSegmentationInputSchema\n>;\nexport type ImageSegmentationTaskExecuteOutput = DeReplicateFromSchema<\n typeof ImageSegmentationOutputSchema\n>;\n\n/**\n * Segments images into regions using computer vision models\n */\nexport class ImageSegmentationTask extends AiVisionTask<\n ImageSegmentationTaskInput,\n ImageSegmentationTaskOutput,\n JobQueueTaskConfig\n> {\n public static type = \"ImageSegmentationTask\";\n public static category = \"AI Vision Model\";\n public static title = \"Image Segmentation\";\n public static description =\n \"Segments images into regions with labels using computer vision models\";\n public static inputSchema(): DataPortSchema {\n return ImageSegmentationInputSchema as DataPortSchema;\n }\n public static outputSchema(): DataPortSchema {\n return ImageSegmentationOutputSchema as DataPortSchema;\n }\n}\n\nTaskRegistry.registerTask(ImageSegmentationTask);\n\n/**\n * Convenience function to run image segmentation tasks.\n * Creates and executes an ImageSegmentationTask with the provided input.\n * @param input The input parameters for image segmentation (image and model)\n * @returns Promise resolving to the segmentation masks with labels and scores\n */\nexport const ImageSegmentation = (\n input: ImageSegmentationTaskInput,\n config?: JobQueueTaskConfig\n) => {\n return new ImageSegmentationTask(input, config).run();\n};\n\ndeclare module \"@workglow/task-graph\" {\n interface Workflow {\n ImageSegmentation: CreateWorkflow<\n ImageSegmentationTaskInput,\n ImageSegmentationTaskOutput,\n JobQueueTaskConfig\n >;\n }\n}\n\nWorkflow.prototype.ImageSegmentation = CreateWorkflow(ImageSegmentationTask);\n",
24
28
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { CreateWorkflow, JobQueueTaskConfig, TaskRegistry, Workflow } from \"@workglow/task-graph\";\nimport { DataPortSchema, FromSchema } from \"@workglow/util\";\nimport {\n DeReplicateFromSchema,\n TypeImageInput,\n TypeModel,\n TypeReplicateArray,\n} from \"./base/AiTaskSchemas\";\nimport { AiVisionTask } from \"./base/AiVisionTask\";\n\nconst modelSchema = TypeReplicateArray(TypeModel(\"model:ImageToTextTask\"));\n\nconst generatedTextSchema = {\n type: \"string\",\n title: \"Text\",\n description: \"The generated text description\",\n} as const;\n\nexport const ImageToTextInputSchema = {\n type: \"object\",\n properties: {\n image: TypeReplicateArray(TypeImageInput),\n model: modelSchema,\n maxTokens: {\n type: \"number\",\n title: \"Max Tokens\",\n description: \"The maximum number of tokens to generate\",\n minimum: 1,\n maximum: 4096,\n \"x-ui-group\": \"Configuration\",\n },\n },\n required: [\"image\", \"model\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport const ImageToTextOutputSchema = {\n type: \"object\",\n properties: {\n text: {\n oneOf: [generatedTextSchema, { type: \"array\", items: generatedTextSchema }],\n title: generatedTextSchema.title,\n description: generatedTextSchema.description,\n },\n },\n required: [\"text\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport type ImageToTextTaskInput = FromSchema<typeof ImageToTextInputSchema>;\nexport type ImageToTextTaskOutput = FromSchema<typeof ImageToTextOutputSchema>;\nexport type ImageToTextTaskExecuteInput = DeReplicateFromSchema<typeof ImageToTextInputSchema>;\nexport type ImageToTextTaskExecuteOutput = DeReplicateFromSchema<typeof ImageToTextOutputSchema>;\n\n/**\n * Generates text descriptions from images using vision-language models\n */\nexport class ImageToTextTask extends AiVisionTask<\n ImageToTextTaskInput,\n ImageToTextTaskOutput,\n JobQueueTaskConfig\n> {\n public static type = \"ImageToTextTask\";\n public static category = \"AI Vision Model\";\n public static title = \"Image to Text\";\n public static description =\n \"Generates text descriptions from images using vision-language models\";\n public static inputSchema(): DataPortSchema {\n return ImageToTextInputSchema as DataPortSchema;\n }\n public static outputSchema(): DataPortSchema {\n return ImageToTextOutputSchema as DataPortSchema;\n }\n}\n\nTaskRegistry.registerTask(ImageToTextTask);\n\n/**\n * Convenience function to run image to text tasks.\n * Creates and executes an ImageToTextTask with the provided input.\n * @param input The input parameters for image to text (image and model)\n * @returns Promise resolving to the generated text description\n */\nexport const ImageToText = (input: ImageToTextTaskInput, config?: JobQueueTaskConfig) => {\n return new ImageToTextTask(input, config).run();\n};\n\ndeclare module \"@workglow/task-graph\" {\n interface Workflow {\n ImageToText: CreateWorkflow<ImageToTextTaskInput, ImageToTextTaskOutput, JobQueueTaskConfig>;\n }\n}\n\nWorkflow.prototype.ImageToText = CreateWorkflow(ImageToTextTask);\n",
25
29
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { CreateWorkflow, JobQueueTaskConfig, TaskRegistry, Workflow } from \"@workglow/task-graph\";\nimport { DataPortSchema, FromSchema } from \"@workglow/util\";\nimport {\n DeReplicateFromSchema,\n TypeBoundingBox,\n TypeImageInput,\n TypeModel,\n TypeReplicateArray,\n} from \"./base/AiTaskSchemas\";\nimport { AiVisionTask } from \"./base/AiVisionTask\";\n\nconst modelSchema = TypeReplicateArray(TypeModel(\"model:ObjectDetectionTask\"));\n\nconst detectionSchema = {\n type: \"object\",\n properties: {\n label: {\n type: \"string\",\n title: \"Label\",\n description: \"The label of the detected object\",\n },\n score: {\n type: \"number\",\n title: \"Confidence Score\",\n description: \"The confidence score for this detection\",\n minimum: 0,\n maximum: 1,\n },\n box: TypeBoundingBox,\n },\n required: [\"label\", \"score\", \"box\"],\n additionalProperties: false,\n} as const;\n\nexport const ObjectDetectionInputSchema = {\n type: \"object\",\n properties: {\n image: TypeReplicateArray(TypeImageInput),\n model: modelSchema,\n labels: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n title: \"Labels\",\n description:\n \"List of object labels to detect (optional, if provided uses zero-shot detection)\",\n \"x-ui-group\": \"Configuration\",\n },\n threshold: {\n type: \"number\",\n title: \"Threshold\",\n description: \"The threshold for filtering detections by score\",\n minimum: 0,\n maximum: 1,\n default: 0.5,\n \"x-ui-group\": \"Configuration\",\n },\n },\n required: [\"image\", \"model\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport const ObjectDetectionOutputSchema = {\n type: \"object\",\n properties: {\n detections: {\n oneOf: [\n { type: \"array\", items: detectionSchema },\n { type: \"array\", items: { type: \"array\", items: detectionSchema } },\n ],\n title: \"Detections\",\n description: \"The detected objects with their labels, scores, and bounding boxes\",\n },\n },\n required: [\"detections\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport type ObjectDetectionTaskInput = FromSchema<typeof ObjectDetectionInputSchema>;\nexport type ObjectDetectionTaskOutput = FromSchema<typeof ObjectDetectionOutputSchema>;\nexport type ObjectDetectionTaskExecuteInput = DeReplicateFromSchema<\n typeof ObjectDetectionInputSchema\n>;\nexport type ObjectDetectionTaskExecuteOutput = DeReplicateFromSchema<\n typeof ObjectDetectionOutputSchema\n>;\n\n/**\n * Detects objects in images using vision models.\n * Automatically selects between regular and zero-shot detection based on whether labels are provided.\n */\nexport class ObjectDetectionTask extends AiVisionTask<\n ObjectDetectionTaskInput,\n ObjectDetectionTaskOutput,\n JobQueueTaskConfig\n> {\n public static type = \"ObjectDetectionTask\";\n public static category = \"AI Vision Model\";\n public static title = \"Object Detection\";\n public static description =\n \"Detects objects in images using vision models. Supports zero-shot detection when labels are provided.\";\n public static inputSchema(): DataPortSchema {\n return ObjectDetectionInputSchema as DataPortSchema;\n }\n public static outputSchema(): DataPortSchema {\n return ObjectDetectionOutputSchema as DataPortSchema;\n }\n}\n\nTaskRegistry.registerTask(ObjectDetectionTask);\n\n/**\n * Convenience function to run object detection tasks.\n * Creates and executes an ObjectDetectionTask with the provided input.\n * @param input The input parameters for object detection (image, model, and optional labels)\n * @returns Promise resolving to the detected objects with labels, scores, and bounding boxes\n */\nexport const ObjectDetection = (input: ObjectDetectionTaskInput, config?: JobQueueTaskConfig) => {\n return new ObjectDetectionTask(input, config).run();\n};\n\ndeclare module \"@workglow/task-graph\" {\n interface Workflow {\n ObjectDetection: CreateWorkflow<\n ObjectDetectionTaskInput,\n ObjectDetectionTaskOutput,\n JobQueueTaskConfig\n >;\n }\n}\n\nWorkflow.prototype.ObjectDetection = CreateWorkflow(ObjectDetectionTask);\n",
30
+ "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { CreateWorkflow, JobQueueTaskConfig, TaskRegistry, Workflow } from \"@workglow/task-graph\";\nimport { DataPortSchema, FromSchema } from \"@workglow/util\";\nimport {\n DeReplicateFromSchema,\n TypeImageInput,\n TypeModel,\n TypeReplicateArray,\n} from \"./base/AiTaskSchemas\";\nimport { AiVisionTask } from \"./base/AiVisionTask\";\n\nconst modelSchema = TypeReplicateArray(TypeModel(\"model:PoseLandmarkerTask\"));\n\n/**\n * A landmark point with x, y, z coordinates and visibility/presence scores.\n */\nconst TypePoseLandmark = {\n type: \"object\",\n properties: {\n x: {\n type: \"number\",\n title: \"X Coordinate\",\n description: \"X coordinate normalized to [0.0, 1.0]\",\n },\n y: {\n type: \"number\",\n title: \"Y Coordinate\",\n description: \"Y coordinate normalized to [0.0, 1.0]\",\n },\n z: {\n type: \"number\",\n title: \"Z Coordinate\",\n description: \"Z coordinate (depth)\",\n },\n visibility: {\n type: \"number\",\n title: \"Visibility\",\n description: \"Likelihood of the landmark being visible within the image\",\n },\n presence: {\n type: \"number\",\n title: \"Presence\",\n description: \"Likelihood of the landmark being present in the image\",\n },\n },\n required: [\"x\", \"y\", \"z\"],\n additionalProperties: false,\n} as const;\n\n/**\n * A segmentation mask for the detected person.\n */\nconst TypeSegmentationMask = {\n type: \"object\",\n properties: {\n data: {\n type: \"object\",\n title: \"Mask Data\",\n description: \"Canvas or image data containing the segmentation mask\",\n },\n width: {\n type: \"number\",\n title: \"Width\",\n description: \"Width of the segmentation mask\",\n },\n height: {\n type: \"number\",\n title: \"Height\",\n description: \"Height of the segmentation mask\",\n },\n },\n required: [\"data\", \"width\", \"height\"],\n additionalProperties: false,\n} as const;\n\n/**\n * Detection result for a single pose.\n */\nconst TypePoseDetection = {\n type: \"object\",\n properties: {\n landmarks: {\n type: \"array\",\n items: TypePoseLandmark,\n title: \"Landmarks\",\n description: \"33 pose landmarks in image coordinates\",\n },\n worldLandmarks: {\n type: \"array\",\n items: TypePoseLandmark,\n title: \"World Landmarks\",\n description: \"33 pose landmarks in 3D world coordinates (meters)\",\n },\n segmentationMask: TypeSegmentationMask,\n },\n required: [\"landmarks\", \"worldLandmarks\"],\n additionalProperties: false,\n} as const;\n\nexport const PoseLandmarkerInputSchema = {\n type: \"object\",\n properties: {\n image: TypeReplicateArray(TypeImageInput),\n model: modelSchema,\n numPoses: {\n type: \"number\",\n minimum: 1,\n maximum: 10,\n default: 1,\n title: \"Number of Poses\",\n description: \"The maximum number of poses to detect\",\n \"x-ui-group\": \"Configuration\",\n },\n minPoseDetectionConfidence: {\n type: \"number\",\n minimum: 0,\n maximum: 1,\n default: 0.5,\n title: \"Min Pose Detection Confidence\",\n description: \"Minimum confidence score for pose detection\",\n \"x-ui-group\": \"Configuration\",\n },\n minPosePresenceConfidence: {\n type: \"number\",\n minimum: 0,\n maximum: 1,\n default: 0.5,\n title: \"Min Pose Presence Confidence\",\n description: \"Minimum confidence score for pose presence\",\n \"x-ui-group\": \"Configuration\",\n },\n minTrackingConfidence: {\n type: \"number\",\n minimum: 0,\n maximum: 1,\n default: 0.5,\n title: \"Min Tracking Confidence\",\n description: \"Minimum confidence score for pose tracking\",\n \"x-ui-group\": \"Configuration\",\n },\n outputSegmentationMasks: {\n type: \"boolean\",\n default: false,\n title: \"Output Segmentation Masks\",\n description: \"Whether to output segmentation masks for detected poses\",\n \"x-ui-group\": \"Configuration\",\n },\n },\n required: [\"image\", \"model\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport const PoseLandmarkerOutputSchema = {\n type: \"object\",\n properties: {\n poses: {\n oneOf: [\n { type: \"array\", items: TypePoseDetection },\n { type: \"array\", items: { type: \"array\", items: TypePoseDetection } },\n ],\n title: \"Pose Detections\",\n description: \"Detected poses with landmarks and optional segmentation masks\",\n },\n },\n required: [\"poses\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport type PoseLandmarkerTaskInput = FromSchema<typeof PoseLandmarkerInputSchema>;\nexport type PoseLandmarkerTaskOutput = FromSchema<typeof PoseLandmarkerOutputSchema>;\nexport type PoseLandmarkerTaskExecuteInput = DeReplicateFromSchema<\n typeof PoseLandmarkerInputSchema\n>;\nexport type PoseLandmarkerTaskExecuteOutput = DeReplicateFromSchema<\n typeof PoseLandmarkerOutputSchema\n>;\n\n/**\n * Detects pose landmarks in images using MediaPipe Pose Landmarker.\n * Identifies 33 body landmarks for pose estimation and optional segmentation.\n */\nexport class PoseLandmarkerTask extends AiVisionTask<\n PoseLandmarkerTaskInput,\n PoseLandmarkerTaskOutput,\n JobQueueTaskConfig\n> {\n public static type = \"PoseLandmarkerTask\";\n public static category = \"AI Vision Model\";\n public static title = \"Pose Landmarker\";\n public static description =\n \"Detects pose landmarks in images. Identifies 33 body landmarks for pose estimation and optional segmentation.\";\n public static inputSchema(): DataPortSchema {\n return PoseLandmarkerInputSchema as DataPortSchema;\n }\n public static outputSchema(): DataPortSchema {\n return PoseLandmarkerOutputSchema as DataPortSchema;\n }\n}\n\nTaskRegistry.registerTask(PoseLandmarkerTask);\n\n/**\n * Convenience function to run pose landmark detection tasks.\n * Creates and executes a PoseLandmarkerTask with the provided input.\n * @param input The input parameters for pose landmark detection (image, model, and optional configuration)\n * @returns Promise resolving to the detected pose landmarks and optional segmentation masks\n */\nexport const PoseLandmarker = (input: PoseLandmarkerTaskInput, config?: JobQueueTaskConfig) => {\n return new PoseLandmarkerTask(input, config).run();\n};\n\ndeclare module \"@workglow/task-graph\" {\n interface Workflow {\n PoseLandmarker: CreateWorkflow<\n PoseLandmarkerTaskInput,\n PoseLandmarkerTaskOutput,\n JobQueueTaskConfig\n >;\n }\n}\n\nWorkflow.prototype.PoseLandmarker = CreateWorkflow(PoseLandmarkerTask);\n",
26
31
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { CreateWorkflow, JobQueueTaskConfig, TaskRegistry, Workflow } from \"@workglow/task-graph\";\nimport { DataPortSchema, FromSchema } from \"@workglow/util\";\nimport { AiTask } from \"./base/AiTask\";\nimport { DeReplicateFromSchema, TypeModel, TypeReplicateArray } from \"./base/AiTaskSchemas\";\n\nconst modelSchema = TypeReplicateArray(TypeModel(\"model:TextClassificationTask\"));\n\nexport const TextClassificationInputSchema = {\n type: \"object\",\n properties: {\n text: TypeReplicateArray({\n type: \"string\",\n title: \"Text\",\n description: \"The text to classify\",\n }),\n candidateLabels: {\n type: \"array\",\n items: {\n type: \"string\",\n },\n title: \"Candidate Labels\",\n description: \"List of candidate labels (optional, if provided uses zero-shot classification)\",\n \"x-ui-group\": \"Configuration\",\n },\n maxCategories: {\n type: \"number\",\n minimum: 1,\n maximum: 1000,\n default: 5,\n title: \"Max Categories\",\n description: \"The maximum number of categories to return\",\n \"x-ui-group\": \"Configuration\",\n },\n model: modelSchema,\n },\n required: [\"text\", \"model\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport const TextClassificationOutputSchema = {\n type: \"object\",\n properties: {\n categories: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n label: {\n type: \"string\",\n title: \"Label\",\n description: \"The name of the category\",\n },\n score: {\n type: \"number\",\n title: \"Score\",\n description: \"The confidence score for this category\",\n },\n },\n required: [\"label\", \"score\"],\n additionalProperties: false,\n },\n title: \"Categories\",\n description: \"The classification categories with their scores\",\n },\n },\n required: [\"categories\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport type TextClassificationTaskInput = FromSchema<typeof TextClassificationInputSchema>;\nexport type TextClassificationTaskOutput = FromSchema<typeof TextClassificationOutputSchema>;\nexport type TextClassificationTaskExecuteInput = DeReplicateFromSchema<\n typeof TextClassificationInputSchema\n>;\nexport type TextClassificationTaskExecuteOutput = DeReplicateFromSchema<\n typeof TextClassificationOutputSchema\n>;\n\n/**\n * Classifies text into categories using language models.\n * Automatically selects between regular and zero-shot classification based on whether candidate labels are provided.\n */\nexport class TextClassificationTask extends AiTask<\n TextClassificationTaskInput,\n TextClassificationTaskOutput\n> {\n public static type = \"TextClassificationTask\";\n public static category = \"AI Text Model\";\n public static title = \"Text Classifier\";\n public static description =\n \"Classifies text into categories using language models. Supports zero-shot classification when candidate labels are provided.\";\n public static inputSchema(): DataPortSchema {\n return TextClassificationInputSchema as DataPortSchema;\n }\n public static outputSchema(): DataPortSchema {\n return TextClassificationOutputSchema as DataPortSchema;\n }\n}\n\nTaskRegistry.registerTask(TextClassificationTask);\n\n/**\n * Convenience function to run text classifier tasks.\n * Creates and executes a TextClassificationTask with the provided input.\n * @param input The input parameters for text classification (text and model)\n * @returns Promise resolving to the classification categories with scores\n */\nexport const TextClassification = (\n input: TextClassificationTaskInput,\n config?: JobQueueTaskConfig\n) => {\n return new TextClassificationTask(input, config).run();\n};\n\ndeclare module \"@workglow/task-graph\" {\n interface Workflow {\n TextClassification: CreateWorkflow<\n TextClassificationTaskInput,\n TextClassificationTaskOutput,\n JobQueueTaskConfig\n >;\n }\n}\n\nWorkflow.prototype.TextClassification = CreateWorkflow(TextClassificationTask);\n",
27
32
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { CreateWorkflow, JobQueueTaskConfig, TaskRegistry, Workflow } from \"@workglow/task-graph\";\nimport { DataPortSchema, FromSchema } from \"@workglow/util\";\nimport { AiTask } from \"./base/AiTask\";\nimport {\n DeReplicateFromSchema,\n TypedArraySchema,\n TypedArraySchemaOptions,\n TypeModel,\n TypeReplicateArray,\n} from \"./base/AiTaskSchemas\";\n\nconst modelSchema = TypeReplicateArray(TypeModel(\"model:TextEmbeddingTask\"));\n\nexport const TextEmbeddingInputSchema = {\n type: \"object\",\n properties: {\n text: TypeReplicateArray({\n type: \"string\",\n title: \"Text\",\n description: \"The text to embed\",\n }),\n model: modelSchema,\n },\n required: [\"text\", \"model\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport const TextEmbeddingOutputSchema = {\n type: \"object\",\n properties: {\n vector: TypeReplicateArray(\n TypedArraySchema({\n title: \"Vector\",\n description: \"The vector embedding of the text\",\n })\n ),\n },\n required: [\"vector\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport type TextEmbeddingTaskInput = FromSchema<\n typeof TextEmbeddingInputSchema,\n TypedArraySchemaOptions\n>;\nexport type TextEmbeddingTaskOutput = FromSchema<\n typeof TextEmbeddingOutputSchema,\n TypedArraySchemaOptions\n>;\nexport type TextEmbeddingTaskExecuteInput = DeReplicateFromSchema<typeof TextEmbeddingInputSchema>;\nexport type TextEmbeddingTaskExecuteOutput = DeReplicateFromSchema<\n typeof TextEmbeddingOutputSchema\n>;\n\n/**\n * A task that generates vector embeddings for text using a specified embedding model.\n * Embeddings are numerical representations of text that capture semantic meaning,\n * useful for similarity comparisons and semantic search.\n *\n * @extends AiTask\n */\nexport class TextEmbeddingTask extends AiTask<TextEmbeddingTaskInput, TextEmbeddingTaskOutput> {\n public static type = \"TextEmbeddingTask\";\n public static category = \"AI Text Model\";\n public static title = \"Text Embedding\";\n public static description = \"Generates vector embeddings for text to capture semantic meaning\";\n public static inputSchema(): DataPortSchema {\n return TextEmbeddingInputSchema as DataPortSchema;\n }\n public static outputSchema(): DataPortSchema {\n return TextEmbeddingOutputSchema as DataPortSchema;\n }\n}\n\nTaskRegistry.registerTask(TextEmbeddingTask);\n\n/**\n * Convenience function to create and run a text embedding task.\n * @param input - Input containing text(s) and model(s) for embedding\n * @returns Promise resolving to the generated embeddings\n */\nexport const TextEmbedding = async (input: TextEmbeddingTaskInput, config?: JobQueueTaskConfig) => {\n return new TextEmbeddingTask(input, config).run();\n};\n\ndeclare module \"@workglow/task-graph\" {\n interface Workflow {\n TextEmbedding: CreateWorkflow<\n TextEmbeddingTaskInput,\n TextEmbeddingTaskOutput,\n JobQueueTaskConfig\n >;\n }\n}\n\nWorkflow.prototype.TextEmbedding = CreateWorkflow(TextEmbeddingTask);\n",
28
33
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { CreateWorkflow, JobQueueTaskConfig, TaskRegistry, Workflow } from \"@workglow/task-graph\";\nimport { DataPortSchema, FromSchema } from \"@workglow/util\";\nimport { AiTask } from \"./base/AiTask\";\nimport { DeReplicateFromSchema, TypeModel, TypeReplicateArray } from \"./base/AiTaskSchemas\";\n\nconst modelSchema = TypeReplicateArray(TypeModel(\"model:TextFillMaskTask\"));\n\nexport const TextFillMaskInputSchema = {\n type: \"object\",\n properties: {\n text: TypeReplicateArray({\n type: \"string\",\n title: \"Text\",\n description: \"The text with a mask token to fill\",\n }),\n model: modelSchema,\n },\n required: [\"text\", \"model\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport const TextFillMaskOutputSchema = {\n type: \"object\",\n properties: {\n predictions: {\n type: \"array\",\n items: {\n type: \"object\",\n properties: {\n entity: {\n type: \"string\",\n title: \"Entity\",\n description: \"The token that was predicted to fill the mask\",\n },\n score: {\n type: \"number\",\n title: \"Score\",\n description: \"The confidence score for this prediction\",\n },\n sequence: {\n type: \"string\",\n title: \"Sequence\",\n description: \"The complete text with the mask filled\",\n },\n },\n required: [\"entity\", \"score\", \"sequence\"],\n additionalProperties: false,\n },\n title: \"Predictions\",\n description: \"The predicted tokens to fill the mask with their scores and complete sequences\",\n },\n },\n required: [\"predictions\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport type TextFillMaskTaskInput = FromSchema<typeof TextFillMaskInputSchema>;\nexport type TextFillMaskTaskOutput = FromSchema<typeof TextFillMaskOutputSchema>;\nexport type TextFillMaskTaskExecuteInput = DeReplicateFromSchema<typeof TextFillMaskInputSchema>;\nexport type TextFillMaskTaskExecuteOutput = DeReplicateFromSchema<typeof TextFillMaskOutputSchema>;\n\n/**\n * Fills masked tokens in text using language models\n */\nexport class TextFillMaskTask extends AiTask<TextFillMaskTaskInput, TextFillMaskTaskOutput> {\n public static type = \"TextFillMaskTask\";\n public static category = \"AI Text Model\";\n public static title = \"Fill Mask\";\n public static description = \"Fills masked tokens in text\";\n public static inputSchema(): DataPortSchema {\n return TextFillMaskInputSchema as DataPortSchema;\n }\n public static outputSchema(): DataPortSchema {\n return TextFillMaskOutputSchema as DataPortSchema;\n }\n}\n\nTaskRegistry.registerTask(TextFillMaskTask);\n\n/**\n * Convenience function to run fill mask tasks.\n * Creates and executes a TextFillMaskTask with the provided input.\n * @param input The input parameters for fill mask (text with mask token and model)\n * @returns Promise resolving to the predicted tokens with scores and complete sequences\n */\nexport const TextFillMask = (input: TextFillMaskTaskInput, config?: JobQueueTaskConfig) => {\n return new TextFillMaskTask(input, config).run();\n};\n\ndeclare module \"@workglow/task-graph\" {\n interface Workflow {\n TextFillMask: CreateWorkflow<TextFillMaskTaskInput, TextFillMaskTaskOutput, JobQueueTaskConfig>;\n }\n}\n\nWorkflow.prototype.TextFillMask = CreateWorkflow(TextFillMaskTask);\n",
@@ -36,7 +41,7 @@
36
41
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { CreateWorkflow, JobQueueTaskConfig, TaskRegistry, Workflow } from \"@workglow/task-graph\";\nimport { DataPortSchema, FromSchema } from \"@workglow/util\";\nimport { AiTask } from \"./base/AiTask\";\nimport { DeReplicateFromSchema, TypeModel, TypeReplicateArray } from \"./base/AiTaskSchemas\";\n\nconst modelSchema = TypeReplicateArray(TypeModel(\"model\"));\n\nconst UnloadModelInputSchema = {\n type: \"object\",\n properties: {\n model: modelSchema,\n },\n required: [\"model\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nconst UnloadModelOutputSchema = {\n type: \"object\",\n properties: {\n model: modelSchema,\n },\n required: [\"model\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport type UnloadModelTaskRunInput = FromSchema<typeof UnloadModelInputSchema>;\nexport type UnloadModelTaskRunOutput = FromSchema<typeof UnloadModelOutputSchema>;\nexport type UnloadModelTaskExecuteInput = DeReplicateFromSchema<typeof UnloadModelInputSchema>;\nexport type UnloadModelTaskExecuteOutput = DeReplicateFromSchema<\n typeof UnloadModelOutputSchema\n>;\n\n/**\n * Unload a model from memory and clear its cache.\n *\n * @remarks\n * This task has a side effect of removing the model from memory and deleting cached files\n */\nexport class UnloadModelTask extends AiTask<\n UnloadModelTaskRunInput,\n UnloadModelTaskRunOutput,\n JobQueueTaskConfig\n> {\n public static type = \"UnloadModelTask\";\n public static category = \"Hidden\";\n public static title = \"Unload Model\";\n public static description = \"Unloads and clears cached AI models from memory and storage\";\n public static inputSchema(): DataPortSchema {\n return UnloadModelInputSchema satisfies DataPortSchema;\n }\n public static outputSchema(): DataPortSchema {\n return UnloadModelOutputSchema satisfies DataPortSchema;\n }\n public static cacheable = false;\n}\n\nTaskRegistry.registerTask(UnloadModelTask);\n\n/**\n * Unload a model from memory and clear its cache.\n *\n * @param input - Input containing model(s) to unload\n * @returns Promise resolving to the unloaded model(s)\n */\nexport const UnloadModel = (input: UnloadModelTaskRunInput, config?: JobQueueTaskConfig) => {\n return new UnloadModelTask(input, config).run();\n};\n\ndeclare module \"@workglow/task-graph\" {\n interface Workflow {\n UnloadModel: CreateWorkflow<\n UnloadModelTaskRunInput,\n UnloadModelTaskRunOutput,\n JobQueueTaskConfig\n >;\n }\n}\n\nWorkflow.prototype.UnloadModel = CreateWorkflow(UnloadModelTask);\n\n",
37
42
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {\n ArrayTask,\n CreateWorkflow,\n JobQueueTaskConfig,\n TaskError,\n TaskRegistry,\n Workflow,\n} from \"@workglow/task-graph\";\nimport { DataPortSchema, FromSchema } from \"@workglow/util\";\nimport { TypedArray, TypedArraySchema, TypedArraySchemaOptions } from \"./base/AiTaskSchemas\";\n\nexport const SimilarityFn = {\n COSINE: \"cosine\",\n JACCARD: \"jaccard\",\n HAMMING: \"hamming\",\n} as const;\n\nexport type SimilarityFn = (typeof SimilarityFn)[keyof typeof SimilarityFn];\n\nconst SimilarityInputSchema = {\n type: \"object\",\n properties: {\n query: TypedArraySchema({\n title: \"Query\",\n description: \"Query vector to compare against\",\n }),\n input: {\n type: \"array\",\n items: TypedArraySchema({\n title: \"Input\",\n description: \"Array of vectors to compare against the query\",\n }),\n },\n topK: {\n type: \"number\",\n title: \"Top K\",\n description: \"Number of top results to return\",\n minimum: 1,\n default: 10,\n },\n similarity: {\n type: \"string\",\n enum: Object.values(SimilarityFn),\n title: \"Similarity 𝑓\",\n description: \"Similarity function to use for comparisons\",\n default: SimilarityFn.COSINE,\n },\n },\n required: [\"query\", \"input\", \"similarity\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nconst SimilarityOutputSchema = {\n type: \"object\",\n properties: {\n output: {\n type: \"array\",\n items: TypedArraySchema({\n title: \"Output\",\n description: \"Ranked output vectors\",\n }),\n },\n score: {\n type: \"array\",\n items: {\n type: \"number\",\n title: \"Score\",\n description: \"Similarity scores for each output vector\",\n },\n },\n },\n required: [\"output\", \"score\"],\n additionalProperties: false,\n} as const satisfies DataPortSchema;\n\nexport type VectorSimilarityTaskInput = FromSchema<\n typeof SimilarityInputSchema,\n TypedArraySchemaOptions\n>;\nexport type VectorSimilarityTaskOutput = FromSchema<\n typeof SimilarityOutputSchema,\n TypedArraySchemaOptions\n>;\n\nexport class VectorSimilarityTask extends ArrayTask<\n VectorSimilarityTaskInput,\n VectorSimilarityTaskOutput,\n JobQueueTaskConfig\n> {\n static readonly type = \"VectorSimilarityTask\";\n static readonly category = \"Analysis\";\n static readonly title = \"Vector Similarity\";\n public static description =\n \"Compares vectors using similarity functions and returns top-K ranked results\";\n static readonly cacheable = true;\n\n public static override inputSchema(): DataPortSchema {\n return SimilarityInputSchema as DataPortSchema;\n }\n public static override outputSchema(): DataPortSchema {\n return SimilarityOutputSchema as DataPortSchema;\n }\n\n // @ts-ignore (TODO: fix this)\n async executeReactive(\n { query, input, similarity, topK }: VectorSimilarityTaskInput,\n oldOutput: VectorSimilarityTaskOutput\n ) {\n let similarities = [];\n const fns = { cosine };\n const fnName = similarity as keyof typeof fns;\n const fn = fns[fnName];\n\n for (const embedding of input) {\n similarities.push({\n similarity: fn(embedding, query),\n embedding,\n });\n }\n similarities = similarities.sort((a, b) => b.similarity - a.similarity).slice(0, topK);\n\n const outputs = similarities.map((s) => s.embedding);\n const scores = similarities.map((s) => s.similarity);\n return {\n output: outputs,\n score: scores,\n };\n }\n}\n\nTaskRegistry.registerTask(VectorSimilarityTask);\n\nexport const Similarity = (input: VectorSimilarityTaskInput, config?: JobQueueTaskConfig) => {\n return new VectorSimilarityTask(input, config).run();\n};\n\ndeclare module \"@workglow/task-graph\" {\n interface Workflow {\n Similarity: CreateWorkflow<\n VectorSimilarityTaskInput,\n VectorSimilarityTaskOutput,\n JobQueueTaskConfig\n >;\n }\n}\n\nWorkflow.prototype.Similarity = CreateWorkflow(VectorSimilarityTask);\n\n// ===============================================================================\n\nexport function inner(arr1: TypedArray, arr2: TypedArray): number {\n // @ts-ignore\n return 1 - arr1.reduce((acc, val, i) => acc + val * arr2[i], 0);\n}\n\nexport function magnitude(arr: TypedArray) {\n // @ts-ignore\n return Math.sqrt(arr.reduce((acc, val) => acc + val * val, 0));\n}\n\nfunction cosine(arr1: TypedArray, arr2: TypedArray) {\n const dotProduct = inner(arr1, arr2);\n const magnitude1 = magnitude(arr1);\n const magnitude2 = magnitude(arr2);\n return 1 - dotProduct / (magnitude1 * magnitude2);\n}\n\nexport function normalize(vector: TypedArray): TypedArray {\n const mag = magnitude(vector);\n\n if (mag === 0) {\n throw new TaskError(\"Cannot normalize a zero vector.\");\n }\n\n const normalized = vector.map((val) => Number(val) / mag);\n\n if (vector instanceof Float64Array) {\n return new Float64Array(normalized);\n }\n if (vector instanceof Float32Array) {\n return new Float32Array(normalized);\n }\n // For integer arrays and bigint[], use Float32Array since normalization produces floats\n return new Float32Array(normalized);\n}\n"
38
43
  ],
39
- "mappings": "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",
40
- "debugId": "13F0F9F02B78D13A64756E2164756E21",
44
+ "mappings": ";;AAMA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA;;;ACAA;;;ACCA;AAAA;AA4BO,MAAM,gBAAgB;AAAA,EAIR;AAAA,EAInB,WAAW,CACT,wBACA;AAAA,IACA,KAAK,yBAAyB;AAAA;AAAA,EAItB,SAAS,IAAI;AAAA,OAMjB,cAAa,GAAkB;AAAA,IACnC,MAAM,KAAK,uBAAuB,gBAAgB;AAAA;AAAA,EAQpD,EAA6B,CAAC,MAAa,IAA+B;AAAA,IACxE,KAAK,OAAO,GAAG,MAAM,EAAE;AAAA;AAAA,EAQzB,GAA8B,CAAC,MAAa,IAA+B;AAAA,IACzE,KAAK,OAAO,IAAI,MAAM,EAAE;AAAA;AAAA,EAQ1B,IAA+B,CAAC,MAAa,IAA+B;AAAA,IAC1E,KAAK,OAAO,KAAK,MAAM,EAAE;AAAA;AAAA,EAQ3B,MAAiC,CAAC,MAAa;AAAA,IAC7C,OAAO,KAAK,OAAO,OAAO,IAAI;AAAA;AAAA,OAO1B,SAAQ,CAAC,OAAoB;AAAA,IACjC,MAAM,KAAK,uBAAuB,IAAI,KAAK;AAAA,IAC3C,KAAK,OAAO,KAAK,eAAe,KAAK;AAAA,IACrC,OAAO;AAAA;AAAA,OAQH,iBAAgB,CAAC,MAAc;AAAA,IACnC,IAAI,OAAO,QAAQ;AAAA,MAAU;AAAA,IAC7B,MAAM,YAAY,MAAM,KAAK,uBAAuB,OAAO;AAAA,IAC3D,IAAI,CAAC,aAAa,UAAU,WAAW;AAAA,MAAG;AAAA,IAC1C,MAAM,SAAS,UAAU,OAAO,CAAC,UAAU,MAAM,OAAO,SAAS,IAAI,CAAC;AAAA,IACtE,IAAI,OAAO,WAAW;AAAA,MAAG;AAAA,IACzB,OAAO;AAAA;AAAA,OAQH,iBAAgB,CAAC,UAAkB;AAAA,IACvC,IAAI,OAAO,YAAY;AAAA,MAAU;AAAA,IACjC,MAAM,cAAc,MAAM,KAAK,uBAAuB,IAAI,EAAE,SAAS,CAAC;AAAA,IACtE,IAAI,CAAC;AAAA,MAAa;AAAA,IAClB,OAAO,YAAY,SAAS,YAAY,MAAM,SAAS,IAAI,YAAY,QAAQ;AAAA;AAAA,OAO3E,kBAAiB,GAAG;AAAA,IACxB,MAAM,YAAY,MAAM,KAAK,uBAAuB,OAAO;AAAA,IAC3D,IAAI,CAAC,aAAa,UAAU,WAAW;AAAA,MAAG;AAAA,IAC1C,MAAM,cAAc,IAAI;AAAA,IACxB,WAAW,SAAS,WAAW;AAAA,MAC7B,IAAI,MAAM,OAAO;AAAA,QACf,WAAW,QAAQ,MAAM,OAAO;AAAA,UAC9B,YAAY,IAAI,IAAI;AAAA,QACtB;AAAA,MACF;AAAA,IACF;AAAA,IACA,OAAO,YAAY,OAAO,IAAI,MAAM,KAAK,WAAW,IAAI;AAAA;AAAA,OAOpD,mBAAkB,GAAG;AAAA,IACzB,MAAM,SAAS,MAAM,KAAK,uBAAuB,OAAO;AAAA,IACxD,IAAI,CAAC,UAAU,OAAO,WAAW;AAAA,MAAG;AAAA,IACpC,OAAO;AAAA;AAAA,OAQH,WAAU,CAAC,UAAkB;AAAA,IACjC,IAAI,OAAO,YAAY;AAAA,MAAU;AAAA,IACjC,MAAM,QAAQ,MAAM,KAAK,uBAAuB,IAAI,EAAE,SAAS,CAAC;AAAA,IAChE,OAAO,SAAS;AAAA;AAAA,OAOZ,KAAI,GAAoB;AAAA,IAC5B,OAAO,MAAM,KAAK,uBAAuB,KAAK;AAAA;AAElD;;;AC1KO,IAAM,cAAc;AAAA,EACzB,MAAM;AAAA,EACN,YAAY;AAAA,IACV,UAAU,EAAE,MAAM,SAAS;AAAA,IAC3B,OAAO,EAAE,MAAM,SAAS,OAAO,EAAE,MAAM,SAAS,EAAE;AAAA,IAClD,OAAO,EAAE,MAAM,SAAS;AAAA,IACxB,aAAa,EAAE,MAAM,SAAS;AAAA,IAC9B,UAAU,EAAE,MAAM,SAAS;AAAA,IAC3B,gBAAgB,EAAE,MAAM,UAAU,SAAS,CAAC,EAAE;AAAA,IAC9C,UAAU,EAAE,MAAM,UAAU,SAAS,CAAC,EAAE;AAAA,EAC1C;AAAA,EACA,UAAU,CAAC,YAAY,SAAS,YAAY,SAAS,eAAe,kBAAkB,UAAU;AAAA,EAChG,QAAQ;AAAA,EACR,sBAAsB;AACxB;AAGO,IAAM,uBAAuB,CAAC,UAAU;;;AFXxC,MAAM,gCAAgC,gBAAgB;AAAA,EAC3D,WAAW,GAAG;AAAA,IACZ,MAAM,IAAI,0BAA0B,aAAa,oBAAoB,CAAC;AAAA;AAE1E;;;ADLO,IAAM,mBAAmB,mBAAoC,kBAAkB;AAGtF,IAAI,CAAC,sBAAsB,IAAI,gBAAgB,GAAG;AAAA,EAChD,sBAAsB,SACpB,kBACA,MAAuB,IAAI,yBAC3B,IACF;AACF;AAMO,SAAS,wBAAwB,GAAoB;AAAA,EAC1D,OAAO,sBAAsB,IAAI,gBAAgB;AAAA;AAO5C,SAAS,wBAAwB,CAAC,IAA2B;AAAA,EAClE,sBAAsB,iBAAiB,kBAAkB,EAAE;AAAA;;;AI9B7D,kCAAS;AAAA;AAsBF,MAAM,mBAAmB;AAAA,EAC9B,gBAAqE,IAAI;AAAA,EAQzE,aAA0F,CACxF,eACA,UACA,OACA;AAAA,IACA,IAAI,CAAC,KAAK,cAAc,IAAI,QAAQ,GAAG;AAAA,MACrC,KAAK,cAAc,IAAI,UAAU,IAAI,GAAK;AAAA,IAC5C;AAAA,IACA,KAAK,cAAc,IAAI,QAAQ,EAAG,IAAI,eAAe,KAAK;AAAA;AAAA,EAG5D,qBAGC,CAAC,eAAuB,UAAkB;AAAA,IACzC,MAAM,WAA2C,OAC/C,OACA,OACA,iBACA,WACG;AAAA,MACH,MAAM,gBAAgB,uBAAsB,IAAI,cAAc;AAAA,MAC9D,MAAM,SAAS,MAAM,cAAc,mBACjC,eACA,UACA,CAAC,OAAO,KAAK,GACb;AAAA,QACE;AAAA,QACA,YAAY;AAAA,MACd,CACF;AAAA,MACA,OAAO;AAAA;AAAA,IAET,KAAK,cAA6B,eAAe,UAAU,QAAQ;AAAA;AAAA,EAOrE,cAA2F,CACzF,eACA,UACA;AAAA,IACA,MAAM,cAAc,KAAK,cAAc,IAAI,QAAQ;AAAA,IACnD,MAAM,QAAQ,aAAa,IAAI,aAAa;AAAA,IAC5C,IAAI,CAAC,OAAO;AAAA,MACV,MAAM,IAAI,MACR,uCAAuC,+BAA+B,eACxE;AAAA,IACF;AAAA,IACA,OAAO;AAAA;AAEX;AAGA,IAAI;AACG,SAAS,qBAAqB,GAAG;AAAA,EACtC,IAAI,CAAC;AAAA,IAAkB,mBAAmB,IAAI;AAAA,EAC9C,OAAO;AAAA;AAEF,SAAS,qBAAqB,CAAC,IAAwB;AAAA,EAC5D,mBAAmB;AAAA;;;ALtEd,MAAM,cAGH,IAAmB;AAAA,OAIrB,QAAO,CAAC,OAAc,SAA8C;AAAA,IACxE,IAAI,QAAQ,OAAO,WAAW,KAAK,WAAW,UAAU,UAAU;AAAA,MAChE,MAAM,IAAI,oBAAoB,8CAA8C;AAAA,IAC9E;AAAA,IAEA,IAAI;AAAA,IAEJ,IAAI;AAAA,MACF,MAAM,eAAe,IAAI,QAAe,CAAC,UAAU,WAAW;AAAA,QAC5D,MAAM,UAAU,MAAM;AAAA,UACpB,OAAO,IAAI,oBAAoB,+BAA+B,CAAC;AAAA;AAAA,QAGjE,QAAQ,OAAO,iBAAiB,SAAS,SAAS,EAAE,MAAM,KAAK,CAAC;AAAA,QAChE,eAAe,MAAM,QAAQ,OAAO,oBAAoB,SAAS,OAAO;AAAA,OACzE;AAAA,MAED,MAAM,QAAQ,YAAY;AAAA,QACxB,MAAM,KAAK,sBAAsB,EAAE,eACjC,MAAM,YACN,MAAM,QACR;AAAA,QACA,IAAI,CAAC,IAAI;AAAA,UACP,MAAM,IAAI,kBACR,uCAAuC,MAAM,+BAA+B,MAAM,YACpF;AAAA,QACF;AAAA,QACA,MAAM,YAAY,MAAM,UAAU;AAAA,QAClC,MAAM,QAAQ,MAAM,yBAAyB,EAAE,WAAW,SAAS;AAAA,QACnE,IAAI,aAAa,CAAC,OAAO;AAAA,UACvB,MAAM,IAAI,kBAAkB,SAAS,qBAAqB;AAAA,QAC5D;AAAA,QACA,IAAI,QAAQ,QAAQ,SAAS;AAAA,UAC3B,MAAM,IAAI,oBAAoB,aAAa;AAAA,QAC7C;AAAA,QACA,OAAO,MAAM,GAAG,MAAM,WAAW,OAAO,QAAQ,gBAAgB,QAAQ,MAAM;AAAA;AAAA,MAEhF,MAAM,eAAe,MAAM;AAAA,MAE3B,OAAO,MAAM,QAAQ,KAAK,CAAC,cAAc,YAAY,CAAC;AAAA,cACtD;AAAA,MAEA,IAAI,cAAc;AAAA,QAChB,aAAa;AAAA,MACf;AAAA;AAAA;AAGN;;AM/CO,MAAM,SAAS;AAAA,EACb;AAAA,EAEP,WAAW,CAAC,SAAuB,WAA6B,EAAE,OAAO,GAAG,GAAG;AAAA,IAC7E,KAAK,WAAW;AAAA,IAChB,IAAI,SAAS;AAAA,MACX,IAAI,MAAM,QAAQ,OAAO,GAAG;AAAA,QAC1B,WAAW,QAAQ,SAAS;AAAA,UAC1B,KAAK,WAAW,IAAI;AAAA,QACtB;AAAA,MACF,EAAO;AAAA,QACL,KAAK,WAAW,OAAO;AAAA;AAAA,IAE3B;AAAA;AAAA,EAGK,UAAU,CAAC,SAA0B;AAAA,IAC1C,IAAI,OAAO,YAAY,UAAU;AAAA,MAC/B,KAAK,QAAQ,OAAO;AAAA,IACtB,EAAO,SAAI,mBAAmB,wBAAwB,mBAAmB,iBAAiB;AAAA,MACxF,KAAK,UAAU,KAAK,OAAO;AAAA,IAC7B,EAAO;AAAA,MACL,MAAM,IAAI,MAAM,sBAAsB;AAAA;AAAA;AAAA,EAInC,UAAU,CAAC,SAAuB,UAAqD;AAAA,IAC5F,MAAM,UAAU,IAAI,gBAAgB,MAAM,SAAS,QAAQ;AAAA,IAC3D,KAAK,UAAU,KAAK,OAAO;AAAA,IAC3B,OAAO;AAAA;AAAA,EAGF,OAAO,CAAC,SAA+B;AAAA,IAC5C,MAAM,IAAI,IAAI,aAAa,OAAO;AAAA,IAClC,KAAK,UAAU,KAAK,CAAC;AAAA,IACrB,OAAO;AAAA;AAAA,EAEF,QAAQ,CAAC,SAAiC;AAAA,IAC/C,MAAM,IAAI,IAAI,cAAc,OAAO;AAAA,IACnC,KAAK,UAAU,KAAK,CAAC;AAAA,IACrB,OAAO;AAAA;AAAA,EAEF,QAAQ,CAAC,SAAiC;AAAA,IAC/C,MAAM,IAAI,IAAI,cAAc,OAAO;AAAA,IACnC,KAAK,UAAU,KAAK,CAAC;AAAA,IACrB,OAAO;AAAA;AAAA,EAGF,YAAuD,CAAC;AAAA,EAE/D,MAAM,GAAY;AAAA,IAChB,OAAO;AAAA,MACL,MAAM;AAAA,MACN,UAAU,KAAK;AAAA,MACf,WAAW,KAAK,UAAU,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC;AAAA,IACjD;AAAA;AAEJ;AAAA;AAEO,MAAM,wBAAwB,SAAS;AAAA,EAEnC;AAAA,EADT,WAAW,CACF,QACP,SACA,UACA;AAAA,IACA,MAAM,SAAS,QAAQ;AAAA,IAJhB;AAAA,IAKP,KAAK,SAAS;AAAA;AAAA,EAGhB,MAAM,GAAY;AAAA,IAChB,OAAO;AAAA,MACL,MAAM;AAAA,MACN,UAAU,KAAK;AAAA,MACf,WAAW,KAAK,UAAU,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC;AAAA,IACjD;AAAA;AAEJ;AAAA;AAIO,MAAM,qBAAqB;AAAA,EAChC;AAAA,EACA,WAAW,CAAC,UAAqC;AAAA,IAC/C,KAAK,WAAW;AAAA;AAEpB;AAAA;AAEO,MAAM,qBAAqB,qBAAqB;AAAA,EACrD;AAAA,EACA,WAAW,CAAC,SAAiB,UAAqC;AAAA,IAChE,MAAM,QAAQ;AAAA,IACd,KAAK,UAAU;AAAA;AAAA,EAEjB,MAAM,GAAY;AAAA,IAChB,OAAO;AAAA,MACL,MAAM;AAAA,MACN,UAAU,KAAK;AAAA,MACf,SAAS,KAAK;AAAA,IAChB;AAAA;AAEJ;AAAA;AAEO,MAAM,sBAAsB,qBAAqB;AAAA,EACtD;AAAA,EACA,WAAW,CAAC,SAAc,UAAqC;AAAA,IAC7D,MAAM,QAAQ;AAAA,IACd,KAAK,UAAU;AAAA;AAAA,EAEjB,MAAM,GAAY;AAAA,IAChB,OAAO;AAAA,MACL,MAAM;AAAA,MACN,UAAU,KAAK;AAAA,MACf,SAAS,KAAK;AAAA,IAChB;AAAA;AAEJ;AAAA;AAEO,MAAM,sBAAsB,qBAAqB;AAAA,EACtD;AAAA,EACA,WAAW,CAAC,SAAc,UAAqC;AAAA,IAC7D,MAAM,QAAQ;AAAA,IACd,KAAK,UAAU;AAAA;AAAA,EAEjB,MAAM,GAAY;AAAA,IAChB,OAAO;AAAA,MACL,MAAM;AAAA,MACN,UAAU,KAAK;AAAA,MACf,SAAS,KAAK;AAAA,IAChB;AAAA;AAEJ;;AC5JO,MAAe,kBAAkB;AAAA,EAC/B;AAAA,EACP,WAAW,CAAC,UAA4B;AAAA,IACtC,KAAK,WAAW;AAAA;AAGpB;;;ACRO,MAAM,kCAAkC,kBAAkB;AAAA,EAGtD;AAAA,EAFT,WAAW,CACT,UACO,UACP;AAAA,IACA,MAAM,QAAQ;AAAA,IAFP;AAAA;AAAA,EAIF,OAAO,GAAa;AAAA,IACzB,MAAM,SAAS,IAAI,eAAe,KAAK,SAAS,KAAK;AAAA,IACrD,MAAM,WAAW,OAAO,MAAM,KAAK,QAAQ;AAAA,IAC3C,OAAO;AAAA;AAEX;AAAA;AAEA,MAAM,eAAe;AAAA,EACX;AAAA,EACA;AAAA,EACA,aAAuB,CAAC;AAAA,EAEhC,WAAW,CAAC,OAAe;AAAA,IACzB,KAAK,WAAW,IAAI,SAAS,KAAK;AAAA,IAClC,KAAK,iBAAiB,KAAK;AAAA;AAAA,EAG7B,KAAK,CAAC,UAA4B;AAAA,IAChC,MAAM,QAAQ,SAAS,MAAM;AAAA,CAAI;AAAA,IAEjC,MAAM,QAAQ,CAAC,MAAM,UAAU;AAAA,MAC7B,IAAI,KAAK,SAAS,IAAI,GAAG;AAAA,QACvB,KAAK,gBAAgB;AAAA,QACrB,QAAQ,OAAO,YAAY,KAAK,YAAY,IAAI;AAAA,QAChD,KAAK,iBACH,UAAU,IAAI,KAAK,SAAS,WAAW,OAAO,IAAI,KAAK,eAAe,WAAW,OAAO;AAAA,MAC5F,EAAO,SAAI,KAAK,aAAa,IAAI,GAAG;AAAA,QAClC,KAAK,gBAAgB;AAAA,QACrB,MAAM,aAAa,KAAK,kBAAkB,OAAO,KAAK;AAAA,QACtD,KAAK,eAAe,SAAS,WAAW,KAAK;AAAA,CAAI,CAAC;AAAA,MACpD,EAAO,SAAI,KAAK,cAAc,IAAI,GAAG;AAAA,QACnC,KAAK,4BAA4B,IAAI;AAAA,MACvC,EAAO;AAAA,QACL,KAAK,WAAW,KAAK,IAAI;AAAA;AAAA,KAE5B;AAAA,IAED,KAAK,gBAAgB;AAAA,IACrB,OAAO,KAAK;AAAA;AAAA,EAGN,eAAe,GAAG;AAAA,IACxB,IAAI,KAAK,WAAW,SAAS,GAAG;AAAA,MAC9B,MAAM,cAAc,KAAK,WAAW,KAAK;AAAA,CAAI,EAAE,KAAK;AAAA,MACpD,IAAI,aAAa;AAAA,QACf,KAAK,eAAe,QAAQ,WAAW;AAAA,MACzC;AAAA,MACA,KAAK,aAAa,CAAC;AAAA,IACrB;AAAA;AAAA,EAGM,2BAA2B,CAAC,MAAc;AAAA,IAEhD,MAAM,QAAQ,KAAK,MAAM,mBAAmB,EAAE,OAAO,CAAC,SAAS,SAAS,EAAE;AAAA,IAC1E,MAAM,QAAQ,CAAC,SAAS;AAAA,MACtB,IAAI,KAAK,QAAQ,IAAI,GAAG;AAAA,QACtB,QAAQ,KAAK,QAAQ,KAAK,WAAW,IAAI;AAAA,QACzC,KAAK,gBAAgB;AAAA,QACrB,KAAK,eAAe,SAAS,EAAE,KAAK,IAAI,CAAC;AAAA,MAC3C,EAAO;AAAA,QACL,KAAK,WAAW,KAAK,IAAI;AAAA;AAAA,KAE5B;AAAA,IACD,KAAK,gBAAgB;AAAA;AAAA,EAGf,QAAQ,CAAC,MAAuB;AAAA,IACtC,OAAO,YAAY,KAAK,IAAI;AAAA;AAAA,EAGtB,WAAW,CAAC,MAAkD;AAAA,IACpE,MAAM,QAAQ,KAAK,MAAM,mBAAmB;AAAA,IAC5C,OAAO,QAAQ,EAAE,OAAO,MAAM,GAAG,QAAQ,SAAS,MAAM,GAAG,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG;AAAA;AAAA,EAGjF,YAAY,CAAC,MAAuB;AAAA,IAC1C,OAAO,KAAK,KAAK,EAAE,WAAW,GAAG,KAAK,KAAK,SAAS,KAAK,KAAK,QAAQ,GAAG,IAAI,CAAC;AAAA;AAAA,EAGxE,iBAAiB,CAAC,OAAiB,YAA8B;AAAA,IACvE,MAAM,aAAa,CAAC;AAAA,IACpB,SAAS,IAAI,WAAY,IAAI,MAAM,UAAU,KAAK,YAAY,MAAM,EAAE,GAAG,KAAK;AAAA,MAC5E,WAAW,KAAK,MAAM,EAAE;AAAA,IAC1B;AAAA,IACA,OAAO;AAAA;AAAA,EAGD,WAAW,CAAC,MAAuB;AAAA,IACzC,OAAO,KAAK,SAAS,GAAG;AAAA;AAAA,EAGlB,aAAa,CAAC,MAAuB;AAAA,IAC3C,OAAO,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,IAAI;AAAA;AAAA,EAG1C,OAAO,CAAC,MAAuB;AAAA,IACrC,OAAO,kBAAkB,KAAK,IAAI;AAAA;AAAA,EAG5B,UAAU,CAAC,UAAgD;AAAA,IACjE,MAAM,QAAQ,SAAS,MAAM,qBAAqB;AAAA,IAClD,OAAO,QAAQ,EAAE,KAAK,MAAM,IAAI,KAAK,MAAM,GAAG,IAAI,EAAE,KAAK,IAAI,KAAK,GAAG;AAAA;AAEzE;;AC9GO,MAAM,8BAA8B,kBAAkB;AAAA,EAGlD;AAAA,EAFT,WAAW,CACT,UACO,MACP;AAAA,IACA,MAAM,QAAQ;AAAA,IAFP;AAAA;AAAA,EAIF,OAAO,GAAa;AAAA,IACzB,OAAO,IAAI,SAAS,KAAK,MAAM,KAAK,QAAQ;AAAA;AAEhD;;ACbA;;;ACAA;AAAA;AAAA;AAqBA,IAAM,iBAAiB;AAEvB,IAAM,0BAA0B;AAAA,KAC3B;AAAA,EACH,aAAa;AAAA,IAoEX;AAAA,MACE,SAAS,EAAE,QAAQ,aAAa;AAAA,MAChC,QAAQ;AAAA,IACV;AAAA,EACF;AACF;AAIO,IAAM,mBAAmB,CAAC,cAAuC,CAAC,OACtE;AAAA,EACC,OAAO;AAAA,IACL;AAAA,MACE,MAAM;AAAA,MACN,OAAO,EAAE,MAAM,UAAU,QAAQ,UAAU;AAAA,MAC3C,OAAO;AAAA,MACP,aAAa;AAAA,MACb,QAAQ;AAAA,IACV;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,OAAO,EAAE,MAAM,UAAU,QAAQ,UAAU;AAAA,MAC3C,OAAO;AAAA,MACP,aAAa;AAAA,MACb,QAAQ;AAAA,IACV;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,OAAO,EAAE,MAAM,UAAU,QAAQ,QAAQ;AAAA,MACzC,OAAO;AAAA,MACP,aAAa;AAAA,MACb,QAAQ;AAAA,IACV;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,OAAO,EAAE,MAAM,UAAU,QAAQ,QAAQ;AAAA,MACzC,OAAO;AAAA,MACP,aAAa;AAAA,MACb,QAAQ;AAAA,IACV;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,OAAO,EAAE,MAAM,UAAU,QAAQ,OAAO;AAAA,MACxC,OAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,OAAO,EAAE,MAAM,UAAU,QAAQ,QAAQ;AAAA,MACzC,OAAO;AAAA,MACP,aAAa;AAAA,MACb,QAAQ;AAAA,IACV;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,OAAO,EAAE,MAAM,UAAU,QAAQ,SAAS;AAAA,MAC1C,OAAO;AAAA,MACP,aAAa;AAAA,MACb,QAAQ;AAAA,IACV;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,OAAO,EAAE,MAAM,UAAU,QAAQ,SAAS;AAAA,MAC1C,OAAO;AAAA,MACP,aAAa;AAAA,MACb,QAAQ;AAAA,IACV;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,OAAO,EAAE,MAAM,UAAU,QAAQ,eAAe;AAAA,MAChD,OAAO;AAAA,MACP,aAAa;AAAA,MACb,QAAQ;AAAA,IACV;AAAA,EACF;AAAA,EACA,QAAQ;AAAA,KACL;AACL;AAEK,IAAM,eAAe,CAAC,cAAuC,CAAC,OAClE;AAAA,EACC,MAAM;AAAA,EACN,OAAO;AAAA,EACP,aAAa;AAAA,EACb,WAAW;AAAA,EACX,WAAW;AAAA,KACR;AACL;AASK,SAAS,iBAGf,CAAC,WAAc,SAAc,UAAa,CAAC,GAAQ;AAAA,EAClD,IAAI,aAAa,WAAW,CAAC,SAAS,WAAW,QAAQ,GAAG;AAAA,IAC1D,MAAM,IAAI,MAAM,wBAAwB;AAAA,EAC1C;AAAA,EACA,MAAM,WAAW,SAAS,WAAW,QAAQ,IACzC,SACG,MAAM,CAAC,EACP,QAAQ,SAAS,EAAE,EACnB,WAAW,UAAU,CAAC,SAAS,MAAM,KAAK,YAAY,CAAC,EACvD,KAAK,IACR;AAAA,EACJ,OAAO;AAAA,IACL,OAAO;AAAA,IACP,aAAa,aAAa,WAAW,OAAO,cAAc;AAAA,OACvD;AAAA,IACH,QAAQ;AAAA,IACR,MAAM;AAAA,EACR;AAAA;AAGK,SAAS,iBAGf,CAAC,WAAc,SAAc,UAAa,CAAC,GAAQ;AAAA,EAClD,IAAI,aAAa,WAAW,CAAC,SAAS,WAAW,QAAQ,GAAG;AAAA,IAC1D,MAAM,IAAI,MAAM,wBAAwB;AAAA,EAC1C;AAAA,EACA,OAAO;AAAA,OACF;AAAA,OACA;AAAA,IACH,QAAQ;AAAA,EACV;AAAA;AAGK,SAAS,SAGf,CAAC,WAAc,SAAc,UAAa,CAAC,GAAQ;AAAA,EAClD,OAAO;AAAA,IACL,OAAO,CAAC,kBAAwB,UAAU,OAAO,GAAG,kBAAwB,UAAU,OAAO,CAAC;AAAA,OAC3F;AAAA,IACH,QAAQ;AAAA,EACV;AAAA;AAGK,IAAM,qBAAqB,CAChC,MACA,cAAuC,CAAC,OAEvC;AAAA,EACC,OAAO,CAAC,MAAM,EAAE,MAAM,SAAS,OAAO,KAAK,CAAC;AAAA,EAC5C,OAAO,KAAK;AAAA,EACZ,aAAa,KAAK;AAAA,KACd,KAAK,SAAS,EAAE,QAAQ,KAAK,OAAO,IAAI,CAAC;AAAA,KAC1C;AAAA,EACH,eAAe;AACjB;AAyCK,IAAM,iBAAiB;AAAA,EAC5B,OAAO;AAAA,IACL;AAAA,MACE,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,sBAAsB;AAAA,MACtB,YAAY;AAAA,QACV,MAAM;AAAA,UACJ,OAAO;AAAA,YACL;AAAA,cACE,MAAM;AAAA,cACN,QAAQ;AAAA,cACR,OAAO;AAAA,YACT;AAAA,YACA;AAAA,cACE,MAAM;AAAA,cACN,QAAQ;AAAA,cACR,OAAO;AAAA,YACT;AAAA,YACA;AAAA,cACE,MAAM;AAAA,cACN,QAAQ;AAAA,cACR,OAAO;AAAA,YACT;AAAA,YACA;AAAA,cACE,MAAM;AAAA,cACN,YAAY;AAAA,gBACV,MAAM;AAAA,kBACJ,MAAM;AAAA,kBACN,OAAO,EAAE,MAAM,UAAU,QAAQ,eAAe;AAAA,kBAChD,QAAQ;AAAA,kBACR,OAAO;AAAA,kBACP,aAAa;AAAA,gBACf;AAAA,gBACA,OAAO,EAAE,MAAM,UAAU,OAAO,SAAS,aAAa,qBAAqB;AAAA,gBAC3E,QAAQ,EAAE,MAAM,UAAU,OAAO,UAAU,aAAa,sBAAsB;AAAA,gBAC9E,UAAU;AAAA,kBACR,MAAM;AAAA,kBACN,OAAO;AAAA,kBACP,aAAa;AAAA,gBACf;AAAA,gBACA,aAAa;AAAA,kBACX,MAAM;AAAA,kBACN,OAAO;AAAA,kBACP,aAAa;AAAA,gBACf;AAAA,cACF;AAAA,cACA,sBAAsB;AAAA,cACtB,UAAU,CAAC,QAAQ,SAAS,UAAU,UAAU;AAAA,cAChD,QAAQ;AAAA,cACR,OAAO;AAAA,YACT;AAAA,UACF;AAAA,QACF;AAAA,QACA,OAAO,EAAE,MAAM,UAAU,OAAO,SAAS,aAAa,qBAAqB;AAAA,QAC3E,QAAQ,EAAE,MAAM,UAAU,OAAO,UAAU,aAAa,sBAAsB;AAAA,QAC9E,UAAU;AAAA,UACR,MAAM;AAAA,UACN,OAAO;AAAA,UACP,aAAa;AAAA,UACb,SAAS;AAAA,UACT,SAAS;AAAA,QACX;AAAA,MACF;AAAA,MACA,UAAU,CAAC,QAAQ,SAAS,UAAU,UAAU;AAAA,IAClD;AAAA,EACF;AAAA,EACA,OAAO;AAAA,EACP,aAAa;AACf;AAKO,IAAM,iBAAiB;AAAA,EAC5B,MAAM;AAAA,EACN,OAAO;AAAA,EACP,aAAa;AACf;AAKO,IAAM,kBAAkB;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,IACV,GAAG,EAAE,MAAM,UAAU,OAAO,gBAAgB,aAAa,gCAAgC;AAAA,IACzF,GAAG,EAAE,MAAM,UAAU,OAAO,gBAAgB,aAAa,+BAA+B;AAAA,IACxF,OAAO,EAAE,MAAM,UAAU,OAAO,SAAS,aAAa,4BAA4B;AAAA,IAClF,QAAQ,EAAE,MAAM,UAAU,OAAO,UAAU,aAAa,6BAA6B;AAAA,EACvF;AAAA,EACA,UAAU,CAAC,KAAK,KAAK,SAAS,QAAQ;AAAA,EACtC,sBAAsB;AAAA,EACtB,OAAO;AAAA,EACP,aAAa;AACf;AAKO,IAAM,eAAe;AAAA,EAC1B,MAAM;AAAA,EACN,YAAY;AAAA,IACV,OAAO,EAAE,MAAM,UAAU,OAAO,SAAS,aAAa,iBAAiB;AAAA,IACvE,OAAO;AAAA,MACL,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,MACb,SAAS;AAAA,MACT,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EACA,UAAU,CAAC,SAAS,OAAO;AAAA,EAC3B,sBAAsB;AAAA,EACtB,OAAO;AAAA,EACP,aAAa;AACf;;;ACnZA;;;ACAA;AAAA;AAAA;AAAA;AAaA,SAAS,YAAY,CAAC,QAAwC;AAAA,EAC5D,OAAO,OAAO,WAAW,YAAY,WAAW,QAAQ,YAAY,SAChE,OAAO,SACP;AAAA;AAAA;AAeC,MAAM,eAIH,aAAoC;AAAA,SAC9B,OAAe;AAAA,EACrB;AAAA,EAMR,WAAW,CAAC,QAAe,CAAC,GAAY,SAAiB,CAAC,GAAa;AAAA,IACrE,OAAO,SAAS,GAAG,WAAW,QAAQ,WAAW,OAC/C,MAAM,QAAQ,iBAAiB,MAAM,QAAQ;AAAA,IAE/C,MAAM,OAAO,MAAM;AAAA;AAAA,OAaI,YAAW,CAAC,OAA0C;AAAA,IAC7E,IAAI,OAAO,MAAM,UAAU,UAAU;AAAA,MACnC,QAAQ,MAAM,iCAAiC,KAAK;AAAA,MACpD,MAAM,IAAI,uBACR,uEACF;AAAA,IACF;AAAA,IACA,MAAM,UAAW,KAAK,YAAoB,WAAY,KAAK,YAAoB;AAAA,IAC/E,MAAM,QAAQ,MAAM,KAAK,iBAAiB,KAA0B;AAAA,IAMpE,OAAO;AAAA,MACL,UAAU;AAAA,MACV,YAAY,MAAM;AAAA,MAClB,WAAW;AAAA,IACb;AAAA;AAAA,OASa,UAAS,CACtB,OACA,WACyC;AAAA,IACzC,MAAM,WAAW,MAAM,KAAK,YAAY,KAAK;AAAA,IAC7C,MAAM,oBAAoB,aAAc,MAAM,KAAK,oBAAoB,KAAK;AAAA,IAC5E,IAAI,CAAC,mBAAmB;AAAA,MACtB,MAAM,IAAI,uBAAuB,yDAAyD;AAAA,IAC5F;AAAA,IACA,MAAM,MAAM,IAAI,MAAiC;AAAA,MAC/C,WAAW;AAAA,MACX,UAAU,KAAK,OAAO;AAAA,MACtB,OAAO;AAAA,IACT,CAAC;AAAA,IACD,OAAO;AAAA;AAAA,OAGO,iBAAgB,CAAC,OAAgD;AAAA,IAC/E,MAAM,YAAY,MAAM;AAAA,IACxB,IAAI,CAAC;AAAA,MAAW,MAAM,IAAI,uBAAuB,6BAA6B;AAAA,IAC9E,IAAI,KAAK,cAAc,KAAK,WAAW,SAAS,WAAW;AAAA,MACzD,OAAO,KAAK,WAAW;AAAA,IACzB;AAAA,IACA,MAAM,QAAQ,MAAM,yBAAyB,EAAE,WAAW,SAAS;AAAA,IACnE,IAAI,CAAC,OAAO;AAAA,MACV,MAAM,IAAI,uBAAuB,0BAA0B,iBAAiB;AAAA,IAC9E;AAAA,IACA,KAAK,aAAa,EAAE,MAAM,WAAW,MAAM;AAAA,IAC3C,OAAO;AAAA;AAAA,OAGgB,oBAAmB,CAAC,OAA2C;AAAA,IACtF,IAAI,OAAO,MAAM,UAAU,UAAU;AAAA,MACnC,MAAM,QAAQ,MAAM,KAAK,iBAAiB,KAA0B;AAAA,MACpE,OAAO,MAAM;AAAA,IACf;AAAA,IACA;AAAA;AAAA,OASI,cAAa,CAAC,OAAgC;AAAA,IAElD,MAAM,cAAc,KAAK,YAAY;AAAA,IACrC,IAAI,OAAO,gBAAgB,WAAW;AAAA,MACpC,IAAI,gBAAgB,OAAO;AAAA,QACzB,MAAM,IAAI,uBAAuB,uDAAuD;AAAA,MAC1F;AAAA,MACA,OAAO;AAAA,IACT;AAAA,IACA,MAAM,sBAAsB,OAAO,QAChC,YAAY,cAAc,CAAC,CAC9B,EAAE,OAAO,EAAE,KAAK,YAAY,aAAa,MAAM,GAAG,WAAW,QAAQ,CAAC;AAAA,IAEtE,IAAI,oBAAoB,SAAS,GAAG;AAAA,MAClC,MAAM,aAAa,MAAM,yBAAyB,EAAE,iBAAiB,KAAK,IAAI;AAAA,MAC9E,YAAY,KAAK,eAAe,qBAAqB;AAAA,QACnD,IAAI,kBAAkB,MAAM,QAAQ,MAAM,IAAI,IAAI,MAAM,OAAO,CAAC,MAAM,IAAI;AAAA,QAC1E,WAAW,SAAS,iBAAiB;AAAA,UACnC,MAAM,aAAa,YAAY,KAAK,CAAC,MAAM,EAAE,aAAa,KAAK;AAAA,UAC/D,IAAI,CAAC,YAAY;AAAA,YACf,MAAM,IAAI,uBACR,8BAA8B,eAAe,oBAAoB,KAAK,OACxE;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IAEA,MAAM,uBAAuB,OAAO,QACjC,YAAY,cAAc,CAAC,CAC9B,EAAE,OAAO,EAAE,KAAK,YAAY,aAAa,MAAM,MAAM,OAAO;AAAA,IAE5D,IAAI,qBAAqB,SAAS,GAAG;AAAA,MACnC,YAAY,KAAK,eAAe,sBAAsB;AAAA,QACpD,IAAI,kBAAkB,MAAM,QAAQ,MAAM,IAAI,IAAI,MAAM,OAAO,CAAC,MAAM,IAAI;AAAA,QAC1E,WAAW,SAAS,iBAAiB;AAAA,UACnC,MAAM,aAAa,MAAM,yBAAyB,EAAE,WAAW,KAAK;AAAA,UACpE,IAAI,CAAC,YAAY;AAAA,YACf,MAAM,IAAI,uBAAuB,8BAA8B,eAAe,QAAQ;AAAA,UACxF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IAEA,OAAO,MAAM,cAAc,KAAK;AAAA;AAAA,OAK5B,YAAW,CAAC,OAA8B;AAAA,IAE9C,MAAM,cAAc,KAAK,YAAY;AAAA,IACrC,IAAI,OAAO,gBAAgB,WAAW;AAAA,MACpC,IAAI,gBAAgB,OAAO;AAAA,QACzB,MAAM,IAAI,uBAAuB,uDAAuD;AAAA,MAC1F;AAAA,MACA,OAAO;AAAA,IACT;AAAA,IACA,MAAM,sBAAsB,OAAO,QAChC,YAAY,cAAc,CAAC,CAC9B,EAAE,OAAO,EAAE,KAAK,YAAY,aAAa,MAAM,GAAG,WAAW,QAAQ,CAAC;AAAA,IACtE,IAAI,oBAAoB,SAAS,GAAG;AAAA,MAClC,MAAM,aAAa,MAAM,yBAAyB,EAAE,iBAAiB,KAAK,IAAI;AAAA,MAC9E,YAAY,KAAK,eAAe,qBAAqB;AAAA,QACnD,IAAI,kBAAkB,MAAM,QAAQ,MAAM,IAAI,IAAI,MAAM,OAAO,CAAC,MAAM,IAAI;AAAA,QAC1E,IAAI,cAAc,gBAAgB,OAAO,CAAC,UACxC,YAAY,KAAK,CAAC,MAAM,EAAE,aAAa,KAAK,CAC9C;AAAA,QAGA,cAAc,YAAY,SAAS,IAAI,cAAc,YAAY;AAAA,QAChE,MAAc,OAAO;AAAA,MACxB;AAAA,IACF;AAAA,IACA,OAAO;AAAA;AAEX;;;AD9LO,MAAM,qBAIH,OAA8B;AAAA,SACxB,OAAe;AAAA,OAOJ,YAAW,CAAC,OAA0C;AAAA,IAC7E,MAAM,WAAW,MAAM,MAAM,YAAY,KAAK;AAAA,IAE9C,MAAM,kBAAkB,MAAM,KAAK,aAAa,KAAK;AAAA,IACrD,MAAM,YAAY,iBAAiB,OAAO;AAAA,IAE1C,MAAM,WAA+B,CAAC,MAAM;AAAA,IAC5C,IAAI,MAAM,OAAO;AAAA,MACf,IAAI,qBAAqB,YAAY;AAAA,QACnC,SAAS,KAAK,iBAAiB;AAAA,MACjC,EAAO,SAAI,cAAc,0BAA0B,iBAAiB,YAAY;AAAA,QAC9E,SAAS,KAAK,aAAa;AAAA,MAC7B,EAAO,SAAI,cAAc,0BAA0B,gBAAgB,YAAY;AAAA,QAC7E,SAAS,KAAK,YAAY;AAAA,MAC5B;AAAA,MACA,MAAM,QAAQ,MAAM,8BAA8B,MAAM,OAAO,QAAQ;AAAA,MAEvE,SAAS,UAAU,QAAQ;AAAA,IAC7B;AAAA,IACA,OAAO;AAAA;AAEX;;;AF9CA,IAAM,cAAc,mBAAmB,UAAU,6BAA6B,CAAC;AAE/E,IAAM,uBAAuB;AAAA,EAC3B,MAAM;AAAA,EACN,iBAAiB;AAAA,EACjB,kBAAkB;AAAA,EAClB,OAAO;AAAA,EACP,aAAa;AACf;AAEO,IAAM,+BAA+B;AAAA,EAC1C,MAAM;AAAA,EACN,YAAY;AAAA,IACV,OAAO,mBAAmB,cAAc;AAAA,IACxC,OAAO;AAAA,EACT;AAAA,EACA,UAAU,CAAC,SAAS,OAAO;AAAA,EAC3B,sBAAsB;AACxB;AAEO,IAAM,gCAAgC;AAAA,EAC3C,MAAM;AAAA,EACN,YAAY;AAAA,IACV,OAAO;AAAA,MACL,OAAO,CAAC,sBAAsB,EAAE,MAAM,SAAS,OAAO,qBAAqB,CAAC;AAAA,MAC5E,OAAO,qBAAqB;AAAA,MAC5B,aAAa,qBAAqB;AAAA,IACpC;AAAA,EACF;AAAA,EACA,UAAU,CAAC,OAAO;AAAA,EAClB,sBAAsB;AACxB;AAAA;AAcO,MAAM,8BAA8B,aAGzC;AAAA,SACc,OAAO;AAAA,SACP,WAAW;AAAA,SACX,QAAQ;AAAA,SACR,cACZ;AAAA,SACY,WAAW,GAAmB;AAAA,IAC1C,OAAO;AAAA;AAAA,SAEK,YAAY,GAAmB;AAAA,IAC3C,OAAO;AAAA;AAEX;AAEA,aAAa,aAAa,qBAAqB;AAQxC,IAAM,oBAAoB,CAC/B,OACA,WACG;AAAA,EACH,OAAO,IAAI,sBAAsB,OAAO,MAAM,EAAE,IAAI;AAAA;AAatD,SAAS,UAAU,oBAAoB,eAAe,qBAAqB;;AIjG3E;AAAA,oBACI;AAAA;AAAA,kBAGA;AAAA,cACA;AAAA;AAKJ,IAAM,cAAc;AAAA,EAClB,MAAM;AAAA,EACN,YAAY;AAAA,IACV,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,MAAM,CAAC,OAAO,IAAI;AAAA,MAClB,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,EAEF;AAAA,EACA,UAAU,CAAC,QAAQ;AAAA,EACnB,sBAAsB;AACxB;AAEA,IAAM,eAAe;AAAA,EACnB,MAAM;AAAA,EACN,YAAY;AAAA,IACV,OAAO;AAAA,MACL,MAAM;AAAA,MACN,OAAO,EAAE,MAAM,SAAS;AAAA,MACxB,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,EACF;AAAA,EACA,UAAU,CAAC,OAAO;AAAA,EAClB,sBAAsB;AACxB;AAAA;AAKO,MAAM,6BAA6B,KAIxC;AAAA,SACc,OAAO;AAAA,SACP,WAAW;AAAA,SACX,QAAQ;AAAA,SACR,cAAc;AAAA,SACd,WAAW,GAAmB;AAAA,IAC1C,OAAO;AAAA;AAAA,SAEK,YAAY,GAAmB;AAAA,IAC3C,OAAO;AAAA;AAAA,EAGT,uBAAuB,CAAC,MAA6C;AAAA,IACnE,IAAI,gBAAgB,UAAU;AAAA,MAC5B,MAAM,QAAkB,CAAC;AAAA,MACzB,KAAK,UAAU,QAAQ,CAAC,aAAa;AAAA,QACnC,MAAM,KAAK,GAAG,KAAK,wBAAwB,QAAQ,CAAC;AAAA,OACrD;AAAA,MACD,OAAO;AAAA,IACT,EAAO;AAAA,MACL,OAAO,CAAC,KAAK,OAAO;AAAA;AAAA;AAAA,OAIlB,gBAAe,GAAwC;AAAA,IAC3D,OAAO,EAAE,OAAO,KAAK,wBAAwB,KAAK,aAAa,IAAI,EAAE;AAAA;AAEzE;AAEA,cAAa,aAAa,oBAAoB;AAEvC,IAAM,mBAAmB,CAAC,UAAqC;AAAA,EACpE,OAAO,IAAI,qBAAqB,KAAK,EAAE,IAAI;AAAA;AAa7C,UAAS,UAAU,mBAAmB,gBAAe,oBAAoB;;AC3FzE,2BAAS,iCAAoC,2BAAc;AAK3D,IAAM,eAAc,mBAAmB,UAAU,OAAO,CAAC;AAEzD,IAAM,2BAA2B;AAAA,EAC/B,MAAM;AAAA,EACN,YAAY;AAAA,IACV,OAAO;AAAA,EACT;AAAA,EACA,UAAU,CAAC,OAAO;AAAA,EAClB,sBAAsB;AACxB;AAEA,IAAM,4BAA4B;AAAA,EAChC,MAAM;AAAA,EACN,YAAY;AAAA,IACV,OAAO;AAAA,EACT;AAAA,EACA,UAAU,CAAC,OAAO;AAAA,EAClB,sBAAsB;AACxB;AAAA;AAeO,MAAM,0BAA0B,OAIrC;AAAA,SACc,OAAO;AAAA,SACP,WAAW;AAAA,SACX,QAAQ;AAAA,SACR,cAAc;AAAA,SACd,WAAW,GAAmB;AAAA,IAC1C,OAAO;AAAA;AAAA,SAEK,YAAY,GAAmB;AAAA,IAC3C,OAAO;AAAA;AAAA,SAEK,YAAY;AAAA,EAEnB,QAA8C,CAAC;AAAA,EAEtD,WAAW,CAAC,OAA2C,SAA6B,CAAC,GAAG;AAAA,IACtF,MAAM,OAAoC,MAAM;AAAA,IAChD,KAAK,GAAG,YAAY,KAAK,gBAAgB,KAAK,IAAI,CAAC;AAAA,IACnD,KAAK,GAAG,SAAS,MAAM;AAAA,MACrB,KAAK,QAAQ,CAAC;AAAA,KACf;AAAA;AAAA,EASH,eAAe,CACb,UACA,UAAkB,IAClB,SACM;AAAA,IACN,IAAI,SAAS,MAAM;AAAA,MACjB,MAAM,OAAO,KAAK,MAAM,KAAK,CAAC,MAAM,EAAE,SAAS,QAAQ,IAAI;AAAA,MAC3D,IAAI,MAAM;AAAA,QACR,KAAK,WAAW,QAAQ;AAAA,MAC1B,EAAO;AAAA,QACL,KAAK,MAAM,KAAK,EAAE,MAAM,QAAQ,MAAM,UAAU,QAAQ,SAAS,CAAC;AAAA;AAAA,MAEpE,KAAK,WAAW,KAAK,MAAM,OAAO,CAAC,KAAK,MAAM,MAAM,EAAE,UAAU,CAAC,IAAI,KAAK,MAAM;AAAA,IAClF,EAAO;AAAA,MACL,KAAK,WAAW;AAAA;AAAA;AAGtB;AAEA,cAAa,aAAa,iBAAiB;AAQpC,IAAM,gBAAgB,CAAC,OAAkC,WAAgC;AAAA,EAC9F,OAAO,IAAI,kBAAkB,OAAO,MAAM,EAAE,IAAI;AAAA;AAalD,UAAS,UAAU,gBAAgB,gBAAe,iBAAiB;;AChHnE,2BAAS,iCAAoC,2BAAc;AAU3D,IAAM,eAAc,mBAAmB,UAAU,wBAAwB,CAAC;AAK1E,IAAM,mBAAkB;AAAA,EACtB,MAAM;AAAA,EACN,YAAY;AAAA,IACV,GAAG;AAAA,MACD,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,IACA,GAAG;AAAA,MACD,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,IACA,OAAO;AAAA,MACL,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,IACA,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,EACF;AAAA,EACA,UAAU,CAAC,KAAK,KAAK,SAAS,QAAQ;AAAA,EACtC,sBAAsB;AACxB;AAKA,IAAM,eAAe;AAAA,EACnB,MAAM;AAAA,EACN,YAAY;AAAA,IACV,GAAG;AAAA,MACD,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,IACA,GAAG;AAAA,MACD,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,IACA,OAAO;AAAA,MACL,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,EACF;AAAA,EACA,UAAU,CAAC,KAAK,GAAG;AAAA,EACnB,sBAAsB;AACxB;AAKA,IAAM,oBAAoB;AAAA,EACxB,MAAM;AAAA,EACN,YAAY;AAAA,IACV,KAAK;AAAA,IACL,WAAW;AAAA,MACT,MAAM;AAAA,MACN,OAAO;AAAA,MACP,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,IACA,OAAO;AAAA,MACL,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,EACF;AAAA,EACA,UAAU,CAAC,OAAO,aAAa,OAAO;AAAA,EACtC,sBAAsB;AACxB;AAEO,IAAM,0BAA0B;AAAA,EACrC,MAAM;AAAA,EACN,YAAY;AAAA,IACV,OAAO,mBAAmB,cAAc;AAAA,IACxC,OAAO;AAAA,IACP,wBAAwB;AAAA,MACtB,MAAM;AAAA,MACN,SAAS;AAAA,MACT,SAAS;AAAA,MACT,SAAS;AAAA,MACT,OAAO;AAAA,MACP,aAAa;AAAA,MACb,cAAc;AAAA,IAChB;AAAA,IACA,yBAAyB;AAAA,MACvB,MAAM;AAAA,MACN,SAAS;AAAA,MACT,SAAS;AAAA,MACT,SAAS;AAAA,MACT,OAAO;AAAA,MACP,aAAa;AAAA,MACb,cAAc;AAAA,IAChB;AAAA,EACF;AAAA,EACA,UAAU,CAAC,SAAS,OAAO;AAAA,EAC3B,sBAAsB;AACxB;AAEO,IAAM,2BAA2B;AAAA,EACtC,MAAM;AAAA,EACN,YAAY;AAAA,IACV,OAAO;AAAA,MACL,OAAO;AAAA,QACL,EAAE,MAAM,SAAS,OAAO,kBAAkB;AAAA,QAC1C,EAAE,MAAM,SAAS,OAAO,EAAE,MAAM,SAAS,OAAO,kBAAkB,EAAE;AAAA,MACtE;AAAA,MACA,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,EACF;AAAA,EACA,UAAU,CAAC,OAAO;AAAA,EAClB,sBAAsB;AACxB;AAAA;AAWO,MAAM,yBAAyB,aAIpC;AAAA,SACc,OAAO;AAAA,SACP,WAAW;AAAA,SACX,QAAQ;AAAA,SACR,cACZ;AAAA,SACY,WAAW,GAAmB;AAAA,IAC1C,OAAO;AAAA;AAAA,SAEK,YAAY,GAAmB;AAAA,IAC3C,OAAO;AAAA;AAEX;AAEA,cAAa,aAAa,gBAAgB;AAQnC,IAAM,eAAe,CAAC,OAA8B,WAAgC;AAAA,EACzF,OAAO,IAAI,iBAAiB,OAAO,MAAM,EAAE,IAAI;AAAA;AASjD,UAAS,UAAU,eAAe,gBAAe,gBAAgB;;ACrLjE,2BAAS,iCAAoC,2BAAc;AAU3D,IAAM,eAAc,mBAAmB,UAAU,0BAA0B,CAAC;AAK5E,IAAM,eAAe;AAAA,EACnB,MAAM;AAAA,EACN,YAAY;AAAA,IACV,GAAG;AAAA,MACD,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,IACA,GAAG;AAAA,MACD,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,IACA,GAAG;AAAA,MACD,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,EACF;AAAA,EACA,UAAU,CAAC,KAAK,KAAK,GAAG;AAAA,EACxB,sBAAsB;AACxB;AAKA,IAAM,iBAAiB;AAAA,EACrB,MAAM;AAAA,EACN,YAAY;AAAA,IACV,OAAO;AAAA,MACL,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,IACA,OAAO;AAAA,MACL,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,EACF;AAAA,EACA,UAAU,CAAC,SAAS,OAAO;AAAA,EAC3B,sBAAsB;AACxB;AAKA,IAAM,2BAA2B;AAAA,EAC/B,MAAM;AAAA,EACN,OAAO,EAAE,MAAM,SAAS;AAAA,EACxB,UAAU;AAAA,EACV,UAAU;AAAA,EACV,OAAO;AAAA,EACP,aAAa;AACf;AAKA,IAAM,8BAA8B;AAAA,EAClC,MAAM;AAAA,EACN,YAAY;AAAA,IACV,WAAW;AAAA,MACT,MAAM;AAAA,MACN,OAAO;AAAA,MACP,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,IACA,aAAa;AAAA,MACX,MAAM;AAAA,MACN,OAAO;AAAA,MACP,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,IACA,sBAAsB;AAAA,EACxB;AAAA,EACA,UAAU,CAAC,WAAW;AAAA,EACtB,sBAAsB;AACxB;AAEO,IAAM,4BAA4B;AAAA,EACvC,MAAM;AAAA,EACN,YAAY;AAAA,IACV,OAAO,mBAAmB,cAAc;AAAA,IACxC,OAAO;AAAA,IACP,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,MACT,SAAS;AAAA,MACT,SAAS;AAAA,MACT,OAAO;AAAA,MACP,aAAa;AAAA,MACb,cAAc;AAAA,IAChB;AAAA,IACA,4BAA4B;AAAA,MAC1B,MAAM;AAAA,MACN,SAAS;AAAA,MACT,SAAS;AAAA,MACT,SAAS;AAAA,MACT,OAAO;AAAA,MACP,aAAa;AAAA,MACb,cAAc;AAAA,IAChB;AAAA,IACA,2BAA2B;AAAA,MACzB,MAAM;AAAA,MACN,SAAS;AAAA,MACT,SAAS;AAAA,MACT,SAAS;AAAA,MACT,OAAO;AAAA,MACP,aAAa;AAAA,MACb,cAAc;AAAA,IAChB;AAAA,IACA,uBAAuB;AAAA,MACrB,MAAM;AAAA,MACN,SAAS;AAAA,MACT,SAAS;AAAA,MACT,SAAS;AAAA,MACT,OAAO;AAAA,MACP,aAAa;AAAA,MACb,cAAc;AAAA,IAChB;AAAA,IACA,uBAAuB;AAAA,MACrB,MAAM;AAAA,MACN,SAAS;AAAA,MACT,OAAO;AAAA,MACP,aAAa;AAAA,MACb,cAAc;AAAA,IAChB;AAAA,IACA,oCAAoC;AAAA,MAClC,MAAM;AAAA,MACN,SAAS;AAAA,MACT,OAAO;AAAA,MACP,aAAa;AAAA,MACb,cAAc;AAAA,IAChB;AAAA,EACF;AAAA,EACA,UAAU,CAAC,SAAS,OAAO;AAAA,EAC3B,sBAAsB;AACxB;AAEO,IAAM,6BAA6B;AAAA,EACxC,MAAM;AAAA,EACN,YAAY;AAAA,IACV,OAAO;AAAA,MACL,OAAO;AAAA,QACL,EAAE,MAAM,SAAS,OAAO,4BAA4B;AAAA,QACpD,EAAE,MAAM,SAAS,OAAO,EAAE,MAAM,SAAS,OAAO,4BAA4B,EAAE;AAAA,MAChF;AAAA,MACA,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,EACF;AAAA,EACA,UAAU,CAAC,OAAO;AAAA,EAClB,sBAAsB;AACxB;AAAA;AAgBO,MAAM,2BAA2B,aAItC;AAAA,SACc,OAAO;AAAA,SACP,WAAW;AAAA,SACX,QAAQ;AAAA,SACR,cACZ;AAAA,SACY,WAAW,GAAmB;AAAA,IAC1C,OAAO;AAAA;AAAA,SAEK,YAAY,GAAmB;AAAA,IAC3C,OAAO;AAAA;AAEX;AAEA,cAAa,aAAa,kBAAkB;AAQrC,IAAM,iBAAiB,CAAC,OAAgC,WAAgC;AAAA,EAC7F,OAAO,IAAI,mBAAmB,OAAO,MAAM,EAAE,IAAI;AAAA;AAanD,UAAS,UAAU,iBAAiB,gBAAe,kBAAkB;;ACjOrE,2BAAS,iCAAoC,2BAAc;AAU3D,IAAM,eAAc,mBAAmB,UAAU,6BAA6B,CAAC;AAK/E,IAAM,gBAAe;AAAA,EACnB,MAAM;AAAA,EACN,YAAY;AAAA,IACV,GAAG;AAAA,MACD,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,IACA,GAAG;AAAA,MACD,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,IACA,GAAG;AAAA,MACD,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,EACF;AAAA,EACA,UAAU,CAAC,KAAK,KAAK,GAAG;AAAA,EACxB,sBAAsB;AACxB;AAKA,IAAM,cAAc;AAAA,EAClB,MAAM;AAAA,EACN,YAAY;AAAA,IACV,OAAO;AAAA,MACL,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,IACA,OAAO;AAAA,MACL,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,EACF;AAAA,EACA,UAAU,CAAC,SAAS,OAAO;AAAA,EAC3B,sBAAsB;AACxB;AAKA,IAAM,iBAAiB;AAAA,EACrB,MAAM;AAAA,EACN,YAAY;AAAA,IACV,OAAO;AAAA,MACL,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,IACA,OAAO;AAAA,MACL,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,EACF;AAAA,EACA,UAAU,CAAC,SAAS,OAAO;AAAA,EAC3B,sBAAsB;AACxB;AAKA,IAAM,2BAA2B;AAAA,EAC/B,MAAM;AAAA,EACN,YAAY;AAAA,IACV,UAAU;AAAA,MACR,MAAM;AAAA,MACN,OAAO;AAAA,MACP,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,IACA,YAAY;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,IACA,WAAW;AAAA,MACT,MAAM;AAAA,MACN,OAAO;AAAA,MACP,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,IACA,gBAAgB;AAAA,MACd,MAAM;AAAA,MACN,OAAO;AAAA,MACP,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,EACF;AAAA,EACA,UAAU,CAAC,YAAY,cAAc,aAAa,gBAAgB;AAAA,EAClE,sBAAsB;AACxB;AAEO,IAAM,+BAA+B;AAAA,EAC1C,MAAM;AAAA,EACN,YAAY;AAAA,IACV,OAAO,mBAAmB,cAAc;AAAA,IACxC,OAAO;AAAA,IACP,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,MACT,SAAS;AAAA,MACT,SAAS;AAAA,MACT,OAAO;AAAA,MACP,aAAa;AAAA,MACb,cAAc;AAAA,IAChB;AAAA,IACA,4BAA4B;AAAA,MAC1B,MAAM;AAAA,MACN,SAAS;AAAA,MACT,SAAS;AAAA,MACT,SAAS;AAAA,MACT,OAAO;AAAA,MACP,aAAa;AAAA,MACb,cAAc;AAAA,IAChB;AAAA,IACA,2BAA2B;AAAA,MACzB,MAAM;AAAA,MACN,SAAS;AAAA,MACT,SAAS;AAAA,MACT,SAAS;AAAA,MACT,OAAO;AAAA,MACP,aAAa;AAAA,MACb,cAAc;AAAA,IAChB;AAAA,IACA,uBAAuB;AAAA,MACrB,MAAM;AAAA,MACN,SAAS;AAAA,MACT,SAAS;AAAA,MACT,SAAS;AAAA,MACT,OAAO;AAAA,MACP,aAAa;AAAA,MACb,cAAc;AAAA,IAChB;AAAA,EACF;AAAA,EACA,UAAU,CAAC,SAAS,OAAO;AAAA,EAC3B,sBAAsB;AACxB;AAEO,IAAM,gCAAgC;AAAA,EAC3C,MAAM;AAAA,EACN,YAAY;AAAA,IACV,OAAO;AAAA,MACL,OAAO;AAAA,QACL,EAAE,MAAM,SAAS,OAAO,yBAAyB;AAAA,QACjD,EAAE,MAAM,SAAS,OAAO,EAAE,MAAM,SAAS,OAAO,yBAAyB,EAAE;AAAA,MAC7E;AAAA,MACA,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,EACF;AAAA,EACA,UAAU,CAAC,OAAO;AAAA,EAClB,sBAAsB;AACxB;AAAA;AAgBO,MAAM,8BAA8B,aAIzC;AAAA,SACc,OAAO;AAAA,SACP,WAAW;AAAA,SACX,QAAQ;AAAA,SACR,cACZ;AAAA,SACY,WAAW,GAAmB;AAAA,IAC1C,OAAO;AAAA;AAAA,SAEK,YAAY,GAAmB;AAAA,IAC3C,OAAO;AAAA;AAEX;AAEA,cAAa,aAAa,qBAAqB;AAQxC,IAAM,oBAAoB,CAC/B,OACA,WACG;AAAA,EACH,OAAO,IAAI,sBAAsB,OAAO,MAAM,EAAE,IAAI;AAAA;AAatD,UAAS,UAAU,oBAAoB,gBAAe,qBAAqB;;AC1O3E,2BAAS,iCAAoC,2BAAc;AAU3D,IAAM,eAAc,mBAAmB,UAAU,0BAA0B,CAAC;AAK5E,IAAM,gBAAe;AAAA,EACnB,MAAM;AAAA,EACN,YAAY;AAAA,IACV,GAAG;AAAA,MACD,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,IACA,GAAG;AAAA,MACD,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,IACA,GAAG;AAAA,MACD,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,EACF;AAAA,EACA,UAAU,CAAC,KAAK,KAAK,GAAG;AAAA,EACxB,sBAAsB;AACxB;AAKA,IAAM,kBAAiB;AAAA,EACrB,MAAM;AAAA,EACN,YAAY;AAAA,IACV,OAAO;AAAA,MACL,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,IACA,OAAO;AAAA,MACL,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,EACF;AAAA,EACA,UAAU,CAAC,SAAS,OAAO;AAAA,EAC3B,sBAAsB;AACxB;AAKA,IAAM,oBAAoB;AAAA,EACxB,MAAM;AAAA,EACN,YAAY;AAAA,IACV,YAAY;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,IACA,WAAW;AAAA,MACT,MAAM;AAAA,MACN,OAAO;AAAA,MACP,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,IACA,gBAAgB;AAAA,MACd,MAAM;AAAA,MACN,OAAO;AAAA,MACP,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,EACF;AAAA,EACA,UAAU,CAAC,cAAc,aAAa,gBAAgB;AAAA,EACtD,sBAAsB;AACxB;AAEO,IAAM,4BAA4B;AAAA,EACvC,MAAM;AAAA,EACN,YAAY;AAAA,IACV,OAAO,mBAAmB,cAAc;AAAA,IACxC,OAAO;AAAA,IACP,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,MACT,SAAS;AAAA,MACT,SAAS;AAAA,MACT,OAAO;AAAA,MACP,aAAa;AAAA,MACb,cAAc;AAAA,IAChB;AAAA,IACA,4BAA4B;AAAA,MAC1B,MAAM;AAAA,MACN,SAAS;AAAA,MACT,SAAS;AAAA,MACT,SAAS;AAAA,MACT,OAAO;AAAA,MACP,aAAa;AAAA,MACb,cAAc;AAAA,IAChB;AAAA,IACA,2BAA2B;AAAA,MACzB,MAAM;AAAA,MACN,SAAS;AAAA,MACT,SAAS;AAAA,MACT,SAAS;AAAA,MACT,OAAO;AAAA,MACP,aAAa;AAAA,MACb,cAAc;AAAA,IAChB;AAAA,IACA,uBAAuB;AAAA,MACrB,MAAM;AAAA,MACN,SAAS;AAAA,MACT,SAAS;AAAA,MACT,SAAS;AAAA,MACT,OAAO;AAAA,MACP,aAAa;AAAA,MACb,cAAc;AAAA,IAChB;AAAA,EACF;AAAA,EACA,UAAU,CAAC,SAAS,OAAO;AAAA,EAC3B,sBAAsB;AACxB;AAEO,IAAM,6BAA6B;AAAA,EACxC,MAAM;AAAA,EACN,YAAY;AAAA,IACV,OAAO;AAAA,MACL,OAAO;AAAA,QACL,EAAE,MAAM,SAAS,OAAO,kBAAkB;AAAA,QAC1C,EAAE,MAAM,SAAS,OAAO,EAAE,MAAM,SAAS,OAAO,kBAAkB,EAAE;AAAA,MACtE;AAAA,MACA,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,EACF;AAAA,EACA,UAAU,CAAC,OAAO;AAAA,EAClB,sBAAsB;AACxB;AAAA;AAeO,MAAM,2BAA2B,aAItC;AAAA,SACc,OAAO;AAAA,SACP,WAAW;AAAA,SACX,QAAQ;AAAA,SACR,cACZ;AAAA,SACY,WAAW,GAAmB;AAAA,IAC1C,OAAO;AAAA;AAAA,SAEK,YAAY,GAAmB;AAAA,IAC3C,OAAO;AAAA;AAEX;AAEA,cAAa,aAAa,kBAAkB;AAQrC,IAAM,iBAAiB,CAAC,OAAgC,WAAgC;AAAA,EAC7F,OAAO,IAAI,mBAAmB,OAAO,MAAM,EAAE,IAAI;AAAA;AAanD,UAAS,UAAU,iBAAiB,gBAAe,kBAAkB;;AC3MrE,2BAAS,iCAAoC,2BAAc;AAW3D,IAAM,eAAc,mBAAmB,UAAU,+BAA+B,CAAC;AAE1E,IAAM,iCAAiC;AAAA,EAC5C,MAAM;AAAA,EACN,YAAY;AAAA,IACV,OAAO,mBAAmB,cAAc;AAAA,IACxC,OAAO;AAAA,IACP,YAAY;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,QACL,MAAM;AAAA,MACR;AAAA,MACA,OAAO;AAAA,MACP,aACE;AAAA,MACF,cAAc;AAAA,IAChB;AAAA,IACA,eAAe;AAAA,MACb,MAAM;AAAA,MACN,SAAS;AAAA,MACT,SAAS;AAAA,MACT,SAAS;AAAA,MACT,OAAO;AAAA,MACP,aAAa;AAAA,MACb,cAAc;AAAA,IAChB;AAAA,EACF;AAAA,EACA,UAAU,CAAC,SAAS,OAAO;AAAA,EAC3B,sBAAsB;AACxB;AAEO,IAAM,kCAAkC;AAAA,EAC7C,MAAM;AAAA,EACN,YAAY;AAAA,IACV,YAAY;AAAA,MACV,OAAO;AAAA,QACL,EAAE,MAAM,SAAS,OAAO,aAAa;AAAA,QACrC,EAAE,MAAM,SAAS,OAAO,EAAE,MAAM,SAAS,OAAO,aAAa,EAAE;AAAA,MACjE;AAAA,MACA,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,EACF;AAAA,EACA,UAAU,CAAC,YAAY;AAAA,EACvB,sBAAsB;AACxB;AAAA;AAeO,MAAM,gCAAgC,aAI3C;AAAA,SACc,OAAO;AAAA,SACP,WAAW;AAAA,SACX,QAAQ;AAAA,SACR,cACZ;AAAA,SACY,WAAW,GAAmB;AAAA,IAC1C,OAAO;AAAA;AAAA,SAEK,YAAY,GAAmB;AAAA,IAC3C,OAAO;AAAA;AAEX;AAEA,cAAa,aAAa,uBAAuB;AAQ1C,IAAM,sBAAsB,CACjC,OACA,WACG;AAAA,EACH,OAAO,IAAI,wBAAwB,OAAO,MAAM,EAAE,IAAI;AAAA;AAaxD,UAAS,UAAU,sBAAsB,gBAAe,uBAAuB;;AClH/E,2BAAS,iCAAoC,2BAAc;AAW3D,IAAM,eAAc,mBAAmB,UAAU,0BAA0B,CAAC;AAE5E,IAAM,kBAAkB,iBAAiB;AAAA,EACvC,OAAO;AAAA,EACP,aAAa;AACf,CAAC;AAEM,IAAM,4BAA4B;AAAA,EACvC,MAAM;AAAA,EACN,YAAY;AAAA,IACV,OAAO,mBAAmB,cAAc;AAAA,IACxC,OAAO;AAAA,EACT;AAAA,EACA,UAAU,CAAC,SAAS,OAAO;AAAA,EAC3B,sBAAsB;AACxB;AAEO,IAAM,6BAA6B;AAAA,EACxC,MAAM;AAAA,EACN,YAAY;AAAA,IACV,QAAQ;AAAA,MACN,OAAO,CAAC,iBAAiB,EAAE,MAAM,SAAS,OAAO,gBAAgB,CAAC;AAAA,MAClE,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,EACF;AAAA,EACA,UAAU,CAAC,QAAQ;AAAA,EACnB,sBAAsB;AACxB;AAAA;AAcO,MAAM,2BAA2B,aAItC;AAAA,SACc,OAAO;AAAA,SACP,WAAW;AAAA,SACX,QAAQ;AAAA,SACR,cAAc;AAAA,SACd,WAAW,GAAmB;AAAA,IAC1C,OAAO;AAAA;AAAA,SAEK,YAAY,GAAmB;AAAA,IAC3C,OAAO;AAAA;AAEX;AAEA,cAAa,aAAa,kBAAkB;AAQrC,IAAM,iBAAiB,CAAC,OAAgC,WAAgC;AAAA,EAC7F,OAAO,IAAI,mBAAmB,OAAO,MAAM,EAAE,IAAI;AAAA;AAanD,UAAS,UAAU,iBAAiB,gBAAe,kBAAkB;;AC5FrE,2BAAS,kCAAoC,4BAAc;AAU3D,IAAM,eAAc,mBAAmB,UAAU,6BAA6B,CAAC;AAExE,IAAM,+BAA+B;AAAA,EAC1C,MAAM;AAAA,EACN,YAAY;AAAA,IACV,OAAO,mBAAmB,cAAc;AAAA,IACxC,OAAO;AAAA,IACP,WAAW;AAAA,MACT,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,MACb,SAAS;AAAA,MACT,SAAS;AAAA,MACT,SAAS;AAAA,MACT,cAAc;AAAA,IAChB;AAAA,IACA,eAAe;AAAA,MACb,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,MACb,SAAS;AAAA,MACT,SAAS;AAAA,MACT,SAAS;AAAA,MACT,cAAc;AAAA,IAChB;AAAA,EACF;AAAA,EACA,UAAU,CAAC,SAAS,OAAO;AAAA,EAC3B,sBAAsB;AACxB;AAEA,IAAM,yBAAyB;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,IACV,OAAO;AAAA,MACL,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,IACA,OAAO;AAAA,MACL,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,MACb,SAAS;AAAA,MACT,SAAS;AAAA,IACX;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,EACF;AAAA,EACA,UAAU,CAAC,SAAS,SAAS,MAAM;AAAA,EACnC,sBAAsB;AACxB;AAEO,IAAM,gCAAgC;AAAA,EAC3C,MAAM;AAAA,EACN,YAAY;AAAA,IACV,OAAO;AAAA,MACL,OAAO;AAAA,QACL,EAAE,MAAM,SAAS,OAAO,uBAAuB;AAAA,QAC/C,EAAE,MAAM,SAAS,OAAO,EAAE,MAAM,SAAS,OAAO,uBAAuB,EAAE;AAAA,MAC3E;AAAA,MACA,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,EACF;AAAA,EACA,UAAU,CAAC,OAAO;AAAA,EAClB,sBAAsB;AACxB;AAAA;AAcO,MAAM,8BAA8B,aAIzC;AAAA,SACc,OAAO;AAAA,SACP,WAAW;AAAA,SACX,QAAQ;AAAA,SACR,cACZ;AAAA,SACY,WAAW,GAAmB;AAAA,IAC1C,OAAO;AAAA;AAAA,SAEK,YAAY,GAAmB;AAAA,IAC3C,OAAO;AAAA;AAEX;AAEA,eAAa,aAAa,qBAAqB;AAQxC,IAAM,oBAAoB,CAC/B,OACA,WACG;AAAA,EACH,OAAO,IAAI,sBAAsB,OAAO,MAAM,EAAE,IAAI;AAAA;AAatD,WAAS,UAAU,oBAAoB,iBAAe,qBAAqB;;ACzI3E,2BAAS,kCAAoC,4BAAc;AAU3D,IAAM,gBAAc,mBAAmB,UAAU,uBAAuB,CAAC;AAEzE,IAAM,sBAAsB;AAAA,EAC1B,MAAM;AAAA,EACN,OAAO;AAAA,EACP,aAAa;AACf;AAEO,IAAM,yBAAyB;AAAA,EACpC,MAAM;AAAA,EACN,YAAY;AAAA,IACV,OAAO,mBAAmB,cAAc;AAAA,IACxC,OAAO;AAAA,IACP,WAAW;AAAA,MACT,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,MACb,SAAS;AAAA,MACT,SAAS;AAAA,MACT,cAAc;AAAA,IAChB;AAAA,EACF;AAAA,EACA,UAAU,CAAC,SAAS,OAAO;AAAA,EAC3B,sBAAsB;AACxB;AAEO,IAAM,0BAA0B;AAAA,EACrC,MAAM;AAAA,EACN,YAAY;AAAA,IACV,MAAM;AAAA,MACJ,OAAO,CAAC,qBAAqB,EAAE,MAAM,SAAS,OAAO,oBAAoB,CAAC;AAAA,MAC1E,OAAO,oBAAoB;AAAA,MAC3B,aAAa,oBAAoB;AAAA,IACnC;AAAA,EACF;AAAA,EACA,UAAU,CAAC,MAAM;AAAA,EACjB,sBAAsB;AACxB;AAAA;AAUO,MAAM,wBAAwB,aAInC;AAAA,SACc,OAAO;AAAA,SACP,WAAW;AAAA,SACX,QAAQ;AAAA,SACR,cACZ;AAAA,SACY,WAAW,GAAmB;AAAA,IAC1C,OAAO;AAAA;AAAA,SAEK,YAAY,GAAmB;AAAA,IAC3C,OAAO;AAAA;AAEX;AAEA,eAAa,aAAa,eAAe;AAQlC,IAAM,cAAc,CAAC,OAA6B,WAAgC;AAAA,EACvF,OAAO,IAAI,gBAAgB,OAAO,MAAM,EAAE,IAAI;AAAA;AAShD,WAAS,UAAU,cAAc,iBAAe,eAAe;;AC7F/D,2BAAS,kCAAoC,4BAAc;AAW3D,IAAM,gBAAc,mBAAmB,UAAU,2BAA2B,CAAC;AAE7E,IAAM,kBAAkB;AAAA,EACtB,MAAM;AAAA,EACN,YAAY;AAAA,IACV,OAAO;AAAA,MACL,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,IACA,OAAO;AAAA,MACL,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,MACb,SAAS;AAAA,MACT,SAAS;AAAA,IACX;AAAA,IACA,KAAK;AAAA,EACP;AAAA,EACA,UAAU,CAAC,SAAS,SAAS,KAAK;AAAA,EAClC,sBAAsB;AACxB;AAEO,IAAM,6BAA6B;AAAA,EACxC,MAAM;AAAA,EACN,YAAY;AAAA,IACV,OAAO,mBAAmB,cAAc;AAAA,IACxC,OAAO;AAAA,IACP,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,OAAO;AAAA,QACL,MAAM;AAAA,MACR;AAAA,MACA,OAAO;AAAA,MACP,aACE;AAAA,MACF,cAAc;AAAA,IAChB;AAAA,IACA,WAAW;AAAA,MACT,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,MACb,SAAS;AAAA,MACT,SAAS;AAAA,MACT,SAAS;AAAA,MACT,cAAc;AAAA,IAChB;AAAA,EACF;AAAA,EACA,UAAU,CAAC,SAAS,OAAO;AAAA,EAC3B,sBAAsB;AACxB;AAEO,IAAM,8BAA8B;AAAA,EACzC,MAAM;AAAA,EACN,YAAY;AAAA,IACV,YAAY;AAAA,MACV,OAAO;AAAA,QACL,EAAE,MAAM,SAAS,OAAO,gBAAgB;AAAA,QACxC,EAAE,MAAM,SAAS,OAAO,EAAE,MAAM,SAAS,OAAO,gBAAgB,EAAE;AAAA,MACpE;AAAA,MACA,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,EACF;AAAA,EACA,UAAU,CAAC,YAAY;AAAA,EACvB,sBAAsB;AACxB;AAAA;AAeO,MAAM,4BAA4B,aAIvC;AAAA,SACc,OAAO;AAAA,SACP,WAAW;AAAA,SACX,QAAQ;AAAA,SACR,cACZ;AAAA,SACY,WAAW,GAAmB;AAAA,IAC1C,OAAO;AAAA;AAAA,SAEK,YAAY,GAAmB;AAAA,IAC3C,OAAO;AAAA;AAEX;AAEA,eAAa,aAAa,mBAAmB;AAQtC,IAAM,kBAAkB,CAAC,OAAiC,WAAgC;AAAA,EAC/F,OAAO,IAAI,oBAAoB,OAAO,MAAM,EAAE,IAAI;AAAA;AAapD,WAAS,UAAU,kBAAkB,iBAAe,mBAAmB;;ACpIvE,2BAAS,kCAAoC,4BAAc;AAU3D,IAAM,gBAAc,mBAAmB,UAAU,0BAA0B,CAAC;AAK5E,IAAM,mBAAmB;AAAA,EACvB,MAAM;AAAA,EACN,YAAY;AAAA,IACV,GAAG;AAAA,MACD,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,IACA,GAAG;AAAA,MACD,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,IACA,GAAG;AAAA,MACD,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,IACA,YAAY;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,IACA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,EACF;AAAA,EACA,UAAU,CAAC,KAAK,KAAK,GAAG;AAAA,EACxB,sBAAsB;AACxB;AAKA,IAAM,uBAAuB;AAAA,EAC3B,MAAM;AAAA,EACN,YAAY;AAAA,IACV,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,IACA,OAAO;AAAA,MACL,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,IACA,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,EACF;AAAA,EACA,UAAU,CAAC,QAAQ,SAAS,QAAQ;AAAA,EACpC,sBAAsB;AACxB;AAKA,IAAM,oBAAoB;AAAA,EACxB,MAAM;AAAA,EACN,YAAY;AAAA,IACV,WAAW;AAAA,MACT,MAAM;AAAA,MACN,OAAO;AAAA,MACP,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,IACA,gBAAgB;AAAA,MACd,MAAM;AAAA,MACN,OAAO;AAAA,MACP,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,IACA,kBAAkB;AAAA,EACpB;AAAA,EACA,UAAU,CAAC,aAAa,gBAAgB;AAAA,EACxC,sBAAsB;AACxB;AAEO,IAAM,4BAA4B;AAAA,EACvC,MAAM;AAAA,EACN,YAAY;AAAA,IACV,OAAO,mBAAmB,cAAc;AAAA,IACxC,OAAO;AAAA,IACP,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,MACT,SAAS;AAAA,MACT,SAAS;AAAA,MACT,OAAO;AAAA,MACP,aAAa;AAAA,MACb,cAAc;AAAA,IAChB;AAAA,IACA,4BAA4B;AAAA,MAC1B,MAAM;AAAA,MACN,SAAS;AAAA,MACT,SAAS;AAAA,MACT,SAAS;AAAA,MACT,OAAO;AAAA,MACP,aAAa;AAAA,MACb,cAAc;AAAA,IAChB;AAAA,IACA,2BAA2B;AAAA,MACzB,MAAM;AAAA,MACN,SAAS;AAAA,MACT,SAAS;AAAA,MACT,SAAS;AAAA,MACT,OAAO;AAAA,MACP,aAAa;AAAA,MACb,cAAc;AAAA,IAChB;AAAA,IACA,uBAAuB;AAAA,MACrB,MAAM;AAAA,MACN,SAAS;AAAA,MACT,SAAS;AAAA,MACT,SAAS;AAAA,MACT,OAAO;AAAA,MACP,aAAa;AAAA,MACb,cAAc;AAAA,IAChB;AAAA,IACA,yBAAyB;AAAA,MACvB,MAAM;AAAA,MACN,SAAS;AAAA,MACT,OAAO;AAAA,MACP,aAAa;AAAA,MACb,cAAc;AAAA,IAChB;AAAA,EACF;AAAA,EACA,UAAU,CAAC,SAAS,OAAO;AAAA,EAC3B,sBAAsB;AACxB;AAEO,IAAM,6BAA6B;AAAA,EACxC,MAAM;AAAA,EACN,YAAY;AAAA,IACV,OAAO;AAAA,MACL,OAAO;AAAA,QACL,EAAE,MAAM,SAAS,OAAO,kBAAkB;AAAA,QAC1C,EAAE,MAAM,SAAS,OAAO,EAAE,MAAM,SAAS,OAAO,kBAAkB,EAAE;AAAA,MACtE;AAAA,MACA,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,EACF;AAAA,EACA,UAAU,CAAC,OAAO;AAAA,EAClB,sBAAsB;AACxB;AAAA;AAeO,MAAM,2BAA2B,aAItC;AAAA,SACc,OAAO;AAAA,SACP,WAAW;AAAA,SACX,QAAQ;AAAA,SACR,cACZ;AAAA,SACY,WAAW,GAAmB;AAAA,IAC1C,OAAO;AAAA;AAAA,SAEK,YAAY,GAAmB;AAAA,IAC3C,OAAO;AAAA;AAEX;AAEA,eAAa,aAAa,kBAAkB;AAQrC,IAAM,iBAAiB,CAAC,OAAgC,WAAgC;AAAA,EAC7F,OAAO,IAAI,mBAAmB,OAAO,MAAM,EAAE,IAAI;AAAA;AAanD,WAAS,UAAU,iBAAiB,iBAAe,kBAAkB;;AC5NrE,2BAAS,kCAAoC,4BAAc;AAK3D,IAAM,gBAAc,mBAAmB,UAAU,8BAA8B,CAAC;AAEzE,IAAM,gCAAgC;AAAA,EAC3C,MAAM;AAAA,EACN,YAAY;AAAA,IACV,MAAM,mBAAmB;AAAA,MACvB,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IACf,CAAC;AAAA,IACD,iBAAiB;AAAA,MACf,MAAM;AAAA,MACN,OAAO;AAAA,QACL,MAAM;AAAA,MACR;AAAA,MACA,OAAO;AAAA,MACP,aAAa;AAAA,MACb,cAAc;AAAA,IAChB;AAAA,IACA,eAAe;AAAA,MACb,MAAM;AAAA,MACN,SAAS;AAAA,MACT,SAAS;AAAA,MACT,SAAS;AAAA,MACT,OAAO;AAAA,MACP,aAAa;AAAA,MACb,cAAc;AAAA,IAChB;AAAA,IACA,OAAO;AAAA,EACT;AAAA,EACA,UAAU,CAAC,QAAQ,OAAO;AAAA,EAC1B,sBAAsB;AACxB;AAEO,IAAM,iCAAiC;AAAA,EAC5C,MAAM;AAAA,EACN,YAAY;AAAA,IACV,YAAY;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,QACL,MAAM;AAAA,QACN,YAAY;AAAA,UACV,OAAO;AAAA,YACL,MAAM;AAAA,YACN,OAAO;AAAA,YACP,aAAa;AAAA,UACf;AAAA,UACA,OAAO;AAAA,YACL,MAAM;AAAA,YACN,OAAO;AAAA,YACP,aAAa;AAAA,UACf;AAAA,QACF;AAAA,QACA,UAAU,CAAC,SAAS,OAAO;AAAA,QAC3B,sBAAsB;AAAA,MACxB;AAAA,MACA,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,EACF;AAAA,EACA,UAAU,CAAC,YAAY;AAAA,EACvB,sBAAsB;AACxB;AAAA;AAeO,MAAM,+BAA+B,OAG1C;AAAA,SACc,OAAO;AAAA,SACP,WAAW;AAAA,SACX,QAAQ;AAAA,SACR,cACZ;AAAA,SACY,WAAW,GAAmB;AAAA,IAC1C,OAAO;AAAA;AAAA,SAEK,YAAY,GAAmB;AAAA,IAC3C,OAAO;AAAA;AAEX;AAEA,eAAa,aAAa,sBAAsB;AAQzC,IAAM,qBAAqB,CAChC,OACA,WACG;AAAA,EACH,OAAO,IAAI,uBAAuB,OAAO,MAAM,EAAE,IAAI;AAAA;AAavD,WAAS,UAAU,qBAAqB,iBAAe,sBAAsB;;AC5H7E,2BAAS,kCAAoC,4BAAc;AAW3D,IAAM,gBAAc,mBAAmB,UAAU,yBAAyB,CAAC;AAEpE,IAAM,2BAA2B;AAAA,EACtC,MAAM;AAAA,EACN,YAAY;AAAA,IACV,MAAM,mBAAmB;AAAA,MACvB,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IACf,CAAC;AAAA,IACD,OAAO;AAAA,EACT;AAAA,EACA,UAAU,CAAC,QAAQ,OAAO;AAAA,EAC1B,sBAAsB;AACxB;AAEO,IAAM,4BAA4B;AAAA,EACvC,MAAM;AAAA,EACN,YAAY;AAAA,IACV,QAAQ,mBACN,iBAAiB;AAAA,MACf,OAAO;AAAA,MACP,aAAa;AAAA,IACf,CAAC,CACH;AAAA,EACF;AAAA,EACA,UAAU,CAAC,QAAQ;AAAA,EACnB,sBAAsB;AACxB;AAAA;AAsBO,MAAM,0BAA0B,OAAwD;AAAA,SAC/E,OAAO;AAAA,SACP,WAAW;AAAA,SACX,QAAQ;AAAA,SACR,cAAc;AAAA,SACd,WAAW,GAAmB;AAAA,IAC1C,OAAO;AAAA;AAAA,SAEK,YAAY,GAAmB;AAAA,IAC3C,OAAO;AAAA;AAEX;AAEA,eAAa,aAAa,iBAAiB;AAOpC,IAAM,gBAAgB,OAAO,OAA+B,WAAgC;AAAA,EACjG,OAAO,IAAI,kBAAkB,OAAO,MAAM,EAAE,IAAI;AAAA;AAalD,WAAS,UAAU,gBAAgB,iBAAe,iBAAiB;;AC/FnE,2BAAS,kCAAoC,4BAAc;AAK3D,IAAM,gBAAc,mBAAmB,UAAU,wBAAwB,CAAC;AAEnE,IAAM,0BAA0B;AAAA,EACrC,MAAM;AAAA,EACN,YAAY;AAAA,IACV,MAAM,mBAAmB;AAAA,MACvB,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IACf,CAAC;AAAA,IACD,OAAO;AAAA,EACT;AAAA,EACA,UAAU,CAAC,QAAQ,OAAO;AAAA,EAC1B,sBAAsB;AACxB;AAEO,IAAM,2BAA2B;AAAA,EACtC,MAAM;AAAA,EACN,YAAY;AAAA,IACV,aAAa;AAAA,MACX,MAAM;AAAA,MACN,OAAO;AAAA,QACL,MAAM;AAAA,QACN,YAAY;AAAA,UACV,QAAQ;AAAA,YACN,MAAM;AAAA,YACN,OAAO;AAAA,YACP,aAAa;AAAA,UACf;AAAA,UACA,OAAO;AAAA,YACL,MAAM;AAAA,YACN,OAAO;AAAA,YACP,aAAa;AAAA,UACf;AAAA,UACA,UAAU;AAAA,YACR,MAAM;AAAA,YACN,OAAO;AAAA,YACP,aAAa;AAAA,UACf;AAAA,QACF;AAAA,QACA,UAAU,CAAC,UAAU,SAAS,UAAU;AAAA,QACxC,sBAAsB;AAAA,MACxB;AAAA,MACA,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,EACF;AAAA,EACA,UAAU,CAAC,aAAa;AAAA,EACxB,sBAAsB;AACxB;AAAA;AAUO,MAAM,yBAAyB,OAAsD;AAAA,SAC5E,OAAO;AAAA,SACP,WAAW;AAAA,SACX,QAAQ;AAAA,SACR,cAAc;AAAA,SACd,WAAW,GAAmB;AAAA,IAC1C,OAAO;AAAA;AAAA,SAEK,YAAY,GAAmB;AAAA,IAC3C,OAAO;AAAA;AAEX;AAEA,eAAa,aAAa,gBAAgB;AAQnC,IAAM,eAAe,CAAC,OAA8B,WAAgC;AAAA,EACzF,OAAO,IAAI,iBAAiB,OAAO,MAAM,EAAE,IAAI;AAAA;AASjD,WAAS,UAAU,eAAe,iBAAe,gBAAgB;;AC/FjE,2BAAS,kCAAoC,4BAAc;AAK3D,IAAM,uBAAsB;AAAA,EAC1B,MAAM;AAAA,EACN,OAAO;AAAA,EACP,aAAa;AACf;AAEA,IAAM,gBAAc,mBAAmB,UAAU,0BAA0B,CAAC;AAErE,IAAM,4BAA4B;AAAA,EACvC,MAAM;AAAA,EACN,YAAY;AAAA,IACV,OAAO;AAAA,IACP,QAAQ,mBAAmB;AAAA,MACzB,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IACf,CAAC;AAAA,IACD,WAAW;AAAA,MACT,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,MACb,SAAS;AAAA,MACT,SAAS;AAAA,MACT,cAAc;AAAA,IAChB;AAAA,IACA,aAAa;AAAA,MACX,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,MACb,SAAS;AAAA,MACT,SAAS;AAAA,MACT,cAAc;AAAA,IAChB;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,MACb,SAAS;AAAA,MACT,SAAS;AAAA,MACT,cAAc;AAAA,IAChB;AAAA,IACA,kBAAkB;AAAA,MAChB,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,MACb,SAAS;AAAA,MACT,SAAS;AAAA,MACT,cAAc;AAAA,IAChB;AAAA,IACA,iBAAiB;AAAA,MACf,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,MACb,SAAS;AAAA,MACT,SAAS;AAAA,MACT,cAAc;AAAA,IAChB;AAAA,EACF;AAAA,EACA,UAAU,CAAC,SAAS,QAAQ;AAAA,EAC5B,sBAAsB;AACxB;AAEO,IAAM,6BAA6B;AAAA,EACxC,MAAM;AAAA,EACN,YAAY;AAAA,IACV,MAAM;AAAA,MACJ,OAAO,CAAC,sBAAqB,EAAE,MAAM,SAAS,OAAO,qBAAoB,CAAC;AAAA,MAC1E,OAAO,qBAAoB;AAAA,MAC3B,aAAa,qBAAoB;AAAA,IACnC;AAAA,EACF;AAAA,EACA,UAAU,CAAC,MAAM;AAAA,EACjB,sBAAsB;AACxB;AAAA;AAWO,MAAM,2BAA2B,OAItC;AAAA,SACc,OAAO;AAAA,SACP,WAAW;AAAA,SACX,QAAQ;AAAA,SACR,cACZ;AAAA,SACY,WAAW,GAAmB;AAAA,IAC1C,OAAO;AAAA;AAAA,SAEK,YAAY,GAAmB;AAAA,IAC3C,OAAO;AAAA;AAEX;AAEA,eAAa,aAAa,kBAAkB;AAIrC,IAAM,iBAAiB,CAAC,OAAgC,WAAgC;AAAA,EAC7F,OAAO,IAAI,mBAAmB,OAAO,MAAM,EAAE,IAAI;AAAA;AAanD,WAAS,UAAU,iBAAiB,iBAAe,kBAAkB;;AC7HrE,2BAAS,kCAAoC,4BAAc;AAK3D,IAAM,gBAAc,mBAAmB,UAAU,iCAAiC,CAAC;AAE5E,IAAM,mCAAmC;AAAA,EAC9C,MAAM;AAAA,EACN,YAAY;AAAA,IACV,MAAM,mBAAmB;AAAA,MACvB,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IACf,CAAC;AAAA,IACD,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,SAAS;AAAA,MACT,SAAS;AAAA,MACT,SAAS;AAAA,MACT,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,IAiCA,OAAO;AAAA,EACT;AAAA,EACA,UAAU,CAAC,QAAQ,OAAO;AAAA,EAC1B,sBAAsB;AAIxB;AAEO,IAAM,oCAAoC;AAAA,EAC/C,MAAM;AAAA,EACN,YAAY;AAAA,IACV,WAAW;AAAA,MACT,MAAM;AAAA,MACN,OAAO;AAAA,QACL,MAAM;AAAA,QACN,YAAY;AAAA,UACV,UAAU;AAAA,YACR,MAAM;AAAA,YACN,OAAO;AAAA,YACP,aAAa;AAAA,UACf;AAAA,UACA,OAAO;AAAA,YACL,MAAM;AAAA,YACN,OAAO;AAAA,YACP,aAAa;AAAA,UACf;AAAA,QACF;AAAA,QACA,UAAU,CAAC,YAAY,OAAO;AAAA,QAC9B,sBAAsB;AAAA,MACxB;AAAA,MACA,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,EACF;AAAA,EACA,UAAU,CAAC,WAAW;AAAA,EACtB,sBAAsB;AACxB;AAAA;AAcO,MAAM,kCAAkC,OAG7C;AAAA,SACc,OAAO;AAAA,SACP,WAAW;AAAA,SACX,QAAQ;AAAA,SACR,cAAc;AAAA,SACd,WAAW,GAAmB;AAAA,IAC1C,OAAO;AAAA;AAAA,SAEK,YAAY,GAAmB;AAAA,IAC3C,OAAO;AAAA;AAEX;AAEA,eAAa,aAAa,yBAAyB;AAQ5C,IAAM,wBAAwB,CACnC,OACA,WACG;AAAA,EACH,OAAO,IAAI,0BAA0B,OAAO,MAAM,EAAE,IAAI;AAAA;AAa1D,WAAS,UAAU,wBAAwB,iBAAe,yBAAyB;;ACnJnF,2BAAS,kCAAoC,4BAAc;AAK3D,IAAM,gBAAc,mBAAmB,UAAU,kCAAkC,CAAC;AAE7E,IAAM,wCAAwC;AAAA,EACnD,MAAM;AAAA,EACN,YAAY;AAAA,IACV,MAAM,mBAAmB;AAAA,MACvB,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IACf,CAAC;AAAA,IACD,WAAW;AAAA,MACT,MAAM;AAAA,MACN,OAAO;AAAA,QACL,MAAM;AAAA,MACR;AAAA,MACA,OAAO;AAAA,MACP,aAAa;AAAA,MACb,cAAc;AAAA,MACd,mBAAmB;AAAA,IACrB;AAAA,IACA,OAAO;AAAA,EACT;AAAA,EACA,UAAU,CAAC,QAAQ,OAAO;AAAA,EAC1B,sBAAsB;AACxB;AAEO,IAAM,yCAAyC;AAAA,EACpD,MAAM;AAAA,EACN,YAAY;AAAA,IACV,UAAU;AAAA,MACR,MAAM;AAAA,MACN,OAAO;AAAA,QACL,MAAM;AAAA,QACN,YAAY;AAAA,UACV,QAAQ;AAAA,YACN,MAAM;AAAA,YACN,OAAO;AAAA,YACP,aAAa;AAAA,UACf;AAAA,UACA,OAAO;AAAA,YACL,MAAM;AAAA,YACN,OAAO;AAAA,YACP,aAAa;AAAA,UACf;AAAA,UACA,MAAM;AAAA,YACJ,MAAM;AAAA,YACN,OAAO;AAAA,YACP,aAAa;AAAA,UACf;AAAA,QACF;AAAA,QACA,UAAU,CAAC,UAAU,SAAS,MAAM;AAAA,QACpC,sBAAsB;AAAA,MACxB;AAAA,MACA,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,EACF;AAAA,EACA,UAAU,CAAC,UAAU;AAAA,EACrB,sBAAsB;AACxB;AAAA;AAkBO,MAAM,uCAAuC,OAGlD;AAAA,SACc,OAAO;AAAA,SACP,WAAW;AAAA,SACX,QAAQ;AAAA,SACR,cAAc;AAAA,SACd,WAAW,GAAmB;AAAA,IAC1C,OAAO;AAAA;AAAA,SAEK,YAAY,GAAmB;AAAA,IAC3C,OAAO;AAAA;AAEX;AAEA,eAAa,aAAa,8BAA8B;AAQjD,IAAM,6BAA6B,CACxC,OACA,WACG;AAAA,EACH,OAAO,IAAI,+BAA+B,OAAO,MAAM,EAAE,IAAI;AAAA;AAa/D,WAAS,UAAU,6BAA6B,iBAAe,8BAA8B;;AC3H7F,2BAAS,kCAAoC,4BAAc;AAK3D,IAAM,gBAAgB;AAAA,EACpB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,aAAa;AACf;AAEA,IAAM,iBAAiB;AAAA,EACrB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,aAAa;AACf;AAEA,IAAM,aAAa;AAAA,EACjB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,aAAa;AACf;AAEA,IAAM,gBAAc,mBAAmB,UAAU,8BAA8B,CAAC;AAEzE,IAAM,gCAAgC;AAAA,EAC3C,MAAM;AAAA,EACN,YAAY;AAAA,IACV,SAAS,mBAAmB,aAAa;AAAA,IACzC,UAAU,mBAAmB,cAAc;AAAA,IAC3C,OAAO;AAAA,EACT;AAAA,EACA,UAAU,CAAC,WAAW,YAAY,OAAO;AAAA,EACzC,sBAAsB;AACxB;AAEO,IAAM,iCAAiC;AAAA,EAC5C,MAAM;AAAA,EACN,YAAY;AAAA,IACV,MAAM;AAAA,MACJ,OAAO,CAAC,YAAY,EAAE,MAAM,SAAS,OAAO,WAAW,CAAC;AAAA,MACxD,OAAO,WAAW;AAAA,MAClB,aAAa,WAAW;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,UAAU,CAAC,MAAM;AAAA,EACjB,sBAAsB;AACxB;AAAA;AAcO,MAAM,+BAA+B,OAI1C;AAAA,SACc,OAAO;AAAA,SACP,WAAW;AAAA,SACX,QAAQ;AAAA,SACR,cAAc;AAAA,SACd,WAAW,GAAmB;AAAA,IAC1C,OAAO;AAAA;AAAA,SAEK,YAAY,GAAmB;AAAA,IAC3C,OAAO;AAAA;AAEX;AAEA,eAAa,aAAa,sBAAsB;AAQzC,IAAM,qBAAqB,CAChC,OACA,WACG;AAAA,EACH,OAAO,IAAI,uBAAuB,OAAO,MAAM,EAAE,IAAI;AAAA;AAavD,WAAS,UAAU,qBAAqB,iBAAe,sBAAsB;;ACvG7E,2BAAS,kCAAoC,4BAAc;AAK3D,IAAM,gBAAc,mBAAmB,UAAU,wBAAwB,CAAC;AAEnE,IAAM,0BAA0B;AAAA,EACrC,MAAM;AAAA,EACN,YAAY;AAAA,IACV,MAAM,mBAAmB;AAAA,MACvB,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IACf,CAAC;AAAA,IACD,QAAQ,mBAAmB;AAAA,MACzB,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IACf,CAAC;AAAA,IACD,OAAO;AAAA,EACT;AAAA,EACA,UAAU,CAAC,QAAQ,UAAU,OAAO;AAAA,EACpC,sBAAsB;AACxB;AAEO,IAAM,2BAA2B;AAAA,EACtC,MAAM;AAAA,EACN,YAAY;AAAA,IACV,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,EACF;AAAA,EACA,UAAU,CAAC,MAAM;AAAA,EACjB,sBAAsB;AACxB;AAAA;AAUO,MAAM,yBAAyB,OAAsD;AAAA,SAC5E,OAAO;AAAA,SACP,WAAW;AAAA,SACX,QAAQ;AAAA,SACR,cAAc;AAAA,SACd,WAAW,GAAmB;AAAA,IAC1C,OAAO;AAAA;AAAA,SAEK,YAAY,GAAmB;AAAA,IAC3C,OAAO;AAAA;AAEX;AAEA,eAAa,aAAa,gBAAgB;AAQnC,IAAM,eAAe,CAAC,OAA8B,WAAgC;AAAA,EACzF,OAAO,IAAI,iBAAiB,OAAO,MAAM,EAAE,IAAI;AAAA;AASjD,WAAS,UAAU,eAAe,iBAAe,gBAAgB;;AC9EjE,2BAAS,kCAAoC,4BAAc;AAK3D,IAAM,gBAAc,mBAAmB,UAAU,uBAAuB,CAAC;AAElE,IAAM,yBAAyB;AAAA,EACpC,MAAM;AAAA,EACN,YAAY;AAAA,IACV,MAAM,mBAAmB;AAAA,MACvB,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IACf,CAAC;AAAA,IACD,OAAO;AAAA,EACT;AAAA,EACA,UAAU,CAAC,QAAQ,OAAO;AAAA,EAC1B,sBAAsB;AACxB;AAEO,IAAM,0BAA0B;AAAA,EACrC,MAAM;AAAA,EACN,YAAY;AAAA,IACV,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,EACF;AAAA,EACA,UAAU,CAAC,MAAM;AAAA,EACjB,sBAAsB;AACxB;AAAA;AAWO,MAAM,wBAAwB,OAAoD;AAAA,SACzE,OAAO;AAAA,SACP,WAAW;AAAA,SACX,QAAQ;AAAA,SACR,cACZ;AAAA,SACY,WAAW,GAAmB;AAAA,IAC1C,OAAO;AAAA;AAAA,SAEK,YAAY,GAAmB;AAAA,IAC3C,OAAO;AAAA;AAEX;AAEA,eAAa,aAAa,eAAe;AAQlC,IAAM,cAAc,OAAO,OAA6B,WAAgC;AAAA,EAC7F,OAAO,IAAI,gBAAgB,OAAO,MAAM,EAAE,IAAI;AAAA;AAShD,WAAS,UAAU,cAAc,iBAAe,eAAe;;AC3E/D,2BAAS,kCAAoC,4BAAc;AAU3D,IAAM,gBAAc,mBAAmB,UAAU,2BAA2B,CAAC;AAE7E,IAAM,wBAAwB;AAAA,EAC5B,MAAM;AAAA,EACN,OAAO;AAAA,EACP,aAAa;AACf;AAEO,IAAM,6BAA6B;AAAA,EACxC,MAAM;AAAA,EACN,YAAY;AAAA,IACV,MAAM,mBAAmB;AAAA,MACvB,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IACf,CAAC;AAAA,IACD,aAAa,mBACX,aAAa;AAAA,MACX,OAAO;AAAA,MACP,aAAa;AAAA,MACb,WAAW;AAAA,MACX,WAAW;AAAA,IACb,CAAC,CACH;AAAA,IACA,aAAa,mBACX,aAAa;AAAA,MACX,OAAO;AAAA,MACP,aAAa;AAAA,MACb,WAAW;AAAA,MACX,WAAW;AAAA,IACb,CAAC,CACH;AAAA,IACA,OAAO;AAAA,EACT;AAAA,EACA,UAAU,CAAC,QAAQ,eAAe,eAAe,OAAO;AAAA,EACxD,sBAAsB;AACxB;AAEO,IAAM,8BAA8B;AAAA,EACzC,MAAM;AAAA,EACN,YAAY;AAAA,IACV,MAAM;AAAA,MACJ,OAAO,CAAC,uBAAuB,EAAE,MAAM,SAAS,OAAO,sBAAsB,CAAC;AAAA,MAC9E,OAAO,sBAAsB;AAAA,MAC7B,aAAa,sBAAsB;AAAA,IACrC;AAAA,IACA,aAAa,aAAa;AAAA,MACxB,OAAO;AAAA,MACP,aAAa;AAAA,MACb,WAAW;AAAA,MACX,WAAW;AAAA,IACb,CAAC;AAAA,EACH;AAAA,EACA,UAAU,CAAC,QAAQ,aAAa;AAAA,EAChC,sBAAsB;AACxB;AAAA;AAcO,MAAM,4BAA4B,OAGvC;AAAA,SACc,OAAO;AAAA,SACP,WAAW;AAAA,SACX,QAAQ;AAAA,SACR,cAAc;AAAA,SACd,WAAW,GAAmB;AAAA,IAC1C,OAAO;AAAA;AAAA,SAEK,YAAY,GAAmB;AAAA,IAC3C,OAAO;AAAA;AAEX;AAEA,eAAa,aAAa,mBAAmB;AAQtC,IAAM,kBAAkB,CAAC,OAAiC,WAAgC;AAAA,EAC/F,OAAO,IAAI,oBAAoB,OAAO,MAAM,EAAE,IAAI;AAAA;AAapD,WAAS,UAAU,kBAAkB,iBAAe,mBAAmB;;ACrHvE,2BAAS,kCAAoC,4BAAc;AAK3D,IAAM,gBAAc,mBAAmB,UAAU,OAAO,CAAC;AAEzD,IAAM,yBAAyB;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,IACV,OAAO;AAAA,EACT;AAAA,EACA,UAAU,CAAC,OAAO;AAAA,EAClB,sBAAsB;AACxB;AAEA,IAAM,0BAA0B;AAAA,EAC9B,MAAM;AAAA,EACN,YAAY;AAAA,IACV,OAAO;AAAA,EACT;AAAA,EACA,UAAU,CAAC,OAAO;AAAA,EAClB,sBAAsB;AACxB;AAAA;AAeO,MAAM,wBAAwB,OAInC;AAAA,SACc,OAAO;AAAA,SACP,WAAW;AAAA,SACX,QAAQ;AAAA,SACR,cAAc;AAAA,SACd,WAAW,GAAmB;AAAA,IAC1C,OAAO;AAAA;AAAA,SAEK,YAAY,GAAmB;AAAA,IAC3C,OAAO;AAAA;AAAA,SAEK,YAAY;AAC5B;AAEA,eAAa,aAAa,eAAe;AAQlC,IAAM,cAAc,CAAC,OAAgC,WAAgC;AAAA,EAC1F,OAAO,IAAI,gBAAgB,OAAO,MAAM,EAAE,IAAI;AAAA;AAahD,WAAS,UAAU,cAAc,iBAAe,eAAe;;AC9E/D;AAAA;AAAA,oBAEI;AAAA;AAAA,kBAGA;AAAA,cACA;AAAA;AAKG,IAAM,eAAe;AAAA,EAC1B,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,SAAS;AACX;AAIA,IAAM,wBAAwB;AAAA,EAC5B,MAAM;AAAA,EACN,YAAY;AAAA,IACV,OAAO,iBAAiB;AAAA,MACtB,OAAO;AAAA,MACP,aAAa;AAAA,IACf,CAAC;AAAA,IACD,OAAO;AAAA,MACL,MAAM;AAAA,MACN,OAAO,iBAAiB;AAAA,QACtB,OAAO;AAAA,QACP,aAAa;AAAA,MACf,CAAC;AAAA,IACH;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,MACb,SAAS;AAAA,MACT,SAAS;AAAA,IACX;AAAA,IACA,YAAY;AAAA,MACV,MAAM;AAAA,MACN,MAAM,OAAO,OAAO,YAAY;AAAA,MAChC,OAAO;AAAA,MACP,aAAa;AAAA,MACb,SAAS,aAAa;AAAA,IACxB;AAAA,EACF;AAAA,EACA,UAAU,CAAC,SAAS,SAAS,YAAY;AAAA,EACzC,sBAAsB;AACxB;AAEA,IAAM,yBAAyB;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,IACV,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,OAAO,iBAAiB;AAAA,QACtB,OAAO;AAAA,QACP,aAAa;AAAA,MACf,CAAC;AAAA,IACH;AAAA,IACA,OAAO;AAAA,MACL,MAAM;AAAA,MACN,OAAO;AAAA,QACL,MAAM;AAAA,QACN,OAAO;AAAA,QACP,aAAa;AAAA,MACf;AAAA,IACF;AAAA,EACF;AAAA,EACA,UAAU,CAAC,UAAU,OAAO;AAAA,EAC5B,sBAAsB;AACxB;AAAA;AAWO,MAAM,6BAA6B,UAIxC;AAAA,SACgB,OAAO;AAAA,SACP,WAAW;AAAA,SACX,QAAQ;AAAA,SACV,cACZ;AAAA,SACc,YAAY;AAAA,SAEL,WAAW,GAAmB;AAAA,IACnD,OAAO;AAAA;AAAA,SAEc,YAAY,GAAmB;AAAA,IACpD,OAAO;AAAA;AAAA,OAIH,gBAAe,GACjB,OAAO,OAAO,YAAY,QAC5B,WACA;AAAA,IACA,IAAI,eAAe,CAAC;AAAA,IACpB,MAAM,MAAM,EAAE,OAAO;AAAA,IACrB,MAAM,SAAS;AAAA,IACf,MAAM,KAAK,IAAI;AAAA,IAEf,WAAW,aAAa,OAAO;AAAA,MAC7B,aAAa,KAAK;AAAA,QAChB,YAAY,GAAG,WAAW,KAAK;AAAA,QAC/B;AAAA,MACF,CAAC;AAAA,IACH;AAAA,IACA,eAAe,aAAa,KAAK,CAAC,GAAG,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;AAAA,IAErF,MAAM,UAAU,aAAa,IAAI,CAAC,MAAM,EAAE,SAAS;AAAA,IACnD,MAAM,SAAS,aAAa,IAAI,CAAC,MAAM,EAAE,UAAU;AAAA,IACnD,OAAO;AAAA,MACL,QAAQ;AAAA,MACR,OAAO;AAAA,IACT;AAAA;AAEJ;AAEA,eAAa,aAAa,oBAAoB;AAEvC,IAAM,aAAa,CAAC,OAAkC,WAAgC;AAAA,EAC3F,OAAO,IAAI,qBAAqB,OAAO,MAAM,EAAE,IAAI;AAAA;AAarD,WAAS,UAAU,aAAa,iBAAe,oBAAoB;AAI5D,SAAS,KAAK,CAAC,MAAkB,MAA0B;AAAA,EAEhE,OAAO,IAAI,KAAK,OAAO,CAAC,KAAK,KAAK,MAAM,MAAM,MAAM,KAAK,IAAI,CAAC;AAAA;AAGzD,SAAS,SAAS,CAAC,KAAiB;AAAA,EAEzC,OAAO,KAAK,KAAK,IAAI,OAAO,CAAC,KAAK,QAAQ,MAAM,MAAM,KAAK,CAAC,CAAC;AAAA;AAG/D,SAAS,MAAM,CAAC,MAAkB,MAAkB;AAAA,EAClD,MAAM,aAAa,MAAM,MAAM,IAAI;AAAA,EACnC,MAAM,aAAa,UAAU,IAAI;AAAA,EACjC,MAAM,aAAa,UAAU,IAAI;AAAA,EACjC,OAAO,IAAI,cAAc,aAAa;AAAA;AAGjC,SAAS,SAAS,CAAC,QAAgC;AAAA,EACxD,MAAM,MAAM,UAAU,MAAM;AAAA,EAE5B,IAAI,QAAQ,GAAG;AAAA,IACb,MAAM,IAAI,UAAU,iCAAiC;AAAA,EACvD;AAAA,EAEA,MAAM,aAAa,OAAO,IAAI,CAAC,QAAQ,OAAO,GAAG,IAAI,GAAG;AAAA,EAExD,IAAI,kBAAkB,cAAc;AAAA,IAClC,OAAO,IAAI,aAAa,UAAU;AAAA,EACpC;AAAA,EACA,IAAI,kBAAkB,cAAc;AAAA,IAClC,OAAO,IAAI,aAAa,UAAU;AAAA,EACpC;AAAA,EAEA,OAAO,IAAI,aAAa,UAAU;AAAA;",
45
+ "debugId": "C19F9DAFD0EE171E64756E2164756E21",
41
46
  "names": []
42
47
  }