From eab75f77eda926b9f103d69aaba671d8dea9141a Mon Sep 17 00:00:00 2001 From: Ras Alungei Date: Tue, 19 May 2026 09:34:20 +0200 Subject: [PATCH] Add OCI Enterprise AI Chat asset A Next.js 16 + React 19 chat interface for OCI Enterprise AI. Streaming Responses API, MCP tool integration (OAuth 2.1 / OAuth 2.0 client credentials / API key / bearer), IDCS SSO, file search over vector stores, customizable appearance, dark mode, and full settings workbench. Includes Dockerfile + deployment guide for OCI Container Instance behind a Load Balancer. License: UPL v1.0 --- .../oci-enterprise-ai-chat/.dockerignore | 6 + .../oci-enterprise-ai-chat/LICENSE | 36 + .../oci-enterprise-ai-chat/README.md | 404 + .../oci-enterprise-ai-chat/files/Dockerfile | 21 + .../files/entrypoint.sh | 22 + .../files/eslint.config.mjs | 14 + .../files/imageLoader.js | 7 + .../files/jsconfig.json | 7 + .../files/next.config.mjs | 19 + .../files/package-lock.json | 11522 ++++++++++++++++ .../oci-enterprise-ai-chat/files/package.json | 46 + .../files/playwright.config.js | 71 + .../files/public/entypo--lab-flask.svg | 1 + .../fonts/OracleSans/OracleSansCd_Bd.ttf | Bin 0 -> 144984 bytes .../fonts/OracleSans/OracleSansCd_BdIt.ttf | Bin 0 -> 142720 bytes .../fonts/OracleSans/OracleSansCd_It.ttf | Bin 0 -> 141496 bytes .../fonts/OracleSans/OracleSansCd_Lt.ttf | Bin 0 -> 142252 bytes .../fonts/OracleSans/OracleSansCd_LtIt.ttf | Bin 0 -> 142740 bytes .../fonts/OracleSans/OracleSansCd_Rg.ttf | Bin 0 -> 145164 bytes .../public/fonts/OracleSans/OracleSans_Bd.ttf | Bin 0 -> 211396 bytes .../fonts/OracleSans/OracleSans_BdIt.ttf | Bin 0 -> 216052 bytes .../public/fonts/OracleSans/OracleSans_It.ttf | Bin 0 -> 215904 bytes .../public/fonts/OracleSans/OracleSans_Lt.ttf | Bin 0 -> 205084 bytes .../fonts/OracleSans/OracleSans_LtIt.ttf | Bin 0 -> 215900 bytes .../public/fonts/OracleSans/OracleSans_Rg.ttf | Bin 0 -> 210632 bytes .../fonts/OracleSans/OracleSans_SBd.ttf | Bin 0 -> 153116 bytes .../fonts/OracleSans/OracleSans_SBdIt.ttf | Bin 0 -> 157944 bytes .../fonts/OracleSans/OracleSans_ULt.ttf | Bin 0 -> 145464 bytes .../fonts/OracleSans/OracleSans_ULtIt.ttf | Bin 0 -> 158264 bytes .../fonts/OracleSans/OracleSans_XBd.ttf | Bin 0 -> 154984 bytes .../fonts/OracleSans/OracleSans_XBdIt.ttf | Bin 0 -> 157572 bytes .../files/public/oracle-logo-building.png | Bin 0 -> 98590 bytes .../files/public/oracle-logo-building.svg | 31 + .../files/public/oracle-logo.png | Bin 0 -> 67420 bytes .../files/public/pdf.worker.min.mjs | 28 + .../files/public/ri--image-circle-ai-line.svg | 1 + .../src/app/api/auth/callback/oci/route.js | 85 + .../files/src/app/api/auth/login/route.js | 28 + .../files/src/app/api/auth/logout/route.js | 31 + .../files/src/app/api/auth/session/route.js | 24 + .../files/src/app/api/conversations/route.js | 283 + .../src/app/api/files/[id]/content/route.js | 67 + .../files/src/app/api/files/route.js | 74 + .../files/src/app/api/generate-title/route.js | 96 + .../src/app/api/mcp/oauth/authorize/route.js | 87 + .../src/app/api/mcp/oauth/callback/route.js | 94 + .../src/app/api/mcp/oauth/token/route.js | 50 + .../src/app/api/mcp/oauth2-cc/token/route.js | 107 + .../files/src/app/api/mcp/route.js | 213 + .../files/src/app/api/models/route.js | 51 + .../files/src/app/api/responses/route.js | 1028 ++ .../src/app/api/semantic-stores/route.js | 16 + .../files/src/app/api/vector-stores/route.js | 121 + .../files/src/app/c/[id]/page.js | 19 + .../components/agent/AgentStateRenderer.js | 275 + .../files/src/app/components/agent/Sources.js | 394 + .../app/components/charts/CostBenefitChart.js | 362 + .../app/components/charts/ProcessDiagram.js | 303 + .../src/app/components/charts/RadarChart.js | 224 + .../src/app/components/charts/ScatterChart.js | 277 + .../components/chat/ArchitectureDiagram.js | 370 + .../src/app/components/chat/ChatInput.js | 1159 ++ .../src/app/components/chat/ChatMessage.js | 2174 +++ .../src/app/components/chat/ChatSidebar.js | 332 + .../app/components/demo/ProgressTracker.js | 115 + .../src/app/components/demo/SupplierCard.js | 225 + .../src/app/components/settings/AITab.js | 243 + .../src/app/components/settings/FlowsTab.js | 131 + .../src/app/components/settings/GeneralTab.js | 487 + .../src/app/components/settings/MemoryTab.js | 239 + .../components/settings/ObservabilityTab.js | 209 + .../src/app/components/settings/PromptsTab.js | 447 + .../app/components/settings/SettingsPage.js | 225 + .../src/app/components/settings/ToolForm.js | 454 + .../src/app/components/settings/ToolsTab.js | 2408 ++++ .../components/settings/flows/ChipEditor.js | 73 + .../settings/flows/InteractiveEditor.js | 105 + .../components/settings/flows/TextEditor.js | 44 + .../src/app/components/ui/AnalogClock.js | 279 + .../src/app/components/ui/BlinkingEye.js | 303 + .../app/components/ui/BubbleModelSelector.js | 376 + .../src/app/components/ui/CitationCard.js | 132 + .../src/app/components/ui/CollapsibleChip.js | 91 + .../src/app/components/ui/DotMatrixLoader.js | 184 + .../files/src/app/components/ui/DustReveal.js | 101 + .../files/src/app/components/ui/DustText.js | 117 + .../src/app/components/ui/DynamicChip.js | 170 + .../files/src/app/components/ui/Header.js | 460 + .../files/src/app/components/ui/IOSSwitch.js | 54 + .../app/components/ui/InteractiveChoice.js | 84 + .../app/components/ui/NeuralSpiralLoader.js | 84 + .../files/src/app/components/ui/OracleLogo.js | 70 + .../src/app/components/ui/ScrollableList.js | 377 + .../src/app/components/ui/TypingEffect.js | 51 + .../src/app/components/ui/VerticalTabs.js | 74 + .../src/app/components/widgets/Charts.js | 186 + .../src/app/components/widgets/Widget.js | 3280 +++++ .../app/components/widgets/WidgetCarousel.js | 586 + .../files/src/app/components/widgets/index.js | 2 + .../src/app/components/widgets/v2/WidgetV2.js | 113 + .../widgets/v2/WidgetV2FormContext.js | 33 + .../components/widgets/v2/WidgetV2Registry.js | 77 + .../components/widgets/v2/content/V2Badge.js | 24 + .../widgets/v2/content/V2Divider.js | 6 + .../components/widgets/v2/content/V2Drawio.js | 240 + .../components/widgets/v2/content/V2Image.js | 70 + .../components/widgets/v2/content/V2Text.js | 14 + .../widgets/v2/content/V2WidgetAdapter.js | 11 + .../components/widgets/v2/inputs/V2Button.js | 42 + .../widgets/v2/inputs/V2Checkbox.js | 33 + .../components/widgets/v2/inputs/V2Date.js | 35 + .../components/widgets/v2/inputs/V2Form.js | 13 + .../widgets/v2/inputs/V2ImageUpload.js | 148 + .../components/widgets/v2/inputs/V2Input.js | 46 + .../components/widgets/v2/inputs/V2Radio.js | 47 + .../components/widgets/v2/inputs/V2Rating.js | 47 + .../components/widgets/v2/inputs/V2Select.js | 49 + .../components/widgets/v2/inputs/V2Slider.js | 43 + .../components/widgets/v2/inputs/V2Time.js | 35 + .../components/widgets/v2/inputs/V2Toggle.js | 32 + .../widgets/v2/layouts/V2Accordion.js | 55 + .../components/widgets/v2/layouts/V2Card.js | 49 + .../components/widgets/v2/layouts/V2Col.js | 20 + .../components/widgets/v2/layouts/V2Grid.js | 22 + .../components/widgets/v2/layouts/V2Row.js | 41 + .../components/widgets/v2/layouts/V2Tabs.js | 45 + .../files/src/app/config/app.js | 33 + .../files/src/app/config/darkMode.js | 139 + .../files/src/app/config/models-internal.js | 3 + .../files/src/app/config/tools-internal.js | 13 + .../files/src/app/config/version.js | 3 + .../files/src/app/config/widgetTheme.js | 210 + .../files/src/app/favicon.ico | Bin 0 -> 15086 bytes .../files/src/app/globals.css | 37 + .../files/src/app/hooks/useChat.js | 1388 ++ .../files/src/app/intro/page.js | 124 + .../files/src/app/layout.js | 52 + .../files/src/app/lib/auth.js | 68 + .../files/src/app/lib/logger.js | 56 + .../files/src/app/lib/mcp-oauth.js | 164 + .../files/src/app/lib/oci-auth.js | 118 + .../files/src/app/lib/oci-headers.js | 20 + .../files/src/app/lib/oci-proxy.js | 110 + .../files/src/app/login/page.js | 91 + .../files/src/app/mocks/database-errors.json | 68 + .../files/src/app/mocks/default.json | 9 + .../src/app/mocks/offer-analysis-flow.json | 196 + .../src/app/mocks/order-creation-flow.json | 214 + .../src/app/mocks/order-status-flow.json | 132 + .../src/app/mocks/part-selection-hd2024.json | 195 + .../src/app/mocks/parts-advisory-flow.json | 219 + .../src/app/mocks/parts-autonomy-flow.json | 44 + .../src/app/mocks/parts-search-flow.json | 24 + .../src/app/mocks/supplier-contact-flow.json | 237 + .../files/src/app/mocks/thank-you.json | 10 + .../files/src/app/mocks/virus-search.json | 60 + .../files/src/app/page.js | 941 ++ .../files/src/app/page.module.css | 0 .../files/src/app/sample-widgets/page.js | 689 + .../files/src/app/services/apiClient.js | 25 + .../src/app/services/conversationStorage.js | 373 + .../files/src/app/services/flowService.js | 80 + .../src/app/services/genaiAgentsService.js | 558 + .../files/src/app/services/mcpService.js | 359 + .../files/src/app/services/mockService.js | 197 + .../src/app/services/oracleSpeechService.js | 81 + .../files/src/app/services/speechService.js | 69 + .../files/src/app/services/titleService.js | 24 + .../files/src/app/settings/ai/page.js | 7 + .../files/src/app/settings/appearance/page.js | 7 + .../files/src/app/settings/flows/[id]/page.js | 916 ++ .../files/src/app/settings/flows/new/page.js | 865 ++ .../files/src/app/settings/flows/page.js | 7 + .../files/src/app/settings/memory/page.js | 7 + .../src/app/settings/observability/page.js | 7 + .../files/src/app/settings/page.js | 7 + .../files/src/app/settings/prompts/page.js | 7 + .../files/src/app/settings/tools/page.js | 7 + .../files/src/app/splash/page.js | 221 + .../files/src/app/textfield/page.js | 386 + .../files/src/app/theme/overrides.js | 56 + .../files/src/app/theme/palette.js | 19 + .../files/src/app/theme/theme.js | 20 + .../files/src/app/utils/baseSystemPrompt.js | 43 + .../files/src/app/utils/chartParser.js | 123 + .../files/src/app/utils/concisePrompt.js | 46 + .../files/src/app/utils/errorMessages.js | 93 + .../files/src/app/utils/messageUtils.js | 424 + .../files/src/app/utils/relativeTime.js | 24 + .../files/src/app/utils/widgetInlinePrompt.js | 298 + .../files/src/app/utils/widgetLayoutPrompt.js | 315 + .../files/src/app/utils/widgetParser.js | 376 + .../files/src/app/utils/widgetV2Parser.js | 406 + .../files/src/lib/withBase.js | 11 + .../files/src/middleware.js | 76 + .../files/tests/demo-flow.spec.js | 114 + .../files/tests/showcase.spec.js | 399 + .../images/01-chat-home.png | Bin 0 -> 314139 bytes .../images/02-settings-prompts.png | Bin 0 -> 148623 bytes .../images/02b-settings-prompts-system.png | Bin 0 -> 263880 bytes .../images/03-settings-tools.png | Bin 0 -> 266800 bytes .../images/03b-settings-tools-custom.png | Bin 0 -> 149458 bytes .../images/04-settings-memory.png | Bin 0 -> 213406 bytes .../images/05-settings-appearance.png | Bin 0 -> 265931 bytes .../images/06-model-selector.png | Bin 0 -> 337667 bytes .../images/07-attachments-prompt.png | Bin 0 -> 328812 bytes .../images/08-conversation-result.png | Bin 0 -> 564696 bytes .../images/09-dark-mode.png | Bin 0 -> 286974 bytes .../images/architecture.png | Bin 0 -> 107576 bytes .../images/chat-streaming.png | Bin 0 -> 84836 bytes .../images/sso-flow.png | Bin 0 -> 91286 bytes 211 files changed, 47156 insertions(+) create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/.dockerignore create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/LICENSE create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/README.md create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/Dockerfile create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/entrypoint.sh create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/eslint.config.mjs create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/imageLoader.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/jsconfig.json create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/next.config.mjs create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/package-lock.json create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/package.json create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/playwright.config.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/public/entypo--lab-flask.svg create mode 100755 ai/gen-ai-agents/oci-enterprise-ai-chat/files/public/fonts/OracleSans/OracleSansCd_Bd.ttf create mode 100755 ai/gen-ai-agents/oci-enterprise-ai-chat/files/public/fonts/OracleSans/OracleSansCd_BdIt.ttf create mode 100755 ai/gen-ai-agents/oci-enterprise-ai-chat/files/public/fonts/OracleSans/OracleSansCd_It.ttf create mode 100755 ai/gen-ai-agents/oci-enterprise-ai-chat/files/public/fonts/OracleSans/OracleSansCd_Lt.ttf create mode 100755 ai/gen-ai-agents/oci-enterprise-ai-chat/files/public/fonts/OracleSans/OracleSansCd_LtIt.ttf create mode 100755 ai/gen-ai-agents/oci-enterprise-ai-chat/files/public/fonts/OracleSans/OracleSansCd_Rg.ttf create mode 100755 ai/gen-ai-agents/oci-enterprise-ai-chat/files/public/fonts/OracleSans/OracleSans_Bd.ttf create mode 100755 ai/gen-ai-agents/oci-enterprise-ai-chat/files/public/fonts/OracleSans/OracleSans_BdIt.ttf create mode 100755 ai/gen-ai-agents/oci-enterprise-ai-chat/files/public/fonts/OracleSans/OracleSans_It.ttf create mode 100755 ai/gen-ai-agents/oci-enterprise-ai-chat/files/public/fonts/OracleSans/OracleSans_Lt.ttf create mode 100755 ai/gen-ai-agents/oci-enterprise-ai-chat/files/public/fonts/OracleSans/OracleSans_LtIt.ttf create mode 100755 ai/gen-ai-agents/oci-enterprise-ai-chat/files/public/fonts/OracleSans/OracleSans_Rg.ttf create mode 100755 ai/gen-ai-agents/oci-enterprise-ai-chat/files/public/fonts/OracleSans/OracleSans_SBd.ttf create mode 100755 ai/gen-ai-agents/oci-enterprise-ai-chat/files/public/fonts/OracleSans/OracleSans_SBdIt.ttf create mode 100755 ai/gen-ai-agents/oci-enterprise-ai-chat/files/public/fonts/OracleSans/OracleSans_ULt.ttf create mode 100755 ai/gen-ai-agents/oci-enterprise-ai-chat/files/public/fonts/OracleSans/OracleSans_ULtIt.ttf create mode 100755 ai/gen-ai-agents/oci-enterprise-ai-chat/files/public/fonts/OracleSans/OracleSans_XBd.ttf create mode 100755 ai/gen-ai-agents/oci-enterprise-ai-chat/files/public/fonts/OracleSans/OracleSans_XBdIt.ttf create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/public/oracle-logo-building.png create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/public/oracle-logo-building.svg create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/public/oracle-logo.png create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/public/pdf.worker.min.mjs create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/public/ri--image-circle-ai-line.svg create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/auth/callback/oci/route.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/auth/login/route.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/auth/logout/route.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/auth/session/route.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/conversations/route.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/files/[id]/content/route.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/files/route.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/generate-title/route.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/mcp/oauth/authorize/route.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/mcp/oauth/callback/route.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/mcp/oauth/token/route.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/mcp/oauth2-cc/token/route.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/mcp/route.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/models/route.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/responses/route.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/semantic-stores/route.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/vector-stores/route.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/c/[id]/page.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/agent/AgentStateRenderer.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/agent/Sources.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/charts/CostBenefitChart.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/charts/ProcessDiagram.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/charts/RadarChart.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/charts/ScatterChart.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/chat/ArchitectureDiagram.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/chat/ChatInput.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/chat/ChatMessage.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/chat/ChatSidebar.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/demo/ProgressTracker.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/demo/SupplierCard.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/settings/AITab.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/settings/FlowsTab.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/settings/GeneralTab.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/settings/MemoryTab.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/settings/ObservabilityTab.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/settings/PromptsTab.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/settings/SettingsPage.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/settings/ToolForm.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/settings/ToolsTab.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/settings/flows/ChipEditor.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/settings/flows/InteractiveEditor.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/settings/flows/TextEditor.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/AnalogClock.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/BlinkingEye.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/BubbleModelSelector.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/CitationCard.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/CollapsibleChip.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/DotMatrixLoader.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/DustReveal.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/DustText.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/DynamicChip.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/Header.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/IOSSwitch.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/InteractiveChoice.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/NeuralSpiralLoader.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/OracleLogo.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/ScrollableList.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/TypingEffect.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/VerticalTabs.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/widgets/Charts.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/widgets/Widget.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/widgets/WidgetCarousel.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/widgets/index.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/widgets/v2/WidgetV2.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/widgets/v2/WidgetV2FormContext.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/widgets/v2/WidgetV2Registry.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/widgets/v2/content/V2Badge.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/widgets/v2/content/V2Divider.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/widgets/v2/content/V2Drawio.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/widgets/v2/content/V2Image.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/widgets/v2/content/V2Text.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/widgets/v2/content/V2WidgetAdapter.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/widgets/v2/inputs/V2Button.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/widgets/v2/inputs/V2Checkbox.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/widgets/v2/inputs/V2Date.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/widgets/v2/inputs/V2Form.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/widgets/v2/inputs/V2ImageUpload.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/widgets/v2/inputs/V2Input.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/widgets/v2/inputs/V2Radio.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/widgets/v2/inputs/V2Rating.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/widgets/v2/inputs/V2Select.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/widgets/v2/inputs/V2Slider.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/widgets/v2/inputs/V2Time.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/widgets/v2/inputs/V2Toggle.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/widgets/v2/layouts/V2Accordion.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/widgets/v2/layouts/V2Card.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/widgets/v2/layouts/V2Col.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/widgets/v2/layouts/V2Grid.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/widgets/v2/layouts/V2Row.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/widgets/v2/layouts/V2Tabs.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/config/app.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/config/darkMode.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/config/models-internal.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/config/tools-internal.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/config/version.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/config/widgetTheme.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/favicon.ico create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/globals.css create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/hooks/useChat.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/intro/page.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/layout.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/lib/auth.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/lib/logger.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/lib/mcp-oauth.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/lib/oci-auth.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/lib/oci-headers.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/lib/oci-proxy.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/login/page.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/mocks/database-errors.json create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/mocks/default.json create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/mocks/offer-analysis-flow.json create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/mocks/order-creation-flow.json create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/mocks/order-status-flow.json create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/mocks/part-selection-hd2024.json create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/mocks/parts-advisory-flow.json create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/mocks/parts-autonomy-flow.json create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/mocks/parts-search-flow.json create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/mocks/supplier-contact-flow.json create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/mocks/thank-you.json create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/mocks/virus-search.json create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/page.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/page.module.css create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/sample-widgets/page.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/services/apiClient.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/services/conversationStorage.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/services/flowService.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/services/genaiAgentsService.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/services/mcpService.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/services/mockService.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/services/oracleSpeechService.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/services/speechService.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/services/titleService.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/settings/ai/page.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/settings/appearance/page.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/settings/flows/[id]/page.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/settings/flows/new/page.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/settings/flows/page.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/settings/memory/page.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/settings/observability/page.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/settings/page.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/settings/prompts/page.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/settings/tools/page.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/splash/page.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/textfield/page.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/theme/overrides.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/theme/palette.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/theme/theme.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/utils/baseSystemPrompt.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/utils/chartParser.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/utils/concisePrompt.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/utils/errorMessages.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/utils/messageUtils.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/utils/relativeTime.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/utils/widgetInlinePrompt.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/utils/widgetLayoutPrompt.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/utils/widgetParser.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/utils/widgetV2Parser.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/lib/withBase.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/middleware.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/tests/demo-flow.spec.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/files/tests/showcase.spec.js create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/images/01-chat-home.png create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/images/02-settings-prompts.png create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/images/02b-settings-prompts-system.png create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/images/03-settings-tools.png create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/images/03b-settings-tools-custom.png create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/images/04-settings-memory.png create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/images/05-settings-appearance.png create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/images/06-model-selector.png create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/images/07-attachments-prompt.png create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/images/08-conversation-result.png create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/images/09-dark-mode.png create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/images/architecture.png create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/images/chat-streaming.png create mode 100644 ai/gen-ai-agents/oci-enterprise-ai-chat/images/sso-flow.png diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/.dockerignore b/ai/gen-ai-agents/oci-enterprise-ai-chat/.dockerignore new file mode 100644 index 000000000..fea2fde73 --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/.dockerignore @@ -0,0 +1,6 @@ +node_modules +.next/cache +.git +docs +*.md +.env* diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/LICENSE b/ai/gen-ai-agents/oci-enterprise-ai-chat/LICENSE new file mode 100644 index 000000000..bb3854562 --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/LICENSE @@ -0,0 +1,36 @@ +Copyright (c) 2026 Oracle and/or its affiliates. + +The Universal Permissive License (UPL), Version 1.0 + +Subject to the condition set forth below, permission is hereby granted to any +person obtaining a copy of this software, associated documentation and/or data +(collectively the "Software"), free of charge and under any and all copyright +rights in the Software, and any and all patent rights owned or freely +licensable by each licensor hereunder covering either (i) the unmodified +Software as contributed to or provided by such licensor, or (ii) the Larger +Works (as defined below), to deal in both + +(a) the Software, and +(b) any piece of software and/or hardware listed in the lrgrwrks.txt file if +one is included with the Software (each a "Larger Work" to which the Software +is contributed by such licensors), + +without restriction, including without limitation the rights to copy, create +derivative works of, display, perform, and distribute the Software and make, +use, sell, offer for sale, import, export, have made, and have sold the +Software and the Larger Work(s), and to sublicense the foregoing rights on +either these or other terms. + +This license is subject to the following condition: + +The above copyright notice and either this complete permission notice or at a +minimum a reference to the UPL must be included in all copies or substantial +portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/README.md b/ai/gen-ai-agents/oci-enterprise-ai-chat/README.md new file mode 100644 index 000000000..67ab3e8a2 --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/README.md @@ -0,0 +1,404 @@ +# OCI Enterprise AI Agents + +A chat interface and agent hub for [Oracle Cloud Infrastructure Enterprise AI](https://www.oracle.com/artificial-intelligence/enterprise-ai/). Streaming responses, MCP tool integration, OAuth2 SSO, and a full settings workbench to tailor the assistant to each deployment. + +Built with **Next.js 16**, **React 19**, and **MUI v7**. + +![Chat home](images/01-chat-home.png) + +--- + +## Quick Start + +```bash +npm install +npm run dev +``` + +Open [http://localhost:3000](http://localhost:3000). On first run, create a `.env.local` with the values from [Configuration](#configuration). + +### Requirements +- Node.js 22+ (the Dockerfile uses `node:22-alpine`) +- An OCI tenancy with access to **Generative AI** (Projects, inference, vector & semantic stores) and **Generative AI Agents** (memory, agent flows) +- Locally: `~/.oci/config` with a valid API key +- In a container: **Resource Principal** configured on the Container Instance + +--- + +## Configuration + +### Required environment variables + +```env +# OCI Enterprise AI: set to your tenancy's region +OCI_REGION=us-chicago-1 # any region key works (us-ashburn-1, eu-frankfurt-1, ap-sydney-1, …) +OCI_COMPARTMENT_ID=ocid1.compartment.oc1..xxxxx +OCI_GENAI_PROJECT_ID=ocid1.generativeaiproject.oc1..xxxxx + +# Local dev (API-key auth via ~/.oci/config) +OCI_CONFIG_FILE=~/.oci/config +OCI_CONFIG_PROFILE=DEFAULT + +# Container deployments (Resource Principal instead of config file) +USE_RESOURCE_PRINCIPAL=true +``` + +> **About the Project.** A **Project** is the OCI Generative AI resource that organizes conversations, responses, files, and sandboxes: it's required for any OpenAI-compatible API call. It's also where you configure data retention (max 720h for both responses and conversations), short-term memory compaction, and long-term memory extraction/embedding models. Memory and compaction settings are **set at project creation and cannot be changed later**, so plan ahead. Create one in the OCI Console under *Analytics & AI → Generative AI → Projects*. + +### SSO (Oracle IDCS), optional but recommended + +```env +IDCS_DOMAIN_URL=https://idcs-xxxx.identity.oraclecloud.com +IDCS_CLIENT_ID=... +IDCS_CLIENT_SECRET=... +SESSION_SECRET= +``` + +When these are set, `src/middleware.js` protects every route and redirects unauthenticated users through the OAuth2 Authorization Code flow (`/api/auth/login` → IDCS → `/api/auth/callback/oci`). Session state lives in a signed cookie. + +### Observability: optional + +```env +LANGFUSE_SECRET_KEY=sk-lf-... +LANGFUSE_PUBLIC_KEY=pk-lf-... +LANGFUSE_BASE_URL=https://cloud.langfuse.com +LOG_LEVEL=info +``` + +### Models + +Models are **discovered dynamically** via `listModels` against the configured compartment. Whatever is enabled in your tenancy shows up in the model picker. No env var needed. + +--- + +## Architecture + +![Architecture overview](images/architecture.png) + +The browser hits `middleware.js` first (session guard). If the user has a valid IDCS session cookie, the request continues to the UI / API layers. The `/api/responses` route signs every request and streams from OCI's Generative AI Responses API; tool calls executed by the model run **on OCI's side** against the registered MCP servers. The app talks directly to MCP servers only when it needs to discover tools or proxy a manual JSON-RPC call. + +--- + +## Features + +### Chat +Real-time SSE streaming, conversation history persisted in OCI Conversation Store and cached locally (IndexedDB), automatic title generation, markdown rendering with code blocks and tables, multi-file attachments. + +### Model picker +Switch models per conversation. The list is discovered dynamically from the configured compartment, so anything enabled in your tenancy shows up automatically. + +![Model picker](images/06-model-selector.png) + +### File attachments: PDF, CSV, TXT, code, spreadsheets +Drop or paste documents straight into the chat. Each file is shown as a card and its contents are sent as context to the model. + +![Attachments + prompt](images/07-attachments-prompt.png) + +The model returns structured analysis across all attached files in one go: + +![Conversation result](images/08-conversation-result.png) + +Supported extensions: `.pdf`, `.txt`, `.md`, `.csv`, `.json`, `.xml`, `.html`, `.css`, `.js`, `.ts`, `.jsx`, `.tsx`, `.py`, `.java`, `.c`, `.cpp`, `.h`, `.yml`, `.yaml`, `.toml`, `.ini`, `.log`, `.sql`, `.sh`, `.bat`, `.xlsx`, `.xls`, plus images. + +### Native OCI tools +Toggle per-tool from Settings → Tools → Native: +- **Web Search** *(coming soon)*, real-time web lookups +- **File Search (RAG)**: vector retrieval over Knowledge Bases +- **Code Interpreter**: Python sandbox with 420+ libraries +- **Text-to-SQL** *(coming soon)*, natural language → SQL against your semantic stores + +![Tools settings](images/03-settings-tools.png) + +### Custom MCP servers +Add any MCP endpoint (API key, Bearer token, OAuth2 client credentials, or OAuth 2.1). Test the connection, discover tools, and selectively enable individual functions. Tokens persist through a signed-cookie flow, no secrets stored in localStorage. + +![Custom MCP servers](images/03b-settings-tools-custom.png) + +### Prompts: Instructions + System +Two separate things on the same tab: + +- **Instructions**: free-text field where you put anything you want the assistant to know about you, your tone, or the context. This is where each user/team customizes the assistant. + + ![Prompts: Instructions](images/02-settings-prompts.png) + +- **System**: read-only viewer of the base system prompt that ships with the app. It's already tuned for OCI workflows (response style, tool transparency, formatting), so you don't need to edit it; if you ever do want to change it, edit `src/app/utils/baseSystemPrompt.js` in code. + + ![Prompts: System](images/02b-settings-prompts-system.png) + +### Memory: long-term and short-term +Two independent memory layers, both backed by OCI's native memory subjects: + +- **Long-Term Memory (LTM)**: persistent across all conversations of the same user. The model can recall facts, preferences, and context from previous sessions (e.g. "the user prefers concise answers in Spanish", "their main project is the auth migration"). Stored against a memory subject in OCI; the subject ID is configured per user in the Memory tab. Useful for personalization that survives logouts and new chats. + +- **Short-Term Memory Optimization (STMO)**: scoped to the current conversation. Compacts and summarizes long chat histories so the model keeps context without burning the token window on raw transcripts. Enabled per-conversation, transparent to the user. + +Both can be turned on independently. LTM needs a memory subject ID; STMO is just a toggle. + +![Memory settings](images/04-settings-memory.png) + +### Appearance: fully white-label +App title, logo, welcome message, accent color, dark mode, background, and live preview. Useful when shipping the app to multiple internal teams or external customers. + +![Appearance settings](images/05-settings-appearance.png) + +The same chat in dark mode: + +![Dark mode](images/09-dark-mode.png) + +### Authentication +- **Oracle IDCS SSO** with OAuth2 Authorization Code (handled by `src/middleware.js` + `src/app/lib/auth.js`) +- **MCP OAuth 2.1** with PKCE for per-tool authorization (`src/app/lib/mcp-oauth.js`) +- Resource Principal auth when running in an OCI Container Instance + +### Observability +Langfuse traces every request when `LANGFUSE_*` env vars are set. The Settings → Observability tab provides an in-app trace viewer. + +--- + +## Project Structure + +``` +src/ +├── middleware.js # Route protection + IDCS redirect +└── app/ + ├── api/ # Next.js API routes + │ ├── auth/ # IDCS OAuth endpoints + │ ├── mcp/ # MCP JSON-RPC proxy + OAuth 2.1 + │ ├── responses/ # Streaming chat proxy + │ ├── conversations/ # Conversation Store CRUD + │ ├── models/ # Model discovery + │ ├── semantic-stores/ # Text-to-SQL stores + │ ├── vector-stores/ # RAG knowledge bases + │ ├── files/ # Uploads + │ └── generate-title/ # Title generation + │ + ├── components/ + │ ├── chat/ # ChatInput, ChatMessage, ChatSidebar + │ ├── settings/ # SettingsPage + tabs + │ ├── ui/ # Header, IOSSwitch, VerticalTabs, … + │ ├── charts/ # Recharts wrappers + │ ├── agent/ # Agent visualizations + │ └── demo/ + │ + ├── config/ + │ ├── app.js # App-wide constants + │ └── darkMode.js # Dark-mode CSS vars + MUI overrides + │ + ├── lib/ # Server-side helpers + │ ├── auth.js # IDCS session + cookie signing + │ ├── mcp-oauth.js # MCP OAuth 2.1 + PKCE + │ ├── oci-auth.js # ConfigFile / ResourcePrincipal + │ ├── oci-proxy.js # Request signing helpers + │ ├── oci-headers.js # Required OCI headers + │ └── logger.js # Structured logging + │ + ├── services/ # Client-side service layer + │ ├── genaiAgentsService.js # Streaming API client + │ ├── conversationStorage.js # IndexedDB cache + │ ├── mcpService.js # MCP client/server mgmt + │ ├── titleService.js # Auto title generation + │ ├── oracleSpeechService.js # Speech integration + │ └── flowService.js # Agent flows + │ + ├── hooks/ + │ └── useChat.js # Streaming chunk processing + state + │ + ├── utils/ + │ ├── messageUtils.js # Message parsing helpers + │ ├── chartParser.js + │ ├── baseSystemPrompt.js + │ └── errorMessages.js + │ + ├── intro/ # Animated intro/splash + ├── login/ # Fallback login UI + ├── settings/ # Deep-linked settings routes + └── page.js # Main chat interface +``` + +--- + +## Data Flow + +### Chat streaming + +![Chat streaming sequence](images/chat-streaming.png) + +1. User sends a message → `useChat.js` calls `genaiAgentsService.sendMessage` +2. Client POSTs to `/api/responses`; the route signs the request and streams from OCI's `/openai/v1/responses` endpoint +3. SSE chunks flow back; `processStreamingChunk` accumulates text and renders it as markdown + +### IDCS SSO (OAuth2 Authorization Code) + +![SSO sequence](images/sso-flow.png) + +### MCP tool invocation +1. OCI executes MCP tools natively via the Responses API. the app **does not run tools itself** +2. For OAuth 2.1 MCP servers (e.g. SDD Generator), the client obtains an access token via `/api/mcp/oauth/*` and passes it to OCI in the tool's `authorization` field +3. Custom servers use the more generic `/api/mcp` JSON-RPC proxy for discovery and direct invocation (outside OCI) + +### Settings persistence +All UI-level preferences live in `localStorage`: + +- **`systemPrompt`** — Custom system instructions +- **`selectedModel`** — Current model ID +- **`uiSettings`** — App title, logo, welcome message, dark mode, accent color +- **`nativeToolsEnabled`** — Native OCI tools (web search, RAG, code, text-to-SQL) +- **`mcpServers`** — Configured custom MCP endpoints +- **`enabledTools`** — Per-function MCP tool selection + +--- + +## OCI API endpoints used + +The app talks to two OCI GenAI hosts, both signed with the same credentials. + +### Inference plane: streaming chat + +``` +POST https://inference.generativeai.{region}.oci.oraclecloud.com/openai/v1/responses +``` + +```json +{ "model": "openai.gpt-4.1", "input": [...], "stream": true } +``` + +Standard OpenAI-compatible Responses API. Used for most chat models, with `OCI_GENAI_PROJECT_ID` sent as the `openai-project` header. + +For **multi-agent models** the same host is used but with the OCI-native path `/v1/responses` (no `/openai` prefix). + +### Control plane: store management + +``` +GET/POST/DELETE https://generativeai.{region}.oci.oraclecloud.com/20231130/... +``` + +CRUD for vector stores (RAG) and semantic stores (Text-to-SQL). The `20231130` is the API version date (2023-11-30). + +--- + +## Deployment on OCI + +The app runs as a **standalone Next.js build** inside an [OCI Container Instance](https://docs.oracle.com/en-us/iaas/Content/container-instances/home.htm), behind a [Load Balancer](https://docs.oracle.com/en-us/iaas/Content/Balance/home.htm) terminating HTTPS. Authentication to OCI services is done via [Resource Principal](https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/usingdynamicgroups.htm), so no API keys leave the tenancy. + +### One-time setup (in OCI Console) + +1. **OCIR repository**: `Developer Services → Container Registry → Create Repository`. Name it e.g. `oci-enterprise-ai-agents`. Note your tenancy's namespace (visible in the OCIR page header) and region key (e.g. `ord` for Chicago, `iad` for Ashburn). +2. **OCIR Auth Token**: `Profile → User Settings → Auth Tokens → Generate Token`. You'll log in to the registry with this token (`docker login ord.ocir.io -u "/"`). +3. **Dynamic Group**: `Identity → Dynamic Groups → Create`. Match all Container Instances in your compartment: + ``` + ALL {resource.type='computecontainerinstance', resource.compartment.id=''} + ``` +4. **IAM policies**: `Identity → Policies → Create`. Grant the dynamic group access to GenAI, Conversation Store, and any other services you use: + ``` + allow dynamic-group to use generative-ai-family in compartment + allow dynamic-group to manage genai-agent-family in compartment + allow dynamic-group to manage objects in compartment + ``` +5. **(SSO only)** Register the app in **IDCS** as a Confidential Application with redirect URI `https:///api/auth/callback/oci`. Save the Client ID + Secret for the env vars. + +### Build & push the image + +```bash +npm run build +docker buildx build --platform linux/amd64 \ + -t ord.ocir.io//oci-enterprise-ai-agents:latest . + +docker login ord.ocir.io -u "/" # paste OCIR Auth Token as password +docker push ord.ocir.io//oci-enterprise-ai-agents:latest +``` + +### Create the Container Instance + +`Developer Services → Container Instances → Create`: +- **Shape**: `CI.Standard.E4.Flex` (2 OCPU / 8 GB is enough to start). +- **Image**: `ord.ocir.io//oci-enterprise-ai-agents:latest`. +- **OCIR auth**: choose the Auth Token created above. +- **Networking**: VCN with a private subnet (the Load Balancer will be the public entrypoint). +- **Environment variables**: all the ones from the [Configuration](#configuration) section plus: + ``` + USE_RESOURCE_PRINCIPAL=true # use the Dynamic Group identity, not API keys + ``` + Do **not** set `OCI_CONFIG_FILE` / `OCI_CONFIG_PROFILE` here. `PORT=8080` and `HOSTNAME=0.0.0.0` are already baked into the Dockerfile, so you don't need to add them. + +### Put a Load Balancer in front + +`Networking → Load Balancers → Create`: +- **Public LB** with HTTPS listener (attach a certificate). +- **Backend set** pointing to the Container Instance private IP on port `8080`. +- **Health check**: HTTP path `/ready`, interval 30s. +- The middleware reads the `Host` header to build OAuth redirect URIs, so make sure the LB forwards `Host` and `X-Forwarded-Proto`. + +### Updating after a code change + +```bash +# 1. Push a new image with the same tag +docker buildx build --platform linux/amd64 \ + -t ord.ocir.io//oci-enterprise-ai-agents:latest . +docker push ord.ocir.io//oci-enterprise-ai-agents:latest + +# 2. Restart the instance to pull the new image +oci container-instances container-instance restart \ + --container-instance-id \ + --region us-chicago-1 +``` + +### Notes +- A `/ready` healthcheck endpoint is exposed for the LB. +- If you mount the app under a subpath, set `BASE_PATH=/your-path`. +- When the LB-to-backend connection is HTTP (not HTTPS end-to-end), cookies must **not** carry the `Secure` flag. `mcp-oauth.js` and the IDCS auth code already handle this automatically when running over HTTP. +- All secrets (Client Secret, Session Secret, Langfuse keys) should be set as **environment variables on the Container Instance**, never baked into the image. + +--- + +## Commands + +```bash +npm run dev # Dev server (Turbopack) +npm run build # Production build (.next/standalone) +npm run start # Production server +npm run lint # ESLint +npm run test # Playwright tests +``` + +--- + +## Troubleshooting + +**`Invalid value for required field 'model'`** +The model you selected is not available on the OpenAI-compatible endpoint. Pick a different model in Settings → AI, or extend the app to hit the native endpoint. + +**`OCI_COMPARTMENT_ID is required`** +Missing env var. Set it in `.env.local` for local dev or in the Container Instance env for deployment. + +**Authentication errors locally** +- Verify `~/.oci/config` exists and the profile matches `OCI_CONFIG_PROFILE` +- `chmod 600` on the private key +- Confirm the fingerprint matches the key registered in OCI + +**IDCS redirect mismatch** +`getBaseUrl()` strips `:443` and `:80` from the `Host` header so the `redirect_uri` matches what IDCS has registered. If you're behind a custom proxy, ensure the `Host` header passes through. + +**MCP OAuth cookie not found** +OAuth pending-state is stored in a cookie (not in the `state` parameter, because some servers rewrite it). If you serve over HTTP in dev, cookies must not have the `Secure` flag. `mcp-oauth.js` handles this automatically in dev. + +**Recharts "negative dimensions" warnings** +Harmless. Emitted during SSG when charts render with zero-size containers; they have no runtime effect. + +--- + +## Tech Stack + +- **Framework** — Next.js 16 (App Router, standalone output, Turbopack) +- **UI** — React 19, MUI v7, Framer Motion, Lucide icons +- **Charts** — Recharts +- **OCI** — `oci-sdk` (ConfigFile / Resource Principal auth) +- **Protocols** — Server-Sent Events, JSON-RPC 2.0 (MCP), OAuth 2.1 + PKCE +- **Observability** — Langfuse (optional) +- **Testing** — Playwright + +--- + +## Author + +Maintained by **Ras Alungei** ([@ralungei](https://github.com/ralungei)). +For questions, contributions, or feedback, open an issue or pull request. diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/Dockerfile b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/Dockerfile new file mode 100644 index 000000000..f03995dbd --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/Dockerfile @@ -0,0 +1,21 @@ +FROM node:22-alpine + +WORKDIR /app + +# Copy pre-built standalone output (built locally with npm run build) +COPY .next/standalone ./ +COPY .next/static ./.next/static +COPY public ./public + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +ENV PORT=8080 +ENV HOSTNAME=0.0.0.0 + +EXPOSE 8080 + +HEALTHCHECK --interval=30s --timeout=3s --start-period=10s --retries=3 \ + CMD wget --no-verbose --tries=1 --spider http://127.0.0.1:8080/ready || exit 1 + +CMD ["/entrypoint.sh"] diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/entrypoint.sh b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/entrypoint.sh new file mode 100644 index 000000000..010a4cf58 --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/entrypoint.sh @@ -0,0 +1,22 @@ +#!/bin/sh +set -e + +PLACEHOLDER="/__BASE_PATH_PLACEHOLDER__" +PREFIX="${BASE_PATH:-}" +PREFIX="${PREFIX%/}" +ESCAPED=$(printf '%s' "$PREFIX" | sed 's/[\/&|]/\\&/g') + +# OCI Hosted Deployments mounts the container filesystem as read-only +# except /tmp. Copy the app to /tmp so we can sed the placeholder. +echo "[entrypoint] Staging app in /tmp/app (OCI fs is read-only outside /tmp)..." +mkdir -p /tmp/app +cp -r /app/. /tmp/app/ +cd /tmp/app + +echo "[entrypoint] Replacing ${PLACEHOLDER} with '${PREFIX}' in built assets..." +find ./server.js ./.next ./public -type f \ + \( -name "*.js" -o -name "*.html" -o -name "*.json" -o -name "*.rsc" -o -name "*.css" \) \ + -exec sed -i "s|${PLACEHOLDER}|${ESCAPED}|g" {} + + +echo "[entrypoint] Done. Starting Next.js server from /tmp/app..." +exec node server.js diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/eslint.config.mjs b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/eslint.config.mjs new file mode 100644 index 000000000..348c45a2f --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/eslint.config.mjs @@ -0,0 +1,14 @@ +import { dirname } from "path"; +import { fileURLToPath } from "url"; +import { FlatCompat } from "@eslint/eslintrc"; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = dirname(__filename); + +const compat = new FlatCompat({ + baseDirectory: __dirname, +}); + +const eslintConfig = [...compat.extends("next/core-web-vitals")]; + +export default eslintConfig; diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/imageLoader.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/imageLoader.js new file mode 100644 index 000000000..ad63affdf --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/imageLoader.js @@ -0,0 +1,7 @@ +// Custom image loader for next/image. In Next 16, neither assetPrefix nor +// `unoptimized: true` consistently prepend the base path to image URLs. +// This loader prepends the BASE_PATH placeholder, which the container's +// entrypoint rewrites at startup using the BASE_PATH env var. +export default function imageLoader({ src }) { + return `/__BASE_PATH_PLACEHOLDER__${src}`; +} diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/jsconfig.json b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/jsconfig.json new file mode 100644 index 000000000..b8d6842d7 --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/jsconfig.json @@ -0,0 +1,7 @@ +{ + "compilerOptions": { + "paths": { + "@/*": ["./src/*"] + } + } +} diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/next.config.mjs b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/next.config.mjs new file mode 100644 index 000000000..4c9079f17 --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/next.config.mjs @@ -0,0 +1,19 @@ +const isProd = process.env.NODE_ENV === 'production'; + +/** @type {import('next').NextConfig} */ +const nextConfig = { + devIndicators: false, + output: 'standalone', + compress: false, + // Placeholder is only baked in production builds. The container's entrypoint + // replaces it with the real BASE_PATH env var at runtime. In dev (`next dev`), + // we skip it so everything works against localhost without needing the sed. + ...(isProd && { assetPrefix: '/__BASE_PATH_PLACEHOLDER__' }), + images: { + ...(isProd && { loader: 'custom', loaderFile: './imageLoader.js' }), + dangerouslyAllowSVG: true, + contentSecurityPolicy: "default-src 'self'; script-src 'none'; sandbox;", + }, +}; + +export default nextConfig; diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/package-lock.json b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/package-lock.json new file mode 100644 index 000000000..d3fd5323f --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/package-lock.json @@ -0,0 +1,11522 @@ +{ + "name": "oci-agent-light-demo-creator", + "version": "0.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "oci-agent-light-demo-creator", + "version": "0.1.0", + "dependencies": { + "@emotion/cache": "^11.14.0", + "@emotion/react": "^11.14.0", + "@emotion/styled": "^11.14.1", + "@mui/icons-material": "^7.3.7", + "@mui/material": "^7.3.7", + "@mui/material-nextjs": "^7.3.7", + "@mui/x-data-grid": "^8.27.0", + "@uiw/react-json-view": "^2.0.0-alpha.40", + "@xyflow/react": "^12.10.0", + "framer-motion": "^12.27.0", + "html-to-image": "^1.11.13", + "html2canvas": "^1.4.1", + "jspdf": "^4.1.0", + "jspdf-autotable": "^5.0.7", + "langfuse": "^3.38.20", + "lucide-react": "^0.562.0", + "next": "^16.1.3", + "oci-sdk": "^2.124.0", + "pdfjs-dist": "^5.4.624", + "react": "^19.2.3", + "react-dom": "^19.2.3", + "react-markdown": "^10.1.0", + "recharts": "^3.6.0", + "remark-gfm": "^4.0.1", + "xlsx": "^0.18.5" + }, + "devDependencies": { + "@eslint/eslintrc": "^3", + "@iconify/react": "^6.0.2", + "eslint": "^9", + "eslint-config-next": "16.1.3", + "playwright": "^1.57.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.28.6.tgz", + "integrity": "sha512-JYgintcMjRiCvS8mMECzaEn+m3PfoQiyqukOMCCVQtoJGYJw8j/8LBJEiqkHLkfwCcs74E3pbAUFNg7d9VNJ+Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.28.5", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.6.tgz", + "integrity": "sha512-2lfu57JtzctfIrcGMz992hyLlByuzgIk58+hhGCxjKZ3rWI82NnVLjXcaTqkI2NvlcvOskZaiZ5kjUALo3Lpxg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.6.tgz", + "integrity": "sha512-H3mcG6ZDLTlYfaSNi0iOKkigqMFvkTKlGUYlD8GW7nNOYRrevuA46iTypPyv+06V3fEmvvazfntkBU34L0azAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.28.6", + "@babel/generator": "^7.28.6", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helpers": "^7.28.6", + "@babel/parser": "^7.28.6", + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@babel/core/node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.6.tgz", + "integrity": "sha512-lOoVRwADj8hjf7al89tvQ2a1lf53Z+7tiXMgpZJL3maQPDxh0DgLMN62B2MKUOFcoodBHLMbDM6WAbKgNy5Suw==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", + "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.28.6", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", + "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", + "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-validator-identifier": "^7.28.5", + "@babel/traverse": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.6.tgz", + "integrity": "sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.6.tgz", + "integrity": "sha512-TeR9zWR18BvbfPmGbLampPMW+uW1NZnJlRuuHso8i87QZNq2JRF9i6RgxRqtEq+wQGsS19NNTWr2duhnE49mfQ==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.6" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.6.tgz", + "integrity": "sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", + "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.28.6", + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.6.tgz", + "integrity": "sha512-fgWX62k02qtjqdSNTAGxmKYY/7FSL9WAS1o2Hu5+I5m9T0yxZzr4cnrfXQ/MX0rIifthCSs6FKTlzYbJcPtMNg==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.28.6", + "@babel/generator": "^7.28.6", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.28.6", + "@babel/template": "^7.28.6", + "@babel/types": "^7.28.6", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.6.tgz", + "integrity": "sha512-0ZrskXVEHSWIqZM/sQZ4EV3jZJXRkio/WCxaqKZP1g//CEWEPSfeZFcms4XeKBCHU0ZKnIkdJeU/kF+eRp5lBg==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@emnapi/core": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.4.3.tgz", + "integrity": "sha512-4m62DuCE07lw01soJwPiBGC0nAww0Q+RY70VZ+n49yDIO13yyinhbWCeNnaob0lakDtWQzSdtNWzJeOJt2ma+g==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.0.2", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.8.1.tgz", + "integrity": "sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.0.2.tgz", + "integrity": "sha512-5n3nTJblwRi8LlXkJ9eBzu+kZR8Yxcc7ubakyQTFzPMtIhFpUBRbsnc2Dv88IZDIbCDlBiWrknhB4Lsz7mg6BA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emotion/babel-plugin": { + "version": "11.13.5", + "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.13.5.tgz", + "integrity": "sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/runtime": "^7.18.3", + "@emotion/hash": "^0.9.2", + "@emotion/memoize": "^0.9.0", + "@emotion/serialize": "^1.3.3", + "babel-plugin-macros": "^3.1.0", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^4.0.0", + "find-root": "^1.1.0", + "source-map": "^0.5.7", + "stylis": "4.2.0" + } + }, + "node_modules/@emotion/cache": { + "version": "11.14.0", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.14.0.tgz", + "integrity": "sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA==", + "license": "MIT", + "dependencies": { + "@emotion/memoize": "^0.9.0", + "@emotion/sheet": "^1.4.0", + "@emotion/utils": "^1.4.2", + "@emotion/weak-memoize": "^0.4.0", + "stylis": "4.2.0" + } + }, + "node_modules/@emotion/hash": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.2.tgz", + "integrity": "sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==", + "license": "MIT" + }, + "node_modules/@emotion/is-prop-valid": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.3.1.tgz", + "integrity": "sha512-/ACwoqx7XQi9knQs/G0qKvv5teDMhD7bXYns9N/wM8ah8iNb8jZ2uNO0YOgiq2o2poIvVtJS2YALasQuMSQ7Kw==", + "license": "MIT", + "dependencies": { + "@emotion/memoize": "^0.9.0" + } + }, + "node_modules/@emotion/memoize": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.9.0.tgz", + "integrity": "sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==", + "license": "MIT" + }, + "node_modules/@emotion/react": { + "version": "11.14.0", + "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.14.0.tgz", + "integrity": "sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.13.5", + "@emotion/cache": "^11.14.0", + "@emotion/serialize": "^1.3.3", + "@emotion/use-insertion-effect-with-fallbacks": "^1.2.0", + "@emotion/utils": "^1.4.2", + "@emotion/weak-memoize": "^0.4.0", + "hoist-non-react-statics": "^3.3.1" + }, + "peerDependencies": { + "react": ">=16.8.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@emotion/serialize": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.3.3.tgz", + "integrity": "sha512-EISGqt7sSNWHGI76hC7x1CksiXPahbxEOrC5RjmFRJTqLyEK9/9hZvBbiYn70dw4wuwMKiEMCUlR6ZXTSWQqxA==", + "license": "MIT", + "dependencies": { + "@emotion/hash": "^0.9.2", + "@emotion/memoize": "^0.9.0", + "@emotion/unitless": "^0.10.0", + "@emotion/utils": "^1.4.2", + "csstype": "^3.0.2" + } + }, + "node_modules/@emotion/sheet": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.4.0.tgz", + "integrity": "sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==", + "license": "MIT" + }, + "node_modules/@emotion/styled": { + "version": "11.14.1", + "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.14.1.tgz", + "integrity": "sha512-qEEJt42DuToa3gurlH4Qqc1kVpNq8wO8cJtDzU46TjlzWjDlsVyevtYCRijVq3SrHsROS+gVQ8Fnea108GnKzw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.13.5", + "@emotion/is-prop-valid": "^1.3.0", + "@emotion/serialize": "^1.3.3", + "@emotion/use-insertion-effect-with-fallbacks": "^1.2.0", + "@emotion/utils": "^1.4.2" + }, + "peerDependencies": { + "@emotion/react": "^11.0.0-rc.0", + "react": ">=16.8.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@emotion/unitless": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.10.0.tgz", + "integrity": "sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==", + "license": "MIT" + }, + "node_modules/@emotion/use-insertion-effect-with-fallbacks": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.2.0.tgz", + "integrity": "sha512-yJMtVdH59sxi/aVJBpk9FQq+OR8ll5GT8oWd57UpeaKEVGab41JWaCFA7FRLoMLloOZF/c/wsPoe+bfGmRKgDg==", + "license": "MIT", + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/@emotion/utils": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.4.2.tgz", + "integrity": "sha512-3vLclRofFziIa3J2wDh9jjbkUz9qk5Vi3IZ/FSTKViB0k+ef0fPV7dYrUIugbgupYDx7v9ud/SjrtEP8Y4xLoA==", + "license": "MIT" + }, + "node_modules/@emotion/weak-memoize": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz", + "integrity": "sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==", + "license": "MIT" + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", + "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", + "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/config-array": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz", + "integrity": "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^2.1.7", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/config-helpers": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz", + "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/core": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz", + "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz", + "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/js": { + "version": "9.39.2", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.2.tgz", + "integrity": "sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz", + "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz", + "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0", + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", + "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.3.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", + "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.2.tgz", + "integrity": "sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@iconify/react": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@iconify/react/-/react-6.0.2.tgz", + "integrity": "sha512-SMmC2sactfpJD427WJEDN6PMyznTFMhByK9yLW0gOTtnjzzbsi/Ke/XqsumsavFPwNiXs8jSiYeZTmLCLwO+Fg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@iconify/types": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/cyberalien" + }, + "peerDependencies": { + "react": ">=16" + } + }, + "node_modules/@iconify/types": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@iconify/types/-/types-2.0.0.tgz", + "integrity": "sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@img/colour": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.0.0.tgz", + "integrity": "sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@img/sharp-darwin-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.5.tgz", + "integrity": "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-arm64": "1.2.4" + } + }, + "node_modules/@img/sharp-darwin-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.5.tgz", + "integrity": "sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-x64": "1.2.4" + } + }, + "node_modules/@img/sharp-libvips-darwin-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.4.tgz", + "integrity": "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-darwin-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.4.tgz", + "integrity": "sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.4.tgz", + "integrity": "sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==", + "cpu": [ + "arm" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.4.tgz", + "integrity": "sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-ppc64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.4.tgz", + "integrity": "sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==", + "cpu": [ + "ppc64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-riscv64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.2.4.tgz", + "integrity": "sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==", + "cpu": [ + "riscv64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-s390x": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.4.tgz", + "integrity": "sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==", + "cpu": [ + "s390x" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.4.tgz", + "integrity": "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.4.tgz", + "integrity": "sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.4.tgz", + "integrity": "sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-linux-arm": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.5.tgz", + "integrity": "sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==", + "cpu": [ + "arm" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.5.tgz", + "integrity": "sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-ppc64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.5.tgz", + "integrity": "sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==", + "cpu": [ + "ppc64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-ppc64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-riscv64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.34.5.tgz", + "integrity": "sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==", + "cpu": [ + "riscv64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-riscv64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-s390x": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.5.tgz", + "integrity": "sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==", + "cpu": [ + "s390x" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-s390x": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.5.tgz", + "integrity": "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-x64": "1.2.4" + } + }, + "node_modules/@img/sharp-linuxmusl-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.5.tgz", + "integrity": "sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4" + } + }, + "node_modules/@img/sharp-linuxmusl-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.5.tgz", + "integrity": "sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-x64": "1.2.4" + } + }, + "node_modules/@img/sharp-wasm32": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.5.tgz", + "integrity": "sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==", + "cpu": [ + "wasm32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", + "optional": true, + "dependencies": { + "@emnapi/runtime": "^1.7.0" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.5.tgz", + "integrity": "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-ia32": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.5.tgz", + "integrity": "sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==", + "cpu": [ + "ia32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.5.tgz", + "integrity": "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@mui/core-downloads-tracker": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-7.3.7.tgz", + "integrity": "sha512-8jWwS6FweMkpyRkrJooamUGe1CQfO1yJ+lM43IyUJbrhHW/ObES+6ry4vfGi8EKaldHL3t3BG1bcLcERuJPcjg==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + } + }, + "node_modules/@mui/icons-material": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-7.3.7.tgz", + "integrity": "sha512-3Q+ulAqG+A1+R4ebgoIs7AccaJhIGy+Xi/9OnvX376jQ6wcy+rz4geDGrxQxCGzdjOQr4Z3NgyFSZCz4T999lA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.28.4" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@mui/material": "^7.3.7", + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/material": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/@mui/material/-/material-7.3.7.tgz", + "integrity": "sha512-6bdIxqzeOtBAj2wAsfhWCYyMKPLkRO9u/2o5yexcL0C3APqyy91iGSWgT3H7hg+zR2XgE61+WAu12wXPON8b6A==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.28.4", + "@mui/core-downloads-tracker": "^7.3.7", + "@mui/system": "^7.3.7", + "@mui/types": "^7.4.10", + "@mui/utils": "^7.3.7", + "@popperjs/core": "^2.11.8", + "@types/react-transition-group": "^4.4.12", + "clsx": "^2.1.1", + "csstype": "^3.2.3", + "prop-types": "^15.8.1", + "react-is": "^19.2.3", + "react-transition-group": "^4.4.5" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@emotion/react": "^11.5.0", + "@emotion/styled": "^11.3.0", + "@mui/material-pigment-css": "^7.3.7", + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@emotion/react": { + "optional": true + }, + "@emotion/styled": { + "optional": true + }, + "@mui/material-pigment-css": { + "optional": true + }, + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/material-nextjs": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/@mui/material-nextjs/-/material-nextjs-7.3.7.tgz", + "integrity": "sha512-xTOLJd46vOTjhzbjPRwujUuUOsWvPkR+hMQ1lkvAUMj6Ntk9wCvb1TxLGRygaJr9KiR924m4XynDPqyyTy0wcQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.28.4" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@emotion/cache": "^11.11.0", + "@emotion/react": "^11.11.4", + "@emotion/server": "^11.11.0", + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "next": "^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@emotion/cache": { + "optional": true + }, + "@emotion/server": { + "optional": true + }, + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/material/node_modules/react-is": { + "version": "19.2.3", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-19.2.3.tgz", + "integrity": "sha512-qJNJfu81ByyabuG7hPFEbXqNcWSU3+eVus+KJs+0ncpGfMyYdvSmxiJxbWR65lYi1I+/0HBcliO029gc4F+PnA==", + "license": "MIT" + }, + "node_modules/@mui/private-theming": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-7.3.7.tgz", + "integrity": "sha512-w7r1+CYhG0syCAQUWAuV5zSaU2/67WA9JXUderdb7DzCIJdp/5RmJv6L85wRjgKCMsxFF0Kfn0kPgPbPgw/jdw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.28.4", + "@mui/utils": "^7.3.7", + "prop-types": "^15.8.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/styled-engine": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-7.3.7.tgz", + "integrity": "sha512-y/QkNXv6cF6dZ5APztd/dFWfQ6LHKPx3skyYO38YhQD4+Cxd6sFAL3Z38WMSSC8LQz145Mpp3CcLrSCLKPwYAg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.28.4", + "@emotion/cache": "^11.14.0", + "@emotion/serialize": "^1.3.3", + "@emotion/sheet": "^1.4.0", + "csstype": "^3.2.3", + "prop-types": "^15.8.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@emotion/react": "^11.4.1", + "@emotion/styled": "^11.3.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@emotion/react": { + "optional": true + }, + "@emotion/styled": { + "optional": true + } + } + }, + "node_modules/@mui/system": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/@mui/system/-/system-7.3.7.tgz", + "integrity": "sha512-DovL3k+FBRKnhmatzUMyO5bKkhMLlQ9L7Qw5qHrre3m8zCZmE+31NDVBFfqrbrA7sq681qaEIHdkWD5nmiAjyQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.28.4", + "@mui/private-theming": "^7.3.7", + "@mui/styled-engine": "^7.3.7", + "@mui/types": "^7.4.10", + "@mui/utils": "^7.3.7", + "clsx": "^2.1.1", + "csstype": "^3.2.3", + "prop-types": "^15.8.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@emotion/react": "^11.5.0", + "@emotion/styled": "^11.3.0", + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@emotion/react": { + "optional": true + }, + "@emotion/styled": { + "optional": true + }, + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/types": { + "version": "7.4.10", + "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.4.10.tgz", + "integrity": "sha512-0+4mSjknSu218GW3isRqoxKRTOrTLd/vHi/7UC4+wZcUrOAqD9kRk7UQRL1mcrzqRoe7s3UT6rsRpbLkW5mHpQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.28.4" + }, + "peerDependencies": { + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/utils": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-7.3.7.tgz", + "integrity": "sha512-+YjnjMRnyeTkWnspzoxRdiSOgkrcpTikhNPoxOZW0APXx+urHtUoXJ9lbtCZRCA5a4dg5gSbd19alL1DvRs5fg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.28.4", + "@mui/types": "^7.4.10", + "@types/prop-types": "^15.7.15", + "clsx": "^2.1.1", + "prop-types": "^15.8.1", + "react-is": "^19.2.3" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/utils/node_modules/react-is": { + "version": "19.2.3", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-19.2.3.tgz", + "integrity": "sha512-qJNJfu81ByyabuG7hPFEbXqNcWSU3+eVus+KJs+0ncpGfMyYdvSmxiJxbWR65lYi1I+/0HBcliO029gc4F+PnA==", + "license": "MIT" + }, + "node_modules/@mui/x-data-grid": { + "version": "8.27.0", + "resolved": "https://registry.npmjs.org/@mui/x-data-grid/-/x-data-grid-8.27.0.tgz", + "integrity": "sha512-xfx6jQyqUZQm4ZAxuN91fgdDwNiYtvahGv0wHmDK33DFgq68RrLvKSHUq/k79IY1y8N1jYGI8TT3nOipxorhyg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.28.4", + "@mui/utils": "^7.3.5", + "@mui/x-internals": "8.26.0", + "@mui/x-virtualizer": "0.3.3", + "clsx": "^2.1.1", + "prop-types": "^15.8.1", + "use-sync-external-store": "^1.6.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@emotion/react": "^11.9.0", + "@emotion/styled": "^11.8.1", + "@mui/material": "^5.15.14 || ^6.0.0 || ^7.0.0", + "@mui/system": "^5.15.14 || ^6.0.0 || ^7.0.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@emotion/react": { + "optional": true + }, + "@emotion/styled": { + "optional": true + } + } + }, + "node_modules/@mui/x-internals": { + "version": "8.26.0", + "resolved": "https://registry.npmjs.org/@mui/x-internals/-/x-internals-8.26.0.tgz", + "integrity": "sha512-B9OZau5IQUvIxwpJZhoFJKqRpmWf5r0yMmSXjQuqb5WuqM755EuzWJOenY48denGoENzMLT8hQpA0hRTeU2IPA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.28.4", + "@mui/utils": "^7.3.5", + "reselect": "^5.1.1", + "use-sync-external-store": "^1.6.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/@mui/x-virtualizer": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@mui/x-virtualizer/-/x-virtualizer-0.3.3.tgz", + "integrity": "sha512-6ugUh7UAhQYdgPgHLu181zqufh3Y8IqEU9Pe6Huzj0xkRi3NwMx/ZzvrHf2WazNOh2uLhQ5ZM2wFqDu3mxBWZA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.28.4", + "@mui/utils": "^7.3.5", + "@mui/x-internals": "8.26.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/@napi-rs/canvas": { + "version": "0.1.90", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas/-/canvas-0.1.90.tgz", + "integrity": "sha512-vO9j7TfwF9qYCoTOPO39yPLreTRslBVOaeIwhDZkizDvBb0MounnTl0yeWUMBxP4Pnkg9Sv+3eQwpxNUmTwt0w==", + "license": "MIT", + "optional": true, + "workspaces": [ + "e2e/*" + ], + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "optionalDependencies": { + "@napi-rs/canvas-android-arm64": "0.1.90", + "@napi-rs/canvas-darwin-arm64": "0.1.90", + "@napi-rs/canvas-darwin-x64": "0.1.90", + "@napi-rs/canvas-linux-arm-gnueabihf": "0.1.90", + "@napi-rs/canvas-linux-arm64-gnu": "0.1.90", + "@napi-rs/canvas-linux-arm64-musl": "0.1.90", + "@napi-rs/canvas-linux-riscv64-gnu": "0.1.90", + "@napi-rs/canvas-linux-x64-gnu": "0.1.90", + "@napi-rs/canvas-linux-x64-musl": "0.1.90", + "@napi-rs/canvas-win32-arm64-msvc": "0.1.90", + "@napi-rs/canvas-win32-x64-msvc": "0.1.90" + } + }, + "node_modules/@napi-rs/canvas-android-arm64": { + "version": "0.1.90", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-android-arm64/-/canvas-android-arm64-0.1.90.tgz", + "integrity": "sha512-3JBULVF+BIgr7yy7Rf8UjfbkfFx4CtXrkJFD1MDgKJ83b56o0U9ciT8ZGTCNmwWkzu8RbNKlyqPP3KYRG88y7Q==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + } + }, + "node_modules/@napi-rs/canvas-darwin-arm64": { + "version": "0.1.90", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-darwin-arm64/-/canvas-darwin-arm64-0.1.90.tgz", + "integrity": "sha512-L8XVTXl+8vd8u7nPqcX77NyG5RuFdVsJapQrKV9WE3jBayq1aSMht/IH7Dwiz/RNJ86E5ZSg9pyUPFIlx52PZA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + } + }, + "node_modules/@napi-rs/canvas-darwin-x64": { + "version": "0.1.90", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-darwin-x64/-/canvas-darwin-x64-0.1.90.tgz", + "integrity": "sha512-h0ukhlnGhacbn798VWYTQZpf6JPDzQYaow+vtQ2Fat7j7ImDdpg6tfeqvOTO1r8wS+s+VhBIFITC7aA1Aik0ZQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + } + }, + "node_modules/@napi-rs/canvas-linux-arm-gnueabihf": { + "version": "0.1.90", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm-gnueabihf/-/canvas-linux-arm-gnueabihf-0.1.90.tgz", + "integrity": "sha512-JCvTl99b/RfdBtgftqrf+5UNF7GIbp7c5YBFZ+Bd6++4Y3phaXG/4vD9ZcF1bw1P4VpALagHmxvodHuQ9/TfTg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + } + }, + "node_modules/@napi-rs/canvas-linux-arm64-gnu": { + "version": "0.1.90", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm64-gnu/-/canvas-linux-arm64-gnu-0.1.90.tgz", + "integrity": "sha512-vbWFp8lrP8NIM5L4zNOwnsqKIkJo0+GIRUDcLFV9XEJCptCc1FY6/tM02PT7GN4PBgochUPB1nBHdji6q3ieyQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + } + }, + "node_modules/@napi-rs/canvas-linux-arm64-musl": { + "version": "0.1.90", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm64-musl/-/canvas-linux-arm64-musl-0.1.90.tgz", + "integrity": "sha512-8Bc0BgGEeOaux4EfIfNzcRRw0JE+lO9v6RWQFCJNM9dJFE4QJffTf88hnmbOaI6TEMpgWOKipbha3dpIdUqb/g==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + } + }, + "node_modules/@napi-rs/canvas-linux-riscv64-gnu": { + "version": "0.1.90", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-riscv64-gnu/-/canvas-linux-riscv64-gnu-0.1.90.tgz", + "integrity": "sha512-0iiVDG5IH+gJb/YUrY/pRdbsjcgvwUmeckL/0gShWAA7004ygX2ST69M1wcfyxXrzFYjdF8S/Sn6aCAeBi89XQ==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + } + }, + "node_modules/@napi-rs/canvas-linux-x64-gnu": { + "version": "0.1.90", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-x64-gnu/-/canvas-linux-x64-gnu-0.1.90.tgz", + "integrity": "sha512-SkKmlHMvA5spXuKfh7p6TsScDf7lp5XlMbiUhjdCtWdOS6Qke/A4qGVOciy6piIUCJibL+YX+IgdGqzm2Mpx/w==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + } + }, + "node_modules/@napi-rs/canvas-linux-x64-musl": { + "version": "0.1.90", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-x64-musl/-/canvas-linux-x64-musl-0.1.90.tgz", + "integrity": "sha512-o6QgS10gAS4vvELGDOOWYfmERXtkVRYFWBCjomILWfMgCvBVutn8M97fsMW5CrEuJI8YuxuJ7U+/DQ9oG93vDA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + } + }, + "node_modules/@napi-rs/canvas-win32-arm64-msvc": { + "version": "0.1.90", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-win32-arm64-msvc/-/canvas-win32-arm64-msvc-0.1.90.tgz", + "integrity": "sha512-2UHO/DC1oyuSjeCAhHA0bTD9qsg58kknRqjJqRfvIEFtdqdtNTcWXMCT9rQCuJ8Yx5ldhyh2SSp7+UDqD2tXZQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + } + }, + "node_modules/@napi-rs/canvas-win32-x64-msvc": { + "version": "0.1.90", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-win32-x64-msvc/-/canvas-win32-x64-msvc-0.1.90.tgz", + "integrity": "sha512-48CxEbzua5BP4+OumSZdi3+9fNiRO8cGNBlO2bKwx1PoyD1R2AXzPtqd/no1f1uSl0W2+ihOO1v3pqT3USbmgQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + } + }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.9.tgz", + "integrity": "sha512-OKRBiajrrxB9ATokgEQoG87Z25c67pCpYcCwmXYX8PBftC9pBfN18gnm/fh1wurSLEKIAt+QRFLFCQISrb66Jg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.4.0", + "@emnapi/runtime": "^1.4.0", + "@tybys/wasm-util": "^0.9.0" + } + }, + "node_modules/@next/env": { + "version": "16.1.3", + "resolved": "https://registry.npmjs.org/@next/env/-/env-16.1.3.tgz", + "integrity": "sha512-BLP14oBOvZWXgfdJf9ao+VD8O30uE+x7PaV++QtACLX329WcRSJRO5YJ+Bcvu0Q+c/lei41TjSiFf6pXqnpbQA==", + "license": "MIT" + }, + "node_modules/@next/eslint-plugin-next": { + "version": "16.1.3", + "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-16.1.3.tgz", + "integrity": "sha512-MqBh3ltFAy0AZCRFVdjVjjeV7nEszJDaVIpDAnkQcn8U9ib6OEwkSnuK6xdYxMGPhV/Y4IlY6RbDipPOpLfBqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-glob": "3.3.1" + } + }, + "node_modules/@next/swc-darwin-arm64": { + "version": "16.1.3", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-16.1.3.tgz", + "integrity": "sha512-CpOD3lmig6VflihVoGxiR/l5Jkjfi4uLaOR4ziriMv0YMDoF6cclI+p5t2nstM8TmaFiY6PCTBgRWB57/+LiBA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-darwin-x64": { + "version": "16.1.3", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-16.1.3.tgz", + "integrity": "sha512-aF4us2JXh0zn3hNxvL1Bx3BOuh8Lcw3p3Xnurlvca/iptrDH1BrpObwkw9WZra7L7/0qB9kjlREq3hN/4x4x+Q==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-gnu": { + "version": "16.1.3", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-16.1.3.tgz", + "integrity": "sha512-8VRkcpcfBtYvhGgXAF7U3MBx6+G1lACM1XCo1JyaUr4KmAkTNP8Dv2wdMq7BI+jqRBw3zQE7c57+lmp7jCFfKA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-musl": { + "version": "16.1.3", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-16.1.3.tgz", + "integrity": "sha512-UbFx69E2UP7MhzogJRMFvV9KdEn4sLGPicClwgqnLht2TEi204B71HuVfps3ymGAh0c44QRAF+ZmvZZhLLmhNg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-gnu": { + "version": "16.1.3", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-16.1.3.tgz", + "integrity": "sha512-SzGTfTjR5e9T+sZh5zXqG/oeRQufExxBF6MssXS7HPeZFE98JDhCRZXpSyCfWrWrYrzmnw/RVhlP2AxQm+wkRQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-musl": { + "version": "16.1.3", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-16.1.3.tgz", + "integrity": "sha512-HlrDpj0v+JBIvQex1mXHq93Mht5qQmfyci+ZNwGClnAQldSfxI6h0Vupte1dSR4ueNv4q7qp5kTnmLOBIQnGow==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-arm64-msvc": { + "version": "16.1.3", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-16.1.3.tgz", + "integrity": "sha512-3gFCp83/LSduZMSIa+lBREP7+5e7FxpdBoc9QrCdmp+dapmTK9I+SLpY60Z39GDmTXSZA4huGg9WwmYbr6+WRw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-x64-msvc": { + "version": "16.1.3", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-16.1.3.tgz", + "integrity": "sha512-1SZVfFT8zmMB+Oblrh5OKDvUo5mYQOkX2We6VGzpg7JUVZlqe4DYOFGKYZKTweSx1gbMixyO1jnFT4thU+nNHQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nolyfill/is-core-module": { + "version": "1.0.39", + "resolved": "https://registry.npmjs.org/@nolyfill/is-core-module/-/is-core-module-1.0.39.tgz", + "integrity": "sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.4.0" + } + }, + "node_modules/@popperjs/core": { + "version": "2.11.8", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", + "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, + "node_modules/@reduxjs/toolkit": { + "version": "2.11.2", + "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-2.11.2.tgz", + "integrity": "sha512-Kd6kAHTA6/nUpp8mySPqj3en3dm0tdMIgbttnQ1xFMVpufoj+ADi8pXLBsd4xzTRHQa7t/Jv8W5UnCuW4kuWMQ==", + "license": "MIT", + "dependencies": { + "@standard-schema/spec": "^1.0.0", + "@standard-schema/utils": "^0.3.0", + "immer": "^11.0.0", + "redux": "^5.0.1", + "redux-thunk": "^3.1.0", + "reselect": "^5.1.0" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18 || ^19", + "react-redux": "^7.2.1 || ^8.1.3 || ^9.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-redux": { + "optional": true + } + } + }, + "node_modules/@reduxjs/toolkit/node_modules/immer": { + "version": "11.1.3", + "resolved": "https://registry.npmjs.org/immer/-/immer-11.1.3.tgz", + "integrity": "sha512-6jQTc5z0KJFtr1UgFpIL3N9XSC3saRaI9PwWtzM2pSqkNGtiNkYY2OSwkOGDK2XcTRcLb1pi/aNkKZz0nxVH4Q==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, + "node_modules/@rtsao/scc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", + "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", + "dev": true, + "license": "MIT" + }, + "node_modules/@standard-schema/spec": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz", + "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==", + "license": "MIT" + }, + "node_modules/@standard-schema/utils": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@standard-schema/utils/-/utils-0.3.0.tgz", + "integrity": "sha512-e7Mew686owMaPJVNNLs55PUvgz371nKgwsc4vxE49zsODpJEnxgxRo2y/OKrqueavXgZNMDVj3DdHFlaSAeU8g==", + "license": "MIT" + }, + "node_modules/@swc/helpers": { + "version": "0.5.15", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz", + "integrity": "sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.8.0" + } + }, + "node_modules/@tybys/wasm-util": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.9.0.tgz", + "integrity": "sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@types/d3-array": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.2.2.tgz", + "integrity": "sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw==", + "license": "MIT" + }, + "node_modules/@types/d3-color": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-3.1.3.tgz", + "integrity": "sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==", + "license": "MIT" + }, + "node_modules/@types/d3-drag": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@types/d3-drag/-/d3-drag-3.0.7.tgz", + "integrity": "sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==", + "license": "MIT", + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-ease": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-ease/-/d3-ease-3.0.2.tgz", + "integrity": "sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==", + "license": "MIT" + }, + "node_modules/@types/d3-interpolate": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz", + "integrity": "sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==", + "license": "MIT", + "dependencies": { + "@types/d3-color": "*" + } + }, + "node_modules/@types/d3-path": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-3.1.1.tgz", + "integrity": "sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==", + "license": "MIT" + }, + "node_modules/@types/d3-scale": { + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.9.tgz", + "integrity": "sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==", + "license": "MIT", + "dependencies": { + "@types/d3-time": "*" + } + }, + "node_modules/@types/d3-selection": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@types/d3-selection/-/d3-selection-3.0.11.tgz", + "integrity": "sha512-bhAXu23DJWsrI45xafYpkQ4NtcKMwWnAC/vKrd2l+nxMFuvOT3XMYTIj2opv8vq8AO5Yh7Qac/nSeP/3zjTK0w==", + "license": "MIT" + }, + "node_modules/@types/d3-shape": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-3.1.8.tgz", + "integrity": "sha512-lae0iWfcDeR7qt7rA88BNiqdvPS5pFVPpo5OfjElwNaT2yyekbM0C9vK+yqBqEmHr6lDkRnYNoTBYlAgJa7a4w==", + "license": "MIT", + "dependencies": { + "@types/d3-path": "*" + } + }, + "node_modules/@types/d3-time": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.4.tgz", + "integrity": "sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==", + "license": "MIT" + }, + "node_modules/@types/d3-timer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-timer/-/d3-timer-3.0.2.tgz", + "integrity": "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==", + "license": "MIT" + }, + "node_modules/@types/d3-transition": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/@types/d3-transition/-/d3-transition-3.0.9.tgz", + "integrity": "sha512-uZS5shfxzO3rGlu0cC3bjmMFKsXv+SmZZcgp0KD22ts4uGXp5EVYGzu/0YdwZeKmddhcAccYtREJKkPfXkZuCg==", + "license": "MIT", + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-zoom": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@types/d3-zoom/-/d3-zoom-3.0.8.tgz", + "integrity": "sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==", + "license": "MIT", + "dependencies": { + "@types/d3-interpolate": "*", + "@types/d3-selection": "*" + } + }, + "node_modules/@types/debug": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "license": "MIT", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz", + "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==", + "license": "MIT" + }, + "node_modules/@types/estree-jsx": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz", + "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==", + "license": "MIT", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/@types/hast": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/isomorphic-fetch": { + "version": "0.0.35", + "resolved": "https://registry.npmjs.org/@types/isomorphic-fetch/-/isomorphic-fetch-0.0.35.tgz", + "integrity": "sha512-DaZNUvLDCAnCTjgwxgiL1eQdxIKEpNLOlTNtAgnZc50bG2copGhRrFN9/PxPBuJe+tZVLCbQ7ls0xveXVRPkvw==", + "license": "MIT" + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/jsonwebtoken": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-9.0.0.tgz", + "integrity": "sha512-mM4TkDpA9oixqg1Fv2vVpOFyIVLJjm5x4k0V+K/rEsizfjD7Tk7LKk3GTtbB7KCfP0FEHQtsZqFxYA0+sijNVg==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/jssha": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/jssha/-/jssha-2.0.0.tgz", + "integrity": "sha512-oBnY3csYnXfqZXDRBJwP1nDDJCW/+VMJ88UHT4DCy0deSXpJIQvMCwYlnmdW4M+u7PiSfQc44LmiFcUbJ8hLEw==", + "license": "MIT" + }, + "node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/ms": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", + "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.1.0.tgz", + "integrity": "sha512-t7frlewr6+cbx+9Ohpl0NOTKXZNV9xHRmNOvql47BFJKcEG1CxtxlPEEe+gR9uhVWM4DwhnvTF110mIL4yP9RA==", + "license": "MIT", + "dependencies": { + "undici-types": "~7.16.0" + } + }, + "node_modules/@types/opossum": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@types/opossum/-/opossum-4.1.1.tgz", + "integrity": "sha512-9TMnd8AWRVtnZMqBbbzceQoJdafErgUViogFaQ3eetsbeLtiFFZ695mepNaLtlfJi4uRP3GmHfe3CJ2DZKaxYA==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/pako": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/pako/-/pako-2.0.4.tgz", + "integrity": "sha512-VWDCbrLeVXJM9fihYodcLiIv0ku+AlOa/TQ1SvYOaBuyrSKgEcro95LJyIsJ4vSo6BXIxOKxiJAat04CmST9Fw==", + "license": "MIT" + }, + "node_modules/@types/parse-json": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", + "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==", + "license": "MIT" + }, + "node_modules/@types/prop-types": { + "version": "15.7.15", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz", + "integrity": "sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==", + "license": "MIT" + }, + "node_modules/@types/raf": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/@types/raf/-/raf-3.4.3.tgz", + "integrity": "sha512-c4YAvMedbPZ5tEyxzQdMoOhhJ4RD3rngZIdwC2/qDN3d7JpEhB6fiBRKVY1lg5B7Wk+uPBjn5f39j1/2MY1oOw==", + "license": "MIT", + "optional": true + }, + "node_modules/@types/react": { + "version": "19.1.2", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.2.tgz", + "integrity": "sha512-oxLPMytKchWGbnQM9O7D67uPa9paTNxO7jVoNMXgkkErULBPhPARCfkKL9ytcIJJRGjbsVwW4ugJzyFFvm/Tiw==", + "license": "MIT", + "peer": true, + "dependencies": { + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-transition-group": { + "version": "4.4.12", + "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.12.tgz", + "integrity": "sha512-8TV6R3h2j7a91c+1DXdJi3Syo69zzIZbz7Lg5tORM5LEJG7X/E6a1V3drRyBRZq7/utz7A+c4OgYLiLcYGHG6w==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/sshpk": { + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/@types/sshpk/-/sshpk-1.10.3.tgz", + "integrity": "sha512-cru1waDhHZnZuB18E6Dgf2UXf8U93mdOEDcKYe5jTri+fpucidSs7DLmGICpLxN+95aYkwtgeyny9fBFzQVdmA==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", + "license": "MIT", + "optional": true + }, + "node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/@types/use-sync-external-store": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.6.tgz", + "integrity": "sha512-zFDAD+tlpf2r4asuHEj0XH6pY6i0g5NeAHPn+15wk3BV6JA69eERFXC1gyGThDkVa1zCyKr5jox1+2LbV/AMLg==", + "license": "MIT" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.53.0.tgz", + "integrity": "sha512-eEXsVvLPu8Z4PkFibtuFJLJOTAV/nPdgtSjkGoPpddpFk3/ym2oy97jynY6ic2m6+nc5M8SE1e9v/mHKsulcJg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.12.2", + "@typescript-eslint/scope-manager": "8.53.0", + "@typescript-eslint/type-utils": "8.53.0", + "@typescript-eslint/utils": "8.53.0", + "@typescript-eslint/visitor-keys": "8.53.0", + "ignore": "^7.0.5", + "natural-compare": "^1.4.0", + "ts-api-utils": "^2.4.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.53.0", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.53.0.tgz", + "integrity": "sha512-npiaib8XzbjtzS2N4HlqPvlpxpmZ14FjSJrteZpPxGUaYPlvhzlzUZ4mZyABo0EFrOWnvyd0Xxroq//hKhtAWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/scope-manager": "8.53.0", + "@typescript-eslint/types": "8.53.0", + "@typescript-eslint/typescript-estree": "8.53.0", + "@typescript-eslint/visitor-keys": "8.53.0", + "debug": "^4.4.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/project-service": { + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.53.0.tgz", + "integrity": "sha512-Bl6Gdr7NqkqIP5yP9z1JU///Nmes4Eose6L1HwpuVHwScgDPPuEWbUVhvlZmb8hy0vX9syLk5EGNL700WcBlbg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/tsconfig-utils": "^8.53.0", + "@typescript-eslint/types": "^8.53.0", + "debug": "^4.4.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.53.0.tgz", + "integrity": "sha512-kWNj3l01eOGSdVBnfAF2K1BTh06WS0Yet6JUgb9Cmkqaz3Jlu0fdVUjj9UI8gPidBWSMqDIglmEXifSgDT/D0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.53.0", + "@typescript-eslint/visitor-keys": "8.53.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/tsconfig-utils": { + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.53.0.tgz", + "integrity": "sha512-K6Sc0R5GIG6dNoPdOooQ+KtvT5KCKAvTcY8h2rIuul19vxH5OTQk7ArKkd4yTzkw66WnNY0kPPzzcmWA+XRmiA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.53.0.tgz", + "integrity": "sha512-BBAUhlx7g4SmcLhn8cnbxoxtmS7hcq39xKCgiutL3oNx1TaIp+cny51s8ewnKMpVUKQUGb41RAUWZ9kxYdovuw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.53.0", + "@typescript-eslint/typescript-estree": "8.53.0", + "@typescript-eslint/utils": "8.53.0", + "debug": "^4.4.3", + "ts-api-utils": "^2.4.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.53.0.tgz", + "integrity": "sha512-Bmh9KX31Vlxa13+PqPvt4RzKRN1XORYSLlAE+sO1i28NkisGbTtSLFVB3l7PWdHtR3E0mVMuC7JilWJ99m2HxQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.53.0.tgz", + "integrity": "sha512-pw0c0Gdo7Z4xOG987u3nJ8akL9093yEEKv8QTJ+Bhkghj1xyj8cgPaavlr9rq8h7+s6plUJ4QJYw2gCZodqmGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/project-service": "8.53.0", + "@typescript-eslint/tsconfig-utils": "8.53.0", + "@typescript-eslint/types": "8.53.0", + "@typescript-eslint/visitor-keys": "8.53.0", + "debug": "^4.4.3", + "minimatch": "^9.0.5", + "semver": "^7.7.3", + "tinyglobby": "^0.2.15", + "ts-api-utils": "^2.4.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.53.0.tgz", + "integrity": "sha512-XDY4mXTez3Z1iRDI5mbRhH4DFSt46oaIFsLg+Zn97+sYrXACziXSQcSelMybnVZ5pa1P6xYkPr5cMJyunM1ZDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.9.1", + "@typescript-eslint/scope-manager": "8.53.0", + "@typescript-eslint/types": "8.53.0", + "@typescript-eslint/typescript-estree": "8.53.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.53.0.tgz", + "integrity": "sha512-LZ2NqIHFhvFwxG0qZeLL9DvdNAHPGCY5dIRwBhyYeU+LfLhcStE1ImjsuTG/WaVh3XysGaeLW8Rqq7cGkPCFvw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.53.0", + "eslint-visitor-keys": "^4.2.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@uiw/react-json-view": { + "version": "2.0.0-alpha.40", + "resolved": "https://registry.npmjs.org/@uiw/react-json-view/-/react-json-view-2.0.0-alpha.40.tgz", + "integrity": "sha512-j8YgmUrLAokX0k3TJC1+Rae3G2XS2hTYA9SsnQVWeQpn/PiqxwG8mI4A5TCASUTltPtpM/9Yp+mRm7L4Wjy8rw==", + "license": "MIT", + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + }, + "peerDependencies": { + "@babel/runtime": ">=7.10.0", + "react": ">=18.0.0", + "react-dom": ">=18.0.0" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", + "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", + "license": "ISC" + }, + "node_modules/@unrs/resolver-binding-darwin-arm64": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.6.3.tgz", + "integrity": "sha512-+BbDAtwT4AVUyGIfC6SimaA6Mi/tEJCf5OYV5XQg7WIOW0vyD15aVgDLvsQscIZxgz42xB6DDqR7Kv6NBQJrEg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@unrs/resolver-binding-darwin-x64": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.6.3.tgz", + "integrity": "sha512-q6qMXI8wT0u0GUns/L26kYHdX2du4yEhwxrXjPj/egvysI8XqcTyjnbWQm3NSJPw0Un2wvKPh0WuoTSJEZgbqw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@unrs/resolver-binding-freebsd-x64": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.6.3.tgz", + "integrity": "sha512-/7xs7QNNW17VZrFBf+2C95G72rA5c0YGtR18pvWrzM2tVPLrTsKnLl32hi3CG7F6cwwYRy7h61BIkMHh7qaZkw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.6.3.tgz", + "integrity": "sha512-2xv5cUQCt+eYuq5tPF4AHStpzE8i8qdYnhitpvDv9vxzOZ5a0sdzgA8WHYgFe15dP469YOSivenMMdpuRcgE9Q==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.6.3.tgz", + "integrity": "sha512-4KaZxKIeFt/jAOD/zuBOLb5yyZk/XG9FKf5IXpDP21NcYxeus/os6w+NCK7wjSJKbOpHZhwfkAYLkfujkAOFkw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm64-gnu": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.6.3.tgz", + "integrity": "sha512-dJoZsZoWwvfS+khk0jkX6KnLL1T2vbRfsxinOR3PghpRKmMTnasEVAxmrXLQFNKqVKZV/mU7gHzWhiBMhbq3bw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm64-musl": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.6.3.tgz", + "integrity": "sha512-2Y6JcAY9e557rD6O53Zmeblrfu48vQfl5CrrKjt0/2J1Op/pKX3WI8TOh0gs5T4qX9uJDqdte11SNUssckdfUA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.6.3.tgz", + "integrity": "sha512-kvcEe+j0De/DEfTNkte2xtmwSL4/GMesArcqmSgRqoOaGknUYY3whJ/3GygYKNMe82vvao4PaQkBlCrxhi88wQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.6.3.tgz", + "integrity": "sha512-fruY8swKre2H0J96h8HE+kN3iUnDR3VDd2wxBn4BxDw+5g7GOHBz5x1533l9mqAqHI4b2dMBECI4RtQdMOiBeQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-s390x-gnu": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.6.3.tgz", + "integrity": "sha512-1w0eaSxm9e69TEj9eArZDPQ7mL2VL6Bb4AXeLOdQoe5SNQpZaL6RlwGm7ss9xErwC7c9Hvob/ZZF7i8xYT55zg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-x64-gnu": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.6.3.tgz", + "integrity": "sha512-ymUqs8AQyHTQQ50aN7EcMV47gKh5yKg8a0+SWSuDZEl6eGEOKn590D/iMDydS5KoWbMTy6/pBipS4vsPUEjYVw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-x64-musl": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.6.3.tgz", + "integrity": "sha512-LSfz1cguLZD+c00aTVbtrqX1x1sIR38M2lLYW3CZTGfippkg56Hf8kejHPA8H26OwB71c9/W78BCbgcdnEW+jQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-wasm32-wasi": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.6.3.tgz", + "integrity": "sha512-gehKZDmNDS2QTxefwPBLi0RJgOQ0dIoD/osCcNboDb3+ZKcbSMBaF3+4R5vj+XdV0QBdZg3vXwdwZswfEkQOcA==", + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@napi-rs/wasm-runtime": "^0.2.9" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@unrs/resolver-binding-win32-arm64-msvc": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.6.3.tgz", + "integrity": "sha512-CzTmpDxwkoYl69stmlJzcVWITQEC6Vs8ASMZMEMbFO+q1Dw0GtpRjAA6X76zGcLOADDwzugx1vpT6YXarrhpTA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@unrs/resolver-binding-win32-ia32-msvc": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.6.3.tgz", + "integrity": "sha512-j+n1gWkfu4Q/octUHXU1p1IOrh+B27vpA7ec81RB6nXCml5u7F0B7SrCZU+HqajxjVqgEQEYOcRCb1yzfwfsWw==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@unrs/resolver-binding-win32-x64-msvc": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.6.3.tgz", + "integrity": "sha512-n33drkd84G5Mu2BkUGawZXmm+IFPuRv7GpODfwEBs/CzZq2+BIZyAZmb03H9IgNbd7xaohZbtZ4/9Gb0xo5ssw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@xyflow/react": { + "version": "12.10.0", + "resolved": "https://registry.npmjs.org/@xyflow/react/-/react-12.10.0.tgz", + "integrity": "sha512-eOtz3whDMWrB4KWVatIBrKuxECHqip6PfA8fTpaS2RUGVpiEAe+nqDKsLqkViVWxDGreq0lWX71Xth/SPAzXiw==", + "license": "MIT", + "dependencies": { + "@xyflow/system": "0.0.74", + "classcat": "^5.0.3", + "zustand": "^4.4.0" + }, + "peerDependencies": { + "react": ">=17", + "react-dom": ">=17" + } + }, + "node_modules/@xyflow/system": { + "version": "0.0.74", + "resolved": "https://registry.npmjs.org/@xyflow/system/-/system-0.0.74.tgz", + "integrity": "sha512-7v7B/PkiVrkdZzSbL+inGAo6tkR/WQHHG0/jhSvLQToCsfa8YubOGmBYd1s08tpKpihdHDZFwzQZeR69QSBb4Q==", + "license": "MIT", + "dependencies": { + "@types/d3-drag": "^3.0.7", + "@types/d3-interpolate": "^3.0.4", + "@types/d3-selection": "^3.0.10", + "@types/d3-transition": "^3.0.8", + "@types/d3-zoom": "^3.0.8", + "d3-drag": "^3.0.0", + "d3-interpolate": "^3.0.1", + "d3-selection": "^3.0.0", + "d3-zoom": "^3.0.0" + } + }, + "node_modules/acorn": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/adler-32": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/adler-32/-/adler-32-1.3.1.tgz", + "integrity": "sha512-ynZ4w/nUUv5rrsR8UUGoe1VC9hZj6V5hU9Qw1HlMDJGEJw5S7TfTErWTjMys6M7vr0YWcPqs3qAr4ss0nDfP+A==", + "license": "Apache-2.0", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/aria-query": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", + "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "is-array-buffer": "^3.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-includes": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz", + "integrity": "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.24.0", + "es-object-atoms": "^1.1.1", + "get-intrinsic": "^1.3.0", + "is-string": "^1.1.1", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findlast": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findlastindex": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz", + "integrity": "sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "es-shim-unscopables": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", + "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", + "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", + "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", + "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "license": "MIT", + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/ast-types-flow": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", + "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/async-function": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", + "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/await-semaphore": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/await-semaphore/-/await-semaphore-0.1.3.tgz", + "integrity": "sha512-d1W2aNSYcz/sxYO4pMGX9vq65qOTu0P800epMud+6cYYX0QcT7zyqcxec3VWzpgvdXo57UWmVbZpLMjX2m1I7Q==", + "license": "MIT" + }, + "node_modules/axe-core": { + "version": "4.10.3", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.10.3.tgz", + "integrity": "sha512-Xm7bpRXnDSX2YE2YFfBk2FnF0ep6tmG7xPh8iHee8MIcrgq762Nkce856dYtJYLkuIoYZvGfTs/PbZhideTcEg==", + "dev": true, + "license": "MPL-2.0", + "engines": { + "node": ">=4" + } + }, + "node_modules/axobject-query": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/babel-plugin-macros": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", + "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + } + }, + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/base64-arraybuffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz", + "integrity": "sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/baseline-browser-mapping": { + "version": "2.9.15", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.15.tgz", + "integrity": "sha512-kX8h7K2srmDyYnXRIppo4AH/wYgzWVCs+eKr3RusRSQ5PvRYoEFmR/I0PbdTjKFAoKqp5+kbxnNTFO9jOfSVJg==", + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.js" + } + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "license": "BSD-3-Clause", + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", + "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "baseline-browser-mapping": "^2.9.0", + "caniuse-lite": "^1.0.30001759", + "electron-to-chromium": "^1.5.263", + "node-releases": "^2.0.27", + "update-browserslist-db": "^1.2.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==", + "license": "BSD-3-Clause" + }, + "node_modules/call-bind": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001765", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001765.tgz", + "integrity": "sha512-LWcNtSyZrakjECqmpP4qdg0MMGdN368D7X8XvvAqOcqMv0RxnlqVKZl2V6/mBR68oYMxOZPLw/gO7DuisMHUvQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/canvg": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/canvg/-/canvg-3.0.11.tgz", + "integrity": "sha512-5ON+q7jCTgMp9cjpu4Jo6XbvfYwSB2Ow3kzHKfIyJfaCAOHLbdKPQqGKgfED/R5B+3TFFfe8pegYA+b423SRyA==", + "license": "MIT", + "optional": true, + "dependencies": { + "@babel/runtime": "^7.12.5", + "@types/raf": "^3.4.0", + "core-js": "^3.8.3", + "raf": "^3.4.1", + "regenerator-runtime": "^0.13.7", + "rgbcolor": "^1.0.1", + "stackblur-canvas": "^2.0.0", + "svg-pathdata": "^6.0.3" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/cfb": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cfb/-/cfb-1.2.2.tgz", + "integrity": "sha512-KfdUZsSOw19/ObEWasvBP/Ac4reZvAGauZhs6S/gqNhXhI7cKwvlH7ulj+dOEYnca4bm4SGo8C1bTAQvnTjgQA==", + "license": "Apache-2.0", + "dependencies": { + "adler-32": "~1.3.0", + "crc-32": "~1.2.0" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-reference-invalid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", + "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/classcat": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/classcat/-/classcat-5.0.5.tgz", + "integrity": "sha512-JhZUT7JFcQy/EzW605k/ktHtncoo9vnyW/2GspNYwFlN1C/WmjuV/xtS04e9SOkL2sTdw0VAZ2UGCcQ9lR6p6w==", + "license": "MIT" + }, + "node_modules/client-only": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", + "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==", + "license": "MIT" + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/codepage": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/codepage/-/codepage-1.15.0.tgz", + "integrity": "sha512-3g6NUTPd/YtuuGrhMnOMRjFc+LJw/bnMp3+0r/Wcz3IXUuCosKRJvMphm5+Q+bvTVGcJJuRvVLuYba+WojaFaA==", + "license": "Apache-2.0", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "license": "MIT" + }, + "node_modules/core-js": { + "version": "3.48.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.48.0.tgz", + "integrity": "sha512-zpEHTy1fjTMZCKLHUZoVeylt9XrzaIN2rbPXEt0k+q7JE5CkCZdo6bNq55bn24a69CH7ErAVLKijxJja4fw+UQ==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "license": "MIT" + }, + "node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "license": "MIT", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/crc-32": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", + "license": "Apache-2.0", + "bin": { + "crc32": "bin/crc32.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-line-break": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-line-break/-/css-line-break-2.1.0.tgz", + "integrity": "sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==", + "license": "MIT", + "dependencies": { + "utrie": "^1.0.2" + } + }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "license": "MIT" + }, + "node_modules/d3-array": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz", + "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==", + "license": "ISC", + "dependencies": { + "internmap": "1 - 2" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-color": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", + "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-dispatch": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz", + "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-drag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz", + "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==", + "license": "ISC", + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-selection": "3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-ease": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz", + "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-format": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.2.tgz", + "integrity": "sha512-AJDdYOdnyRDV5b6ArilzCPPwc1ejkHcoyFarqlPqT7zRYjhavcT3uSrqcMvsgh2CgoPbK3RCwyHaVyxYcP2Arg==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-interpolate": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", + "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", + "license": "ISC", + "dependencies": { + "d3-color": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-path": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz", + "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-scale": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz", + "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", + "license": "ISC", + "dependencies": { + "d3-array": "2.10.0 - 3", + "d3-format": "1 - 3", + "d3-interpolate": "1.2.0 - 3", + "d3-time": "2.1.1 - 3", + "d3-time-format": "2 - 4" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-selection": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz", + "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-shape": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz", + "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==", + "license": "ISC", + "dependencies": { + "d3-path": "^3.1.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-time": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz", + "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==", + "license": "ISC", + "dependencies": { + "d3-array": "2 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-time-format": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz", + "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", + "license": "ISC", + "dependencies": { + "d3-time": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-timer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz", + "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-transition": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz", + "integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==", + "license": "ISC", + "dependencies": { + "d3-color": "1 - 3", + "d3-dispatch": "1 - 3", + "d3-ease": "1 - 3", + "d3-interpolate": "1 - 3", + "d3-timer": "1 - 3" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "d3-selection": "2 - 3" + } + }, + "node_modules/d3-zoom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz", + "integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==", + "license": "ISC", + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-drag": "2 - 3", + "d3-interpolate": "1 - 3", + "d3-selection": "2 - 3", + "d3-transition": "2 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "license": "MIT", + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/data-view-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", + "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", + "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/inspect-js" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", + "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decimal.js-light": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/decimal.js-light/-/decimal.js-light-2.5.1.tgz", + "integrity": "sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==", + "license": "MIT" + }, + "node_modules/decode-named-character-reference": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.1.0.tgz", + "integrity": "sha512-Wy+JTSbFThEOXQIR2L6mxJvEs+veIzpmqD7ynWxMXGpnk3smkHQOp6forLdHsKpAMW9iJpaBBIxz285t1n1C3w==", + "license": "MIT", + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "license": "Apache-2.0", + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "license": "MIT", + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/dom-helpers": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", + "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.8.7", + "csstype": "^3.0.2" + } + }, + "node_modules/dompurify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.3.1.tgz", + "integrity": "sha512-qkdCKzLNtrgPFP1Vo+98FRzJnBRGe4ffyCea9IwHB1fyxPOeNTHpLKYGd4Uk9xvNoH0ZoOjwZxNptyMwqrId1Q==", + "license": "(MPL-2.0 OR Apache-2.0)", + "optional": true, + "optionalDependencies": { + "@types/trusted-types": "^2.0.7" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "license": "MIT", + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "license": "Apache-2.0", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.267", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.267.tgz", + "integrity": "sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==", + "dev": true, + "license": "ISC" + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "license": "MIT" + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/error-ex/node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "license": "MIT" + }, + "node_modules/es-abstract": { + "version": "1.24.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.1.tgz", + "integrity": "sha512-zHXBLhP+QehSSbsS9Pt23Gg964240DPd6QCf8WpkqEXxQ7fhdZzYsocOr5u7apWonsS5EjZDmTF+/slGMyasvw==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.2", + "arraybuffer.prototype.slice": "^1.0.4", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "data-view-buffer": "^1.0.2", + "data-view-byte-length": "^1.0.2", + "data-view-byte-offset": "^1.0.1", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "es-set-tostringtag": "^2.1.0", + "es-to-primitive": "^1.3.0", + "function.prototype.name": "^1.1.8", + "get-intrinsic": "^1.3.0", + "get-proto": "^1.0.1", + "get-symbol-description": "^1.1.0", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "internal-slot": "^1.1.0", + "is-array-buffer": "^3.0.5", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.2", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.2.1", + "is-set": "^2.0.3", + "is-shared-array-buffer": "^1.0.4", + "is-string": "^1.1.1", + "is-typed-array": "^1.1.15", + "is-weakref": "^1.1.1", + "math-intrinsics": "^1.1.0", + "object-inspect": "^1.13.4", + "object-keys": "^1.1.1", + "object.assign": "^4.1.7", + "own-keys": "^1.0.1", + "regexp.prototype.flags": "^1.5.4", + "safe-array-concat": "^1.1.3", + "safe-push-apply": "^1.0.0", + "safe-regex-test": "^1.1.0", + "set-proto": "^1.0.0", + "stop-iteration-iterator": "^1.1.0", + "string.prototype.trim": "^1.2.10", + "string.prototype.trimend": "^1.0.9", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.3", + "typed-array-byte-length": "^1.0.3", + "typed-array-byte-offset": "^1.0.4", + "typed-array-length": "^1.0.7", + "unbox-primitive": "^1.1.0", + "which-typed-array": "^1.1.19" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-iterator-helpers": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.1.tgz", + "integrity": "sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.6", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.3", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.6", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "iterator.prototype": "^1.1.4", + "safe-array-concat": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz", + "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-to-primitive": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", + "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7", + "is-date-object": "^1.0.5", + "is-symbol": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-toolkit": { + "version": "1.44.0", + "resolved": "https://registry.npmjs.org/es-toolkit/-/es-toolkit-1.44.0.tgz", + "integrity": "sha512-6penXeZalaV88MM3cGkFZZfOoLGWshWWfdy0tWw/RlVVyhvMaWSBTOvXNeiW3e5FwdS5ePW0LGEu17zT139ktg==", + "license": "MIT", + "workspaces": [ + "docs", + "benchmarks" + ] + }, + "node_modules/es6-promise": { + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.6.tgz", + "integrity": "sha512-aRVgGdnmW2OiySVPUC9e6m+plolMAJKjZnQlCwNSuK5yQ0JN61DZSO1X1Ufd1foqWRAlig0rhduTCHe7sVtK5Q==", + "license": "MIT" + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "9.39.2", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.2.tgz", + "integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.8.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.21.1", + "@eslint/config-helpers": "^0.4.2", + "@eslint/core": "^0.17.0", + "@eslint/eslintrc": "^3.3.1", + "@eslint/js": "9.39.2", + "@eslint/plugin-kit": "^0.4.1", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.4.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", + "esquery": "^1.5.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "node_modules/eslint-config-next": { + "version": "16.1.3", + "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-16.1.3.tgz", + "integrity": "sha512-q2Z87VSsoJcv+vgR+Dm8NPRf+rErXcRktuBR5y3umo/j5zLjIWH7rqBCh3X804gUGKbOrqbgsLUkqDE35C93Gw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@next/eslint-plugin-next": "16.1.3", + "eslint-import-resolver-node": "^0.3.6", + "eslint-import-resolver-typescript": "^3.5.2", + "eslint-plugin-import": "^2.32.0", + "eslint-plugin-jsx-a11y": "^6.10.0", + "eslint-plugin-react": "^7.37.0", + "eslint-plugin-react-hooks": "^7.0.0", + "globals": "16.4.0", + "typescript-eslint": "^8.46.0" + }, + "peerDependencies": { + "eslint": ">=9.0.0", + "typescript": ">=3.3.1" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/eslint-config-next/node_modules/globals": { + "version": "16.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-16.4.0.tgz", + "integrity": "sha512-ob/2LcVVaVGCYN+r14cnwnoDPUufjiYgSqRhiFD0Q1iI4Odora5RE8Iv1D24hAz5oMophRGkGz+yuvQmmUMnMw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-import-resolver-typescript": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.10.1.tgz", + "integrity": "sha512-A1rHYb06zjMGAxdLSkN2fXPBwuSaQ0iO5M/hdyS0Ajj1VBaRp0sPD3dn1FhME3c/JluGFbwSxyCfqdSbtQLAHQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "@nolyfill/is-core-module": "1.0.39", + "debug": "^4.4.0", + "get-tsconfig": "^4.10.0", + "is-bun-module": "^2.0.0", + "stable-hash": "^0.0.5", + "tinyglobby": "^0.2.13", + "unrs-resolver": "^1.6.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint-import-resolver-typescript" + }, + "peerDependencies": { + "eslint": "*", + "eslint-plugin-import": "*", + "eslint-plugin-import-x": "*" + }, + "peerDependenciesMeta": { + "eslint-plugin-import": { + "optional": true + }, + "eslint-plugin-import-x": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.1.tgz", + "integrity": "sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.32.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz", + "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rtsao/scc": "^1.1.0", + "array-includes": "^3.1.9", + "array.prototype.findlastindex": "^1.2.6", + "array.prototype.flat": "^1.3.3", + "array.prototype.flatmap": "^1.3.3", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.12.1", + "hasown": "^2.0.2", + "is-core-module": "^2.16.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "object.groupby": "^1.0.3", + "object.values": "^1.2.1", + "semver": "^6.3.1", + "string.prototype.trimend": "^1.0.9", + "tsconfig-paths": "^3.15.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.2.tgz", + "integrity": "sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "aria-query": "^5.3.2", + "array-includes": "^3.1.8", + "array.prototype.flatmap": "^1.3.2", + "ast-types-flow": "^0.0.8", + "axe-core": "^4.10.0", + "axobject-query": "^4.1.0", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "hasown": "^2.0.2", + "jsx-ast-utils": "^3.3.5", + "language-tags": "^1.0.9", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "safe-regex-test": "^1.0.3", + "string.prototype.includes": "^2.0.1" + }, + "engines": { + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9" + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.37.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz", + "integrity": "sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.8", + "array.prototype.findlast": "^1.2.5", + "array.prototype.flatmap": "^1.3.3", + "array.prototype.tosorted": "^1.1.4", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.2.1", + "estraverse": "^5.3.0", + "hasown": "^2.0.2", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.9", + "object.fromentries": "^2.0.8", + "object.values": "^1.2.1", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.5", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.12", + "string.prototype.repeat": "^1.0.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-7.0.1.tgz", + "integrity": "sha512-O0d0m04evaNzEPoSW+59Mezf8Qt0InfgGIBJnpC0h3NH/WjUAR7BIKUfysC6todmtiZ/A0oUVS8Gce0WhBrHsA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.24.4", + "@babel/parser": "^7.24.4", + "hermes-parser": "^0.25.1", + "zod": "^3.25.0 || ^4.0.0", + "zod-validation-error": "^3.5.0 || ^4.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" + } + }, + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-plugin-react/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-scope": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", + "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.15.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-util-is-identifier-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz", + "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eventemitter3": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.4.tgz", + "integrity": "sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==", + "license": "MIT" + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "license": "MIT" + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "engines": [ + "node >=0.6.0" + ], + "license": "MIT" + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-png": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/fast-png/-/fast-png-6.4.0.tgz", + "integrity": "sha512-kAqZq1TlgBjZcLr5mcN6NP5Rv4V2f22z00c3g8vRrwkcqjerx7BEhPbOnWCPqaHUl2XWQBJQvOT/FQhdMT7X/Q==", + "license": "MIT", + "dependencies": { + "@types/pako": "^2.0.3", + "iobuffer": "^5.3.2", + "pako": "^2.1.0" + } + }, + "node_modules/fastq": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz", + "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fflate": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", + "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==", + "license": "MIT" + }, + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", + "license": "MIT" + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/flatted": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "dev": true, + "license": "ISC" + }, + "node_modules/for-each": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", + "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/frac": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/frac/-/frac-1.1.2.tgz", + "integrity": "sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA==", + "license": "Apache-2.0", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/framer-motion": { + "version": "12.27.0", + "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-12.27.0.tgz", + "integrity": "sha512-gJtqOKEDJH/jrn0PpsWp64gdOjBvGX8hY6TWstxjDot/85daIEtJHl1UsiwHSXiYmJF2QXUoXP6/3gGw5xY2YA==", + "license": "MIT", + "dependencies": { + "motion-dom": "^12.27.0", + "motion-utils": "^12.24.10", + "tslib": "^2.4.0" + }, + "peerDependencies": { + "@emotion/is-prop-valid": "*", + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@emotion/is-prop-valid": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function.prototype.name": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", + "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "functions-have-names": "^1.2.3", + "hasown": "^2.0.2", + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-symbol-description": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", + "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-tsconfig": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.10.0.tgz", + "integrity": "sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + } + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "license": "MIT", + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globalthis": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-bigints": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", + "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", + "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hast-util-to-jsx-runtime": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.6.tgz", + "integrity": "sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-js": "^1.0.0", + "unist-util-position": "^5.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hermes-estree": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.25.1.tgz", + "integrity": "sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==", + "dev": true, + "license": "MIT" + }, + "node_modules/hermes-parser": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.25.1.tgz", + "integrity": "sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "hermes-estree": "0.25.1" + } + }, + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "license": "BSD-3-Clause", + "dependencies": { + "react-is": "^16.7.0" + } + }, + "node_modules/html-to-image": { + "version": "1.11.13", + "resolved": "https://registry.npmjs.org/html-to-image/-/html-to-image-1.11.13.tgz", + "integrity": "sha512-cuOPoI7WApyhBElTTb9oqsawRvZ0rHhaHwghRLlTuffoD1B2aDemlCruLeZrUIIdvG7gs9xeELEPm6PhuASqrg==", + "license": "MIT" + }, + "node_modules/html-url-attributes": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/html-url-attributes/-/html-url-attributes-3.0.1.tgz", + "integrity": "sha512-ol6UPyBWqsrO6EJySPz2O7ZSr856WDrEzM5zMqp+FJJLGMW35cLYmmZnl0vztAZxRUoNZJFTCohfjuIJ8I4QBQ==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/html2canvas": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/html2canvas/-/html2canvas-1.4.1.tgz", + "integrity": "sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==", + "license": "MIT", + "dependencies": { + "css-line-break": "^2.1.0", + "text-segmentation": "^1.0.3" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-signature": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.3.1.tgz", + "integrity": "sha512-Y29YKEc8MQsjch/VzkUVJ+2MXd9WcR42fK5u36CZf4G8bXw2DXMTWuESiB0R6m59JAWxlPPw5/Fri/t/AyyueA==", + "license": "MIT", + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.14.1" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/immer": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/immer/-/immer-10.2.0.tgz", + "integrity": "sha512-d/+XTN3zfODyjr89gM3mPq1WNX2B8pYsu7eORitdwyA2sBubnTl3laYlBk4sXY5FUa5qTZGBDPJICVbvqzjlbw==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inline-style-parser": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.4.tgz", + "integrity": "sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==", + "license": "MIT" + }, + "node_modules/internal-slot": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", + "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/internmap": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz", + "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/iobuffer": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/iobuffer/-/iobuffer-5.4.0.tgz", + "integrity": "sha512-DRebOWuqDvxunfkNJAlc3IzWIPD5xVxwUNbHr7xKB8E6aLJxIPfNX3CoMJghcFjpv6RWQsrcJbghtEwSPoJqMA==", + "license": "MIT" + }, + "node_modules/is-alphabetical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", + "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-alphanumerical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", + "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", + "license": "MIT", + "dependencies": { + "is-alphabetical": "^2.0.0", + "is-decimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", + "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-async-function": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", + "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "async-function": "^1.0.0", + "call-bound": "^1.0.3", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", + "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-bigints": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-boolean-object": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", + "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bun-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-bun-module/-/is-bun-module-2.0.0.tgz", + "integrity": "sha512-gNCGbnnnnFAUGKeZ9PdbyeGYJqewpmc2aKHUEMO5nQPWU9lOmv7jcmQIv+qHD8fXW6W7qfuCwX4rY9LNRjXrkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.7.1" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-view": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", + "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", + "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-decimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", + "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finalizationregistry": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", + "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-generator-function": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.0.tgz", + "integrity": "sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "get-proto": "^1.0.0", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-hexadecimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", + "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", + "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-regex": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-set": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", + "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-string": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", + "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", + "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-symbols": "^1.1.0", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakmap": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz", + "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", + "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true, + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/isomorphic-fetch": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-3.0.0.tgz", + "integrity": "sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA==", + "license": "MIT", + "dependencies": { + "node-fetch": "^2.6.1", + "whatwg-fetch": "^3.4.1" + } + }, + "node_modules/iterator.prototype": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz", + "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "get-proto": "^1.0.0", + "has-symbols": "^1.1.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", + "license": "MIT" + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "license": "MIT" + }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "license": "(AFL-2.1 OR BSD-3-Clause)" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/jsonwebtoken": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.0.tgz", + "integrity": "sha512-tuGfYXxkQGDPnLJ7SibiQgVgeDgfbPq2k2ICcbgqW8WxWLBAxKQM/ZCu/IT8SOSwmaYl4dpTFCW5xZv7YbbWUw==", + "license": "MIT", + "dependencies": { + "jws": "^3.2.2", + "lodash": "^4.17.21", + "ms": "^2.1.1", + "semver": "^7.3.8" + }, + "engines": { + "node": ">=12", + "npm": ">=6" + } + }, + "node_modules/jspdf": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/jspdf/-/jspdf-4.1.0.tgz", + "integrity": "sha512-xd1d/XRkwqnsq6FP3zH1Q+Ejqn2ULIJeDZ+FTKpaabVpZREjsJKRJwuokTNgdqOU+fl55KgbvgZ1pRTSWCP2kQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.28.4", + "fast-png": "^6.2.0", + "fflate": "^0.8.1" + }, + "optionalDependencies": { + "canvg": "^3.0.11", + "core-js": "^3.6.0", + "dompurify": "^3.3.1", + "html2canvas": "^1.0.0-rc.5" + } + }, + "node_modules/jspdf-autotable": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/jspdf-autotable/-/jspdf-autotable-5.0.7.tgz", + "integrity": "sha512-2wr7H6liNDBYNwt25hMQwXkEWFOEopgKIvR1Eukuw6Zmprm/ZcnmLTQEjW7Xx3FCbD3v7pflLcnMAv/h1jFDQw==", + "license": "MIT", + "peerDependencies": { + "jspdf": "^2 || ^3 || ^4" + } + }, + "node_modules/jsprim": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "license": "MIT", + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/jssha": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/jssha/-/jssha-2.4.1.tgz", + "integrity": "sha512-77DN1YurYgh+7FPCTJ2CQ6hVDHgIWiHxm4Y5/mAdnpETKYagX22pVWMz4xfKF5fcpNfMaztgVj+/B1bt2k23Eg==", + "deprecated": "jsSHA versions < 3.0.0 will no longer receive feature updates", + "license": "BSD-3-Clause", + "engines": { + "node": "*" + } + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/jwa": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.2.tgz", + "integrity": "sha512-eeH5JO+21J78qMvTIDdBXidBd6nG2kZjg5Ohz/1fpa28Z4CcsWUzJ1ZZyFq/3z3N17aZy+ZuBoHljASbL1WfOw==", + "license": "MIT", + "dependencies": { + "buffer-equal-constant-time": "^1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/jws": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.3.tgz", + "integrity": "sha512-byiJ0FLRdLdSVSReO/U4E7RoEyOCKnEnEPMjq3HxWtvzLsV08/i5RQKsFVNkCldrCaPr2vDNAOMsfs8T/Hze7g==", + "license": "MIT", + "dependencies": { + "jwa": "^1.4.2", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/langfuse": { + "version": "3.38.20", + "resolved": "https://registry.npmjs.org/langfuse/-/langfuse-3.38.20.tgz", + "integrity": "sha512-MAmBAASSzJtmK1O9HQegA1mFsQhT8Yf+OJRGvE7FXkyv3g/eiBE0glLD0Ohg3pkxhoPdggM5SejK7ue9ctlaMA==", + "license": "MIT", + "dependencies": { + "langfuse-core": "^3.38.20" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/langfuse-core": { + "version": "3.38.20", + "resolved": "https://registry.npmjs.org/langfuse-core/-/langfuse-core-3.38.20.tgz", + "integrity": "sha512-zBKVmQN/1oT5VWZUBYlWzvokIlkC/6mnpgr/2atMyTeAm+jR3ia7w2iJMjlrF5/oG8ukO1s8+LDRCzJpF1QeEA==", + "license": "MIT", + "dependencies": { + "mustache": "^4.2.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/language-subtag-registry": { + "version": "0.3.23", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", + "integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/language-tags": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", + "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", + "dev": true, + "license": "MIT", + "dependencies": { + "language-subtag-registry": "^0.3.20" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "license": "MIT" + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", + "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", + "license": "MIT" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/longest-streak": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", + "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "license": "MIT", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/lucide-react": { + "version": "0.562.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.562.0.tgz", + "integrity": "sha512-82hOAu7y0dbVuFfmO4bYF1XEwYk/mEbM5E+b1jgci/udUBEE/R7LF5Ip0CCEmXe8AybRM8L+04eP+LGZeDvkiw==", + "license": "ISC", + "peerDependencies": { + "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/markdown-table": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.4.tgz", + "integrity": "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/mdast-util-find-and-replace": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz", + "integrity": "sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "escape-string-regexp": "^5.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mdast-util-from-markdown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz", + "integrity": "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.1.0.tgz", + "integrity": "sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==", + "license": "MIT", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-gfm-autolink-literal": "^2.0.0", + "mdast-util-gfm-footnote": "^2.0.0", + "mdast-util-gfm-strikethrough": "^2.0.0", + "mdast-util-gfm-table": "^2.0.0", + "mdast-util-gfm-task-list-item": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-autolink-literal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz", + "integrity": "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "ccount": "^2.0.0", + "devlop": "^1.0.0", + "mdast-util-find-and-replace": "^3.0.0", + "micromark-util-character": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-footnote": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.1.0.tgz", + "integrity": "sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-strikethrough": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz", + "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", + "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "markdown-table": "^3.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-task-list-item": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", + "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-expression": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz", + "integrity": "sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-jsx": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.2.0.tgz", + "integrity": "sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdxjs-esm": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz", + "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-phrasing": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", + "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-hast": { + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz", + "integrity": "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "trim-lines": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz", + "integrity": "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^4.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromark": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz", + "integrity": "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz", + "integrity": "sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-gfm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", + "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", + "license": "MIT", + "dependencies": { + "micromark-extension-gfm-autolink-literal": "^2.0.0", + "micromark-extension-gfm-footnote": "^2.0.0", + "micromark-extension-gfm-strikethrough": "^2.0.0", + "micromark-extension-gfm-table": "^2.0.0", + "micromark-extension-gfm-tagfilter": "^2.0.0", + "micromark-extension-gfm-task-list-item": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-autolink-literal": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz", + "integrity": "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==", + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-footnote": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz", + "integrity": "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-strikethrough": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz", + "integrity": "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-table": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.1.tgz", + "integrity": "sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-tagfilter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", + "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-task-list-item": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz", + "integrity": "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-factory-destination": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz", + "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-label": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz", + "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-title": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz", + "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-whitespace": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz", + "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-chunked": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz", + "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-classify-character": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz", + "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-combine-extensions": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz", + "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz", + "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-string": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz", + "integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", + "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-html-tag-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz", + "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-normalize-identifier": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz", + "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-resolve-all": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz", + "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", + "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-subtokenize": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz", + "integrity": "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-types": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.2.tgz", + "integrity": "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/motion-dom": { + "version": "12.27.0", + "resolved": "https://registry.npmjs.org/motion-dom/-/motion-dom-12.27.0.tgz", + "integrity": "sha512-oDjl0WoAsWIWKl3GCDxmh7GITrNjmLX+w5+jwk4+pzLu3VnFvsOv2E6+xCXeH72O65xlXsr84/otiOYQKW/nQA==", + "license": "MIT", + "dependencies": { + "motion-utils": "^12.24.10" + } + }, + "node_modules/motion-utils": { + "version": "12.24.10", + "resolved": "https://registry.npmjs.org/motion-utils/-/motion-utils-12.24.10.tgz", + "integrity": "sha512-x5TFgkCIP4pPsRLpKoI86jv/q8t8FQOiM/0E8QKBzfMozWHfkKap2gA1hOki+B5g3IsBNpxbUnfOum1+dgvYww==", + "license": "MIT" + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/mustache": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz", + "integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==", + "license": "MIT", + "bin": { + "mustache": "bin/mustache" + } + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/napi-postinstall": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/napi-postinstall/-/napi-postinstall-0.1.5.tgz", + "integrity": "sha512-HI5bHONOUYqV+FJvueOSgjRxHTLB25a3xIv59ugAxFe7xRNbW96hyYbMbsKzl+QvFV9mN/SrtHwiU+vYhMwA7Q==", + "dev": true, + "license": "MIT", + "bin": { + "napi-postinstall": "lib/cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/napi-postinstall" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/next": { + "version": "16.1.3", + "resolved": "https://registry.npmjs.org/next/-/next-16.1.3.tgz", + "integrity": "sha512-gthG3TRD+E3/mA0uDQb9lqBmx1zVosq5kIwxNN6+MRNd085GzD+9VXMPUs+GGZCbZ+GDZdODUq4Pm7CTXK6ipw==", + "license": "MIT", + "dependencies": { + "@next/env": "16.1.3", + "@swc/helpers": "0.5.15", + "baseline-browser-mapping": "^2.8.3", + "caniuse-lite": "^1.0.30001579", + "postcss": "8.4.31", + "styled-jsx": "5.1.6" + }, + "bin": { + "next": "dist/bin/next" + }, + "engines": { + "node": ">=20.9.0" + }, + "optionalDependencies": { + "@next/swc-darwin-arm64": "16.1.3", + "@next/swc-darwin-x64": "16.1.3", + "@next/swc-linux-arm64-gnu": "16.1.3", + "@next/swc-linux-arm64-musl": "16.1.3", + "@next/swc-linux-x64-gnu": "16.1.3", + "@next/swc-linux-x64-musl": "16.1.3", + "@next/swc-win32-arm64-msvc": "16.1.3", + "@next/swc-win32-x64-msvc": "16.1.3", + "sharp": "^0.34.4" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.1.0", + "@playwright/test": "^1.51.1", + "babel-plugin-react-compiler": "*", + "react": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", + "react-dom": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", + "sass": "^1.3.0" + }, + "peerDependenciesMeta": { + "@opentelemetry/api": { + "optional": true + }, + "@playwright/test": { + "optional": true + }, + "babel-plugin-react-compiler": { + "optional": true + }, + "sass": { + "optional": true + } + } + }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-readable-to-web-readable-stream": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/node-readable-to-web-readable-stream/-/node-readable-to-web-readable-stream-0.4.2.tgz", + "integrity": "sha512-/cMZNI34v//jUTrI+UIo4ieHAB5EZRY/+7OmXZgBxaWBMcW2tGdceIw06RFxWxrKZ5Jp3sI2i5TsRo+CBhtVLQ==", + "license": "MIT", + "optional": true + }, + "node_modules/node-releases": { + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", + "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", + "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0", + "has-symbols": "^1.1.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.9.tgz", + "integrity": "sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.groupby": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", + "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.values": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", + "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/oci-accessgovernancecp": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-accessgovernancecp/-/oci-accessgovernancecp-2.124.0.tgz", + "integrity": "sha512-qintHXPVFKTxe0uwK4UOdAzHwXVMQw1/hZQ44rdLdp6RxDEa7VhwQmoRptODzpF0TK8ZZADPpBfngUmWRXlHGw==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-adm": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-adm/-/oci-adm-2.124.0.tgz", + "integrity": "sha512-cl1RfhAXfvhYXQqDawJsnwCRS2eX+W0khPM6KA97FroFVqrYRmS6RAb7XgKv/k0KXbFxBzBddymH6/eG0N+UQQ==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-aidataplatform": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-aidataplatform/-/oci-aidataplatform-2.124.0.tgz", + "integrity": "sha512-hf5PsAlMmX/hcsnIzRIhfxwzD4jE0Eb8HtQ7R9IKtlf9v+f704/PXamHWihjKQhFVlC1U80/OuBim5/UFumsjg==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-aidocument": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-aidocument/-/oci-aidocument-2.124.0.tgz", + "integrity": "sha512-KM5TgUXlmaG3IOpnbGjBF77uO0fx3SQAiRogZ4CgtG0TJM92v+F/ngt9Fnc4gsuuHeKwO8IblvD6zSJyS2ctFw==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-ailanguage": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-ailanguage/-/oci-ailanguage-2.124.0.tgz", + "integrity": "sha512-piQPOCP4TGrasK6hj+UN9xPk09WB9/HQKiUE24wIBqP6tsaX5sddurGQ/2UG8xedWIL73M0ux6tT/TdOaCh7ag==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-aispeech": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-aispeech/-/oci-aispeech-2.124.0.tgz", + "integrity": "sha512-acRgFcis0aigeMx4K8nH+3QtjvsvYoP49ENMC9KQUIKrIwuGuxIw9Nx8yTXfpYHbdbOUFG9W2lTiwhXJIR6otg==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-aivision": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-aivision/-/oci-aivision-2.124.0.tgz", + "integrity": "sha512-jvWupWsFTNoxX9Z13dM6GeEC6sjX1fPu1TwZD8TwVQkh7l+n75+NiPYwnKSQLDkF8AiJyq3wGOcoaIR6mKvFKw==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-analytics": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-analytics/-/oci-analytics-2.124.0.tgz", + "integrity": "sha512-1lkUvB5APQix6dHIqlp2S+bZzTjwxPuCVG5z+ngZKpLfzZcp2Zlgy/YuFzyQ14xH00wvqDT354DSQFzp/q3Bcg==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-announcementsservice": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-announcementsservice/-/oci-announcementsservice-2.124.0.tgz", + "integrity": "sha512-bF3lpJn9bqBpLf4pptWE8Nc22iiGhzbq1ioCQPvj70ca1r/87dufl05N7hf8Li+Ae6h+QW9df0LZpqAipdAujQ==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-apiaccesscontrol": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-apiaccesscontrol/-/oci-apiaccesscontrol-2.124.0.tgz", + "integrity": "sha512-dsI45AGCKVZrKJxYvT+0otXkJ6H+iWFB9GPkeGMuus2k5mBn4OtbTC83xV/q2/hBo3NVj9b5+2yfQRCpigSpYw==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-apigateway": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-apigateway/-/oci-apigateway-2.124.0.tgz", + "integrity": "sha512-nfahzUKkKrPAW00hx7ABTDCYJWbBHEHovmcGKPQmXqevN6tib59yUEcTbdQaw7j78PhkEiu3T58jQWW9FXmA7Q==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-apiplatform": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-apiplatform/-/oci-apiplatform-2.124.0.tgz", + "integrity": "sha512-druvXjR9wy23ozgUUE7sD0zsn5rY13bxwfdaRwkW0EZB3dBWthh9Y9WjpnTJ9KQiyJ+6FCmmuHfhYDZzwIPIig==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-apmconfig": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-apmconfig/-/oci-apmconfig-2.124.0.tgz", + "integrity": "sha512-EPyF3bS8UgrQvqjT1yo8TKt6JkMUFLsx32yt61GcFO/UHdaWdda94KS/4DlMsy6apzAi01bAtnoLXWVK8EIFCw==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-apmcontrolplane": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-apmcontrolplane/-/oci-apmcontrolplane-2.124.0.tgz", + "integrity": "sha512-ilUOui5D8WFP4ggTEgCjTtdZmAkBy+eBGq3xdeUA/k5yvIhQFh2yOHx6b1HAp3ELDvoYIaCtUzxN7lb2E23VWA==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-apmsynthetics": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-apmsynthetics/-/oci-apmsynthetics-2.124.0.tgz", + "integrity": "sha512-jJDFyeA3n/RjX2LcAnYAe+qgMi5+Ttt0bx7X/XwEKHmZbKoa66OV2CV/bIEuT78sZXQB3qQxv3y66Li0yzMI9w==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-apmtraces": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-apmtraces/-/oci-apmtraces-2.124.0.tgz", + "integrity": "sha512-VyZHobDyeqW3Jd3dok3qxFc4hYqbhEwofCvjh/bz29Q36ww1E5xIV6NjIUQwutSD0jZOwVPtNd1/QLjR3P++iQ==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-appmgmtcontrol": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-appmgmtcontrol/-/oci-appmgmtcontrol-2.124.0.tgz", + "integrity": "sha512-ZapRMBIutYki1CN4b3LG+GyBpfleVfhN67TolzpocW5FRvNL7IcDiJKWP0fWsSETUIen5ATxutrRu8E2oRAkBg==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-artifacts": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-artifacts/-/oci-artifacts-2.124.0.tgz", + "integrity": "sha512-aQvIU37p4HN9N3oxI0KQXOggRnZPX+mjwcUZilD0gvHRj5yOK9M6mC5+5k4CWGukjW9JmOux3RRpDAkPpIT50A==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-audit": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-audit/-/oci-audit-2.124.0.tgz", + "integrity": "sha512-8f1b/1HZu5UiIXxn+toGVp00XmBeruOSMD58DqsDSE+f4ilX5nGUgJoPpb5avZiLLoT9MiBObWe1zz1Rx18jAw==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-autoscaling": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-autoscaling/-/oci-autoscaling-2.124.0.tgz", + "integrity": "sha512-xLWzohC7B80Zli3qfzFGZNkk8rRSn2GkzE1Ivmu1U1SIwQmbht2jgdOI6OsqT1Tr0N7eqAbCykzGFcrCt+TUzA==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-bastion": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-bastion/-/oci-bastion-2.124.0.tgz", + "integrity": "sha512-jvlmmeq49SeybJZyhUyykynnIdOdi8BRfVYr6714fdwAV7FCbe8cRyx8YHLCuKpj/TOCE1yMJiOpuE8rPYy4Sg==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-batch": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-batch/-/oci-batch-2.124.0.tgz", + "integrity": "sha512-wuPcTa8k2+SQW71k5fVSEiYi0cY8fD8T+mPJl3+TxZ2W0u9oPPlAiIM4QrSKdOXEcpJWFsnbeB1uS7JR1CsdLA==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-bds": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-bds/-/oci-bds-2.124.0.tgz", + "integrity": "sha512-vn+edJa5zx7KgtP0/+fkzXxUnsMsekTAeV0ut6EIcCHrFUJDV18J1xGk44ZDg1o7xENHA4ddnQxAc3b3xU4jVg==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-blockchain": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-blockchain/-/oci-blockchain-2.124.0.tgz", + "integrity": "sha512-7+r2yWVzyW219CDKFvfnMiIOhxdgLeUGj4rro4d1cBPs3RvTaDUjEc+7pcKf7XVCso6LpeY3PY4ZVQuHAcx/ww==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-budget": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-budget/-/oci-budget-2.124.0.tgz", + "integrity": "sha512-y68B3xLaTLCCwYgHLvNBgR18CzyxAso02Oe1AJR7NqRf4E7yijzlw0U02u1XmZ1GlWFoiGeQWrC3BNaZLZ5hvQ==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-capacitymanagement": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-capacitymanagement/-/oci-capacitymanagement-2.124.0.tgz", + "integrity": "sha512-Bt/e95pu0PUgJ5OQhddLMY0W0ULQFxBEf9/ndMq6RoMI44G9OnEhZKqby8swfhYkXh1LYpw94TQHt0XmWqu1aQ==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-certificates": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-certificates/-/oci-certificates-2.124.0.tgz", + "integrity": "sha512-UGrS82fMFF3/7HsYnG3B+MpHRHbCwkG2Hy0DIZ6Z5kRioSgxnbsxZxkzfdoHfyTDEZOepK0BqTcIItzzvWaRMA==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-certificatesmanagement": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-certificatesmanagement/-/oci-certificatesmanagement-2.124.0.tgz", + "integrity": "sha512-E7wQI/ewynJZsrWLYoqxtS3T9JDACIC+ohybC4+o8Yy2cQmgHzy1OMVdsSznERm94oE77Vi4d0not9sR4r3G4Q==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-cims": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-cims/-/oci-cims-2.124.0.tgz", + "integrity": "sha512-c9AmpOYWIAdrDJY8aHtKcpq7EhzlGW+Gpwa/N4vjDdRFns72AE4YX6/OsqY9U+/GSrTjpOKR2XXJOXGQ3z94HA==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-cloudbridge": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-cloudbridge/-/oci-cloudbridge-2.124.0.tgz", + "integrity": "sha512-9mfn8cwh1Xc/7A+xkh0LttX8Uw6QY/LcWGVkHBzoLdU3d0WTrM2YcYKhZnzDo31TIqs7xhHr/bguZ3SEHxtYBQ==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-cloudguard": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-cloudguard/-/oci-cloudguard-2.124.0.tgz", + "integrity": "sha512-3kNuHP9+nIPFzsSdXSY6BSIIjlOZOeuE6Dn32sGARaOf4orXK5XD+hQkHHrHudw1TG9spwRuwvMNsT116wPNoQ==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-cloudmigrations": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-cloudmigrations/-/oci-cloudmigrations-2.124.0.tgz", + "integrity": "sha512-8o5LrbRQ8O/xJxMQem/rqpXHmPsCRrOJyITB70Jo/8EbglNRsUBZzgx/5kupv0MwiB7pjU7evcQHcVPk/IP26Q==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-clusterplacementgroups": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-clusterplacementgroups/-/oci-clusterplacementgroups-2.124.0.tgz", + "integrity": "sha512-HM3NG6A5ZYoPSDO/LDn5NOP76EBrIxu+ZGTiQFyvksW5NEv9nIyunfesqUVVBgjxol9Mo6l+5qrh5x8ipSnLPQ==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-common": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-common/-/oci-common-2.124.0.tgz", + "integrity": "sha512-DUa5dL4ZZShDchDrH5TWpPJOJ1IgHvhE5EUvmkYJT4Uz727ncxE3KK+ZhjTlwikzfCUAmEojUV01/WUsC/5JlQ==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "@types/isomorphic-fetch": "0.0.35", + "@types/jsonwebtoken": "9.0.0", + "@types/jssha": "2.0.0", + "@types/opossum": "4.1.1", + "@types/sshpk": "1.10.3", + "es6-promise": "4.2.6", + "http-signature": "1.3.1", + "isomorphic-fetch": "3.0.0", + "jsonwebtoken": "9.0.0", + "jssha": "2.4.1", + "opossum": "5.0.1", + "sshpk": "1.16.1", + "uuid": "3.3.3" + } + }, + "node_modules/oci-computecloudatcustomer": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-computecloudatcustomer/-/oci-computecloudatcustomer-2.124.0.tgz", + "integrity": "sha512-IKi6pdvqvur6mCQ6Yq3DU12C1J6mUf0jEzTKm+no+/23hfKB2uABTb55ENuvcYpgiKU0mdbE4UeR0A8rupzhVQ==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-computeinstanceagent": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-computeinstanceagent/-/oci-computeinstanceagent-2.124.0.tgz", + "integrity": "sha512-H4TECF5AvYji2h3P6rvDtNw+ZvGD7D5bEC0UKDbvsm9cehclSdT4TziQ/iTsiQo7kh+bok3+TNjKr+t3fsbQjw==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-containerengine": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-containerengine/-/oci-containerengine-2.124.0.tgz", + "integrity": "sha512-pQt74cScq6uyjZeVh33vx5+o0TZPuFA0gUWvqi7v1pQpFNWSH2mSUuWyS4suqa9fBcqw1mPuXoCQb/bG4u25Xg==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-containerinstances": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-containerinstances/-/oci-containerinstances-2.124.0.tgz", + "integrity": "sha512-CMipNUp7kmZCIXYEqdYtpiVom8sx+DuoCtxXdrHtaCqy+UUB3pUTTC62wMCCB1a/3Iygx4uzWlwb5qnHcyJS0g==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-core": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-core/-/oci-core-2.124.0.tgz", + "integrity": "sha512-CAlR8+ewWqKwpUqGcee3DenUpn4xRerOfiJlevY/58MCws9kexHhHDPrOztKq7uKZoaw0ZGKrx6stqnOHas2JQ==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-dashboardservice": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-dashboardservice/-/oci-dashboardservice-2.124.0.tgz", + "integrity": "sha512-RzurI2ZAIzd1ocC08nPcovvfGW7rVOSZIV4wRSRFO0q9h6n+E6vLNeGBOjXGHkL7m5f0c/NPvoGsXiYaawFY8Q==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-database": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-database/-/oci-database-2.124.0.tgz", + "integrity": "sha512-1/smSyJjC0XG6zIeikeneHV7lrR8WSrngzCBxB2RuG3She1GXudCuiY4YwJi+syZXQgu+5s8l8st9AQUV3S4TQ==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-databasemanagement": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-databasemanagement/-/oci-databasemanagement-2.124.0.tgz", + "integrity": "sha512-2iGQmkgxbZlZHwo/xrW7NtdH2uwWDg3EDceMdLNN9NKz0J45TgM2Fh9iDtLDUHRTf4EOu9IeCQbUnewMSqL3hQ==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-databasemigration": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-databasemigration/-/oci-databasemigration-2.124.0.tgz", + "integrity": "sha512-hhHSqQr2HIYwqy2hxya4GIaAAxY8eIQ5GaCjuDFCrFayZ+MvOBlIdnDL5T9QONorDwNhmtMCYcYC25ySo/WUYA==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-databasetools": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-databasetools/-/oci-databasetools-2.124.0.tgz", + "integrity": "sha512-a41VAnulAsnCHclY5E3Tq+jiSKlHuGhJ2Kq7jF2Xrb6TiUWTgzd+xImJ6DCXBqPrD9GAlaXoND6HK6iRM0o1Pw==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-datacatalog": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-datacatalog/-/oci-datacatalog-2.124.0.tgz", + "integrity": "sha512-EOSuvvjjZ4IxStpI022RoUVwVz0ia6X4yUFKBOcvq7UWeXJl/1Vh6YsBzFWlucgC8outmkadd4juTQa0l54oMQ==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-dataflow": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-dataflow/-/oci-dataflow-2.124.0.tgz", + "integrity": "sha512-pTEza/TZmfqOQ1ssqtsYxc9NtNWDsm6NGtJ+q3MgOISul0oMte+/BWJ8rrndrSL+XVgPyHiFZpuCLvG0sgRQBw==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-dataintegration": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-dataintegration/-/oci-dataintegration-2.124.0.tgz", + "integrity": "sha512-hIo9BY04G280A+NZCY5+nzrBEXwMCYzNARPBhM1v5hj5z1tCOGhYWPZZWCpHU5b+bynm/KlCWGN6AEByO5UkQg==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-datalabelingservice": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-datalabelingservice/-/oci-datalabelingservice-2.124.0.tgz", + "integrity": "sha512-n1qxcnDSYJJPdL6MoeMjZxhwo0uqfxWXESDP8zh1EHgqgA85tNlcHL7Z9OgArHZSX5nWa9NpTzhWK9rbHNAT0g==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-datalabelingservicedataplane": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-datalabelingservicedataplane/-/oci-datalabelingservicedataplane-2.124.0.tgz", + "integrity": "sha512-9irZ6Q/3aojvFCImDGfUdz6wtVdpItncfmG2ighj0Hb7ZHB7YrdX1D5N1XpltWhNLs8QHOXklocROYkMGVNvJA==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-datasafe": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-datasafe/-/oci-datasafe-2.124.0.tgz", + "integrity": "sha512-jLTToyTRpdx3kZgWUZwB4BdtlIgIvmEbjoT8t9nTpOqGe4PrvIpkx3Fh6cQep9WgQjrs1cC0Wt7Gj3FARJtryg==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-datascience": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-datascience/-/oci-datascience-2.124.0.tgz", + "integrity": "sha512-0PPgymZ3vVR5kY3jC3W+PR6hzrM+Gy3OHCUYljT0eCu1h/7qjlIuKmfB0J8K5cuEw/gWYj0dHQzG1/s3OrzEig==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-dblm": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-dblm/-/oci-dblm-2.124.0.tgz", + "integrity": "sha512-/Oxosd67qiHrIpQk8cycuoIvK6KTvQO+vSzaaiDTUnNYkxjYjC00n0NXr8ypnAaUAGa6eRYw1DB5lN3mIKDxzg==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-dbmulticloud": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-dbmulticloud/-/oci-dbmulticloud-2.124.0.tgz", + "integrity": "sha512-zzhd87wrAmqI8bStlT2Yj2rYyZi602fuKcwuBmU2caoeo7+UEZP5fSht7pJE1YVdAJq28tYqRSlL43Nwh865/A==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-delegateaccesscontrol": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-delegateaccesscontrol/-/oci-delegateaccesscontrol-2.124.0.tgz", + "integrity": "sha512-sQ+Qu8pmIz3mY+A+sX6r6B3xXXxZU++vTN5u2jdqUEZRrZQBxNzoEk0knm/Lw8F4O3lxyS1KjSprrd7uJki7wQ==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-demandsignal": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-demandsignal/-/oci-demandsignal-2.124.0.tgz", + "integrity": "sha512-3kykuWMs6F5abml3Tvla/Y7gzWg64xynA0LDv33VRW76kMZb18lDKCW67YlT68Gv9O/jYJMuPmp8K5iMvXAA6w==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-desktops": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-desktops/-/oci-desktops-2.124.0.tgz", + "integrity": "sha512-uTwGAEO4xADwtcP+aa75FJfXkAvm3a1CX1xEAd0XThlxERR17bYaOLa0lyKLSc+BXlNZHGa/KYRev5dhGofMLA==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-devops": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-devops/-/oci-devops-2.124.0.tgz", + "integrity": "sha512-uD2Byd1PmvUV+izYwxfGH/o3SE/xn2ciSnTWMT/+3c8EoTvtXEgVkcFGIJZIZiFVYzTYob0zkfUxeWCpv03yKg==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-dif": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-dif/-/oci-dif-2.124.0.tgz", + "integrity": "sha512-ys2C8w8+3LkEMsg9xOAzc2AwQ07ldIyWMMlQj0JDpMq08KNT6ASuwpLqzfvCJ1iNnZbuQ2/cbgfXW/dMflOEZA==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-disasterrecovery": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-disasterrecovery/-/oci-disasterrecovery-2.124.0.tgz", + "integrity": "sha512-l8Uh6VhvKW5N1XpmV5TBuchQcHiRwWCdh/5qLgBkxoGrbpW3nvm5bT4/B7alOqaRgMhtdua4JCfImWK37kdDfA==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-distributeddatabase": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-distributeddatabase/-/oci-distributeddatabase-2.124.0.tgz", + "integrity": "sha512-fSyoZrlV7lS4wFNv8MpBcYv5q2DZuK7PyYZt7T9nMhlplRppkDqwY8RDmfkmitbSLHKB5kRQjWLjbLsFUpBfww==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-dns": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-dns/-/oci-dns-2.124.0.tgz", + "integrity": "sha512-JjhhXrW3JjkPag9ObdCHprL2xrXUf/l0XY3ZRrJ3JM+FKNI5aJSqLw6R7YcDwgpD/Rj9A9yvJhatyAZL+anRyw==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-email": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-email/-/oci-email-2.124.0.tgz", + "integrity": "sha512-UddYs/bgWN3KGYIr0XwcpBXRQALU4KBEtnEGU4pkrB02jUTktpNMOiY6dZ0Ehwv5mcNN9SzZQvtXlcoC/acxjQ==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-emaildataplane": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-emaildataplane/-/oci-emaildataplane-2.124.0.tgz", + "integrity": "sha512-r8lM2OAKxZc+XAnMk76oMVTd+GXQtuQbuDZwB6OMRmJdW1q1j5/q4DlfIF60AjqOl2pKqW40Z3j8J3W/Y9Xu5A==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-emwarehouse": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-emwarehouse/-/oci-emwarehouse-2.124.0.tgz", + "integrity": "sha512-+leP3RKxQxW4hE4vz9pv/aiP4aFRQCX0hH6QzPMlZ14qSW27M5NBsWh+HGLa+qegk0GWhBGohGUi3OKO9aDPPQ==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-events": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-events/-/oci-events-2.124.0.tgz", + "integrity": "sha512-5jrsfPKJfX8/wHVdcOub5Hfbxv9xGKPrGNfjvWltT5lvvIw0ILmFi3cEMBD8KDYRY8Z0T67G1RN9Z2LWIOHE6g==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-filestorage": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-filestorage/-/oci-filestorage-2.124.0.tgz", + "integrity": "sha512-bShh5qG+algLk7ZI+lRsIaDjj6/OExBZnlURA631HXCQGYg6VNmDhe6MPjgwSUC+Yu9AgP2WUsrJaGzGwMcm+Q==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-fleetappsmanagement": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-fleetappsmanagement/-/oci-fleetappsmanagement-2.124.0.tgz", + "integrity": "sha512-EfjmkjGFBuHcHgkMrNkJTvBISgE3xMvAOVXA1pBRjtjrkOk2jxHAg6Apf3IasMVV0c+t4GYPv0GrrZJ+heJCdA==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-fleetsoftwareupdate": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-fleetsoftwareupdate/-/oci-fleetsoftwareupdate-2.124.0.tgz", + "integrity": "sha512-7IfoCtdGMMLqC0LO/VF9lOjEYuDisSFgrnXg1BiTZbvFMg8jJvOF3u5M20V5JiExc9Bs+TLplxEsTvQxtXlZLA==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-functions": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-functions/-/oci-functions-2.124.0.tgz", + "integrity": "sha512-Rk4kcKBj9vgpECTwnH66CihTohsnV55GERSVAUwTHnjNnDWi79usraKzVrv3UOp50mCLChjbEbpJclwkWIKJyw==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-fusionapps": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-fusionapps/-/oci-fusionapps-2.124.0.tgz", + "integrity": "sha512-zsLY7M92SUi+7eNCNM92Bq9n+t8kXVKhwAUHyJccX8vNc/2Mbbci7fFJWw2AAR+smKtTTGpMN/MKe5JkAAFthw==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-generativeai": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-generativeai/-/oci-generativeai-2.124.0.tgz", + "integrity": "sha512-qg3dJz0zTcrD7nb5tD3OhzlUfJMzBP9LfqZIFEFuK3g8659rIQq6xD3h+U51cXh4gfkspCNqXYtckcA9PuBzmA==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-generativeaiagent": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-generativeaiagent/-/oci-generativeaiagent-2.124.0.tgz", + "integrity": "sha512-kbSS4I7fg5UmVh/zSp4kOTsp3OFkJbCkoCJCvs3vWcCv6ZwRkmDdDEwtSJ+GPcINv0grT4zuMcoaBLnnZgP1eg==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-generativeaiagentruntime": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-generativeaiagentruntime/-/oci-generativeaiagentruntime-2.124.0.tgz", + "integrity": "sha512-IeZ8hePxv/kX7+YO6rsL9AY8o2f/PEaunvOzMs6pvcDMz16c4fXuxIooSM9lsfBqtPDCUTyAGIK4sjCS0JQ3LA==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-generativeaiinference": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-generativeaiinference/-/oci-generativeaiinference-2.124.0.tgz", + "integrity": "sha512-no3g9qR1Lxh8kA3P3ufbb0O7dJVtNJ5kseZn4rxhfNOQ8BkmdduKdcfSwKuxPUtb7yx4r4AYW7YrIYCIIylJiw==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-genericartifactscontent": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-genericartifactscontent/-/oci-genericartifactscontent-2.124.0.tgz", + "integrity": "sha512-eWW+QZEaSw8y0Hy/kpIYjt3DPkdHYmDo0R3miO2q2SzqUcUvXpYab1EA5IvKYVa6NjKCWnAnBe15AnJuabPReQ==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-globallydistributeddatabase": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-globallydistributeddatabase/-/oci-globallydistributeddatabase-2.124.0.tgz", + "integrity": "sha512-1XY8Nq+pD861tRphnpG2VvWMSrr3dxKbhsKgQfJWXpwncQXDrv2udtBRKbskCgKZkZ/tHsLXmtptUSNjjjwwoQ==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-goldengate": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-goldengate/-/oci-goldengate-2.124.0.tgz", + "integrity": "sha512-e8bgV3PHHDmYlBDE+Qyp2mJNdpxQ+Km+0y4BD97EhABLJcMGi8XwQss2pVduUtxOoC9B6NLJuFA2eVoQemoBdg==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-governancerulescontrolplane": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-governancerulescontrolplane/-/oci-governancerulescontrolplane-2.124.0.tgz", + "integrity": "sha512-XrXBFLIwJjqgJnGbpVscZY2/R2Ew+k4Y1RpALM68q7pU3vkW7YwZdS/DUXTIe3pC9rthxjsrhvgxtozihH8/ig==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-healthchecks": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-healthchecks/-/oci-healthchecks-2.124.0.tgz", + "integrity": "sha512-X7wQyue8C0D5jyvtVAG39SYkAbzAmcP6RZtJPGI5pBBboFORrSHpoep6+dliwhlr7N2WFuJi37gkt085YIlK3w==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-identity": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-identity/-/oci-identity-2.124.0.tgz", + "integrity": "sha512-gvCei21eznMNMnYptup4JKOASGlouNhimyA4bvzGkWYhJJXGIxhLNfeu4tOtbD9RDzf/guYOZlB4wdNxT+CN/Q==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-identitydataplane": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-identitydataplane/-/oci-identitydataplane-2.124.0.tgz", + "integrity": "sha512-2XIE1sADb8uzSA2uvGSLPepjlTdZeU5KhF66QIBKBQmmW/GQJgC8+vbhWZu6X94xbfnug1PQh314lPTf0WvrfQ==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-identitydomains": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-identitydomains/-/oci-identitydomains-2.124.0.tgz", + "integrity": "sha512-JwZUTfWluOgz3g1fgn4XWJARe53disa7b9DjVvUndN7DmyZrP25bjwjgL9X8aQrxyVOUw0fBxfB7bIeJsdMJ4g==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-integration": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-integration/-/oci-integration-2.124.0.tgz", + "integrity": "sha512-oXDcphF4xdSLsx0Q9QjADI9vwZZ6dao1xGXbhTnVPB0TE/xl1Ds0uliNZCeXivZEi/UF2edZoRWGuozYiWNpfQ==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-iot": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-iot/-/oci-iot-2.124.0.tgz", + "integrity": "sha512-fmcvV5n/g82Z4GcK9LKqOxJLdRz44I6CMc7O9zB9TJvM7KoHJQN26jgNrhDAujQzxtT0ApVHBCMFk5HivEcDqg==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-jms": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-jms/-/oci-jms-2.124.0.tgz", + "integrity": "sha512-veR080g/pDStz3li95BvqsW7bJLN4NZ2700uweITj72+RzKdiN0Zl5Hrz1ZVUW/IO/A0IPFyioSFXyp0HWxEFw==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-jmsjavadownloads": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-jmsjavadownloads/-/oci-jmsjavadownloads-2.124.0.tgz", + "integrity": "sha512-Yfke0LjVrkVQMybr1uDLtH94YGu40WS6kMMl33+Uk4GZ7WjeaadpezkLf3VlSlOod7wRM2SPHuINOL3NW8eYkg==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-jmsutils": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-jmsutils/-/oci-jmsutils-2.124.0.tgz", + "integrity": "sha512-rFKT9I11Weookvs4jfMIOKMXKQEZ7Tn9QTNufTwyP3Ql56WjQo6jUzLIJJPNDUPH+gegva6qADCVEnLo3YPSPQ==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-keymanagement": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-keymanagement/-/oci-keymanagement-2.124.0.tgz", + "integrity": "sha512-K0/EmSeRp/I3r4INxQzrglFec5gLS5VV45HzhUSa6awz61mNMrA6pAX5qQHcjf93wcu4/Yexu5HIi0J0o9n7vg==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-licensemanager": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-licensemanager/-/oci-licensemanager-2.124.0.tgz", + "integrity": "sha512-OWEDP2YyhSiaedVuzNCAKT/NPUve2N0bvzo19ou53DuNQb+lYFPwObr7hrvip3IiT3ImZuK4DdORcJi7f1LpSQ==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-limits": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-limits/-/oci-limits-2.124.0.tgz", + "integrity": "sha512-7xJLOQKY6egILpB1LaoPhd6/+0Ndyt8QxtbqHU97THqwbaZrvt+U8EFs+kb62+5NYnvsYrW5dihHt8Xv0OIA4A==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-loadbalancer": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-loadbalancer/-/oci-loadbalancer-2.124.0.tgz", + "integrity": "sha512-sLgV7xXnQLZlIv4u4rxZTKAMbXjYKxb5mRuLYs7b982Z+kpCE4mk/cGfQjhdfsT9gS3Wuwo3+4oJpQdwcuGJLg==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-lockbox": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-lockbox/-/oci-lockbox-2.124.0.tgz", + "integrity": "sha512-ameB+nBHVW81n0WQufLjw+4BgcjpbifFxhcemgS+DG1q+iIhlEWv1GYobTXRQW8MET5+TDRs+rm1rYwAOzIlZw==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-loganalytics": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-loganalytics/-/oci-loganalytics-2.124.0.tgz", + "integrity": "sha512-wgPGcrCha88RsRXELd27S4R7s2ZCwJ18hDxOxopLYnak8PT4gLKxo7E5wfAJzsuJDGEoNtEsoq0JzwmPH/uttw==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-logging": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-logging/-/oci-logging-2.124.0.tgz", + "integrity": "sha512-kyxEES2LyXDquabJips7PUI+EMDnRP2iNE9lCyx2k8KqR7I1+AfM2NN8syIZCGemd09iROCNdpv0TNFFZFQ5WA==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-loggingingestion": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-loggingingestion/-/oci-loggingingestion-2.124.0.tgz", + "integrity": "sha512-f72/qvOIRIFWsyU9Igx/Lx3FklNlUGYzCfTkrkrHb2AfwAk0ganOZ203wpJumt2LmmxLmQ/bJdbZzfwVp4MbKg==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-loggingsearch": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-loggingsearch/-/oci-loggingsearch-2.124.0.tgz", + "integrity": "sha512-ksBIvfx4fDKKcAU2A9plXcNc4YOy8T37jj3cYhQVtUStB9W6eLgg+w/KBJGEC8t6ywObZgbH6mmS2fePspTVMQ==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-lustrefilestorage": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-lustrefilestorage/-/oci-lustrefilestorage-2.124.0.tgz", + "integrity": "sha512-A17HHBCho7+k0hpLMUKL0HHcFiqTW+3Ti8bRCliq98W0aXvfBl9b7YfUYZuTFDV91yPKOvifPgKg15E6/NBM1Q==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-managedkafka": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-managedkafka/-/oci-managedkafka-2.124.0.tgz", + "integrity": "sha512-SK+VDzfC+9o0/9X/ESPhRzFU3silg2hs5qaRDBfV02c7D/Q2JIfQyeuoPrJlyCGoPpSS2OpgbkoV82tRX8RJsQ==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-managementagent": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-managementagent/-/oci-managementagent-2.124.0.tgz", + "integrity": "sha512-bySkKzjBQO/0QrGHuRbL9lJVRewFScdnvVzqQs6puLkpDH2c4lKEzSoe5WKvsURJrxF8mioTAet68BOzPulptg==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-managementdashboard": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-managementdashboard/-/oci-managementdashboard-2.124.0.tgz", + "integrity": "sha512-a5RGPXeQGJ4NMkBavVpwdnqp2R2nSEjDfK0PgSKQ0zvGH0D2WNNsTC+OgKToZM3u9chPBt3cO3irc2VJqSyLYQ==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-marketplace": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-marketplace/-/oci-marketplace-2.124.0.tgz", + "integrity": "sha512-ZE0gxlmKcVKoTDUJNcgyzm2hFRKG2aGKWv4AmqpnYBoGbOoNSiFyV10OuaWULuKXpnE73fCmWV2pr3p7gbndMg==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-marketplaceprivateoffer": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-marketplaceprivateoffer/-/oci-marketplaceprivateoffer-2.124.0.tgz", + "integrity": "sha512-M55S7k5tH1sjS8XnO++dRwckqPU1zZ4fPko7zNTHFtj0IEjLpZAuRKDuL7Q8ImR+H60KW9NesCn5ezI1d6qeTQ==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-marketplacepublisher": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-marketplacepublisher/-/oci-marketplacepublisher-2.124.0.tgz", + "integrity": "sha512-gr5/8syNHET806B1RjC+0zpyuAmVcDwxUjyV4TJbhytfeJ+WOX8eddaGDYLeXob2IxWUh6BL0vZxo+5R5UOuRQ==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-mediaservices": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-mediaservices/-/oci-mediaservices-2.124.0.tgz", + "integrity": "sha512-b5KA9Xxy/3hd7auur8FVo32cfAtMXCVqy5Ugop/SgQwFSN9jxwweJdAC5BR/v1x7EGBR7t7KpwjMGg+qhRnAaA==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-mngdmac": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-mngdmac/-/oci-mngdmac-2.124.0.tgz", + "integrity": "sha512-wSb7C7x7C2+4sPkv6MbpiVFtKFFVgkzEqWRXsAYWeeeE2quz7JWjUprGJ+/EJ54juNJRfOzRvKOf0iBnKyJVEg==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-modeldeployment": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-modeldeployment/-/oci-modeldeployment-2.124.0.tgz", + "integrity": "sha512-8+qjoAGcv6vQ3C402JQAhzfHhwNicqKCwEPbLt8Tmwu/1rkJpBFU0BeB9AzxLyjyCu6EgIN9YkRTlG5QzvA27Q==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-monitoring": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-monitoring/-/oci-monitoring-2.124.0.tgz", + "integrity": "sha512-kHh7XBHV2I39Mq+50leMqABozBKsrlZ5OS0DvKYNAiJMb2A4W0B757t7ysBHnFq7AtOBgdYwEa09ctDDA6Kp5Q==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-multicloud": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-multicloud/-/oci-multicloud-2.124.0.tgz", + "integrity": "sha512-e+SdTRKNwJVYPxqVPKl0aZPZ9jHtzHI2in+DxNmN45xY2mT+2qLwL4D9VVmT14dko5g/XRCdMu+aQocK6HQOmw==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-mysql": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-mysql/-/oci-mysql-2.124.0.tgz", + "integrity": "sha512-euev5ciD4DLKUDllQcQ1QN6mlV1JbXC2TvO1WlCnrgpqCyRd4lNXXRM1XwXZCw0SApLDXmdHyNNpbdpEaeN+8g==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-networkfirewall": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-networkfirewall/-/oci-networkfirewall-2.124.0.tgz", + "integrity": "sha512-B+fSeePSrZ86/4w4J4Y+U698XnR/Gww3FvKgQ7RKzeOVv3JTL2nS9DrWE5LjuL9u8DYBdWLZpH0cOHBogp+gAA==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-networkloadbalancer": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-networkloadbalancer/-/oci-networkloadbalancer-2.124.0.tgz", + "integrity": "sha512-zpIoUwI/k4ZhU9d2HKC/VhB1UfTMBMnlVocwueb65IPNIMlM/24d67i+mHArtOqAHq4bBbdDH74BRgjfNqfokA==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-nosql": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-nosql/-/oci-nosql-2.124.0.tgz", + "integrity": "sha512-4ZQ56tfeLUQeR2OWngSA/HEQxECH4G0+9jkOGtAYcfaDesVsogGbtYQKdKA2Y4tuP+Z+tJTxRzSgwPuL3qVGuw==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-objectstorage": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-objectstorage/-/oci-objectstorage-2.124.0.tgz", + "integrity": "sha512-t/d+JGkAeF8ADnHPiGloH6KkIdvfnklElqBSDiuDfsqfYkwEZ2QbDQj8HaFoMJ4koV/YFW5jr3vbqaOUxXpFdQ==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "await-semaphore": "^0.1.3", + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-oce": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-oce/-/oci-oce-2.124.0.tgz", + "integrity": "sha512-ixEFgmkG5ImwEa6+OHTbMBzmQ/nIrlBTa8fj+6Vu16XUlfD04+X4f6/rHpwMt4HcyOkoA2ZtnyEQHkBzhLgVLQ==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-ocicontrolcenter": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-ocicontrolcenter/-/oci-ocicontrolcenter-2.124.0.tgz", + "integrity": "sha512-L/Gr0xOsiNq1vuavZybxFtPpaa0Ro5nYJHu+zLbkXRwWYytqNfm67z1IM4EsAbYG2PZ8sy6I1dWEvjKg9vizhw==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-ocvp": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-ocvp/-/oci-ocvp-2.124.0.tgz", + "integrity": "sha512-bCBkVoGEOu7ntqNKKamrqY5+WmZiae7ckO/cp+Cmq3oe341/TmOz/OZhOiyo8x8s+kXOWz4beaNqZ0SSR/cqog==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-oda": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-oda/-/oci-oda-2.124.0.tgz", + "integrity": "sha512-8kCx7EASBjhOOAnLgj1MkhXbOx3tfcNRU2OXDr3KKCJKIKskCwJVKQM6gL1DnAt3pYdIlWH09YXmqsa0BkpTmw==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-onesubscription": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-onesubscription/-/oci-onesubscription-2.124.0.tgz", + "integrity": "sha512-bOlJ8IeyRwHKVJGD9Je9bhFgMACVecAU+XFKaVkhJH5f+LR2Hmn3V4PxUvpDx1GWVAxpHyZIEvdHv6vp4b/Kow==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-ons": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-ons/-/oci-ons-2.124.0.tgz", + "integrity": "sha512-H1N28fqojkxTgS+7asd1q7kYag5LwEbD/kR+7raIvVPO27414xPA1eCDWjGnmU3IVVOGMdLintS4mZfz1CdWvQ==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-opa": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-opa/-/oci-opa-2.124.0.tgz", + "integrity": "sha512-mwI6ccA3m5F3UNPQt30Q+98ZTxoeZ3ROpzDHNLLMsS4M0rcKBr2aeX/JCzfW3o6xUoRyEtqz8n7LCchI0nCqpw==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-opensearch": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-opensearch/-/oci-opensearch-2.124.0.tgz", + "integrity": "sha512-vyNRi9GjGHkQ2jQpgssJ+Ij5+Lezc5Uc8jxEV2FQcoYujYwXJOpNlFMnlKQo64bAMXbdOrn6PBT6ANUJZoA5qw==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-operatoraccesscontrol": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-operatoraccesscontrol/-/oci-operatoraccesscontrol-2.124.0.tgz", + "integrity": "sha512-8AZNWniIGY71uS4UucKDic8piWmXk0cROGJVsTDsWGyVATys+92um5bv5ad2vF9nryvSCgJ7alJuvZmHM1SSrg==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-opsi": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-opsi/-/oci-opsi-2.124.0.tgz", + "integrity": "sha512-s9aeJnzg47/7O/1KH+PF5hxjR7BhUBwdA4KK2I4uzig//73RFKxau1JVLRcUG3H3oz1A8jyBs6gRLcX09GvCGw==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-optimizer": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-optimizer/-/oci-optimizer-2.124.0.tgz", + "integrity": "sha512-oU844ff50BHO5GpTr9NHrNvEIteqMVvKTgfSN/PBLXT+OboZ9iBx3VkG4sPlZikGwvftCbe/5LurdgCh0WhjMA==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-osmanagementhub": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-osmanagementhub/-/oci-osmanagementhub-2.124.0.tgz", + "integrity": "sha512-AFUz3Bo9CFY7EEjc5jF+PFQHuBVaDjwe5ElWmE1aVgTogpnhQ3Lcq9QRzZE9C5sNVPBZxs2Bw3zMfyidZW2v9A==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-ospgateway": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-ospgateway/-/oci-ospgateway-2.124.0.tgz", + "integrity": "sha512-vxr/Ikkhj254Ruh/75cJVzqhxwwtdV+xnIqNdGaUpaHwKY1q4eIVera/v4Drh3R6P2yrVBrv+b0bt/OaK4LWkQ==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-osubbillingschedule": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-osubbillingschedule/-/oci-osubbillingschedule-2.124.0.tgz", + "integrity": "sha512-ULoFq66MgDY4LLuRIC/3tc7juWboJM87NRtTT3K82mhcinzfyyKYPAhR/iYQhubftgm5XMLpmS7eUKDt/3qhmA==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-osuborganizationsubscription": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-osuborganizationsubscription/-/oci-osuborganizationsubscription-2.124.0.tgz", + "integrity": "sha512-OEA7tblqumqq/GgHMvLkpcdHWmkKFEjLn/discjpQpyRuhLv8dalEdZJXZzIyxsFjgeQvXrl0Ww2mJeDS0jjZw==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-osubsubscription": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-osubsubscription/-/oci-osubsubscription-2.124.0.tgz", + "integrity": "sha512-pxwUjRt4N5lqYBL1gN7dfqJEy0P5jauczhCW67TUSbRz/HY3PUci8ISWV8pZHfUw4Qk6QBLmtAb1wCTc8veBNQ==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-osubusage": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-osubusage/-/oci-osubusage-2.124.0.tgz", + "integrity": "sha512-KFcQKq4ZRyhxakYL699qy1E8upi0FfbQMbWM/DdPY1qWWszEs7OMjnluXRBmc62aGFFXUow1KOHpmwEUNHwfbg==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-psa": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-psa/-/oci-psa-2.124.0.tgz", + "integrity": "sha512-zg4k7GelDP4s7x3gj7M2mduvjlELlCx8Drdhz/ChjXABtaUymFtKyrzduV8i+me8LfDYh7Jdh0thcWHz162omw==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-psql": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-psql/-/oci-psql-2.124.0.tgz", + "integrity": "sha512-bQJYFucaX0+uLXz0nbPEv6tCCLriaAUlIHdC2xpznCr+suGEit3xAAES7JQn3FbqllbgenhOaThMfpHKkiK7oA==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-queue": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-queue/-/oci-queue-2.124.0.tgz", + "integrity": "sha512-pF1NRHAFAhStf8yPRWTAB3taeT/3YAUdFB5bicwA7EqmJxVLs2pWH/dKlcRM/YtgWd0knqfJ/+HTu/rL6eBM6A==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-recovery": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-recovery/-/oci-recovery-2.124.0.tgz", + "integrity": "sha512-n3+5FPVHM3i4rbTOKNlbaxyQVl8h09memqffo+7nHQsqvF3NXMKY2vXmGA9tfWWZOwt1c5MLqZwZDznhZv03/g==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-redis": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-redis/-/oci-redis-2.124.0.tgz", + "integrity": "sha512-i1+LD3N8q8Rng/xIPxUADRCAuULShJq5nR2UNJ4rY3sRU+z2TAmxls1mTNHlm31su0OVMvr+RGmk7yr15Askig==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-resourceanalytics": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-resourceanalytics/-/oci-resourceanalytics-2.124.0.tgz", + "integrity": "sha512-+trp2xunjoxWhnEEp3GHypcLK87J8GqOJeZ2dB+fV1NW5FZX2Aqsslu/Gvim1iz2Z9AILjcbOyMWsHZBK60Ytw==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-resourcemanager": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-resourcemanager/-/oci-resourcemanager-2.124.0.tgz", + "integrity": "sha512-OfqBeFL50gnogpab3grp4QAA+OdjjwnGh5cV8+lPGWnmhZhctH0bMHyQ86FwdFj4xWlE9EwfRya8L+9z+5YOlg==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-resourcescheduler": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-resourcescheduler/-/oci-resourcescheduler-2.124.0.tgz", + "integrity": "sha512-NL2SeOJnl4OCR4lHscuaDAn+PR3p1ZRqL7IMdfD//sfIBxu2qvvpBW+zXOMz8RO7ReMoSvjt7LI0qpBWvajXCA==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-resourcesearch": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-resourcesearch/-/oci-resourcesearch-2.124.0.tgz", + "integrity": "sha512-1Gros2sKwlwdmyyR8TA7A8QsBFcCpWYCEb02XcqMxvGyy/HjA3XoMPqOgQjVpMxE4FDlEpxYXSimOLDPBJdxDA==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-rover": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-rover/-/oci-rover-2.124.0.tgz", + "integrity": "sha512-lWLMo7X5s109Z7J9bUk/T+ds7o//W+YpHlZjLxwSr7qVwAYcnCzcSmlBnIFpGsBK+BAt08DN5GOOPY93hfs0Fw==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-sch": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-sch/-/oci-sch-2.124.0.tgz", + "integrity": "sha512-YBSpQ8GegDgOIgIsYvucq/OWW0tpktGOsiJuW0Gj1y3VpSps7Ju8tWmAXJODi7TmJ8AgjKFbo1I2qPCW2scZpg==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-sdk": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-sdk/-/oci-sdk-2.124.0.tgz", + "integrity": "sha512-RP0L77+Ya9f3R+qgopsQy0XTzBsRqAsNMjw48gBFncIyCYnWSYdH2o4YKXCp6TlPL8LJa2E+kS0yW+Hfco2dOQ==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-accessgovernancecp": "2.124.0", + "oci-adm": "2.124.0", + "oci-aidataplatform": "2.124.0", + "oci-aidocument": "2.124.0", + "oci-ailanguage": "2.124.0", + "oci-aispeech": "2.124.0", + "oci-aivision": "2.124.0", + "oci-analytics": "2.124.0", + "oci-announcementsservice": "2.124.0", + "oci-apiaccesscontrol": "2.124.0", + "oci-apigateway": "2.124.0", + "oci-apiplatform": "2.124.0", + "oci-apmconfig": "2.124.0", + "oci-apmcontrolplane": "2.124.0", + "oci-apmsynthetics": "2.124.0", + "oci-apmtraces": "2.124.0", + "oci-appmgmtcontrol": "2.124.0", + "oci-artifacts": "2.124.0", + "oci-audit": "2.124.0", + "oci-autoscaling": "2.124.0", + "oci-bastion": "2.124.0", + "oci-batch": "2.124.0", + "oci-bds": "2.124.0", + "oci-blockchain": "2.124.0", + "oci-budget": "2.124.0", + "oci-capacitymanagement": "2.124.0", + "oci-certificates": "2.124.0", + "oci-certificatesmanagement": "2.124.0", + "oci-cims": "2.124.0", + "oci-cloudbridge": "2.124.0", + "oci-cloudguard": "2.124.0", + "oci-cloudmigrations": "2.124.0", + "oci-clusterplacementgroups": "2.124.0", + "oci-common": "2.124.0", + "oci-computecloudatcustomer": "2.124.0", + "oci-computeinstanceagent": "2.124.0", + "oci-containerengine": "2.124.0", + "oci-containerinstances": "2.124.0", + "oci-core": "2.124.0", + "oci-dashboardservice": "2.124.0", + "oci-database": "2.124.0", + "oci-databasemanagement": "2.124.0", + "oci-databasemigration": "2.124.0", + "oci-databasetools": "2.124.0", + "oci-datacatalog": "2.124.0", + "oci-dataflow": "2.124.0", + "oci-dataintegration": "2.124.0", + "oci-datalabelingservice": "2.124.0", + "oci-datalabelingservicedataplane": "2.124.0", + "oci-datasafe": "2.124.0", + "oci-datascience": "2.124.0", + "oci-dblm": "2.124.0", + "oci-dbmulticloud": "2.124.0", + "oci-delegateaccesscontrol": "2.124.0", + "oci-demandsignal": "2.124.0", + "oci-desktops": "2.124.0", + "oci-devops": "2.124.0", + "oci-dif": "2.124.0", + "oci-disasterrecovery": "2.124.0", + "oci-distributeddatabase": "2.124.0", + "oci-dns": "2.124.0", + "oci-email": "2.124.0", + "oci-emaildataplane": "2.124.0", + "oci-emwarehouse": "2.124.0", + "oci-events": "2.124.0", + "oci-filestorage": "2.124.0", + "oci-fleetappsmanagement": "2.124.0", + "oci-fleetsoftwareupdate": "2.124.0", + "oci-functions": "2.124.0", + "oci-fusionapps": "2.124.0", + "oci-generativeai": "2.124.0", + "oci-generativeaiagent": "2.124.0", + "oci-generativeaiagentruntime": "2.124.0", + "oci-generativeaiinference": "2.124.0", + "oci-genericartifactscontent": "2.124.0", + "oci-globallydistributeddatabase": "2.124.0", + "oci-goldengate": "2.124.0", + "oci-governancerulescontrolplane": "2.124.0", + "oci-healthchecks": "2.124.0", + "oci-identity": "2.124.0", + "oci-identitydataplane": "2.124.0", + "oci-identitydomains": "2.124.0", + "oci-integration": "2.124.0", + "oci-iot": "2.124.0", + "oci-jms": "2.124.0", + "oci-jmsjavadownloads": "2.124.0", + "oci-jmsutils": "2.124.0", + "oci-keymanagement": "2.124.0", + "oci-licensemanager": "2.124.0", + "oci-limits": "2.124.0", + "oci-loadbalancer": "2.124.0", + "oci-lockbox": "2.124.0", + "oci-loganalytics": "2.124.0", + "oci-logging": "2.124.0", + "oci-loggingingestion": "2.124.0", + "oci-loggingsearch": "2.124.0", + "oci-lustrefilestorage": "2.124.0", + "oci-managedkafka": "2.124.0", + "oci-managementagent": "2.124.0", + "oci-managementdashboard": "2.124.0", + "oci-marketplace": "2.124.0", + "oci-marketplaceprivateoffer": "2.124.0", + "oci-marketplacepublisher": "2.124.0", + "oci-mediaservices": "2.124.0", + "oci-mngdmac": "2.124.0", + "oci-modeldeployment": "2.124.0", + "oci-monitoring": "2.124.0", + "oci-multicloud": "2.124.0", + "oci-mysql": "2.124.0", + "oci-networkfirewall": "2.124.0", + "oci-networkloadbalancer": "2.124.0", + "oci-nosql": "2.124.0", + "oci-objectstorage": "2.124.0", + "oci-oce": "2.124.0", + "oci-ocicontrolcenter": "2.124.0", + "oci-ocvp": "2.124.0", + "oci-oda": "2.124.0", + "oci-onesubscription": "2.124.0", + "oci-ons": "2.124.0", + "oci-opa": "2.124.0", + "oci-opensearch": "2.124.0", + "oci-operatoraccesscontrol": "2.124.0", + "oci-opsi": "2.124.0", + "oci-optimizer": "2.124.0", + "oci-osmanagementhub": "2.124.0", + "oci-ospgateway": "2.124.0", + "oci-osubbillingschedule": "2.124.0", + "oci-osuborganizationsubscription": "2.124.0", + "oci-osubsubscription": "2.124.0", + "oci-osubusage": "2.124.0", + "oci-psa": "2.124.0", + "oci-psql": "2.124.0", + "oci-queue": "2.124.0", + "oci-recovery": "2.124.0", + "oci-redis": "2.124.0", + "oci-resourceanalytics": "2.124.0", + "oci-resourcemanager": "2.124.0", + "oci-resourcescheduler": "2.124.0", + "oci-resourcesearch": "2.124.0", + "oci-rover": "2.124.0", + "oci-sch": "2.124.0", + "oci-secrets": "2.124.0", + "oci-securityattribute": "2.124.0", + "oci-servicecatalog": "2.124.0", + "oci-servicemanagerproxy": "2.124.0", + "oci-stackmonitoring": "2.124.0", + "oci-streaming": "2.124.0", + "oci-tenantmanagercontrolplane": "2.124.0", + "oci-threatintelligence": "2.124.0", + "oci-usage": "2.124.0", + "oci-usageapi": "2.124.0", + "oci-vault": "2.124.0", + "oci-vbsinst": "2.124.0", + "oci-visualbuilder": "2.124.0", + "oci-vnmonitoring": "2.124.0", + "oci-vulnerabilityscanning": "2.124.0", + "oci-waa": "2.124.0", + "oci-waas": "2.124.0", + "oci-waf": "2.124.0", + "oci-wlms": "2.124.0", + "oci-workrequests": "2.124.0", + "oci-zpr": "2.124.0" + } + }, + "node_modules/oci-secrets": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-secrets/-/oci-secrets-2.124.0.tgz", + "integrity": "sha512-Q14VvdsPeh1TFzd29Fj0F5W87MdA1izv8f3ces3SR52AiKcnwewn7jJkMVVWHMjOgqsTsI1O2Lttx11p5LcueQ==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-securityattribute": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-securityattribute/-/oci-securityattribute-2.124.0.tgz", + "integrity": "sha512-GoK0VacPzTMR8BwVut3Jaah9ZnLqdGFL9cEY2SpUdZV9+DUlseDRF2lnoAzJvnPNRoYr9teOUwXJIoS3/5FuFw==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-servicecatalog": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-servicecatalog/-/oci-servicecatalog-2.124.0.tgz", + "integrity": "sha512-OmhDGnJvEBRE4Xyk41TBMM0am4OjLboq/t4EBwgyy+7jEmBaszYRSzto07CKH8OWYpdFeeC6mgy35sZryK+5ng==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-servicemanagerproxy": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-servicemanagerproxy/-/oci-servicemanagerproxy-2.124.0.tgz", + "integrity": "sha512-V54Ef9jMlnQ5NZpn3ki6yKSNkweb+Jrb6wg9IX7mtKYVzB968hSE+cqZAo3oEOYnLHKn4r5HL+NF4hUXg/yk+w==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-stackmonitoring": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-stackmonitoring/-/oci-stackmonitoring-2.124.0.tgz", + "integrity": "sha512-w5vvoMpqx8bTaVRVMMib3kyfnktRRolLBe8vyjGqd8U6L2AIoR/L3b8h7gGbRrPcgc1NfddP21r/g70MXmH33A==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-streaming": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-streaming/-/oci-streaming-2.124.0.tgz", + "integrity": "sha512-+SvQ1QDeWDPi16SdlVbFBtiUGZd27nYzPRhwrjiBphuQLaNJdZynR+QodSr1yATTAARecw7PXtCtDRV4ucO9Sg==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-tenantmanagercontrolplane": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-tenantmanagercontrolplane/-/oci-tenantmanagercontrolplane-2.124.0.tgz", + "integrity": "sha512-V2z7q4xGtiYt/7N+/IIaYTnNDmDNO/XkogC+SzeVFemDF+80c+ecse7R+xwpOS7s0lvuNlnNP3ZuBIMlHOhoKg==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-threatintelligence": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-threatintelligence/-/oci-threatintelligence-2.124.0.tgz", + "integrity": "sha512-97TZcj/DmmUQFOLUrgCsQE0zV9kRkGeenULksgUo0VpvU56OJF5INw2cDxzVM8hj6sXWozPjsSlnVBMZpf09jQ==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-usage": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-usage/-/oci-usage-2.124.0.tgz", + "integrity": "sha512-2yf1xlb4PlK9SEihcVbIO3Xr/K6fwbmX/H4301Q4/jPXHLJjty0/M11/UOvd+Ok/SkIvXz+7rrAhqCWN1is3sg==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-usageapi": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-usageapi/-/oci-usageapi-2.124.0.tgz", + "integrity": "sha512-932FJXDhBCopjj0+OZ1y12DgwfrYP/1IctFiiHpuOKMYyxGFlEBcfjs6Y6YVvcFZ57uSDry//v3XyMaa7WJ51A==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-vault": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-vault/-/oci-vault-2.124.0.tgz", + "integrity": "sha512-yulbC1VsuNbwmfRJDLRuT0LaXT0EUWSewDn8nQopGAmLvxgh7Hij6RSlUoa+EddyB9zp8x4OixP2A25AYChhVA==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-vbsinst": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-vbsinst/-/oci-vbsinst-2.124.0.tgz", + "integrity": "sha512-kKtXaCZkIHwF+QiQff5Q94L+a2b+/kcTKPkmPhVEbKdXpFI/xGGHyH0fjlQVX0NBAUdRYovxux/ytDQoHHeRsw==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-visualbuilder": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-visualbuilder/-/oci-visualbuilder-2.124.0.tgz", + "integrity": "sha512-o+EUWZq8iPe7QRlYNDI2NXrO2pyinjarjlQr5Aqr4upUEtbVUJ3+GCxEoVLBXLviKfh2QxinFn7xfGft/hm2LA==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-vnmonitoring": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-vnmonitoring/-/oci-vnmonitoring-2.124.0.tgz", + "integrity": "sha512-eVlRzjwJ4yfoM7wJpSFtKiyxQ2tYFWDBa4Uj4gZVn/mLf+f86lZpU02sOH9/dvWEUciCMAt5RNRU+BjidJUB9Q==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-vulnerabilityscanning": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-vulnerabilityscanning/-/oci-vulnerabilityscanning-2.124.0.tgz", + "integrity": "sha512-Fp150TT24ypwBlrwl4I+meEGjacvB502OstehJDj6iaUr9c44VLYT8b8ASyInK0EjNhD3D/IYwxwrgX+f9aW8w==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-waa": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-waa/-/oci-waa-2.124.0.tgz", + "integrity": "sha512-aB0roOUAViKxsvN1UqSRjSjUqv/FpaTQ641CXbo0xuH3TOmJlwhFwqgGSOXD9EVHXa7ckO/PIilNYpp4dyUlCw==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-waas": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-waas/-/oci-waas-2.124.0.tgz", + "integrity": "sha512-U/2VWIg+bFB9Jj8EnhK6BN4nM/h6UVJVPLE9CVCOy2LpJ3/UdQQQJ8kCDxya9Q5+EIOq2HuyFd3wMPJOFeFecw==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-waf": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-waf/-/oci-waf-2.124.0.tgz", + "integrity": "sha512-Q2ILofeTP22RSS2Df+IoitL1TAW34ZuS8jO6VCgkkNkH0kGI9ii+C9sdDvp4IQRgkfqPWOl+gFdmqbo0NeghdQ==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-wlms": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-wlms/-/oci-wlms-2.124.0.tgz", + "integrity": "sha512-m4amIvJ66M1B8mb/4gkG0SEKez8TBszlE+0/bt5Pukw1PxK2hWeAhAg06agkdbIeY5nD6TYZiTVOJdHfdbeysA==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-workrequests": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-workrequests/-/oci-workrequests-2.124.0.tgz", + "integrity": "sha512-gcQ8gbmF9zATiCFJ3c0H58tJDuruDEm5ibUMkKGfa646T/BMxdmRRS4sI7GkRFrNUicJYWzX6tCD11ePbuDJrA==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/oci-zpr": { + "version": "2.124.0", + "resolved": "https://registry.npmjs.org/oci-zpr/-/oci-zpr-2.124.0.tgz", + "integrity": "sha512-R/TRBIHTUfmNYVHZBKvwrwqyQ8s1l/Av/kzVI3DB7064AKSqPqwFOSddKUC54F/SBGcnKnfaSG8casWnW2OifQ==", + "license": "(UPL-1.0 OR Apache-2.0)", + "dependencies": { + "oci-common": "2.124.0", + "oci-workrequests": "2.124.0" + } + }, + "node_modules/opossum": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/opossum/-/opossum-5.0.1.tgz", + "integrity": "sha512-iUDUQmFl3RanaBVLMDTZ6WtXj/Hk84pwJ5JWoJaQd1lXGifdApHhszI3biZvdBDdpTERCmB6x+7+uNvzhzVZIg==", + "license": "Apache-2.0", + "engines": { + "node": ">= 10" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/own-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", + "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.6", + "object-keys": "^1.1.1", + "safe-push-apply": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pako": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", + "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==", + "license": "(MIT AND Zlib)" + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-entities": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.2.tgz", + "integrity": "sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "character-entities-legacy": "^3.0.0", + "character-reference-invalid": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "is-alphanumerical": "^2.0.0", + "is-decimal": "^2.0.0", + "is-hexadecimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse-entities/node_modules/@types/unist": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", + "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", + "license": "MIT" + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "license": "MIT" + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/pdfjs-dist": { + "version": "5.4.624", + "resolved": "https://registry.npmjs.org/pdfjs-dist/-/pdfjs-dist-5.4.624.tgz", + "integrity": "sha512-sm6TxKTtWv1Oh6n3C6J6a8odejb5uO4A4zo/2dgkHuC0iu8ZMAXOezEODkVaoVp8nX1Xzr+0WxFJJmUr45hQzg==", + "license": "Apache-2.0", + "engines": { + "node": ">=20.16.0 || >=22.3.0" + }, + "optionalDependencies": { + "@napi-rs/canvas": "^0.1.88", + "node-readable-to-web-readable-stream": "^0.4.2" + } + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "license": "MIT", + "optional": true + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/playwright": { + "version": "1.57.0", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.57.0.tgz", + "integrity": "sha512-ilYQj1s8sr2ppEJ2YVadYBN0Mb3mdo9J0wQ+UuDhzYqURwSoW4n1Xs5vs7ORwgDGmyEh33tRMeS8KhdkMoLXQw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "playwright-core": "1.57.0" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "fsevents": "2.3.2" + } + }, + "node_modules/playwright-core": { + "version": "1.57.0", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.57.0.tgz", + "integrity": "sha512-agTcKlMw/mjBWOnD6kFZttAAGHgi/Nw0CZ2o6JqWSbMlI219lAFLZZCyqByTsvVAJq5XA5H8cA6PrvBRpBWEuQ==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "playwright-core": "cli.js" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/possible-typed-array-names": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", + "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/postcss": { + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/property-information": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.0.0.tgz", + "integrity": "sha512-7D/qOz/+Y4X/rzSB6jKxKUsQnphO046ei8qxG59mtM3RG3DHgTK81HrxrmoDVINJb8NKT5ZsRbwHvQ6B68Iyhg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/raf": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", + "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "license": "MIT", + "optional": true, + "dependencies": { + "performance-now": "^2.1.0" + } + }, + "node_modules/react": { + "version": "19.2.3", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.3.tgz", + "integrity": "sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "19.2.3", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.3.tgz", + "integrity": "sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg==", + "license": "MIT", + "dependencies": { + "scheduler": "^0.27.0" + }, + "peerDependencies": { + "react": "^19.2.3" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "license": "MIT" + }, + "node_modules/react-markdown": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-10.1.0.tgz", + "integrity": "sha512-qKxVopLT/TyA6BX3Ue5NwabOsAzm0Q7kAPwq6L+wWDwisYs7R8vZ0nRXqq6rkueboxpkjvLGU9fWifiX/ZZFxQ==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "hast-util-to-jsx-runtime": "^2.0.0", + "html-url-attributes": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.0.0", + "unified": "^11.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "@types/react": ">=18", + "react": ">=18" + } + }, + "node_modules/react-redux": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-9.2.0.tgz", + "integrity": "sha512-ROY9fvHhwOD9ySfrF0wmvu//bKCQ6AeZZq1nJNtbDC+kk5DuSuNX/n6YWYF/SYy7bSba4D4FSz8DJeKY/S/r+g==", + "license": "MIT", + "dependencies": { + "@types/use-sync-external-store": "^0.0.6", + "use-sync-external-store": "^1.4.0" + }, + "peerDependencies": { + "@types/react": "^18.2.25 || ^19", + "react": "^18.0 || ^19", + "redux": "^5.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "redux": { + "optional": true + } + } + }, + "node_modules/react-transition-group": { + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", + "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", + "license": "BSD-3-Clause", + "dependencies": { + "@babel/runtime": "^7.5.5", + "dom-helpers": "^5.0.1", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2" + }, + "peerDependencies": { + "react": ">=16.6.0", + "react-dom": ">=16.6.0" + } + }, + "node_modules/recharts": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/recharts/-/recharts-3.6.0.tgz", + "integrity": "sha512-L5bjxvQRAe26RlToBAziKUB7whaGKEwD3znoM6fz3DrTowCIC/FnJYnuq1GEzB8Zv2kdTfaxQfi5GoH0tBinyg==", + "license": "MIT", + "workspaces": [ + "www" + ], + "dependencies": { + "@reduxjs/toolkit": "1.x.x || 2.x.x", + "clsx": "^2.1.1", + "decimal.js-light": "^2.5.1", + "es-toolkit": "^1.39.3", + "eventemitter3": "^5.0.1", + "immer": "^10.1.1", + "react-redux": "8.x.x || 9.x.x", + "reselect": "5.1.1", + "tiny-invariant": "^1.3.3", + "use-sync-external-store": "^1.2.2", + "victory-vendor": "^37.0.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-is": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/redux": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/redux/-/redux-5.0.1.tgz", + "integrity": "sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==", + "license": "MIT" + }, + "node_modules/redux-thunk": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-3.1.0.tgz", + "integrity": "sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw==", + "license": "MIT", + "peerDependencies": { + "redux": "^5.0.0" + } + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", + "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.7", + "get-proto": "^1.0.1", + "which-builtin-type": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "license": "MIT", + "optional": true + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", + "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/remark-gfm": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.1.tgz", + "integrity": "sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-gfm": "^3.0.0", + "micromark-extension-gfm": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-stringify": "^11.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-parse": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", + "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-rehype": { + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.2.tgz", + "integrity": "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "mdast-util-to-hast": "^13.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-stringify": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz", + "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-to-markdown": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/reselect": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/reselect/-/reselect-5.1.1.tgz", + "integrity": "sha512-K/BG6eIky/SBpzfHZv/dd+9JBFiS4SWV7FIujVyJRux6e45+73RaUHXLmIR1f7WOMaQ0U1km6qwklRQxpJJY0w==", + "license": "MIT" + }, + "node_modules/resolve": { + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + } + }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rgbcolor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rgbcolor/-/rgbcolor-1.0.1.tgz", + "integrity": "sha512-9aZLIrhRaD97sgVhtJOW6ckOEh6/GnvQtdVNfdZ6s67+3/XwLS9lBcQYzEEhYVeUowN7pRzMLsyGhK2i/xvWbw==", + "license": "MIT OR SEE LICENSE IN FEEL-FREE.md", + "optional": true, + "engines": { + "node": ">= 0.8.15" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-array-concat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", + "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "has-symbols": "^1.1.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safe-push-apply": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", + "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-regex-test": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-regex": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" + }, + "node_modules/scheduler": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", + "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", + "license": "MIT" + }, + "node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-proto": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", + "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/sharp": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.5.tgz", + "integrity": "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==", + "hasInstallScript": true, + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@img/colour": "^1.0.0", + "detect-libc": "^2.1.2", + "semver": "^7.7.3" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-darwin-arm64": "0.34.5", + "@img/sharp-darwin-x64": "0.34.5", + "@img/sharp-libvips-darwin-arm64": "1.2.4", + "@img/sharp-libvips-darwin-x64": "1.2.4", + "@img/sharp-libvips-linux-arm": "1.2.4", + "@img/sharp-libvips-linux-arm64": "1.2.4", + "@img/sharp-libvips-linux-ppc64": "1.2.4", + "@img/sharp-libvips-linux-riscv64": "1.2.4", + "@img/sharp-libvips-linux-s390x": "1.2.4", + "@img/sharp-libvips-linux-x64": "1.2.4", + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4", + "@img/sharp-libvips-linuxmusl-x64": "1.2.4", + "@img/sharp-linux-arm": "0.34.5", + "@img/sharp-linux-arm64": "0.34.5", + "@img/sharp-linux-ppc64": "0.34.5", + "@img/sharp-linux-riscv64": "0.34.5", + "@img/sharp-linux-s390x": "0.34.5", + "@img/sharp-linux-x64": "0.34.5", + "@img/sharp-linuxmusl-arm64": "0.34.5", + "@img/sharp-linuxmusl-x64": "0.34.5", + "@img/sharp-wasm32": "0.34.5", + "@img/sharp-win32-arm64": "0.34.5", + "@img/sharp-win32-ia32": "0.34.5", + "@img/sharp-win32-x64": "0.34.5" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/ssf": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/ssf/-/ssf-0.11.2.tgz", + "integrity": "sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==", + "license": "Apache-2.0", + "dependencies": { + "frac": "~1.1.2" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "license": "MIT", + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stable-hash": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/stable-hash/-/stable-hash-0.0.5.tgz", + "integrity": "sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA==", + "dev": true, + "license": "MIT" + }, + "node_modules/stackblur-canvas": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/stackblur-canvas/-/stackblur-canvas-2.7.0.tgz", + "integrity": "sha512-yf7OENo23AGJhBriGx0QivY5JP6Y1HbrrDI6WLt6C5auYZXlQrheoY8hD4ibekFKz1HOfE48Ww8kMWMnJD/zcQ==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.1.14" + } + }, + "node_modules/stop-iteration-iterator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", + "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "internal-slot": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/string.prototype.includes": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz", + "integrity": "sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.12", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", + "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.6", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "regexp.prototype.flags": "^1.5.3", + "set-function-name": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.repeat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", + "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.10", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", + "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-data-property": "^1.1.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-object-atoms": "^1.0.0", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", + "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/stringify-entities": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", + "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", + "license": "MIT", + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/style-to-js": { + "version": "1.1.16", + "resolved": "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.16.tgz", + "integrity": "sha512-/Q6ld50hKYPH3d/r6nr117TZkHR0w0kGGIVfpG9N6D8NymRPM9RqCUv4pRpJ62E5DqOYx2AFpbZMyCPnjQCnOw==", + "license": "MIT", + "dependencies": { + "style-to-object": "1.0.8" + } + }, + "node_modules/style-to-object": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.8.tgz", + "integrity": "sha512-xT47I/Eo0rwJmaXC4oilDGDWLohVhR6o/xAQcPQN8q6QBuZVL8qMYL85kLmST5cPjAorwvqIA4qXTRQoYHaL6g==", + "license": "MIT", + "dependencies": { + "inline-style-parser": "0.2.4" + } + }, + "node_modules/styled-jsx": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.6.tgz", + "integrity": "sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==", + "license": "MIT", + "dependencies": { + "client-only": "0.0.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "peerDependencies": { + "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "babel-plugin-macros": { + "optional": true + } + } + }, + "node_modules/stylis": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz", + "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==", + "license": "MIT" + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svg-pathdata": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/svg-pathdata/-/svg-pathdata-6.0.3.tgz", + "integrity": "sha512-qsjeeq5YjBZ5eMdFuUa4ZosMLxgr5RZ+F+Y1OrDhuOCEInRMA3x74XdBtggJcj9kOeInz0WE+LgCPDkZFlBYJw==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/text-segmentation": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/text-segmentation/-/text-segmentation-1.0.3.tgz", + "integrity": "sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==", + "license": "MIT", + "dependencies": { + "utrie": "^1.0.2" + } + }, + "node_modules/tiny-invariant": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", + "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==", + "license": "MIT" + }, + "node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinyglobby/node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "license": "MIT" + }, + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/trough": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", + "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/ts-api-utils": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.4.0.tgz", + "integrity": "sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.12" + }, + "peerDependencies": { + "typescript": ">=4.8.4" + } + }, + "node_modules/tsconfig-paths": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", + "license": "Unlicense" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", + "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", + "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.15", + "reflect.getprototypeof": "^1.0.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", + "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0", + "reflect.getprototypeof": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typescript": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "dev": true, + "license": "Apache-2.0", + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/typescript-eslint": { + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.53.0.tgz", + "integrity": "sha512-xHURCQNxZ1dsWn0sdOaOfCSQG0HKeqSj9OexIxrz6ypU6wHYOdX2I3D2b8s8wFSsSOYJb+6q283cLiLlkEsBYw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/eslint-plugin": "8.53.0", + "@typescript-eslint/parser": "8.53.0", + "@typescript-eslint/typescript-estree": "8.53.0", + "@typescript-eslint/utils": "8.53.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/unbox-primitive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", + "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-bigints": "^1.0.2", + "has-symbols": "^1.1.0", + "which-boxed-primitive": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/undici-types": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", + "license": "MIT" + }, + "node_modules/unified": { + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", + "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-is": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", + "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", + "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unrs-resolver": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.6.3.tgz", + "integrity": "sha512-mYNIMmxlDcaepmUTNrBu2tEB/bRkLBUeAhke8XOnXYqSu/9dUk4cdFiJG1N4d5Q7Fii+9MpgavkxJpnXPqNhHw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "napi-postinstall": "^0.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/JounQin" + }, + "optionalDependencies": { + "@unrs/resolver-binding-darwin-arm64": "1.6.3", + "@unrs/resolver-binding-darwin-x64": "1.6.3", + "@unrs/resolver-binding-freebsd-x64": "1.6.3", + "@unrs/resolver-binding-linux-arm-gnueabihf": "1.6.3", + "@unrs/resolver-binding-linux-arm-musleabihf": "1.6.3", + "@unrs/resolver-binding-linux-arm64-gnu": "1.6.3", + "@unrs/resolver-binding-linux-arm64-musl": "1.6.3", + "@unrs/resolver-binding-linux-ppc64-gnu": "1.6.3", + "@unrs/resolver-binding-linux-riscv64-gnu": "1.6.3", + "@unrs/resolver-binding-linux-s390x-gnu": "1.6.3", + "@unrs/resolver-binding-linux-x64-gnu": "1.6.3", + "@unrs/resolver-binding-linux-x64-musl": "1.6.3", + "@unrs/resolver-binding-wasm32-wasi": "1.6.3", + "@unrs/resolver-binding-win32-arm64-msvc": "1.6.3", + "@unrs/resolver-binding-win32-ia32-msvc": "1.6.3", + "@unrs/resolver-binding-win32-x64-msvc": "1.6.3" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/use-sync-external-store": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz", + "integrity": "sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==", + "license": "MIT", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/utrie": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/utrie/-/utrie-1.0.2.tgz", + "integrity": "sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==", + "license": "MIT", + "dependencies": { + "base64-arraybuffer": "^1.0.2" + } + }, + "node_modules/uuid": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz", + "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "license": "MIT", + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "engines": [ + "node >=0.6.0" + ], + "license": "MIT", + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/vfile": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", + "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", + "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/victory-vendor": { + "version": "37.3.6", + "resolved": "https://registry.npmjs.org/victory-vendor/-/victory-vendor-37.3.6.tgz", + "integrity": "sha512-SbPDPdDBYp+5MJHhBCAyI7wKM3d5ivekigc2Dk2s7pgbZ9wIgIBYGVw4zGHBml/qTFbexrofXW6Gu4noGxrOwQ==", + "license": "MIT AND ISC", + "dependencies": { + "@types/d3-array": "^3.0.3", + "@types/d3-ease": "^3.0.0", + "@types/d3-interpolate": "^3.0.1", + "@types/d3-scale": "^4.0.2", + "@types/d3-shape": "^3.1.0", + "@types/d3-time": "^3.0.0", + "@types/d3-timer": "^3.0.0", + "d3-array": "^3.1.6", + "d3-ease": "^3.0.1", + "d3-interpolate": "^3.0.1", + "d3-scale": "^4.0.2", + "d3-shape": "^3.1.0", + "d3-time": "^3.0.0", + "d3-timer": "^3.0.1" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "license": "BSD-2-Clause" + }, + "node_modules/whatwg-fetch": { + "version": "3.6.20", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz", + "integrity": "sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==", + "license": "MIT" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", + "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-bigint": "^1.1.0", + "is-boolean-object": "^1.2.1", + "is-number-object": "^1.1.1", + "is-string": "^1.1.1", + "is-symbol": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", + "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", + "is-async-function": "^2.0.0", + "is-date-object": "^1.1.0", + "is-finalizationregistry": "^1.1.0", + "is-generator-function": "^1.0.10", + "is-regex": "^1.2.1", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.1.0", + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-collection": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.19", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", + "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "for-each": "^0.3.5", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/wmf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wmf/-/wmf-1.0.2.tgz", + "integrity": "sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw==", + "license": "Apache-2.0", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/word": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/word/-/word-0.3.0.tgz", + "integrity": "sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA==", + "license": "Apache-2.0", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/xlsx": { + "version": "0.18.5", + "resolved": "https://registry.npmjs.org/xlsx/-/xlsx-0.18.5.tgz", + "integrity": "sha512-dmg3LCjBPHZnQp5/F/+nnTa+miPJxUXB6vtk42YjBBKayDNagxGEeIdWApkYPOf3Z3pm3k62Knjzp7lMeTEtFQ==", + "license": "Apache-2.0", + "dependencies": { + "adler-32": "~1.3.0", + "cfb": "~1.2.1", + "codepage": "~1.15.0", + "crc-32": "~1.2.1", + "ssf": "~0.11.2", + "wmf": "~1.0.1", + "word": "~0.3.0" + }, + "bin": { + "xlsx": "bin/xlsx.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zod": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.5.tgz", + "integrity": "sha512-k7Nwx6vuWx1IJ9Bjuf4Zt1PEllcwe7cls3VNzm4CQ1/hgtFUK2bRNG3rvnpPUhFjmqJKAKtjV576KnUkHocg/g==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zod-validation-error": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/zod-validation-error/-/zod-validation-error-4.0.2.tgz", + "integrity": "sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "zod": "^3.25.0 || ^4.0.0" + } + }, + "node_modules/zustand": { + "version": "4.5.7", + "resolved": "https://registry.npmjs.org/zustand/-/zustand-4.5.7.tgz", + "integrity": "sha512-CHOUy7mu3lbD6o6LJLfllpjkzhHXSBlX8B9+qPddUsIfeF5S/UZ5q0kmCsnRqT1UHFQZchNFDDzMbQsuesHWlw==", + "license": "MIT", + "dependencies": { + "use-sync-external-store": "^1.2.2" + }, + "engines": { + "node": ">=12.7.0" + }, + "peerDependencies": { + "@types/react": ">=16.8", + "immer": ">=9.0.6", + "react": ">=16.8" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "immer": { + "optional": true + }, + "react": { + "optional": true + } + } + }, + "node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + } + } +} diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/package.json b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/package.json new file mode 100644 index 000000000..a1df2a9e6 --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/package.json @@ -0,0 +1,46 @@ +{ + "name": "oci-agent-light-demo-creator", + "version": "0.3.2", + "private": true, + "scripts": { + "dev": "next dev --turbopack", + "build": "next build", + "start": "next start", + "lint": "next lint", + "test": "playwright test" + }, + "dependencies": { + "@emotion/cache": "^11.14.0", + "@emotion/react": "^11.14.0", + "@emotion/styled": "^11.14.1", + "@mui/icons-material": "^7.3.7", + "@mui/material": "^7.3.7", + "@mui/material-nextjs": "^7.3.7", + "@mui/x-data-grid": "^8.27.0", + "@uiw/react-json-view": "^2.0.0-alpha.40", + "@xyflow/react": "^12.10.0", + "framer-motion": "^12.27.0", + "html-to-image": "^1.11.13", + "html2canvas": "^1.4.1", + "jspdf": "^4.1.0", + "jspdf-autotable": "^5.0.7", + "langfuse": "^3.38.20", + "lucide-react": "^0.562.0", + "next": "^16.1.3", + "oci-sdk": "^2.124.0", + "pdfjs-dist": "^5.4.624", + "react": "^19.2.3", + "react-dom": "^19.2.3", + "react-markdown": "^10.1.0", + "recharts": "^3.6.0", + "remark-gfm": "^4.0.1", + "xlsx": "^0.18.5" + }, + "devDependencies": { + "@eslint/eslintrc": "^3", + "@iconify/react": "^6.0.2", + "eslint": "^9", + "eslint-config-next": "16.1.3", + "playwright": "^1.57.0" + } +} diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/playwright.config.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/playwright.config.js new file mode 100644 index 000000000..8129595f1 --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/playwright.config.js @@ -0,0 +1,71 @@ +import { defineConfig, devices } from '@playwright/test'; + +/** + * @see https://playwright.dev/docs/test-configuration + */ +export default defineConfig({ + testDir: './tests', + /* Run tests in files in parallel */ + fullyParallel: true, + /* Fail the build on CI if you accidentally left test.only in the source code. */ + forbidOnly: !!process.env.CI, + /* Retry on CI only */ + retries: process.env.CI ? 2 : 0, + /* Opt out of parallel tests on CI. */ + workers: process.env.CI ? 1 : undefined, + /* Reporter to use. See https://playwright.dev/docs/test-reporters */ + reporter: 'html', + /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ + use: { + /* Base URL to use in actions like `await page.goto('/')`. */ + baseURL: 'http://localhost:3000', + + /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ + trace: 'on-first-retry', + }, + + /* Configure projects for major browsers */ + projects: [ + { + name: 'chromium', + use: { ...devices['Desktop Chrome'] }, + }, + + { + name: 'firefox', + use: { ...devices['Desktop Firefox'] }, + }, + + { + name: 'webkit', + use: { ...devices['Desktop Safari'] }, + }, + + /* Test against mobile viewports. */ + // { + // name: 'Mobile Chrome', + // use: { ...devices['Pixel 5'] }, + // }, + // { + // name: 'Mobile Safari', + // use: { ...devices['iPhone 12'] }, + // }, + + /* Test against branded browsers. */ + // { + // name: 'Microsoft Edge', + // use: { ...devices['Desktop Edge'], channel: 'msedge' }, + // }, + // { + // name: 'Google Chrome', + // use: { ...devices['Desktop Chrome'], channel: 'chrome' }, + // }, + ], + + /* Run your local dev server before starting the tests */ + webServer: { + command: 'npm run dev', + url: 'http://localhost:3000', + reuseExistingServer: !process.env.CI, + }, +}); \ No newline at end of file diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/public/entypo--lab-flask.svg b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/public/entypo--lab-flask.svg new file mode 100644 index 000000000..6fc8e489e --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/public/entypo--lab-flask.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/public/fonts/OracleSans/OracleSansCd_Bd.ttf b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/public/fonts/OracleSans/OracleSansCd_Bd.ttf new file mode 100755 index 0000000000000000000000000000000000000000..7630ab7bfcd046d0b4d193eeeabda644e1f5ee4e GIT binary patch literal 144984 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%0Di;3e4w*PE@C6a)8J-ixCo{WW?oj*?iMzaM@hQu z8t=t14l^GQyn;C{EinpIA~Dkor-6R^q&Smgw)aspO4fxVl6RZhUi zCSa8lu*wNota1WYIRUGjfK^VwDkor-6R^q&Smgw)aspO40jr#VRZi&XjE7g@9#=IQE<2ul zRij}v_qYo8xC-~U3ir4Q_qfV^U4?sGg?n6udt8NkT!njFg?n6udt8NkT!njFg?n6u zdt8NkT!njFg?n68uO`FyiTu1zpo={AZH*&m{4mN#Z|~#D6A< z|4b79nI!%*N&IJ$_|GKqpGo3BlkmNt5Ci;)yw}n2Cz7r=!=G@cKjBV)!kzwvJN*fF z`V;Q-nx4^n>W#BKuaUiZjqJ^9dS0$^zVS6(`CXy&jjzc^HhLF@YkH0@JKy-4o~G~0 z`Nr4C-n>Tk<~3PB)vG7t!u^!JGt4zO)itcZHT6w3u#{`+q07$Fyaorjrhblx*VWJS zLceKvU41k9J*MmGmCLr#*VP}Foh@@+HrnWHnd|D|q|n~nb2fr?>VZ7HzWfxrby3BRW@UHQ`1lKjg8y8UHcfGG` zt~PpKg6o>AjgA{%kDj27vrVpRj`bCsRdPLYR>^g-BiD3;&KbTzyzYkXy-H=Tv)mvq zaRVv3K}7Bban2h=+inm&yFtX@1~PU-eu~Z|CU66JyFt9`2A=*6WbX#?t{cR)ZV;`y zfwz7GnY=-?>ISi?n|kh}itXAO-qdq9+H1I}=kBt-hMRisF8h7+oAmr9^T|!t1#aqj zRjb~s05@3$xJmr~CNtzsJtH6WTGdTGBbR?j%O8V|>fa=)f0I>=o5b*M61Tre-2SG< zS!YF##@{3wf77##&e8kVLhW)O)ce;$y?-s#E(b#0g;2X32(`F7PmN?%WvwU) zWov|=HA+^El2xH(RVY~%>Ujy}=?JyUfl#q8q2yL5xfN<0gc=9oKClmz|Dqa6vhbUr zBw1y7rb6vfNi`~;y^oQ29y5Gp@G zc#^X66I51yg77V_rbxKTTAL7RZ9=HE3E?I13T?*doAMJ>ulxkzRqEg8teY-toYfzV zfvzA%sy2?q3a9y8aW3BnZLqWlDvmE$Vx;OIKqZ=j9V zCRDGr38CWlLS?-QcXCwgxzRmlw$T*H=cwK`SIkx@b}baU7K&X9#jb_-(Z(}pmE^?j z^=7y5A*0!~u*3C|4Yik4xLz?^p<=c|#cYLovsVM{mTc4|*GwvlO#c*>hu+ z*|ktHTj4O*7rRzj>{_Uptxz#r;kd7Cb}dxQR;ZY*P%&GfVzxrXY=tXm*+PwCwyIIg zR;ZY*P%&Gf*mX2jqhS=g7JdvAyH zSc*`Qy=bc0wXg<;VsK}mBkv*XzdqPF_gtm9n9N7~pvL{qzPxu_? zDzc}tB74F;loi=ic`xN}fS$*uX-wV}DzYb3WKXEbp3s(Yn&x(&rO2L8kv*XzdqPF_ zgavSzdPVkBV=Fn$kv*Xzd&2K?9b3$4vIuVT7nBv*Q(5r`q2doh+t6u_>xk1Db!{8egfbEheKU{qvJxQKEy=PI(N8b$VmitGtnK}GgdevFo@K--0B zSm$Yu?5X@kY82U1S&==VB6~tb_Jr#=s>q(oitGu$LXEBVG;uABwq(!sw%ya55v@B{ zWKXEbo=}lJp(1-ic@08E_Jr~pgo^A571q15Lgjxp_YL{K1)&YfD2NYUIrX%gsk@o3G`*iHlbYy z>J>dyz ztSQqS*%O|k##%F7^N-I`WKXEbp71nB71>i+yX*=T*%K5l9P71>O!3j2)qF@@D&J(v~F zaI8l7G`Jm9tWPzH)d&@<5h_+ARIEm*SdCEcQwkNU5uO1rfQr?qMzI>%2gy!ut;q5cw?K9!+GvVzs;q5auQ@M?K z`%HNIOwCs=o43z|x6g#P&xE(ngtyOh)Fqk;Z=VTop9ycD32&bXZ=VTopNR#Tsqq|- zX2RQN!rN!+xs1ynv%Q$5ej4R{3vJnFsaG!Bvd>a~T$cA8&B70z1>cxu?^`wYI%nZ^ z&cf@QW$#-xW>B;6D`&wyX5m-PviGfedEY|&jI;0=XXzVUwr@BKPjHsKZ$=X13eDaaExla?`pj7 zYR8dO@A0X|`>tk`l(R{_z3*zg?`pj7YP|1im_xOrNjhrpyBhDi+A$@SJ(BW?L3`iT zumZ_GWiv^QB1b*K)p+04c;D4{-_?wHHDg|l_g#(mU5)o$jrU!R_g&2ssn%Sf5yShg z#)4OC2JpAo`>y7BRr9>6y+WrN+wp2Fcn#iS4c=l6-eL{jVh!G64c=l6-eL{jVh!G6 zjdbL^ydBStHF%3Pc#Ac7i#2$QHF%3Pc#Ac7i#4*&<57(~g6|0JE!N;I*5EDHgj+Ql zHS!K#7us8_!CS1sTdcubtifBX!CS1sTdcubtifBX!CS1sTdcubtifBX!CS0xCY!El zZ?Oh%vBr5*D%)GE!CS1sTdcubta09s>g_Go$g^;->@C*dE!H>|r?S1p8ob3Cyu}*4 z#TvZD8ob3Cyu}*4#TvZD8qEOj=`4GTHF%3Pc#Ad8WK)g3#TvZD8ob3CXYZ)S-eL{j zVvS}GU%}pDjqHwkg|}FPw^)O>SmTJF>g_Go;4RkRE!N;I*2u^4x7b^(!CS0xY*1x; zi#3{&eEp5o*juc@TdcubtZ}q3`Z$c`m!!X=QLScxcZK#AYo+@}dyBQwaihJ(S~R^D zZ?P6{u@-N!7H_c@52aSJq4s!-wRnrQl81LxV{fq*Z?P7ysupii`#Gs6wRnr#ZAJa8 zMVD*w7HjbqYw;FqrPnib)ZSt(-lEo!xw5^*TD(PZPuJir*5WPJ;w{$VE!N^K*2<=9 zbxL}t>)TSbaW>xKY`n$U>YGD=Y;Cby<>QbF`h*X{u~SKEym!_v9L$ik1;dH@D^iui!r>#7~Wz`^YaX~ z@%$XaTa4i?#_$$nc#ARTf#|5c#TedVO!KzO_7-E#0}#m`2i9wzn8#R*&H=#_$$nc#AP+_!!<|3~w=}advxi+8CTR z#+)C+Ta4i?#_$$nc#AQ-#TedV%x}m>F>HMdZ!w0q7{gnP!CGUm));mnCcB{T!dr~t zEyna@U1N?KgQLdq7Gqe77~WzGZ!w0q7{f-y@D^iui!r>#7%Vg<+3?luEynN`V|a@( z|H6)H9;3JR7GtoH7}g|)w;01)j7g$=t~qB6&Kbj7jA3hHvNb+xZ!w0q7{kiMure{p zp6l%`#_$&7(vCNESN0a;c#CoAh|BgCiF@fPEf*cVh|iH+ke z#_<;8;twZOV{b7o7NK+T7UOt}alFMi-eMeYF^;zw$6Jge?Qx_%jz#9B(m>w;0D;jN>iF@fPEFi*dZgINoC1c_6xu zy~Q}*VjOQVj<*=cTa4o^#+moxXha-uF^;zw$6Ji!EynQ{<9Lg4yu~*3z$6Jh} zDRI2TINo9$t%>6;#_<;8c#Cno#ke%c_iJx4j<*=cTa4o^#_<;8c#Cno#W>z#9B(m> zw;0D;jH6j`G%Jp`7{^iF@fPD~ZXC^x<1NPV7UR-ipJi_`F8wvy zTa4o^#>D~rUG^5^(q$jDw-}c$yT;yP0`{1IJtkm}3D{!-_LvB~){uZbCSZ>V*kc0r zn1DSdV2=sdV*>V=fITK)j|tdg0`{1IJtkm}3D{!-_LzV@CeYRd>@fj*Ou!x!u*U@K zF#&r_z#bE@#{}##0eeiq9uu&~1ne;ZdrZI{6R^hw>@fj*Ou!x!u*U@KF#&r_z#bE@ z#{}##0eeiq9uu&~1ne;ZdrZI{6R^hw>@fj*Ou!x!u*U@KF#&r_z#bE@#{}##0eeiq z9uu&~1ne;ZdrZI{6R^hw>@fj*Ou!x!u*U@KF#&r_z#bE@#{}##0eeiq9uu&~1ne;Z zdrZI{6R^hw>@gw9c`r)99uurJBw&vT*kc0r_zBJ7qtP#eb+E@eS%i0^I@n{KtbogA zk9DxeI<oCABD1ACkUdz_l_}{I4(5TIXptgh2}bkN9efF zT;f7=ox`JZ92c6WaW;BAcOG$}c^Y%qcs*Cq3Q6ERjlau|3(eE4F@<`EZ~rzhep zBCqGpBQ7+LxX?V}Li03k|I8Wp0ve$Fx!NlfiRL2zy za9n7<`e}4rXg(Z%zIx@d<3jV*AD0~$nlA=kCGurk zsGhh`J$GG?-%+o-R`euvRz^K>p?cy%^^8M3<515y)H4qCcoX%+h3bh5)e{%0XMF03 z3)M49^>`5Vj8Z*bLp^b!dg4O$_z3mHh3bh5)e{%0CoWXaNY*ow^UOdEQ z`;7IBa6Kbj58JONE>urksGc#e*GN>UWK^0^F-<+$A#*N3)Rck zyX?47edM@MJAB;v z4d`71de?y7HK2D5=v@PP*MQzNpmz=ET?2a8fZjErcMa%W1A5nh-ZiM7tRo>IqNK@)W2y^;F}C)5GEnM!l&g zyv)&YYV@XF^stzK>Sgg=)|+}ly{RYEn|i_p;BuekH}!;iQ%|Tj^@Ms;PpCKbgnCm? zs5kY5j^R8kE9`pfMWdd=yF%OCMvc7DHn&kDY;?q?5glyA<~Cw;8?m{K*xW{JZX-6g z5u4kH&20=Fv1!ESHez!du}zKG+(v9}BR01Yo7;$%HDYrcvAK=d+(v9}BR01Yo7;%Z zZN%m_Vsjg@xsBM|Mr>{)Hn$O*+lb9=#O5|)a~rX_jo92qY;Geq_p|hBsig7sXsNjC zn?mggEOegCQc0uBj(IMX9J;JG7KPf2Td2Lbh1%Ik=q$3O%vVb#GgZ-2e9xu$o=YV^ zwW{$-&>WxLAR~45^l1GL6DBCw&>NggJUPD|8cU`LS z^mV)@xD@|xsm9YaUI$#NQFVEk{=7vSul+5>Yg;NgbU(eKw-g_3Dcp6b-&jDs zMQRde?oeOJSDlK#S8d}<`S_*4j>Ngfu z)}Fw^1V_CRw-na86u!Dty6JPhzP40PR`(*A_cyNeT}1YSmimoFVUl{Uku8O2m1&ZF zagCo*6JB$Zo``$mJhvuU8Kd*unq*Uqeilu5yGq)_{X3bkLTQ19poJsQiIIhXq#J(bUZdPh%X&z8&mj$X7}Go(@P=n3_Xp3t-6 za?OM;>m5Cz-q90!#$K*@Z-zW=N1vKC?-?C;YSz4GbgZcvy>3RYo6+lL$-@h(cTPgH z?2Fqt%G4|?3}OiZa+Oy=9F(SD&q z?H4N4exX9`7b?^q`@)^FM9tx|p!V2TS$pgYwO^=E`-KX%U#L*~g$lLDzVJn^pgs0g z)_$Qv?H4N49{WP=7b?_#p+fDkFVr4`!k0nqv9I!go=&rPk^7+iLWQsB`8G>>UDke~ z!dGdjJ@!@BeuF~ou`kqqp~AQMuG7?OkA2l>kA0!`*cWP#eWCUX6>7gw;Sae-?Xj5^9fqq4wApR&zD&l%;Yl z=Q?uROuVRB_Q>_ly=)ev^L4aes8IWb3T;iAHOu)r+Amb7{X&J>k432cLWSBdRH!U^ zVGCE&exWLBzfhs}3l(a=P@(qN7iy1v;p4Q|9{Vb5zfhs}3l(a=P@(n<6>5)tq2s#E zM2DJX6J6gyz4i-LS^I?wwO^=E`-KX%U#KukZ?#{j%GxhfsQp5P+Amb7{X)e~Yz?gJmp=u#Q)k1`-MOOY@)jLAff|YNPl|QfYuh8DMzD2g)Xiuj__Wkv!g$Pv( z5vms5%eZRH30rhWE}J*D$fkcsXq(<53-Vo|vte6^P_@X8_&Q$SY=JknNJHOK+4j8! z4%s3Nb&a!OTZmA#FfuJfs9K0nwGg3dAwtzcgsO!IRSOZS79vzFu+0`CR4qiPT8L1! z5TRXl>Mgdu zMH=DuUf*mXLe+w;Zy`d}BD>@E&W3FvLe+w;Zy`d}g2iu9D`ho|j>)W))i63Hvr=uo8?7WJvl731B{7+m@ZOcOXjM8otUj-l zWp~-W_Db1zmy0eFlUYejW+gG1mBeILinXc@F`1RbWLDx?uavG$Mvq8Zs-jk+F0Dje zT8X-}qEoFzU0R8{v=Vh`CF;^j)TNcEODj>ARxE5QQI}StF0DjeT8X-}5_M@M>e5Qo zrIn~ltD+tHcA_q=L|s~my0j8?X(j5?O4Oy5s7otW_%VFO$D~=K(PPr7H>1ZS|C2&T zmL8L&868=AOfq2fEU`-Ce_p6Jl7xCAN$Az0ReB08d$nklo`uVLBT1+?l7tQ5eO$ru zgjJf6T<^Jbm29_AR(MqCw>(x6Pgq4fVHLb?m7b=L`pu42#1K~TWLL>Dy58?`tddQ1 z*_kA(c-E_k7_8!1uhO&jQ9tWdvUe_Dpym6NokOyUSivfy1gm6^R3nR{ma;f5TlQAT zcDTmxXsjX{uu7J~H4W4}0{Xp-RYU+*Avvow^Sh1T%UGodfXj{mtkQgL+(=C~s5g?L z)yzw)b?;Rw`?;)UURur5S1yRY|7*6=Zxra#dDMgqj-+d zZxcMOsE+ZbG18v@!dYN7I3KJBH-K5;8eMr*Xn%i=WMeW~1KVE%+g}6QUjxryBT4X4 z^Z7OK`89g_E}Oltfw8ZFpRa+RuYsSh(Ua9t*!UXQ_!?OE8d&!lJx3ok-(CaXUZdye zvYGZ881))GwaMrSp34(FktZ1QCm81^7~3Zp!#3uGHs*vj=7cupgf`}cHs*vj=7cup zgf^aO8*@S%b3z+)LK|~J8*@S%b3z+)LK|~J8*@S%b3z+)LK|~J8*@S%b3z+)LK|~J z8*@S%b3z+)LK|~J5*wYwMkle+No;fy8=b^PC$Z5BCwgT5E}D zt;L63OGIle5v{dEwAK>QT1!N0EfKA?dZxbexUWn^YptG?YKUm9)l+aep|M>{L~AV( zt+hn7)@p{Iq5338{l>~#B3f(34aTE(7)v{hr5(o7uF-J48B05ir5(o74r6J@uC;St z?O3sP7)v`=tR2SEjumT%v9!Zj+F>m1FqU>0OFMR_9mdiQV`+!6w5wN>@-&=-lp^w< zA_pl&%s-|6oKU?pI#TMD_Wj{mq{zxhk(H6ccTV9ur&t9@k%N@dEbaDwVX2PwsBLQ1y7ZT!Yc zO5^OZJ>L|bZ;JJWlq`$u{l-d)9HbOENGVwv*Z7T<6gfyK;@c_N9o3VAl+sgkd77_@ zZ<}HbA|DM^&e_El5(swqjAYu0hp zIY=qlN29&V6e}7jRy0zQJ=Z%2DMb!aTH5iZuHqlaM?LXX|V{MD|voh=r>lre^+h%#!6b!ZuA=~Y00_KIY?=8kkaHJr6t?0_Zur| z$+pXTDf^9;G_mD0IY?<)H@DdbItM8&>t^&DD{0BUet}Om&i(WoD`{Cemk;Y%q|t~p z@uIXe!aejGD`|3&($Wi;{l-d~=yaO(mozczG&x9VG$k$j=xd&09Q?*gT3X|?{KiU} z9HcZkNNH)1Yn+3WCI=}^4pN$Ec3OJmKKPB5G&x9V>5NcGr^!J|qgiP*D@}Ym zO%768`sMb1VYGi+neq$vqjZ;fGmc z^wH?3MOrr6S8(J!E!}h*zp;{*Zn}-%SV_xj`wGiF=89$d`p!X0OHYk{VyR#-8!Kt)tj~2cK8@z4r4#-Zzp;{*#dp1PkkaC} zu5k`hTKemAH_+QG=p3Z9blFFpgOrvoyT&<48Q5b6_LzY^W?+vQ*kcCvn1MZJV2>Ht zV+Qt^fjwqmj~Uow2KJbNJ!W8!8Q5b6_LzY^W?+vQ*kcCvn1MZJ(AEs>F#~(dz#cQO z#|-Q-1AENC9y74V4D2xjd(6NdGqA@D>@fp-%)lNqu*VGSF#~(dz#cQO#|-Q-1AENC z9y74V4D2xjd(6NdGqA@D>@fp-%)lNqu*VGSF#~(dz#cQO#|-Q-1AENC9y74V4D2xj zd(6NdGqA@D>@fp-%)lNqu*VGSF#~(dz#cQO#|-Q-1AENC9y74V4D2xjd(6NdGqA@D z>@fp-%)lNqu*VGSF#~(dz#cQO#|-Q-1AENC9y@r}9eSFhQHP$I_OjGds}_1ax5K|@ zB<$y?bIUvQT#WiXBcXoJNSNnn0UYM2S9m-0M2tmHzh|Vf*LFJ?;SP zBjy^%#5y!e#sy%rugsWqXf#~!eEtsIyW2au)uFpKdY!j}JMG|3J9LkF8w7809p2(P zyv22Tc9YRMyv21ICGBp5x7dld*on8;iMQB^x7dld*on8;iMQB^x7dld*on8;iMQB^ zx7dld*on8;iMQB^x7dld*on8;iMQB^x7dld*on8;iMQB^x7dld*on8;iMQB^x7a1y z{ht1I-cFbFU3)>2KhPx$?i%OqbV<|S6*_OHOPX$U-cFaSxy#NU=#mBZo<7do=^}ri zi~NBu*>2Tq+{T6bDLZec3pUt={p!+4ss?`5rSWvxc{^ROmoAO!xUwtErZ%XbM(6Ep zfcI`tuUvNC&Ia|zW#{c|5NoXxI&WtKc{>}#$@TUQ`6?U8SJ^R93i zF>{xH$QArP*9NjpHYoa`vZ5bG=k07DhhzgeBpbxlb(X&0^;yt7B&(jkBXr(Qmb{&; z`tP#ycCy?>R(IhV=j~*x08ieXJz+&uHWa%lDCs3B9~<(vy5a`mR(2T%vsrPmmQtUGQwF#I15A05~<4) zsmn6vS;jmIPtFpx%gWCBTu1G)MD4OXk*qAKMvSOk7Ji$ReRLZ~?Xo`9w;R#-jp+ME^nD}xz7c)jD9Q8=R$de7#$tB+Hx5+(dCg|s*v)SL#(~Opw3!3? zJ;d(7D+WDa<@;T)C#W~d^z3v6J-bf`_xPxP<3On2I1oBU*Uhu*COX%xXXN^~ zX`|mbP+7lmAk=Rh2!BZV$KVanZ`E}Z&Ff~gyEWRnCS%*Jv2|I$aUj%h90)Dd-5RB8 z&4#|;9QT`pA>_Ez91I}`L&(7paxjD(cbbDC?2PIT%6?hLD3H?2PIT%6?hLD3H<@=??pMRTMmYhgCXQ#2ss!+4ttk_A>?2PIT%6?hLD3H zJDIC@5=Gfb6lEt-l$}ITb`nL|Nfc$LWLW1CMcGLdWhYUTonpU}(X;6Iv*`G< z==ihf__OHvv)1t-&|Y2LL8wpvSEqmFav0pJzslt(xHGt~QobYjc(AxqzEhg=M5X+Z zV0y5wQoc)iw6#*cJ9sA8T`Aua%+LkP*PL=&Sv#eKGb;7dZY$rbzWqwMUMGDb{9L6R z2A>SS65J7lcTQ1%9|`}UQVxTUYd$E~N5MVe|EQGj2$pDWF4x}~%!w9P${z_nCW$E5 z-xVaHrz+*UgC9qSD&>2E+B-hD{*>FwQ-k~O_|r-o?W6Kx`QG3&cl=ekUVU!4b9SX1 z29Mp@@oH?*!iIe(7=U$?F++tuFFv2{V^;1liLTVu;J zO`Ecrh6M{3Hhj8y+2@yix_r>bmS^gH?5A7DT=m6{EnB-bb;mgEe|JKczB9I^qqA#k zPsf&yOsr>1d!}P!`<4x{P3!*8{fos`^{nsM66QhfW_0)n4M>gufg7l`1 zpZeb)>DZQSUzSy$yFFO3^rp>EZ|Uk>-{Zl&?S58vH+O99>g=v}7rNGUrDM(8deZA- zU0;c9-Im(g)77)BM`IMc8pMJ{!NQ;+ct}%sELat63EG2nkPSNYS9{PMWP(oxn^YSM zx`G~wwQJYu|1P!ZQn^Phw+0LTmouN>T(@4XD>Uf}S$#IB-9o@p))srpiOP9W_Ti<-^+ipMqgR}on-_TXL&zP>)5p?Q` zTe(mFmC==Z7^RH<+Nk^75^PZ2CXLDepYe-vc2BULyNKxy+I4l0ZH#YuTAwNX{dax4 z+mye*e14buRPOuMV6)CitH)izS2=rA@RY7y9;pR-3hjC_J(Usry#8v}{lV9WRR=#C z{G6EWF9g3RzE>kFvLt*c{I&4Y;b+2!!^ZHl;nHwfaJTH(p5RZyrf_-K9Igmk!q0`j z9HhP+!yW-`@#d^?}vX7{$cn>;Y;Bkhkp|M zd2ml~GJH9BKRl=?#gBr?@b86(!~Sp}{QKem75;tA}SAqi)%u?`D@W;VF48I-z)9{~#|2+H` z;lB+3Rrs&Ne-r-O@b%#9!3)8cgXe<(7(5^B3kHI}AM^&_2>v?!v+&Que;5Ay@H^rE z6aI(rKk7H>^=s1l{pLaa_Uw1VQ=xu8Q@?!oW^ge0d%+?7I^FkzZ;JKz2mdzsmVUME zjDF4QKkIk2{xCeJ-2>&Z%dseM~zpd_4N4s5bbonwYNX9sZc!xlBZ#h<;h`kIm5=S97CZ(bS~fX`^5DdpOa8 z=u^?cs3BSu-51>-JrF$@Ee`faOQMH@zYM+`+z2|NUkiq#Pe-2#zNdEp8iTXZXM;=1 zdR`VaX=?b}U~{xQ=uzh0ir{HwLwzpT8U1=Ns@$VTqDPhG^LZJ(e;gEow}Lal_m!2i zN|VcznohO{&qk}2U$I6^{Cw0FeIfWkFc=I4|0#Go_|MT7qb~*jB>D|aPk$Qyrp(C} zP1ZYtUD0nvza4Chekb@^AnqRhZuI5gziIWdU8^&S4M!cph2W+lRGra!MO3~L=+~8k z|88Gb{@kW8h&D%0Mq8q-QBQC&+7`SQeKmS2`dajKv_0Ap^hM8z#s5%K-l^bCPpe|- ze+V{p|0}Isob|kO)DyYSL&CS`@U#7eN;QXOP`hRYN*^xL&MbdPj6n|(Y+wuzO`d&M|Y-u z>-tK0#YH@9!;=+1Vm>*3H0{)Dvgch%PH2WQ=zYEN&t_2DJfMjH+AB z?rtw%b>@@XIz%Tm(Bin|`|J2xI@`YS!@p;3?%2|`DUnyQ}lTRO^hQ`T+TwuPfp z)`@$U+imUo8ilH@5`^w@vBSK%+_1Z=a=|-SY}>M_{DmJp?6Qz7TDYtta7_fWeM^t5kzy4-ph;=1sGC1nv>aUY*Lt0KP3mfe}z)ZJNWjNIuUa<^z3TK>A{>B=2W@y$?G9`B}QxBt<6+aJpw zy6umq@*f}lsk^-G__7B+{KNNq>kr-Zhky9aZ~vqG)l)nMw^#pECsy2cq-n|Re=NWK zkA~a-Sakaz_uu|UxtG(^+qOvi(ob`!EJB&?O=S_HU=ebmB0?^fMW|e|2+__WM7y#G zQ7nrP4G|$qh^eG>3t~#a-{C^#J6tS(N4ezhpq;;icIEG&SpE(g@*OUf#bilk8d_2j zmn9W(SyGuwmsG@NNo6WsQjx_am8o<|MeLSTBzrN}Tez??-7PGOpZ=~~Z*k>%i!0Y# zT)E!j%JmjkuDAH1X^eps-y-T^=vm*jB{N0CKw&HWZ+M`5orVX>*J*g5e4T~|%GYUl zpxm#92g=iK!vhPa>Iw`^&-$&?QTY%4nr5xP^@m3EgFmKfP(LV7QCAqx_0u@JT;4j> z6Gf#wjkc9PD*bG5&o%h^)+&F`2SuG#E>7j7N||%ZWzJu8e|h{CRqkiegJrc}^k8|8 zShTqO+!ie^w_CQTe80;cd~j;VliRw!+MbmFcW|v`i^^lRXvGT6LKWYCfr1D3-il@T z&vM5b7Ef#6vSrg#nG|#W^bh`E8vpQ6N)KgZ_LqoYM4Gon?vuNQIPPXZ| zo6@$;ReW--@2hn`Ohh(u%Q^RqVc&vdG`pQtronE#>jJuca)i zix!n1WkZFs(!F?_(2~o*EMh{9a~a4w#3J#m)kE{uw~P>?##@e`s>4U8y+m5+pwte zc^|^Du;D(&bz#H(2+cwXDc`k7Lb1%k*|Fj76_wAGmCr9!KK)G%4{}=z8x~bQ??c#h zU7nM!TmGI!4Jd)G-*k6-<@}DyXV(YUD}PRDPm2+2JW|s?EODQ={%YTvE|185idQ@+lJCD%{=Qo3tPdfUcz*^aMG{monDyH?Wdt}pO0^{HD&rapbE zd{)80dgXhUSH5>SV~bohJW!Ulh6fgGU9b78+(Lh;2bHt#ubg%NhjojVKO`+{ z-?FLut`+5v*7C<=<&QPxk2XH;UbeAa8rgmKipuB8%I6o#pLb=-tvkve+44ts`D07@ zqlb^X+bd^k>fwsA8GLU0;M01xu%b%~(WS~gRCI44x;N!Zn$r{?@7j9TvXp(ZDNlV^ z(N0C>tcpS}EGzU1O-t=*bBe0vw~C*;Rs5}6#g1FW^sQp&t>X3%iQ&7W-@*JSQ(S7~BSiwO>5cRh4&6|n{2Ep1p=ijN_Si*1pzwKQITolLm-@RMz;6On^z)nOE6?L&IiUoT`#S&vf zM8pOH_6Dd}gBtxAWBXx=CU#@*?P4t0q9PhK)?;6L>Nkfo%dL6ErfN}B3N^y6}LdFueAg(qqti!~q} z=&nrrT0nbc+TnoxD|EWuW59agq@zTfT}3CJVvjlPFvl*3I<#|~c8t@v*0cwlc7W6V zZ~7{l--I7_dt<-qP5RQAc6H<5^_#SFoAzz9o!Yc3J0JEQ(avkyDfAKCw5yu-RMY-x z+AB>vrCZ@g-}2I4=t#V2r!(zyrtj8!nM@f9le3V6^S0sQ+93#ZrvL3TvQ zeh66)AsZpx@gvJ1*b$Fft8dy!Eek2|*guuUo*N;PJrUXqzX<%WvkWZ``{3|jc44gG zS23}($GGNr<4Yw#Jy7@9GYy`3u>X%+Bh6U+hJcPl{9yS2JA`?{#6Djh`{8+T!i18W zP-2s&5&mL`q&CEI!OnTkA3KGN;ITpX(Kpo1c!~-%VPw0 zjo86s1b2<#t`XcdVxNu?yL61;t`XcdVo#0{+%C>3^bqyF#(qJ4Vg*ebg4rL_#Dx57cjqnlEw>81=PT8M7h zZ;or>wwzWDG-tz;@!#@(*Lc(){-<1dD4Pwp|G|=xq?mIjI?a4FO9k!vp-~Jj(=O8k z(|&TXi{U|PvJ^Q~B*L@{IB%&T#51rKD&ytKrM&V-p}|Zid#PKV8vb^-svQ}uXfUwy zNt{7Tw=FH>Dz*0#=*ujZRSFiU*&*|Rd4XBN7Qx1E(Kie(#kNXA!MD#9OT9~oImA^` zvF~DfPLdNsFxMhvg*31N=S(XhEgOO1N>U@GWjcl1qE{hHW_;5kDLl6)$ryT2;;{Y8 zTAtMPMcURnlu^nk$tgAadAtkMpw3e&sa)Q7N#?_F(T9+3S9(mjzOIstsO5y!jjG4W zJzo|RyJwL`mdR*Z32bsJ`LO5=o_j)nU8qeB=PhAqImQXXHXTD*NRyFUl4s%(WR|sQ zs!!+y;5@)h(l`Z(mR7|0N%Bb-q)N?OKtP?<=zus48Kv})D%yn923RUmtANcd%Sgdi zO3BaYK|F@d^pDg!Y;l2_W1FEc^+k2~0Ha1+k`869n3alJGk9U{5x_T+D}`8`&1%&a9Czky465x1=`YmI0fCi`Tmkl!-=ec!Tn zhuxrTNsuhq3@i3jFlAQ>gh1Y`$NO?%wzsbh zB!|}Xo;4}UwN)nXnU+-=Di3kUnoFuc(>*Ks$q`Q#B`;2!bW}YY&CJx7g#%{Yr3!=Y zWIYK$=JX`asCxtzx*ca;FmvLzt)`{q2^Vyhkm-@Kv{0T+i`kUb(o5Kqs-i(Esf8=n zIkCD@!fcayPro^L%K0x(J1->JH}=P7GHptvf7WG@KxAu{QF{cC=94s}z0e#q8=<0nvdr6)5J--Bv?q_p zF!C^8jCW@GC~wL|ZYLhnm`O%u`6!;;T~sTS7Ji^E8&$}WjXBKYF{VkfC1}wNK|#yiWvjQWv2zc##?7lQZ!IW0 z-&hL=Uu2rHV^~vQ!OL;g6SD^zH%q;gnR{i+xO)W(rli?PGs1 z)M{kR@>E)L4v9l&+M``==Q+fBFR(n5cuQov^t>g`-xX|vl_}P1LFSlzSon$Aoiw7b zWNm^SVbz??wl!PuB!?ntm{~4jvvBZ7CBF>K^qEaG%sbWX4K&Dd&eoPxqcthMxo*{Q zloV-ZulVxdlFB5@##>6Lq?c1J3J(r~WHZBxt{QyuFscPm=_FHib?613<- zOXU9RlbuzjW69pluqY&7dXO7*x@vG#h0hw*O7qjP>o$32gIt7r%8| zwiA=}(KLgxP)mIBkVc7r13hf?`Btjftji9y9|)o{eo%j7+ulErp6t;rwU9mNKLzp^ z@`&^rwI!*}-p(7jZsoTXCyBIT4$ph?Llh!y<=NIxm{KiNhD+8=78z9% zGP_hVO%M~TQkv^J8>$5$r)mM@?tmNLhvNtmc# zY7J6-J;Qf6HSq010YKbw^RN@-1y~W>T3C+>#9sSKkT=+XgQXZZSc<6$tYCa0ZPAPybL0D$TS)T)7_h&H|2dh3S zxY777W+gWsHhoreNwDa%mYcxCS`Rl7c6ZKmseC4E@Xp6qGS9fhu!Zv{w~;q#G~5<^ zALGjH!1pl)xPxSChC75WWdb;S4*?sz-@|@PMeZC~kAZEMx|$ZSJcwP@1DwBA8qreq_EtdS?CjIDY#-6f|c`Oef zaIO^W4&^sLDS-Iz1zvKnNK_tQ5pnnyhpsZrl8-+u^VEcm9xn#-gk2|3JGhdiL$Y>A zm#6e%&kA^w^`C~YV?)+|a5kMPRB<+evkGhlwL{I&noD)mUmesgX&$=jnfv70aN}H9 z2K)cV|85TGVZ908G2#2AFtl#ETBChCGnWRf7~dB5yODM4gVl7|M3(!3_uCbBr#j z^k~1V-1NPo4k^j;sI*j4`nr?KNOVh=lq=y=OerS{B|Pt)ibUz6g-?kDd{`d ziieJ(A4x_%7VN>?GN%0g2)fP}y3WJ=BzSRlbI@)+uujH7=W(c04w{d?p)3RaLsxP3 zEC#tCDY3;R{iEn0MUFUVu&PYok$p3=coqzuXa6Dz{JSq5c;J3a8xVyzS+aS6H3ABL0uzQEv?Ex9pbQp=O^1Cm6}N z12mC0dND8bxQ=M!q_60U?hNSiaqL%0+ z>L@o)8~sCLQi@G<(k+$V0VSt$YXPTN6wi~TBbC$%rKB=yEU8Jk5s%tWhHFI3{9W=gEnQF0|(srKW=V@UJ4!2Y2Nx0>$*w;!_)X>9{ivfhZV@|g`pe38#A8j@8) z*d!#2gqqs)JwAPnPv7Fxm-y^Ed>-Hab~9VkRNK-dOPaD3&3Ll~P04dyR5>&GRLETfz2%Jz#Q2J5}lpI1uE3d^PRJAy*90JV_ zESFGUpjn00CA31S?X5sLc!Vx;fY5_nLLb>LzlHv?OL+@viaWbYh_i(W!)zgvUl?Nz z7gB^N1fleWxz=H_Pgo$ktlvVqwV!;#O8nN^fq!EMwnKsm`vhb5P^5F*9u)91IlwdR z!yUryz$6t-nn6ymPzUDj%tD(mcP(;rXIZE}gEV5HI42D7 zDGU-#I)D#m@L&e1%bt$(_a}2zxrwlY68Q5xR=u z;LJa`bp+8AXZq$T3thxQJ;}{oVeW!V10}QPC@n_mu)IvPIk6O+80IVXJjk9q80Kl_ z{*K`Ul2(HWT*^Izr5VaX@3H6icuI2>sUHbI&J|&00(}Z>2w&xIpvNeL-l7Wnh|cIA zVl}W0gOp~oaa?88OWuE^RjFju%hEWI=aR_J&%={?G8z}`CD*uiikyR2MqGRw&IgW0u6 zZt%dE=m>5UnK9#1*mDYdrjc1iZhmZhpTXRcIC!`fu$9`ETb+;~25}qltjz5q)A^h+ zVQ5?ecbx2ya@1nbx3lL*c+zZ$Y<(AmTZ35)t-=ro=}B`on%6pjpXB#pPtveFW<2yP z3I6jmFG3V@L0j__n`i5|Je%Y2m>KzFuAB-R)L+5I^b^ektxoH&ZKCa~U7+2iz3lv( z_O32ozr*Q)3uh>1Xk+MaNHyGb);Je)uH)Rzd7SfV+`qYSF5WIG&|hz}Qy7pcx3t!z^B(#Tg$c z8T=Ht6wBL_h5ihy9#Q;N=Em6-u=Y)E4eVLJU{t!Hkj$tG)j3P+GkuQPT zug}$XTIA%2w?r2^bpt+)<6T&ncHn%tB2HuA_A!T3jqtGjM3f*E-Us%_9YCEAMu9$T zCQRW}1F$2-p0FzecP|#BD$;6WMF11h;poHWETC3~6Semb4}hX;tK!D3xeRx8!L*e2yhgl6K+~;%cVB4m?rdh4qO> zSTFAjsh`26<7|Ko?l$)tCkBYHy5A2r@K>N!-PY(}=e!l!>!K7iVVp+)8=h2G8vRX8 zeZcC&M}7(yIj#PCJ@qmK(drNA4`^WP2tT?c92ZW|ucuo>YXi_+`UP~OE%NwT@L)m7 zL7yt!a1*A3K2Ew}&7Q|k!QH{>^j+l}_Q?oar*A0Vs97FA1%C>s*Oyanp2k$@P4sTc z%@0PL!KygnoTKiU`sQhzf|;G}vijz0B3?~ZykeY_ZlCpyvll3)lP=x*Mmy#4ql@v1 zyUrPODYiGD6mHP8~=~+_|YZN(2a9(cw_H| z1%ASDaky;n#;OC4pOg;ounj)wd-mqggF~(%ffl*ut3oTKcOTfmr*{POE4_OmKZ7~V zOa_UBKBkap?h1QHao@9dgbMQ}gY@MtvUemjF~#T&8};;#!qX9bvp4iV`6D^>HY~+! z=5Qs?TMW{dyKBaP?L3ykW%gz|26ZdJXv~x!Es}hFajt=sCbSSvGLYQVU-m>8=|lPt zEf6b~?ZLq$^kUmUfXGKR48o z3RClv6ErXBhJ2{uH#rB*P3h)#S%n)B}%(OTdUv1FM-zX_fG)EPNBf$wj%- zDqw!Zq0@WtW8vMfx;Bg~Zdx#KiXxqDgHiZlw7qY+BkV+vW3X6xLOS_IghmOah!;OaFgpUz8QfU-U85zTkML#kg`Y0Ly zw@-kSPr~eCGW)-M8dBFlR}Dex({aX-!IC%qALxq^Iy`9rMtFlzqp@5ZFsEaj@+p^w zlX7NpvmtwP*l9WQxX&RQUqI(A#Cjl|it}%@wx#UkBFaN5K|D^%QSzXF*hua*>;xrs zsXbY#D`8|LUDQ^jaIWwZfIK8{;Rj+$;h%L*{ ze15H_hyy1^=nUm`IKC;RhK3i?JBaPXKoz9evJy$fFo>nQEf|`BqS6UzbV5}K-Qq{8 z!~~C?PSHOenf&-)oqTq2yUzJ``=flfkn|Lfp<)WMO3~g;*V5@Xyk5*_p^bM&Q1VPh zmA0dxbJuk25acH2*TLiHu5S<@GYVGCgWSae1kt-2Iz+}MCMMwAxTqjM(U*V*_hKDz zAVuGpsDXWa!lNSl4aPAQ(J@g8fj-R#M^+5NSu2F5buX)+wU3QW^a+iE`E;BS2lMYf z4Ti#idVEacNS_KmO)HBfyz&JFiPd1!w+0>Q($yZT6Xa6Dq&1FP!FhS{QE{;eF^RG9BP#_}6)Q`{EUy%^LllmIh{~;?DSRn)ZSb&> zo5H)Iwy=tnf?4>TS$$hR_@l{?uYD%$yEkxui(}1Vl83e#RQlNoFZUN4hkQJ7)PVAn zR#e^UdFMpNy#{fCD=KEbtUUI{SJ&pctqnSOAgjOW<1%Z8WxjS!9I#{6`g+FjCtHFV zU7gcu#)?)w7EV1;dcwk+oyTs^Dp>N^q(M*4COr;YIC=efXE%peWp)J&^17Elv-Qqe z9d#x{X@_x@juej{cz$}>8J)*ozVu7qBInw!`f+@FqxkKY$MS2w?XZ7%&3?Mlhx;C_ zF-|Pec!+N`)2ys=i$DE&<7chwj4x-HbLFIGlc?vtCQcvLa(0;nkI$~(e>l_g{-^mv zhI#EDJ2fe(QRvSVu7^4eynHq2#{@^Sey{@3!Z|9U*qI{Vg5Di23H8&ce4MbZFM*IjTB2#u&>}PdM0^{ zaj9H#)g^JfacsZky}w#|YK{JrGGc9=Bif^bgP!MwiejKxPWFp@Y6-J2#6~8>*^vb? zm=Z53Kn_GPy<&P`szrL@2in0;=o^nlP$3$oz~cvstthgO&{zx=8|VZ$IkA>lL(W~p zdzPo%6L4%}9%NB1QE1`jdKrwcJD^d)o#tV$K1YtrevQLKEY!@^$>y-+5%)uEhrb5&45h(hB{Wm*0H3bIR4(Z=!-%EFZaVYU>+k zHa-kuJrPqzuxP5CFGa6Ego&Z)-(UGm#<#MXdBlL zdl>JsqF`$BN%ymDjCGE;$@jhgV{ZGFmCJ4n9+mv3xOP;@?>-(49XLiz5&B3v(6RF` z1Fj^kncB*RRsVMs3u(|=VpSYoB5TmfRaIUwdGdQ{(9&WlNGf!GQANvH>-<)&LW9bS zWeH2`UP^@(gL6w0BL>CU>iV~-z*8H1ZVfX0+`r&yhu3Q!7y9YjE|apFpW0sQb$HRK z+BE};yGBh25LT`7>tA=1N9jXfmp?M`#Hks-hkRKtaM0wRn%_RWZs!nRy?&pA_vp4I zf_!&R@41){^}TcYWPzo7eKR&x`E|mgBZb3Fo-KEtzV6#$+37lGJ2hSNxKqZ{zUwOA zGfuD6Z0fQqPcD=m)#>8NRbqzW;k`${#B4ij@{YZmTK90}`@fz!vu4zuyEALeE4Z&; z(PPh6U#LGhVtl#2zgO>5{XjxO;dV_HX7ZVS-HVAdH_<{?>w6Q>4r**B+$hbQmd z-!FQyN5hskXS-J_yEEbToPDklvI_hfD)39ug%kx- zfmlVc)_=MKq9=v=kv?=04YKyoI;!;Is5M_#tZ;PTEx!@Znq+>v&~exJa=%*XMZ1bK zd7_*c6ypeS*gGl4W^!CnlUhgaQSItPRezd*^EeU`hQbVf&&UW#OD2lpRJ@WxYq6!+ zJiTdpg^N#m5t=Cqma4Wm?jgyv#Xv9Zp%S86jp_0Pe)-b*7^7puy& zLj?!qH8UHf!t`&=x~9Z9?wgqdeth|iKU^#Hd{v)&^TvGbvZLbfpY01v$c%Q6ZCc<- z`1$4jHP3!J&23k`@FR5}Zkg*o^jh!oDf!M9e6n$2))yVUrtW&Y)L}!J>8tg-PyO-a z$E^9m`Ig16j~jiYV&kh$Nq*0NJos6+$KMsYaPe^6uh*Ey?yl{S5d8XH>o>cOq&~Zt z72>*d=(+~J;)J>r_eLCF@O3j6O@@oD{#(>nc+J1xJsCnG4+ucS6^d1k}*3o@X4&tMF?BgZl5g!j@%MMQ7Z9`sRx zrm>A8`t%t|<1+KWGf1pNVOsZqrm;RO(C354om>8LDl3TPiArbp(z1B5!De)9AGtVI z!%XwoRO?>OQm79fW$wIw!tMNqVSCTd>HUk?XGgN*z{A3&-d<^yOd(OHXP)Z)Q=Rt3 zE_*g^*>TN?0g)4W&pPEAGw_R}MLedr%4l5W{*)_AmTxHkCMja^$j-*o6`#}->vV7W zdV%Mj!!_nLXqQ%?W%!GLeP?FudnDE@@%u*q7k!&X4!SnPzv;}HO*@=zQhdv;E8P9Y zYxnLMa%pue_rnh-#o8m=_H5PkMe$!hIb>YiD|pj4p|i7ARB3a6b7q;g>-?sDdF083 zGb`68I`rv0Wox63=PQ(}9r9ww-g}h|nz?<9p0&dsw^;x4$SNCLeDve*{wUNs6r&j! z+5YA5gGG-fPCmMGj(1piwU#k$_5`16Ua{nrgWtD*C9BvXP_drxGRmxfXm6RcjH(mF zWmPV|8o2qptt^mN9;93v?2V+Zrt%9k}>TkDq>Z ziCDe=cDbStCob7BVeG-sQ;k-+$K{({^2t&6brX7B%8LIgp>&C@YfI%n?lrY{mqta` zO!dRg+LOkjy?8jZ9UX`TD@rvX8Df& zq~)6x+Aa&5d~>*0uL&>4hBY{KXz8rOyMNVG`o2*3!$yTJ8P>0wR^`7oRTx&?|BCR- zzn@2xEOcdZ?87GW0@f|{A8T-0RZ&>}>7EyR1d+#>vM}@-FX=QVZt;x4erZ#;R<+@k znEaoqHE0M~L#$T0vRDJN+aOHBF|$#;Vpo+eY}zo$6~%@k)4S_h(XpI^gNlho2w-q` zw>p46W>5^ydy_-8c0er=!V5lT{fg=dR&Ps z+x4*!pYrjkkuN+uJ9!7z9h1?n-SrwSjYotyPAfm9N=U2Ce;#rgz9lxZYpMC638znp zi(2qO<$RaC%Ianc8L__YgA4u251-*);P~hjg2V8~SLRQ=^;=Y6#@3Ldervj~zu&0- zzaKX)x4!5a?_nE04SF3I{pw-$CU@g@-`jtij~?W^XRGs0pBeid+U^+tXyc}W#r~)n zFzQY4zowTT+OqgFH`AA0ywaxZZ1PE@=bM%;eQxylqRzZ3`C2#n`cT!Yd&5=+C#F9A z{0rZ8!*{%Fywd65!W6d&jpxUN`Dw;YEVZ@P!%~lGH!rl(>(i~W#+n39CEE-N-KoX< zS&aa-)+0rI(z|GrnCQw0)hbkBW2NqrHt8gWi_PS*(jYcgvNK&Z&sNQAJPB4xO08NP zb-L(e7c7H`!(_b#&DdY;mq*Q5Uyg+VW>r-$`nHUt`=DqjR-%>4wyV>Xg@wBF+J#;! z5o>UAnLF(1_uW4p?$~hZjorm=R*x^(V(T{3uAz&*_q?Vh?`D^B%N74F}%j>YD)vkjvf0){KFp4TBofT z|8VY{6Ia`|4()iYs;}R_wtTzk&*4`$d}nOeY3=#6o3npUn{X$3Y2vks)m|@N{!6ES zZEsnqeppknb+cfthp;hy&@Igc-wXTqF53O3_{N2M?)2EZZFo|fdRFZF+L5=%!kybqS)mn1{~Eyp|il2kEs~cfo3~SlF`E>ZA>FQAHBO zVk)0=P=2&xWihxA)>h^9V<#a93tDmh+dm)hY*E=3>t1dDetY3<>xwPEpq4u<9SSKt zx2Ij}$Crn$FMF(KT!$WE*F&=0>s0#v>htM^uVw|-D(qXaQc>qE=@U~QWV+v-G{!!sO)q90g=v48%58ZyS#Vrt}{;U zG2O3swEwC(T|O_N2`j#^R;l#jOH(w1#1u`8!aZG3il!?-otPw^`#-b9qfr*IRHE4( z6C#V?XoH+B9z73%vxGPVxv~YKnw6`dkFQlFsB1QXyHcZdz5_jCUp(|m*>Es$u=n6M zXS>-ExX&+dytZhjM`YY$=O0#XnAE;v-Pu!0l%2Rc^YPm7e89EbkM5P4czX{J)d#ge_YAWgG(g_z3H@X zc<0rd3}-{4hwI&YZjQRI9lhr%I7-R;oz(2jHK%cPYwXz9 eDE}sHm+OaF(^Eq_Y!}&K?K}NgxoGkN{cO_f14V1O(i08+F_e z5!?;xxI5~IeQ)oZwMuXm~oMi{Q61bnx?vY1j5Yg2uW5n)i*R2KUsX3(BBwP>QGbr#7WHqdtO2O zC?U0^X;N41{`c;>nJ@|By1f%8g$iGq6nTyi`UuMR&0Rcu*|N~d1B7Ub2vOWVcg-qy z-gS25r#(oB`isG3LyJ}U7nTrWd7BW~v7y;3mk~K}0=@+GHA9Qe8SL`i-Azac@NP?) zH!!>3ntC^fUy1yZc}S4Irtl-a3i0%Li&w3?_~ybt6T%#Xs8SXVtXOh*!$)5ca`Y%6 zuWnqlbnfg0A6|6_Az8N*A~h_Yy>6Lwg?u0CUyJ(gC9@X~jEfAsPw0Wkz-Q^Qr7KrG zGv`9|_nt$*v3l8xfn`+}U3V)X&Ii#(lyKTnQhV7Gv$}irm0uIJ@DWnTn-_!^#O}r0 zqa~y73Qq|y5rHTP)%tqpy-S@*?S@J4hcnMb?o& zl13h=pY-y8ymsWZ<6ezWOJ0l~M!XuKmhOnYl7K<{Yr30zoJu#lTM93K|hY( zOFt&_>8$8`2+z~C#6Z_ZkI_bwOQ(PQF$KwIy6Cs;)95MsJSnAb5I1{|Na^26klBcmO(Ys2ml)~m z(O+RENtm2uF&QamOQL^f^~B43q==3H?i-{Cc@xo&1YrS!Egnp010nhiXk|oN8$t-r zg-8zp*N@m{;)~@)Uu50r^XJ6F%dpMSzs2KT#1#mQVrVA{&`d+iqu)_=^b^_$+61D1 zqebXL80k6DZ)g$v-i|r*542Yfm}-)Ramb+oQi!~&(Dvx(;K{G4Kl&!% zy#{!%1KuA2??W0!dJg!tDEb57^#a}?;Ee&iGQg_`yzziB74QZDZz7(TlJBDJn2%xM z2NI@Bh@JhGc-T`2e{4>N~BUyrin8OvTl`9GrGrzrC=!fS|sk8&2&`EW&$ zA$fF5^l`d@L|84tHiRvxzY#pWoCqus{hqZ(-$H+8pw4@A68LBmsiHR#3ql@nu`)ey zT0}$zlXMn-qN=b6?3A=2R=_{Wii&h?gMVhi5gy)zQDOa@_wQ(oD&Q zaNmS{DefC_4mrpn@vA&{x z&VOgLDYhf_3Gm}}6Yx-fCBhJ3+>iTagtd5n^xwe~^T7M3`01Z@*^<#P)2=PX<~E}$u!9v{cWae5|bxf=6> z&xO@3(np)1ehymuC?pU_v#1Fr$zGYC(g9wXi_E=TzM z=XB$Iz}$;?7)dqwrD@yJZc6*ot#(`8UU$Hq?+&{w++*GK z?oRhI_c`uO?w#&S-M6^+yYF@1@BWqhG53=m=8<}g9<#^pN%o|A+#atd-IM1j_H=k= zd9L={?m6Ol)pOKKyn#AT?wL^!9V17e7Q*)JD^2facK> zT25=|c-l_8=`6a0ImCWH%ARDu75n{`Km?hfiuXGp_B%bTByBVL{e_#j4Q_|n??QL^ z>3*+ruXk^D??S(CbKl`U=zh@si2I4t{kEdtDQEP%-80Fv`;2}wuT<=}G2ZV~vERWn z`rYU4_b&0Si1+)ec)vf2_nV;KH2O7qo(IlyB3MN_{M*au%F!jKR-Kv)E?W`ZnkYJY zSJV@oh3&(qUsT7^-upWtC#C%P#8)S8I`Q#IcH;QS9Vd^U>^#|toU)U@JMos7``QWY z^pFxc89Z5XQii82)cGDYya*Pt%*7|xpJ+Hyf1>Whcrjjo0=vZ%))USX#uIk@L#Y$& zg!%X*$L~LWD+g3R?!PApT>Q@&|S?yMp}^GF|+!8^p95*iCE? z@~}^3w=+n~pZ=gvia+)UdyGG@r`e%c3Z8$>=3k5{21T6o&ND!i646; z@$|EI>?25kd`?ziok}8pQb@wYPCg-K%y%OxA|_%1RX!tM5-X`DC8U^?lD`rM_7P=N z0g3PpcCj^NC0Rvwk=4{lWo#PNQ!N=wz9KWIfmLF4`ji|Z&(V`qj{V)Ex&oTx5kfpF$Oi4dtsjQb?%hH(&d*n3cXMN;bdL2{KPnnC& zrk~TR=su>SU$G#|V}ooH-Aj)!J^hAdupwrk-?24k zn=N33-oh4PG$*lswwS&|-=u${U$d2LEgQ?mvntj?Z=!dxCN`NZXKUzT`WCBZ6W9P- z!d9_$^tbeX==Jn==3^n&%)02y^p9)>-A%8gd+77@DE$llJN+GfjYU{1y^-EYKc@en zFVNRn4Qr#nqzC91jL~1vTj?kC2Ug1_(h+)!9-@C>b*!B}M_&b>bM7&uEm*VGEg-Sx6nJCo>`Q3P=wLk__w@ z(nuD8zD!(HNmbbIPKC6aMyEs8r;`n26FCQ~#Q9hywvY?RR;&(dVM$m=>u55yU{z?q z-v3YJ59C$y8hM=@BX5v5$y?-I@*a7ge1JLDLMPA=ZN*&6AS1Mbj-jRGYbro@1z7PG(ZzHLT}qeH<#YvINmtR;XU-M6hOVXS=s9#fJ(q5v=h2OH6WvVDr(5U+ zbSvFPx6=#h4!V=>q8HJN=_T}1dfDmuMZ~%BEapWz>jU3^#dP5KLGb)0dIa3A=ll+C zH*kJu`QUXUxP3k=0H2#Ur(@LAe1=jP#!gQ6Q3GbEhMr{8Kv#YQlfHeWL*3WrZWpEW;tdyB$!H^)7Z^`dy`oun~Agy^ildg__#RI z*w;I&XXcFQ-CdI>b#}B*Y-^p+GJafhQ)5GYU2RRIx@v6Yn2PeU(vsp(UT#iCz@P5( zx*QgxL9bP-lnS{_DiNR<@4=jc1n`cJq3( zk#$zd2ucqAq+}#kGIF{kHMlEDWp0kU!RH=6T<>!~LZ^3hWgBtDz$Gm#?Fzs_U3^%Tsx2vJAJ~xLRRIBQIbpxv09CA>l#-kcf!x_G12WdtX z6(3keL&ZTx6k6Wwu;6c)-9Oyk(cMt*^mwL;X{1hsH7u(emW#05^M`>mxyXGm=jmM+ zKVl$r`m#0szW&)WyN89@sI*IH*tP4zVPp1irmucDbNvSn5O82P$5-Dlob3Z*EuE(u zpum7f+LE7*i}xG6LLyA^PX>a9l2WBtqsO zGQ7E?I~I47InMh@B$PdEnDz0TrxQ8WE}pYFk#o9wpAVF6@HOEsFgz~fd(24n+3?1FW zA>XoLi?23DZ6pAQzhVBQZm~)%wPDy&Hw@c)yw-520d>J54ZHZja0EFlUq|<&Bpf|? zu*mIvAdKaB8pmVUR);|eH0}wCF$PZm?(x;;wAXg zS#S^${B_N!j615@d&`&XmkD|jpOxoSuz5(AfA9yIz z-pvPx(^?$gmPx*rj_KXvXveu^@>#K1e%a}~_|q_}0|Pc@i-XF?RE#%?@zc@fpJb0q zWV?4Md@Yl9@s@pYfW*CP+%N&lMlfB=OhvH7*^YrRix{RmGeYL~blR*xO-I>(=Nc8Em`tz@Q`L7F$Fd{!C2~TwoyF0ppZ{KOy zy!&Df8l2QUfa_24cI`sFT`14tosox%BobAgw;{{rx{RK?zR(r9r(s;9;U2o_9(qr+ z&$X(n-*xRkziZi&e%F#(r|XqnCw8%kJL!(?{jP0W`(0a+HgCw`8bX=sK{`-pbIqOI z@0yL|?k=5cDyr+JxTY|@zRT6cY+ZF$*QAbqS4XYQHNLsu)r|6u_5H2}#Oo0vwF-6P zIqM2t6Cb?n!J8j^>cJBaN~`gB--80S`p)VDn+~wu2aX(ICk{|@Apbz*z_J6I4@li) zKdrxS|5N*;`vtOp&;BF(PwxMGzx4C{bm@MIJfnW!iG82#i|&)Wf(O>OkKTtUBl{xz za3T?j-fFm&joozXWw)}vTld^Le5>HPHFPT*zLhS$b$hyzh$@J@}YPkQtt_%7%cWvq4)OCLU#xDJRH{Zv~ zhVP^L`>1%WzK>Pkw+X4jX6AEMZ=~izQ`ASi)-v4Bp9zwuWoOS?nVtBp%wD-_)#}x; zlvyiR;+Y3L;TaG7X%kQi}gakPZc|JCpsEGS2 z4EKr?ChUn&0Ivj2M&;5HBZI$?d|q4j?c+W+0! z(T-?%^oP;+i54sQm(lN{-~8Xj=fAE0ECuxZ4E4Xi{}U9TN1>IyEb4s!Cz|{JYa1yz zUHUvP)!F%Wjn2Cc8)WsO&k}VcFZVzskOn{UDdfHFB3cC?AqvEPqD9 z6gi5OiboX3lts#Ol;4`xS>^AQ|D*h)@_kja>N3^4>P+?3>JiNt%`VM* z+A8hU+D~*%x=VG(^kela^-t*EGx!V}42O-)#!HMJ7(X$7W&FV;F=z}Nj zTEDdso6_dA71~;D=h?2b-C=vm_L}Xlc51iVbM5u^>Goyz?e-h&_uF5oVQOva)2Sb)o=S72O-Z{T?J*Z~HMs7?iFm1d*kkpa>)Gcy zjMMB|?@sU4K5Um^(46DD(09=HNqRy0tn`c1AMz{wKK}%Nmw(8=-Tzr2JWncNQ!>_P+?4T1#vd|1&Xi?(Gq1{gJxiX|oAp@MyV;TKN3*}q z@#J*m+?Vrat|hlMcTetL^E7$cdChqPd0X->%DXD>#=QM`_vO7E@`YxFc7^T@y^?Rv zug#yFza{_9{HOCjEwB_!DA-VNsE`$Q7A`8>Q+TNGv#>K<9iAQD6FyO7FX}G3uISC; zoZ_D1^Na5rHq#O$|jYaQ?|G4H)U^?8_JW){pB;t zZz%u1VoJqz6`zhtA2T@S@-fej`TdxqV@_6jD<2r^9lLq#iKS;lY}XHMiFst(Dh~t!=EGUc01rOYJXe z@2vfG?W?sP*8ZbTQ3a}mbz=|?yCEB-K%vU*8QViQ=e8}SYKa1wSIB^ z=K7uW`|6*n|6Tn%^tT~W_xp9b3^m==B3SB zo3CrWxB0o|x0=5gry6G-*FNsTal6OeHtw-;uZ;U(+~3FR#{0&Xjc*-4XZ+gn7mvSX z{6ph^KmO$SuUj-No|cl9mX^Mj)h)YP_O?9M@@&iNEq`hGVS;XgdqU=f!U;_iW=>c> z;erX*PPk{nZzdd@@JTCewY6rqMq0aCXSc3t-O_qZ>)ox-wEm&>!`AQH3~m0linhsZ zOWM}9-O%=Q+Y4>)wS7O)GBI~zn2_@aqq;(Cmx+R(k^RvwU@Pbv=6qQ+kQ#= z&Fv4iztDcX{mTwTM`}l5M^nelj-4G3bv)JaddEnoq|@1%+gaT?sdK3F+|El0<32bz zN&5_UInh2SqY|Pb)rUie^9#aekKl)|i?EwswtMt0nzL#2DEsV`v5;LvsOX<^2TocA zqI!U>;FU)53w)(vIZfW3ylq<)KP&;?;50CRlYD~HcO!htFD8bFnzl-01P9GjGBG>5 z2(V5>XA%xeMs&ZzY1s-K*;S7`2NdLB(Xd?Z8J`89tM={Nw)Hl6h=}E5kj+1V+#^>K zNjnwfB4oxr2kG^&UD)wHfG2{JN1IJ=PhR0vsTJpG-~wG89x1Fo^|G-%WGc@usAeT4 z#YF+1S0*nlDG3+atQMJG00vVvW2;Is18HL{Hfvqx_&HPO2%ddOyOUnq=W^F(d)-FW za+RU8W8CUOy5zNO+dxvBS`!*U%kWqv`iG>76-pIDduS}bpwtYQf*hAA-rz04&O10L zTK>WdqtA=ADNbLP(?ZL3T z)GoKngLYqOf6mrrWs9{7Q)VR|=r4PkUA^NsY@3PutZ^H*f$9gNeY6$+YXVU}KsI3D z4aYHr@=}j{qLp4~-LrHl?}rBtU3&&%F9Oz4IrzCoZTBJE-EQ44e%Q%YL^E%eXSOo-ChE`!!nuN?hDF-7F)Ow z338e2So_e#Cb?R-yxUi8wi*jl(?Vv;lvG2R=6>VY%%&ao)~hr9$%VE-r7um_KV$rs zY)NWm@{HLg^*og!knO1q+*)4iE1Q2?#f91Bzsm?aEYB)Z8@XqZ4IO#{dHnON}2^gICThY z2Sy3YefG->>=)a!4D^wG=bpO{aCrHrML6JDz)2%dig4B;-T80e+;JuxwA%;|7;aHD zfZypLQ4A`1!g+!fJLs~+w{R=ZlUL!%eO zF*KE90F8Xkn@cg(e=_OytXE!=Ug>kC{_A%H{6SnXm zU|n)*ABRa=08{w@h|7VBP~-CizF^>gK>NA*kU?ICKS=}Tlk$E#fY-p#=~DDL!~UuL z<+W=e3BMwT;Z0R9mSFJ`eov`~ZXI1_r@Ifw%Lv*3qKshq;iO$~^D@L4EyZf{8PQ=) zR2tyKQ(c{3VE2i`UIJ0aAol)rQL?{!LG`uE*1KP*cz9_0pC7K=IQrU?L&L!13DmEQ z*H`>lzr+Oo42ErdIg(B0H7y*-{1-OT>?el~R#ZGRZ`(%?q5i$mQh15+wOsXpU}9J! z(7qfFvYqtr*N)0x5FYuVna_^-Xy+F{EhiPiW~$tC$(~p-8hsC?u0bg|u|`yaWIQ#< zq~m#~AlpX@0oV-LC)nj_kN#j>d*M72>P`2bY6?sTCeNephD2S;#>-6-VLV^75_L;U zxik{W#hO1n`oeTSdo(Z|=uu*b=FvUuTa12o#AdNDvt&>hw9-Mw6wYRkS>LQM@}*`3 zOU+2(sgXic`PdN1TpHxd_m4}Ap4sJmoe39~Vo`zY;44s}x8BefF!$CZdo(t=US)GD zv(A~8E?Au!gz^BFlS)=H<_^8lKIJik){)9q3X;s4bRAzLqQ`*a zkceYm#Lf}4SOkvZpdfH0jX=_zKr)V^18ZV_0hQbJOhhMGYU4{@H4DOXh$|g&or8}u zZAjpmd*uIwCo2*W?Vkulso=@uh#EDg5!K=iNRmq~qe=7vEY6C9f|78xu2fuy z(FjPA+fo@S;o*y_Nu@amoI3)Tmre8tG#ArDObY!_CJ-!k_z!Ve>f?*Z7n@qIymWW% z^UojQ|QJNbry3 z>6K!7B~Qn?TpS%IWV8FAfmD*Rh$lS7WO2#Gz)XcurXQ!PMui%P2qZ1njTUZCZC?D#tK3a!Iv8ZmyqMoL`nLOzGY(fw(>5?oV5 zZ-<@|vdl$!InAf{QoOZ8^3CzMP$k9-#CUG>GJ22Dg#1ENH+BI>5N{XbVGED{CVCm0 zB*u$)98&Hw`U{~6?H3cC|0UwLi}@u+9)BM34Pt&N&nJQCcKVPo5%9}wJpU--{bIcQ z6wj}LcVRC56Y?u8a}ci}x6v6ajQAK4|8&F~#CW9`M?QQB!<@@4b44!yn(%(19Q8I96i>~$)~8Lpo^C$4_x)2kofQ-#?vD&tHfp_bEaWuwI51{>&+CPn-H9DBpZ8Q^J#e2?L6DeO4A0EBN4!_gPwHS52a`IIX zG%gTlYHsvPc&on!Z74_#54(ocQri$-V&LK$B04q$C76K_aym({uu2dmpH2W1k2H0q zEA3gev#OgXiw`|zDY-to#*r4gY0LYo0t?ox=qW9qTOE5?J*Ic*!i?Oa_zhS`K$Z14 z*_M$&#KLw668He8Q$axmfl6f>sRTEOs1!qLU3?dSU5*g~(RW&Z{Bh4Hhd$-9{~5l0vM<;R4EayOwbG{wG!;l zC2)(VuI8fu(5b>hpcY!AVF4PrTnLxGll+aHPPlYhtG(6v(%RgeYw6+9@Y3{$W;N}DX~}JjUPM4rLH_^_MjPYMHdyH>$5vk z?WuL%mS$(R!xqpr_0uBz?+P@j#+>$|h7DS~4gG7Y3}hL!ib~qPdaqQP(cRp+x{CME z3v50FHa5(@q=?2nPovipxg zbkcx{f>WYLr8b2~!{BtVd4kY4)WJlSA}?ar7|jTK~n=Q@b!1_2@?w zTD} z&iGJd(3{*=Trp6^Qhm7=LtW4n43BQ|7uJM4RTlFEJ_4ATOajc~Bak#tBA4rJ8qbg( z^J#<|Gs1j2Vl!5HT3h2dbCl(R1xs=QU0Ebf``n19W@&>s92$}MerH-<@@dj{Z);gP z*!9%>9rRb6_~Ej=P$yrh?2u6en8?VikHPq45iT!dL}bJrF|r*J2n?nW=-C1T^5REn zF+6aG@q@(|F=g%S+aN6<2k~YReN%+l=iqI~Fizi!FlQ$v@;?^ibH3yGI^@4E#^-8z z+=}>{V!Z!L9`6FRLSlTt$m1I1{~*F2JjLS)YRd4g0Pll5dJX+t7y~c(`iM@Om6mSD zG;7c9%Vyc|3Vgtm-pub2gFU%9TcBB5XWCG*&0+`Ng%5KRSU7w*JG+NVG;vdGFFj*6 z27{vN%(qOoAMH1GdyJjr^UU@6j;t6&PlrUy=kgOr_{LcPt7fjFfn2G9u7khie14tzBrqUXvVEfKk7!lqe~r`xxuyy>r!)i ziba*4?5@fPm0G=8OHRhxq@Kvw<&#Z=v!sS0nI?T)MZs8wWXQy&7_j*QJ5)c(kEBrF zfM1z9PZo0bx}S2t;+DAG2EWE)pJz72*935J&!JO?L5~YVQ}Jto(ErPybGV}9H)|Iej5eIE4HB8o+QsKRBad51`rp->O=&(JSdXJRekh)1)TH!3! zTP+dyyw$Sz+p_}gn|7Gg%jDXIaqa%>_Qpb^Vzt(=ViV`ge9)OoZWoyl$ub%w(s|5m z5|~z_P|lO-b#hrBqwUTOW zqO>PgS1%gdgz&I?Laoa+Z)Y7)jed)Z5BS=N8@ndASu)Q?lNCcI=~7Dd(oNFOq|l3` zRI0RVl7^Ig35s#VENq(M{J;e=n1Kg#OcrC`ByxlqH*V7lq?pSrW%@E(Y2=}S*<)5u zE!ACXxz>C`Fe^}6nmKo{WjSr`>26tF-!eFt%{(?a5=aFtqo?3ASODBoNOdGlt#j&h z&J>M<4q7Ef#h^th!9QhkibkX7cpZAF`jBX_OP~cARem0HIAiz>1i`c5SlA>^Gp!&D z3X4oL=y+4PaJ}`4HL`1Nom65P=bLU?)O9ht;qBfTy>E<8p<71R(|g}QWZ1*T)qnaR=HX(zEA~;kl6>!>Q+hvVc7_jNPCrjNyE>2gh1D^UCDrw^tQtr<675 zUN!t4KCAs!y2Co4Hx?W6tpk;tsNGVRp3@%kEM20_bhg*E%SYb^zV7H1^i!b#JFYPi zPlhiwc_`>lqaLl%GNe|7G}RimNpqQoX$(50OwDH%ewayIPKnPWg~u_aAoSzfkH~(B zS#`$#k_&=BQ0}hGm^mpp!)Y=n&qzzs+q5~!)8~}drIcYJ)w+e$8L)o@mKeCfDq{Z}LQOI`uA*DbM3{mPTvXZ`g6Xn-z>$b5!m$l|_|2Rjty>Go~s8 znVe!P1O!K_Uq+~Y8OAKIA=H*|p&j!hrX9!ypP6e0TxAr1pjp%t#F%twnmoBBH^b4h zaJtJ=Q7LPr>UY~R@z+B2fuPmQY_)Y7ruzlm?TZVaW7)p}zc@OngocEYeXUr&% zFEOP~Ycz7uHGba2w+`YAqie5nb{aZ$9fl60L~2d;2Gp9%b=GC``zI?+m4-_FSVQGS z?GxI&E$N2T^zt!PqlV) zX8hbzXaF`Q;>9_fF-3y?i$-ZtTBu259KeZLLS*93dDFwyRnSIcNDu{!DArIe&T-c< zpYbB9SlFcuZ45I>dg0DBrL#9qxHzjYMLFaAnWnm-W_Ea1YewiRs?a8>eYvOh&~HZ9 zIx7q48>4|)3-AJ@5dBqj7T&!*4E;Y7w!KIs;L!Molp3YkFlf^fr9tUdVsmBCGNo3j zB}Pf^V74o^EjS*R?lD$0V)fy+=^t%kc9APZatSbvB@X1c1x&{T$f#}UW75-Wrxlxg zdSkzS&~TZ)SYNbcmLjRqXSXEhY5gXfE95f#kAWUBXuNHa#`Qf#a%FpKOH1pi-!}xZ z9}lF3oKI>pYnnzcZ*9d`OF-h)B6R~1vsR+lD5scY0{%(V5{X8fK(Pf0V*j~Az}Dl# z*Bg9haWUeu9y5iW*gL^J=8D=fV_Df1C9gmD*ISIY(7e%CY3Fq68U2tZkDh=dJHCj7 zw!nW_3u_}Dy=p*XwMe8_F}qD*MuS3mmCS6ym(K8yY9wOI;(Bv>l|KDo;JOE9aBRgE zMYp(W%jMK^vGW|$I^%lNdjCxh`l92O^w>8MFzfrejs-rmd%Tvxg zb5@>mw2?lc>h3wk_t(H+EigzTKGG1$Oc`((C4&~KQ4C^x=ZHAk9l|CGb($(1R4Szo zL7Aj+4#bs?e-e^0!%ST9z*1@FYa^e?*ctldX3Q(hDIo5Rj5UtcBP3t>gm;=T!jzT9 zw)FF+dNVf4%k|;v)IvI8O6!yzJEml&PpPPTh4qcTT{5F2ln0I|f_(HtKKl5nc8YUq zYO31jN*Rs4SB$4rFYC7|9Ri426AcXP{h}vQy?-T7F+S)4QnNRqa~py3ZAL zNfqU;a+fVXtTpL}%(jH;EVA(|==cfMN!*%%1vu_tt;C-C4BM4RX1)x0{@J!%D%ba! zvh3!E@r?zWJv-=cNl&qNhG)#Qnakl-=GN!GsvjLuC^PbX?XDEtTpB zyg87Z>arTvYi*Nj+~rB*HFmXUyw+`T1?;+W^w#MO&X6@WE}|}zMlvI|B->D0GELQL z4MUocf^Je!g-pr&mKc)o;rMXGHJ39ssNAL@?g8Yx980#YG;c9kJ*u;Gm6}xZk`0l^ zp7=Cv_DqRZewK;?o}NhVq3^L`$XY-2sx*8aY|v@9S{O}A3aE7o&mdm#R?20)>YLR} zO+r0ftAes}{1DVrSheC2Y*m6>vEn`&qT*tg^F;!V8aRFkmWt=%Ug%htR8^Qw5oySAaNl#&Z$;i2S9xsHh_Zf6O8QG94 z=A%5f2g%5J3dExyq5Rik`Hd%dz7P4EMR=P;ct5tcnV%*^U&KmSBIchj_9qwRZxZ8M zGI@Ou;-zBzf^T^oXAt-@1;>BuH@yDe5FZrd+f+QC*WV(>x2t*F3;AFc@wxC*9#?=q z3K8EOl*b#9k39_F?KFvTaLb$E78%*aH(uP&7T+eiis-RlG(7Csp*Y{LgKXg%L(CFh zTogZw!siqUs~DsiUueMy=TsIOgN;S}+K_EYG04?=@v3O42=;cD$F5!ZbyYfh3cuP? zF>9bVkw3$`N=6J1F+n257akz^-#H9f1*FZxGR|10Zu!WtKrEA&IYY-e&X-RLPQsmU3WyWG&)=Ps}t?dB<# zF(rYvaIg!ld;%KifR&SEMeI7wF8vYfNh`BjiN&zpv{544A#jR_hG1^q?m5E}jL9pK zM9vM|IA@L-xa*ub218nAz?*C^X)Ut{4X+`&w}LlLZa(y+#=vt*a%wkXupJjpf)#Dxo}FV#%%K!O`K)bnqBEe zy+Wa=iImMQsqb?eG$my%Q#X68c^O4IgD1vka3{DJ)@vJd7Kv1`NzS%QK}zf-(JWVj z`6kgL7p(hRGRL^7Tz3mCpL}54=#$W1zX9G>aGf3cLN4rk$tIa+7YVontbAEubASZ` z#JN**es;Vcd=Ih$cGtKqn~QjH*^Tp|$P#?>5pyRikwcS-Tl|)d9UBblO-&VJO8jXi zTZ>MwGg=MGET`63VzgM36_Jo{tX`LHE36-r?k_RuGm=YMXui&rWY^lH+6~4urKQN2 z;=w$&f`gpEIZkWqg@RP7Hf>7Xsm4q>({5b~dCrxB#4HJ(X|s03soY*C65T4&nG>87 zxwN!pYNUpf{3}joE9lK7$~b)8YY}^m%E>-_m9s`X;Zt1jqxVY<&18p>dmGN*Yq-CS zbaUL_CKu&=D!}@0S|v3zg>*~5&2(<@jE`|c=Df1^IH7tWoOiqNvmVEF!St?79o5ENQ+&C{vpdw zxlWV|r`|p-+Y%x)7+);-?7zCQ*58oNFZk|+!-Sw{D9UQeX(-BU&S}HS;oyPyfoll+ z(H-80KZt$UPcIR%xefled}c6rg1_y@iQ@)8+vE zAF*s=HnLpaNsa?N*Vr|2xG#xiZ-?g_r^s#i>MO@VuqWX1J?z8rvY*7uo+Fk`%w!=w zQI_L-`&szjL2rt~t%&t4m?+EfeJzf!N`!j{eerC3LkWDdQ1;MSINU)WI|~O^lz^Lq zvLmsw)D?#dUP0dy(gokn<%LB`V6^cCyVz(vFP6TOE{bDZ8lyyJ0&*eBJ`pbqJq{GU zlg9WcA(@2YL|K?k5?J6%V7%;Iaf}mklbx1-&;bQwoDwWv_W0S9NIp#ol%;VTK8}}t z`D{wK5;)|bY*w5S__m*j1C+$GC?Sf{n4Cpv$yvR-3*YMHr4zklX$i<7(Jvd^4_v83+IvaiO=z85e1q*(T@_^Ki)OO)j^^!~H(y@y^C$G7As zJb|%e@5RRs4rsvP9>^iyx5TUy3KC<7@nGM_;8M8riDgfUWfPn!5kzK7j0fgNtao3> zOUHOVF&;m18~B_(8ZY}wyliaV-6gJWn9rxVxCCY6a)LzTWq&JTkyr`w;jny;Ge!@( z*93Y6b{NlNt#ZI~0PcB2D(5yxzQ^AXGB{wFg1yu13(6-vyJ*&ioM|XuJo@{+dr`Lr zUqg8lK1XT-uLHUCpkzQr4pR8Z9Xd54o~ChQOHBQ}BW0_7t8=Y$yM24g{@rUXyl~BK z-g*r!!8Z!;#;TzG6&=`(6l{4RiMf@k#!k<-(~>o7uwwolUr7H0zKQ&qQ_rsXX#t*KvCzYw9#G(8uwsx{RMt9usaEquQB^4>S`!|nO! zpQnM#(Tf^#6=>Tg_D7Ae(I^I#_eMPQ%AA;$`M_%Tj=sK-5U zb4=o<2R;yfIm`-8HhOvTUk@kIvX$5FoX~nchnNM3__kvVqD)$Z`Z%Uo;U*Cb2mTVl zifXj+&k(t5s#KmOLYrdS!=YWflEdpH$LPmQ3Kmp9ARPdV&|!4Y54|7$VfU@^jDCl% z9eZRAFIzyC;A?yMHaB*fTBTY(ppyzXSs#ESe(2Dt!-ovV51l%Cm>=k#w)dSj*%#DB ztV_zSw*IDWRb7qv^laUdMGL1b#BbWdMS$*w_V+b?1sq{|ST7mxbg9Q%I9I>T?X>(T z2--OJRN%HC&|UN_;r5 zCM-YO8#lDgX*ox{KGZ#Le%s)nc!frQop~j`lDQ5tX(ak^RE8t4FTN}${H-Z`6j^+0 zN;L~_O~p$dI;-TDr%U3mgz)#Pcu5RTK4js?tO``BCU^@9`1L=D|1_Uo<7=!ktCcFa2bp7!Y8f6s z{@2M63gEH#@g+yzKOaesXna#WF5X9U(M3W>N5Bl?t4;r&AJ8$6yzf6CcfFOKZ~Zw8 zAB32K6flr-eD{=pxmtxc0UQ{)E_hKZy5yQJmFDf-oWTIv6&~IeRjr-r(@y|JlBNp_I!$&q$3rP6bYD4P{CtY!&EAzn((9Y5YES{ zVIsv$eyN9>s$V+Hr9+q>mxBp$<qiV_QV>G|x0j#8FeXOne?TxC7qg=i{sV$XVsd!& zrk_C&yNb-{o%9*3)p*Zs%AKI($VcK{1F0`#-3^e>K7v!fn8&@n3FtjHzIx##iggiL zmqgX2;GQdBR*_X>Jj(fWp|~`6|9GX}EnN76_&?Dy^bD;2u{I{(iB$Y(3Oma2f!cug z?#LLLCHf|>#9xVF(J!J`(U;ht;HTXLyP7RjmLWLhmKv=pEKB5ASIeGT^`OS8l9o|(rPIs`< zUzcw*m(8h4Z?Iczr76Xk$sV2xR_&47WWQ$u+rEZDw=6r>ZN9b~C2UPqw5QH2A|xxhb|Z17`Ki=uJ5B z=5NhGGt(QI*-jn9(P-#U^$0)Okm9@($8+&s!PA$X-+6id<(;kLy2dVVqeer=9QOGs z1Gf1+6Ixc)bY=2ctHRqiZ9jd#$Bq+I)uR_ZdipJ(rs&=HV)bX@`J+-ryX3Iv89-+E zp^7e6c7D%n8dItZ?F~O585k+E`xE*jQ2CxXIykI_yp- zn^{&@S5{hA$5I_hDJe;gR6t%#JJ^SSEQh~DX2fhTtIbNILPv;IDahz{4R1#DiGox; zbo3D3E#Ygr+2||wSbcnfhkQds?h9IQz0=WC+ChsuI!1p_w;ww;y8g)C zy+<(9!mufw$KJr%Knigaf5eiu-F35p8g^>cgm`w_sBNbl4UY8i*1{t_;v5u>i=sXw zp3kF?vDZ^X76wsoO)tsou1>8nR#!_6c`BVv;gZW;L8ETr7ltqB@{*dmMKuQX=;NWJ z)K0tpCZVv&n`AyVg|ApSz-JKnXhq%H6EUT3PrKPjjXTw9_ihJu?35(1iQ|H!&zPB$ z+dNA}_u-hiUMAyA(;RFmDya>QFD|K_tJ4{rM)9(ed7CXi|m zMn+#2v8a!J%6`Yb0#%%l1o;t1N_dAm)t!~QBajIju{&U}O;Jz-%7$==BEH_k-5B6Y zCmw3X-tQ3+x&6D_+IIKPU$tsJ!s~{d z)TZfE$2)?0LyFe#&+zKfO|$M^Z%IN=2tiF}Ap(90n8# zIkP7j&`w$+xmklg{CP06T;NYhDJ&RFwN240XgLlwPvEapVbR``N|&adNM)(94#F?< z?Vjb_`fcEPKG!B^;d~_V8q>e-X3!{(3V)$GXf2K(q4@q~7uB0eB4Zk66gdoO$qu*S zU-xb?-4H2lbKbB^dF9KFlw>QPgFng^{$8LG%Rgn3*t>?}RL9#wK1dn_N-k=<=urfG zz5I$Fn(_B)1Tr3ftK-+A%&|i&9gH~r88>>n zrEjiI=}lRhB7B}gUrC{^6q*vz=$pN;oTYe$0@ID+TZJ)4tL&cT%U9sC!Z30sXV5e3 z@;}EFXETMQYha*jN`L>9u?-Dl5jLxwrmT{1ZmL;jQrK(`i_%U@*YyvqT|3afu4vlC ziPLyk9+E1@jHwu_4#}lKx8DadgygIqr(>oyN3uPRWdRy+dA*L_oTWJ|C+URaGY2yy zxs&pf1V@r1$plJ}+(g&la*%kJ?eKEE{}n#G+<@K9&-E&ZffrAhe`Ep}Z-3e&Wv2%p zFDY^Bt$KB`^vX!5l$5jhxbK%ccm9%xh2Z0+NW(H( zwl&2M2UH5F+k?M_a6Y#!N7P!P*{+21+jbe=kUW0saG?PKs zj-dmi3oI7;i_z=H^iUHug@?L)zOEs@=2ik?PXeMwt=-NPO8IsO&NCqvdrE`&Ycau6 zGh9F`=`Spn(FJs1%uEjZTM<-v^wZH#!+^*{94{6jnz3usW9JVPjXEuXzQ0`u!@@iG z)QjP`c#C5jjzRX>gS;U*$GP&GN)8^kg>^=sowqj*e`l|o z-G#L^jW{D}sZ_8#972j&d~YGo;E2y`#dey1xWVVm!@0G1jBT^}J;hjY<)3t4 zdc};n75i3nUAACM#e&^kD~IQvf_B$-?X_*R>d}Fr@l8cN8(Ug7^%V8&TaO5LlZ;v2tV@!JxZ3o$2_;!&la6{CMlFg4kb;>yXG*qE1FvYmzT_qP(Z!=zc5VO5U+NdF;Kq4Sq8ERmW({hBL*-N|$oS4sfDr_~UE)i?P}UO` z5F-xrvFkLxGrt}X=J(PCogDz$IrT(v z(32RppJ^RxFO{Ex!DtuVn!&Lc6UXAYu8z^C2jE3Z@lp0i@t*Al>=8^4>ooG6hGCp3 z^8L+AP@!qe2N9A3ZnLL-x@l*>j|pb0HGA&VxvuogOt*qQ`YVk^p5%OsK6|q#FFiGo zfXx0M+TJ`q%Ie-9pYu#IlT2okOrFV1GTA2UWRl4~NhV}v4*_H+$Pyqx0wIt@5CK6^ zsDiuHeW|;xwY{}1*4FlFTbEnwT6?S1t*zDGwqjkXUR%xN`~JM2nIWLM36za_BA7-tiyOv}8?3qS!8*5dT0*cHB^Jf% zK>IrCTcpefqIIC`ZOHu)w;0<^zAlH^l47x>;J~2z4jep`|F|4Th#f)Du@kjfW&m)^ zt$Xat6XwiLns(+zy@_2Yqy5nbfAG`DV|U+;F_BYW&tMNx9?oeMbvdz9&t1ORX0@8I zVXrWHdQWc9X@JuQF2np5+CX~XiF((Qt_X;3(3LF_2xeLy?&)t^8!8UFRBK~y$l=kO zay$A$Q}-V7=6Y+&?9K{zb}+{=xOUmT8QIW*E4xyY_9Q!+clTfN-@AWNS{Yi|l9^S} z!yPU|+WA<)uwsT~?zSK>{C(MME!NtYiWaJuj~@N`(WBo`f5IIS<4*Giy!9%+i-+9^ zn3*B|mXOq)jMH-onyp)w7-VM%wiBU%!e(Vg2%%6n7pkixJuYRwz@_faii{ult4iFr z1>Z6AZ`m7pE%H3HaD(!jUPlZ=&Xb3b#+?gb>wL`7xGs$iR$P~Ez`FGCwd#A<;sIsN zgxmRWbGPhIF>9MFIBuFQN5(LzWgD=E7)k_lVO4saf1dML+8ehjUw-e0+C2DbbFs(k zS;Qga{-2;JEISYz4wqFOE=bPPa*{l*!&#>I%`W5huSq-t7dpv$w0?4^;$a8qblHDs zMhngH$EVLsem`ZJe_q&KW^>~HiPG9!k1NmSv=!8xrzM>C!^Rn<-5~)r`Niq3{Gv2< z$+X#x>)LJB`H4wg9r<}STq&3w*`>Wao-=KB)4Dc1UEj87UMQ8C(X6psm=oF05vi*f@5uHt9aQUf?UR?a1t3JSqK~MDsvJ zgSK${awf(f*w!oh2J2`%@hJCQ75@mESAXB7C#QB}LpnebPPbuywQ(xO(^6T9l^E>c z*3D*I+i_^<&8vsr+|zM$2R>;u5V(wmOJ6B z#N@M*67dIX9^max1}GqL##Je1L_Bo-?CPl-Bh3Nt)!B2hk9w~&Z}|LH?b^eK$DcTS z7<^VeF{J(re3pn6tOSLdR*Zrmv*?!64=x+OCGy$g>(pcF=aJgTT#Uqz@y60Gd&8=5 zOu#%-B`&^t+4yz%rqY9v_DBaP+GYB^+Jf~N+5Z5|c?2I*$0i5}6f^`H+x#zi>X%(T zrQP+Nb4zE}xNA}_aqH9U&b`h})aSYO0ia|72D z6s5olg{*qrHBMB8kcU_U$S)&8C#&>$yv!_XYH^O9kzU=JVJ+&IneB1sc(BfrotYbWbm6=yXEp?D z?bgbGV^wlaUQtGgzN)+?xiT!A*!W zY4geFjt8}b1cSllz(XNs(uG>X_^X#59aY#JG5%v*LD=wVVG0*`DM;57j zUB&5*Q`Vdz(hRRaYo$KV5RL9s$=zuQT1pa+2sMa8kKPBMJZ1^2B8un7_B(4s2)C8o zwEfX3ZE9`yqh-F0-@HtlIzRHUZ}+T}lnbtIYPDaUgrX-tgH+CnN+s_6!;V#vAlOw% z5c~igzpq^KjZ4Pxqv)A8K)p=7f>$%~mIc;RPxPgvcIV+!qFD7vR2G~Vk+Tl4%lmL} z2?_>k7ok&gnOc9@8MpXe2JsryrxDby@GVV~b{)$pesF_%hgmcK5b7!g<(Y9r7Ujs{ zEtIssrgDvFDme?Q?vql!5xGr!Hj<=1#j$VPkc4t{lq0q>A;F?`%Zog_0ky=lKk6Uj zfAKy(dUW(>hqaj;J-cZs_CP)W&5`i~T*!q$Jf?_-jM1;eGRdLcyRY88d+C4RKWS|T z-kAL_-)Q#ZhMkU6-*B1E!?)lrMjhF(f>;N{wLB;5dE8i!Y;5*q`dz5wJXCh|ZmFpn z?_CmmPa{<^7lI9!S40uW0#c)=In!E=_dbcfXU6IEN-Yd4<3|aNSe-&(wbxbI&|8vR zQXlM1&r2`CACm`1ZYJ3t@Q@thjs@^y9*<#*;^!+S*`(+mV5`_vOpTf?Sjh&8_1^&I-F;5eTG2bM$ptdD%5pVU^6k#Dw{pmS+xhPubj^v}nWX z)Bml0Ush}Xt7DFC{DomQ)lPh<{t2nef^UE|)ZFxx)Lxr4F(=ch_qt(OWE(SV5=?5n zxH@s=Yy_69PE7G63TbwEoED2(cm0j?E z8Mf89e`EZugq)S>x;p!|8R`k&DB7?T4Us+j$*>7Hy_RA(nQac0go%!Dtwp%cI2I?K zDd>wK!-!$*bPQjy+3D09%}X!&)8R}0^yfc=jlZpyKqi*p@0TL??^4U4S;7;$wSDL% z)-9n~i)5t{+kDe}x$X?tbZesB?kLRhIMZ%asYe{Lqoea@uZyoLCz`R+m?dUek`f$` zo{)xa)6|C04tFYjnFi3AzNq#Ta6{5Sr1gUrTdUI$V!b_T`acbXd- zi#_rKmm#L08XEnH4StKY=fnMb&$#%NE&6bE^>B0ZUD=tL*^v*bt5tUU#;jcJ+3jN^ z&5<8MFGb#0JKlZw-CgA&$FCfXkzIdE`S5SJ6;Ok3X`C;Xam4=Z6lGnOYyq z6N*)SXiTFn%M0d)%u;Bw;Cp{mPrvthWN79mGxw@LZQC31Zrg_Mf#bu1_(uI-;Qltq zUIcFrR?gBhR+I*c%C!XR3R&Re4*Mq?-oW5UpD{GBd5tl9CudV&1^vcanAKQmGOS^< zhnWng|8LD|U*5veRdJE2xI_l=r6+{(I$uI?R05a zY)^aoS^K88FI}7Z(|v`Bx_x0ue*Ki0J&DU_9A342n>VvPw>0cISiXPOtig6mN@wjk zyEo6>;J(MT*sokk{xkf=OVt6ZrDe*QnHTy+%hpDvI2%?hBh@zDo?vx36EYGLlxKPd z+4J2NxiR3s-(?@L>m3FN=d}>nl}3X%+2qc)&P(q2kIYOp?|1Rk{PQ1zBN=(9X0*Gk zZT@*bni=_A&8ZogQ`QDb!-Q&IrM0q|%6^0c!nhA4DZM*6*<=&Dmw3|d2|f4K&`EFb zU5PV)k@R)d?Y z0M?psGe2s6-kgZ?t=-89hJ`fl?n9U!UaYJJ8oxqwLe`r_&t^Sa_)eDEf9c-u@BP+Z zSXndfA$(E$8)o8i4yy)w&sCjY)`JuGT2^vZL19l?YP!RQKwCq@bE1M{e}l_;?y3Wa z1z{|B>MGSN-d?lIqo9dWH4o3-_?3Igis8)M=EcJ^8kYIi#nVd*n>CeG7^;|Flf6fP z7Ws#-dT5}%r*+TBiiU!`RYQYqvGjy1Llssvt=Rlm{Ge|mzY`(HE%GLO>DHLR6nE(} ztV^w0JpwIOlQ}6-vvdO`I+fWEuLbi+9QiCZdvyIPDv}v_>AKD#-ka}uHMt|d$(}uPsQco+rPuG6HrlsxM}nngF}7AJp8v9< z)-0(tX;Y15t>sb6^N3nmQq`s`yM0qCbl1sRF{bdLu^%jiX@LAgyhI#;l%MScVSug ze<9uLG@ET1+A?=$R>4l28THpZ{_Hp$x0=V_T~mpBO?W{>V*`AHXds1RZ*9oLjz7OX zY1jDvG3&yW;h{M_Tf!?BTF1_@thR(YnwvY?!{N<4GY|L8J$w4}v*-35&fK|qWJFD0 zIAg{_`Jt6HxJ~F{(8Ytea79;U{?4Qf%;g=BtRz#)az{eePAGYUFyilIwAABrWI71Z zHep4)u~62Isb(jyPbu%5p)eX%8`yt9c~-2d3vcO(Hp(%5R}b2he%Xr1Tl=n@v9V{@ z^pSX@z$1whubMtHJqDRXWDMSoHh_zC5yX7_-ROSL=)ykYVu|TT=4q)7!%N_cxy45Y6&inHFLYwcZ?z*WzvUz~>K7gEMrV*_RZ+Wmg`LE1bZW`3OK!=w=3=eFx z6)`A8lajkFqZVcBg4(rNEH-7umQ@86U|dQk(+yrq$Ek~7cBGms)WEf~ZnFMp+BxUh z5#|Zpcq3*HHqaHT6!=2<%LwIUnS8MPnMp|*-3JQP+5%NjpnTnFNzQI5I;L#nH#r!l z&)5rth+gy>7qbWh4p%2%{>vppZQ-)2)^pddY$$7J4F~qLPhB)4puN0wN&7~xb7tMl z;dX84iTRC1g^`50U9(>lZV4fBmW9Y!p7=9PS5G?j?&S2S1UMh?h~W*ex<~>| zM&uGh3RR(=%}$?La>hB+8rGaYuYQ&@D}73S`}tN5KP?d84S-TTA6(Q@QQ>|~RtD@DpNNjb)B{j@^NDB`TF-}xWUdb}A0 zJh>O2FN)GN47wJWaGzmbZugb>DnH+xmeG@%V$SX{VQCJu74o7uT;ByE$7md#I8CB4 zkEW~F+{^3d?w;L$&&HZFav zF*Fukhme0#SCta_d zrOx%wACD~CP?;0!-EQ^{u?~wFE|D@N;Q}rc&iNFs(=*y5u{~_Zl6G~x_PxmXm3I&4 zx1uvYR~?b-B41T?k>{i3sasKABKFFgyAfyH|vW;wd^FA&}FZyhxHj>f(Wn_bf7 zv?n3NlAMgKoywAwAltl!n7AK7CUgy165&B`gakz^(2U!A{&xH2moNRr{26DW8Ee#C zpy_uacc}9s^-=yih_aJS`Ph4%BooESR+*z?<;xDOCR|uGt0ucTK$v=P|C;Y!wakF$ zP8~itZT1WU#$?;eG0Bt>M-Um`kxz1n{GiU5^u$D5ZiNs{CPJQk`JFpPrX5&QUvo`< zov*Gfw^n<(f8&yabKlqc$7{~036x9uAMrY?=cj5Z% zsq_Cdefvez=gywK{VUVw!tNQmtP=fAg(p$bm7US;NdCS3eY@6aUx1sN?6?6Z1y;l8 zJ>?6V{tcF*YsGni-yGNH$(KJhWp&e<*&Adf~ z2}U3>72KL)&Ounw41Fj~MI>=eB?ZlhCEnS2lN+(bZ$k-usHKX2GYufpwhHCgWsSmO zHm9iMB&#MmND9D;ro?kFcNcZa|1nQ64oKREZs zGrp$IS1V4Opo+6Z{)yJEip78N?V9PWBZIHMEM+Tl1aGdv0pE z??@zLFJ8y3`yb(SLmt)%3$V&%Pqk(B+LNsry=mw*LLXuv$+X5K2#yDqX%X+2LFY6O z40}gudr8^6(K%IXyz9?Q%I;3_l-uj=sU?j?>27<;qUk+f8EnmVMjYM#s_hkCrCICF zSQV%&klIsF`zu)2iPrAzwIo{;Oc@At8nvT(Lu4>$w8@+Y#Z@H2^zQG~t;xRZijb?> zS2(4(bnf;x)|mYKzMshN&~jLMnibycp49a~-7&uZDZzBMg* zvo*Q3zqPGV98RINmW$qIz~{{AN=>!dO}V`($yRr7`blb^LT+KFFWe_Zde7)<4&+x| z@l_#so}1lux_q@b5MR1@*4%@eT3mk`cY@-N)cPuN##8DSaGkLbJ^l%LEVmlMJIh(_ zbegkzQ>?CD>9pbPg5riB6j#@BfrN;;8Ec!^h~F4eo87a0oBK;YMH_9$0HOZ!ZlN4o7aCvZ4p|Ba)9b-FH9%*+o#$m0r^8 z#WxswaX5q9`Wd)BI+ru^SotLHBBm*7ds~gW`7#_8d0CN5g$}af+=TsDVxrt#I51>MT%Kgn_G8j2d{B>CWFc4a zLlXx*x40w!Tw0s_i$QH{WMuqG^_}X__r*rMWpJ_Sq;u-vb*kna{aYabF0w(c`v;edE?K27OJKJ)S#q9Si(e` zrj}zd(CBIdyP0;NHt82fwXaszjXMP&qktP0^GxMfv&bm7<=J#wc5kxXTGAW8UXcni zIwT$ri2tm!&u@tLc;c6ArmubXP9h0o%FhZx;jBJ5MQ z-f8vPi)Uv{)ts~Dnh)lbN4_uoYQlK!2PG@S6Sb9l3w7*VHkGG%yvy9WHEz_Ro@nDF zH&nKw8r*Bd6(+f%PPSjjZf3eG&0aLSx@AGRock=nPSvg2ec&e1{b|tsDRxVCromGU zozF&fznEJba*>mE5+D$UYN+RTXr5j$%Tn8&x@`W+{8g^iwdR7NM7t#`sn9yTEw|vq z=@r-CF#G}bTW6|Kb0X^VfgYb~PD4U;Te=08N84kyiO_P77(H2h5zFvn#oAuqZfMZL z%!>3mSBSVQvWs-6^^x14LUXg!uJQLEF+y|1lhrutuwa&$o?yA(tX?(0L+4daFdEM5 z*d*t5r1lcaEk`4N)0~l;)h5xQ$}}B%=6;l6M@7Ux$!#o|FZ3 z9BF}XD57nS`mr*R?R6bV9^IvOUitg|Y7ff&p=ypit7eS9rxr(K4P5qqDSYt{8r0jB znqo^(RvT^zwk6_3G)k5!GKwtLu@+A6)o%?vz2->u#_N8*?y|Z8mG{v-_e9>CFd6IV z8PNA1p{!JB9qbWH#X(i9-Ag%8_Oho))>}9qu=-)bceP)hedy{(aywVe40O%bQ#4Ct zsruIV#N5?Q8M~YzL`8Ya)Lkf%UaTzU!IfQx^;pr&h8N3e3bqOA&iB5ask)u-J(RgZ zEf`u6`R)*?CzdP?@1NA_#=Bw_#N2pkx8fGdWV}Smr>XSr&=zf?BAVkx^T*Pk?NiJOudG=mvdq<((+xB4`EaA-8r=p`=YIC zlY(mq4I~btd|}K1->jeuN7-;p10Tr6W@CpD0l{1YN5Qz$3K{{^bw<1qbeueQKk9LE z_TG?nUVQd`HmC3Bs&}K)cg9uChO}a2~Ej(uoY{@q#eRDm|Dc5c!j(KK(A2$rGAoiyy&s4$BO@u6}i0l zzRh=CfG{JYdf)q=@~9s47V!}C&6qRizzb{Z@@I6{xH?^0jccvzHrJ!B=Us^|S88Ur zM;fM;^w^Wlxjoq+QFKBQkIKeoqYR#SWG)*GDHcLI$7c!j&{T4`zqNAdo&}97v(nU1 zJl+_&+~HmBn-pwFZQR+{_rPU~YpWKp%~K1jPYti&BF>2qFr$7OE74V5o`A>OQ{t{T zoT=-HN!D&eP41) zPPj5qXJ7I?J!|>ANJu@iZEt-^W6rwK)YZaavQMgq9F~i_5pr@8y3!wODsi-@i z(w4Um?C(+?MG>2^XzVtgc`VZ>F(mEsRETxF`iDSY}BQ zGL{=T^bHN}kbYEu48M@Oal_H($C?*B=6Xz1J2v3I9pe)!C-SzsR(9GiLmMPclqNBh z6f-0b=hYIsahB4E7a?lMeT-xWEIUV~&3w3Ni+iZth#-}3c5i7?Svy|Xx9^1=kw2qU zcqQuVyoQ?a3aUT!q5g;BS&=pT+DXL z)Opmp=PMk?i~FAO8F@zPB-c}BTbu|&(aB;G{iA>3dHyICfcP@c)BM9|2x8tv11+vo zT~CSHBPwtoyta_3-PDbN-sR-3SOwJ0l}+m6}`B zoE8XGMK-!K@`B0MU}c4U#`M~$0e3=@o@OsCPS4ok$S5c+D4p7|pcm8b#MY*a^s`f) zwN+KM>Z#c+mZZA8lF0LJcd(`;A)&$q3Sl0C@5RfGs!H7FTifN$cK7C$E!TC27xxbL zI;;)YOlA%C`r^dE6jt`Kz)C?rNrhAAX3>Dgm-O0*f=A~uPpw$ede-8WS?LA6EhhsV z($}u}dVa5(X@oo?J5QVCR8{zEM#{m>Z%1to;cl@v?{#P-WpzLS1Blwq@sWMe3HmcN_&twL@#0r-ptL= z(CnO6zPM~{Ve8`B#$t22qpNO)$2Yga*V#O+J+-iPY*CRn zuUDBeH9ZB_67=F6qAf|LO<%q@MmQ?kRMGsfMc7%?3|j=Z*Xj=S&Pl=?xV<7QiCs(D zD;_AQ&P}*JWsUJy<%$lsy{^{ECqC1!_ml4e9r%JS8tck2k&)OyULG+ zh>U2-2}DceE@@9bE+nufTx3%!5#N|FrTXwyH!I>Jot;oPhGj6KAhI3Fn72{lP7P3{ z?W}QDr(Th|!+BQb>4B;x%Vy7Bw)IP5Rk+X+^Tx9=Z!89n<=gaSc1OA^`6AC%mfI~a zSbi_NXiRD8mcqQ))b3d{h+h&qbwVkdrDBuH(skOo_{^CPRq7XyJ5RgpYZJwb=^q zuW4rP%xc7+>K5iMoT=QkSJwUwaj5W>;Rud1Yo=W2zz)>nMKr3q%j>aaq+OJ0x8p;( zB^VDJ6w#6q$HWmEI>{ImS>}Sh29rR>;;vJCc)l1`zLS9y2`i^zd@xEi&YGS7I=tK? z<2C;6Q$x&*?`qF!pF&UL`?J-(0p<3TG`fqMrS2AN^Wl@R!>3nmqC zeEQZ}cCh2Zrykd`X!2XZg`Eu@M@M{Y!$z z_~MfUjSFK5BYKS49Aekn<Rfse=P3l$qxn})%D+JM$MVfT1}(~P5=-WK=V@Pw z=RZ0r{{jt{#DS9#AJMJ>pEn5YN{b47#T9wBW&UD|E4|l~QrnB$3MGis`EEmucCW+t ziv{ZuGMOAJ;i^R}j1m>eSSUrSODc3pEaj$?F%@i0$Nb;qbzZCYSAKN~+zFWdcjRUOz79%iy=gVq7(v zY+@9%3A$`ZOUiP%y@f94)DC}n@w6G4W#eZgSe$xRQlfvaZ;m5aQauA=t0peNXTjHF zJTj#gbK;Gf$$r$4o|@)4r51DC_LiNjr=c>->Go#jy3#$)*|Vxj17}43U|*7w>2{_i zB$gd2o@=iyYnuh%bZX=u*ppNT{&>iAx6sbCGIGKcnRpU8KQ{eRIAh`}QepR+pvkJ0Lk-n-4?`U&}Mn@5MnP{7E1GfTmmW+o?&a1I(W{0!V5GA}-2rVl} z#x`hpCKT+lT)ZT`Hc;GJQ=C$f-B{#sbw}X`^`)h4)y0m|+-6^1V#1kL962@GYR3w_ z%Y?Hpc3*O4cM5^sZOTB)-KKPDHrx_9TnEQ0-gb!{#M@rd)aohm)D^`V?{BMyRkl|& z=ALXl?ia(Xqq-~4>dP(fw)&DC-4;n%n6knJz8ZTZCe_CpizNISrxZFiv@X1)ytHB} zdsXzo(uR3$xtS%{JZ(uhlixI4IpJ0%puSZ-qVmZ#p~xR(7nxS3`p{*o`l0DV@Qy<+ zCI0y_U#&HLA+ECncUdEUko^k4+aASxD2DglW5G6aRupdu%ENpRcq37~r($?Jj@i6g zLKH6)IiX>f74V?-Q14F^wgnmW{_>cw#F84tO9meH2>}nQ^~A&6(7?O*m_6N;coI+c z{{U~$z%%`44Db14_(*T8UMUarbKq@>;$bhfQQpnRY^m|`tdSF^^!F#Gcz^FWR#6@A zFNEim{{F-i?{ELHBzvsC6E98R-r*?TwK2To$0}P*?r3=> zz(ceict@gm*TwK&KzUY26pt&a=2GD8Bi?_iQsCjvMQv@c#_V0Fxq}OM=b|YQ6vj#( zFb@#($0kIkjS;(l5(iAYjS<5-9q=vyo<;o_p$YQw4U@+orHOY8tb@_go{N?CpT|5o zrleT=fH%3nKQ_ht`=eu(HIw>#;*|dW*c9*YcaP=z;{DBmfOb9ACdZH{0mEi zW;-gym=#WB$T~Z4u*m{r@l&-LJN<#-mqhEs0wrXz9BbTlNbMpi)zdZHI)+OMcI+pPfSBwz9C#LnCd_BebAN4o*%_bMgxPyTu1u9 zfnCi8=C$@zliU<)k6|LJT@IQVv3-9uw(nPOnErq_toTm#0%~fMs2*mChU6R1rS5C6 z?!mi9Vv;@D0=3(Yn`IaBK~ATTWtX2Z^~Q+R9jeuD~{vL}1#Yn9}oeh&dF+ z{F+gwcAc+Cvn|xDzDZ?O*R-Vk1xELxZ^+)O_o(L#P4c>GHCm$$ z`HG-Qw4~TbNSx($Vj8;rbrp!V`#^3!G`q6pMrk2CeBLIep?O|cSf-=|>?|yX>d|b4 zQA~-6UP#QVf#FxLn|?%^ysku#vZu>4b4+Oq&F1U{nmH4%McXYaZrk|gRmL0gCaJjG z;7W6hD`m&UBj#^`ilWJ_>UX9;BEBq~e)KdbMv+2g_BdQln+c%J~DtG;HGQ zrq838Bb8OK5GtcGifODVi)}Kr@#_jlmDr=jo@}UNWr?+OI=J$FmU&sUow(qZm}QPM zHJN{nHB~7S+KN3wOo5ow)0`{)&B z)R@&7g(d0wq9p-VVDQLn+8gNd6R;a%!DQDav`kc&dnl{ax3%6jA`gXXo^!bG@e64gVNNzxP@CZv+$!Y(MrsO=s0u7HZdvxC^M!diwlcS(UPZW zG+@Rwnl&fy-)S^pibm7LLw~g^87vuR3bAhJ%VezvY|(1Oez_~zWPTXOMf?-FQyT7x+$nwe!TxEBE9MCM&Y1)JL36t44)e_?@x?Qlgn#2j8y7Ba zTwqSW^wJqK(30GR z=3B7Nj+#>w4rkd8n=+*Ra;>-Y*odiluyP=W%3}56q`CEoHKW?+bf>2~ZF-9NjM%@@ zQ}8dd$J5$iOG!y7N=70DsiI``{72eK^%lNTXVtP)3vQ_}{IMFW^hfFA9Nq|8O^aJuMnDk138S_fa$&-XPN~L!5Ex%GF5#Pv#0Qj+6Z?5p>{(XWttw2Qa*^QC;y!` z%2eTKnNxHBy*A2JIIhdl^n3ojHp-Om>loVTb8OoCKeSOM*PDe)veG7LBXEg9sXwAu zhThJK>+LgqwWsK9FUE1BCYVP5v*Ox#ip70O|Hbclo0tbV_E~XXYPHAz1z+k-VuIfx zby;z}y&yOEC3;(Gr*{C%nBH#m_)qF>=$xydU*V%rUs@6pk7&?z<1+ozacme{%pQvB z*Y~3O^$_&yBT@ZIeCVgi_>V;O>&;R9`ZVlXKOY zy05I%(tiJYbPjuVrkQT|Qmi!pfhF3sZ+}~`o>w264r9MUv@C3Uip_iL>JFc&K7R8} z!TOqZ$aD=fot(K-S7PEWix@J!?RUQI)DEp&37nhFji#&3SH^JeisNhoj=6E=N{s$- z?GSF27me8>WAvpt;)%?r9^p(?3&kb*P+>l2ss&M>MP$B^ufqeKg1Gs=M+(MtF{Y_x?kqs$;Cv?lwq)aZ-aQ&qtkWy~XAg)-ZT z$v7p-Tpz`3N=ZW0PMIgq{+fu%*&i@tv%e9eoe9x)GLBGSz7jn$H1d?VM*j9`aRlj+ zjhF@{r^M~n+S8*0=*L;aG<5frxbE&dZPssilv2B)XQ#yV?99{V$l`bXo;s29LaiY_ zFB~h#<-9O2N>At+?L}~Znc4&DSaEJ>F8NKo!9P#ZzYTG3aG<1+-e6I*1ewcWW{DCo zmy;4C&J2zfZSw(3FtklWT-ywJJ=8X_D1l&phnSp?X$|rDSf3MDlwdv*;D*3TXh7bTeW7KC&zV7-&c0b0%2RI^U1oLiqbcR1?1lVrLydZN4e%iSs_)p$3 z*P5O)-xhmE?MpC0AARXN=303Nc4ib<6PB7YaFP8~?YAjuIoWP}ykSnqOzOsD)9vP~aPLs+ zgSheXu<7n-NpcmW6c#VbUNdb$xwFuUP@ij#Ik~;dW)Eb$Etd8f!h0`kix30Gy#nw& zsXr;XtIfB8j)vr}pyYDi`#_2l&XgIGX(J36o%f0a7xImD`VQYPBzXlTnQyF5uI! zVK3#7J#Dwx#Wb323ykS(^bLuhB=QZzGwMAVKUwlG<0rV|O!{F+aPP_ZNz0eSPr$v? zLI3;t1|vj}GnwJCRSt)a`Rx}*%$Vg$9gGy=4VmTgjf%8POmj7*V~j?xy-bc8izRd#&NoUV=mjX2mLo}r|=&*5xRTy-`dW3lO%5RU)oOL zyDVZF-qL8?TiShETwgH5#56c`G|r)id_|Kv)Hr8LOv7&&jr$E7Pm8)4u@xB~gEL3s zmf_6PEQ46?8#wlcE#oC4c?@Ysrx>lnie9A8nfYPqf*p?G+x5M+l!me+^xK zF13*hrvyd8o3;Od+LHy@5c%8iss!86sOM6n0vq>Kd0`S};folumTF*AZp`VxHnbA! zL=**OC;L$Lf}(OrPYj#Zo7jfz@1^XsY^w)lH)j`Mjznz8#`P0DrfCz8L4Gh_=~ju@ z%K^GuF@4wq;rIdN=Vsu{`cj-t29C(jM31(gzWD~q&xQPcC|63qehl8H1vQG51m5Ho zb?w5FE9$Qvi@Ndj3u-H}M?c+KI;j*I`qf6MJg}_D}o|;3k~6cbW!>GdOWCzIL@* zo~k~{SN()Tgu{d*QjQv(cpY$T;ugTOn6q=@0i<{1eo?2|OL#u^eK^%2rjPL5ODCQ} z&Sgwr!Sr=Z-w0|s)h#UNF5=%qcrW37#CeSH3F17-^wUf~!`42}_Pjv+7y0x!;VaB} zi#TsH=N-bo5&u1w@IG7qA@l#v{Ezw8Cxo97Vi%gpshOnBnkG4#+>YebY|KxQw=}zy zra7cEEsZ!%LY+7+zMI3h@|jb>w|so7kZ%?7X(^wU@o70rs2~h7zl!D5F{hn5Gg!hb zzB`9+_3-ID!bQYc%JdrItYgl4V)pah4Xk}5pOPQ6LE>*A+)Dgm*1MlL=iyzQe5I4G zbn=x>zS7B8I{8W`U+E^{E1i6$ldp90m9B)ZbR~SHE8#1he5I4Gbn=z1gs*h+l}^6W zv8Tg@9N{Zn318_-_(~^V=}P!YSHf4i628*OSGp3u(v|R)u7t02C48kT;VWGUU+GHt zN>{>Hx)Q$9mGG6Wgs*fZe5EVlD_sd+=}P!YSHf4i628)v@RhEFuXH7Rr7PhpT?t>| ztDk&J_)1s8SGp3u(#cmk`AR2W>EtV26TZ^PS33DhCtvBB@RhC!U+J3gm97b2>6-AB zt_ff1n(&pb318`&@RhC!U+J3gm97b2>6-ABt_ff1n(&pb318`&@RhC!U+J3gm97b2 z>6-ABt_ff1n(&pb318`&@RhC!U+J3gm97b2>6-ABt_ff1n(&oQzS1?}D_s-5(ly~L z9S7G1NBAleJ8kn#9_-vW4!8+-_<1n;Cjj>n9wNLJ9Oc27O8z~B_YywCw_afS6~ece z^D)z(5Pl{Q)D~!!r=Y5&orF2eDIzRqP6c5d;VkC&Fg=fODd8ICZzLRK&KAP`$jO4F zJPtS@5d1s@xO?JZz`ca$<2yWA;AhD>LY%vpzK8H$!uy#20@E)teVp(W=Dg1`KW6$9 z!p{Vvj{+U?6n&JmldzCE6B3#I) ziv(X=!<>zT`vKv}5=yk-k*QQI`>3L3l0X)UR%aHuaPL{p5c?`QMM;$y=f={p4^z`{+j> zCI2_9MSAK-PbEj}onO7mHi$;`lb`+MXTSQC`TyWsV%PkniC;}fOEeRqcujulTR%A& zs~61C`P4-yy4Mft2^0(ECztxQAfHwdiiPrnwt^$}$WNa1YxAXcQriz|qs`<`KWHwP zqM7~VKtDOquWe;%!-S%x%VBxa0I~H3a4kwJH*G}u@G255Z(v_1h?A9+hW&j77YfYv8K>l1+Wk*DH$255Z(lSRZ*;JkJ0nJwQnh(E0=@-2qr1!4c0hKdAE5OK z(E0>meFR55&k9#bzHm8`dt^;WXpO4eJ+dMjCPCF`wZ zy_KxDlJ!=y-b&V6$$BeUZ;&z-q)Y`VQ$fm9kTMmdOa&=ZLCRE+UR;ne6{JiBDNR92 zQ;^aWq%;L7O+iXikkS;SGzBS5K}u7Q(iEgL1u0EIN>h;16r>jyq#Ok)M?uO_ka85H z90e&yLCR5(aulQ-1t~{CdT~L@QIK*Jq#Ok)M?qS&AicOCyl>BR*pM?uO_ka85H90e&y zL3(jP%2AMV6r>ylDMvwiaY4#aka85H90e&yLCR5(UR;oJRAcIgCaeMf{Mu9lu6Pb` z3|gxOoFMRW%#3O6)nWwkF3YTCnYEw^@>ymb%dBIWbu6=vW!ACGI+j_-GV54o9m}j^nRP6) zj%C)d%sQ4?59v5zs)uw4l-X-NWJJ=#gy*0a^^}Er%0fM2ev)&5P`tZ(%0)f+U*5Wr z@DAon1f!n(Ur+w8SKna%W5juqP$Cue>c5#UUR*u-ydE4brM*M=A)&+~>dDFVN<6oE z@^d|TxE|aKeDZ2Nd9@y#DLJKt;+xfz_v*=S_24&oD*jkKxvQT3SUtI`9(*NFHxUjJ zMh)jy%4Dv!igvso{qs=2+{irsU1x3B;3Uk z&Vlb20)?Lg+{2u`Oz&fQKc5~Tya1X%q%M?}sDp%ui1`(!FCzZMOkX>36gV;>A&y80 zo|_HnTiBjESlXS$zl$Z@P0V|kzL)SD#JQh1GF~BEKq7sSQ46W3nHGO91WhF^|1~lH zn{WMw?R<$X`7QHbA&z)@A&zW_BO6lU^@ZT|36xO|sgH>NG4Vek{0B?>CrkT`IiE`! z>!i;z@?I4TR!J zhRAgxO=2%0=q_ph7Q$`J*-j`PW=K09=|OUPri|P-0(=Y6H_72?q!V2{#jNAsiy+R;GuU-p2IE#Ca%TbmCFKF{UNP z-Uz+46Hs`&5!yrGxu9Dk>}ffmaBm~*slZF5<*=$~IjpL*`3k15Vfojwv>OR;Vfn(h zjnFLug<~6GTLnHwoF|C$B-8)J5`IDW6yei+`YhAW5kAkB3nw?i<_bJcD16(fUSr$d zW@&#S{+|i|Likt0clh)K(|==W5>su2?iC7r$n@WtFTC9dJtk22xlu(}{)F@zb{P~P zZ#QaY$=8ykOf8wvCgs3JgU+-iS>7FJB!zlr%GFO8I!MonV%jj;Ga z)nT^wJic`R`Ph>LDQ=?1Zlcv|qTX(z-fmK2^_pn)nrQW!X!V+C^_nn8mZvheYNC#9 zqK<7+V)dHn^)=DzHPPxd(dspUGo?n+pH1}cnrQW!7`teq)oY?|Y@%*#qCRY*|JFpS z*F>w=M61^X4nghIdrh=@O|*JV)Nf7HW=-_CnrQW!X!V+C^_pn)nrQW!X!V+C^_r-W zny7!8=ruLbYYLNAVbUs0T7^lgFliMgt-_>Ln6wI$R$Ln6wI$R$Od=cDo|Dj zTG2;=4ta_`N?KM2S|Qz%BkKaK=$$}W7igsi*oxjsTGjs4s^reDH|FaExThdoD{{~1z8~P}iUt{_Srk^H!pYQ|0 zgxQQZsa-wT~k$eA3BwcCu}qXcaKg9(gKjmz`*dKxs)QYR6O7-pP79 zQ6rwBF3Fd=`b@&leI}hS3+4CWwl>KL5C#cD;NEp6iG{AiAA#!$`(Z)W!+U=da2?{M z>+#2ipUlzvO&;X; zy#Z2h0QE{*dNByhhXKWZ7zB>M0HN6ZLEzj1*biz9qQ(zRXMsZHrk$W_KHz%5v+?u< z;6~KG3;E@yb3l{hh{ZTfHb9-w!yGTur4w%=zl_k&d_-uG6W~*<`669O7-UZ4#KUSe z@?3z}D+1V0h`u8|#Pl%X$iyAU8J+k9aBSi!z_TV!0Pc`-z@PU5p3U?w!aaohSk6UE zUpnzWz`2YiT+aL}m~$9)6cM+=UL{jiTPW? zx0wGnG2bEl8*$!ao8M<^KOp9ZeEN4j{fIdel7=j!wTS0{4zPEi417h&w@V3-FZ5SS z6?{Z;B;Q4RoccmKpZEpL_YuF4_(gnL%BN*~>SqZ-rmI*&HFMgDGei2Q&1B9jzB`AQ zbD6V*a1Ha<5q~|Of@kp72G+QdPdD-D0P(jHXP9+uW6pL$#3Jz4d3=iX3$+IN=LFyw za@Jsc{|9h4^Y;>-OL&M7t7dq5EirFk8kYkh=VroNSkA3jlUM`&DVTQ=-a~jVA=adj z|4pW!ApX;YFE9tIZ+Lo~@D;-M*`AM?{)F%|fpUK)phKSGgo>m^Qr18dN=`Y`6@+z! zGo%)+hv|8QiwKtzZs1#kOm6|~gWfm+heWZTlb> zlD~^^5246KpSp-pWT6ipoxF7;q0p^Q-AQ;q;bY8yoTWX<^e>ryhHdyYaehnq7IWSv z&O3zf67vH-{g62yNgBM3_Jg-kFF09pa+s6PoFb-6nfCK(HDNn*rc0UNOnGY-G3PS9 zgm4XW))8|f)0>zc;L~k{+X?scDOOl;Dg|qTfI6XrbTgl}2t<7813*Ng0O3ypjxl`}pF+bUXXnJDfbhfskC@T`uZ8|xD?R`q zB0qqLUIO0A9C%_#-$w{P6KTXA0iR)AFS3N=gl{qDJ(m1FYk|+8)*|YHRza&s+9COf zp|PcaYjcc^b%sH z4RQiZ2MI&41?$1#p8(1zuQzpqKI=g@ybHP=2iylLtw)3bPeGZZfFkefDe3De-RseJ z!GDc7Z!sN_H0Iy}t&)S8wWM>HE+Uk1T#xy$z*)>$&h#3l5g|mrNY;AvOVS6B?x*GI zr>5%1*!=}LB4zzJaU)Qqte;ZWuS6sDW9&`<%GmW&zWUX@phG`KFbz;-tsg#>;E4X| z$2x-Kh`*)9s2_49`Gw38o!_sC1odkoLH+Q@P%@-O z(jqneIK3xOGvW|2#*dB-UuLk zIY4+LfFaoHO&G^d0QV7!#@>Vx#8dM2Ch=^MzK{9O5J$A`CTiVHSZ~6+7(0PEghhn2 z2t{XZ0w2oLjfDFF2k@=YHvtjx1H{@rpydyg;olOnU>lmQdF@TolBS*ZB0q9SG zBT^203>V;T@bduX9Rd##9^q5r#sPTm#{n;6{uNAPO%^%gR}4U}P5|CQ%)5wl58=Jc zzmNIiV+>&Qr8My|2EYT7#%@5s7l{8NbB+_f!W`lA0a;4|6n|p?^JszMR}5f|Bdz^} z@H0Y@g#oM_As;>l+KgF`q(wRgWc>(G{EY!EjrmSOk(U8@8iMKKTRFrOPh&vC9zQ_w zD+Vx25}XP`k*NW!5J^rI->PF;q-+4Qa>1X$GmWS*hXJLXgV5>%#YY`9Au?^?2#)(@1MLP{rI}K9y2f;sh3jPr&{4)stk+jr42>y8ha1^{Z2yKtr;kBYJ z=!$y*g?|QR-UoOY)0lB1eI>NPAUH=#5Y8C{=SVriCxf!)2>1kZuxk|Qr=+8-j_QqJV!R&U@l@~vT(ELv+2zU7;0GxgOL z!XaAxAzJ()XstJKQcEoU5H0=?E&dRALvqC84}n7@EnGbW%_ccw@rO{_bAV#;hj0U< zJQa&SM2kN}i$4TT01hqw5O_eIip3uSCp-!$7JrBqe~1=;h+1)o)^ms!e~4CNhM{m_!ggJa#$owLv z#q->XeQ1JHMOe+88PYb4j@)54iN(iwuk&a$xrOD(tacmXpMrT0q4*WsBmxg8vx9A*hSc~pp;(G-@F)cTMW&AvzQP=_ z7u&F&D`mdVR(;I;PY6E~2%kZq*oAGHT`)l_v|meOzLQXF!8Xmur-ghf`hOcd1bJ6< z={Ces1e|54#7Er*>o53Q2u06t$B9-O;4V;U zJN$5g`za^CU>~{5$ zq~UK1^b=MS%FJ{-{A$TxLO4LUjc_|5_S0fN0oJksbwV#;fG|iX9>@rMSApVzj6jYK z1GZxJF=A>X4%X?A?qIr8a3E8U0``HPBk)NCiZvX8Pa^4I!ZEaPgj_d*9i)=p1#LV6 z-n$oY57T>@K9~6Wm~$Sq&4@am@It8<`xXQqBIZ|^zKEC?Gkuuw2urv`S_nVqVZh6n ze>ve5%(;?Jua(}x=aF_^Pk1BYtr)Knbtg-{i*;d#19I+R`d-5Oha0 z7l`vK*7zdxe@)DnnDa8>apwP)`L7WFRrd5Xw(TvJ^EPqbAr$Et!EOhEA2R17zWXuX z{eWXL_74!jdN>4POhCLF61%f@EP7;EhY#D)qwe0!=7oBiIpv8eugs zUXV4xbP{F|U*^{%nv137@ZEgAD>68u6%rOPU*fbQnxEyAvxEvl@qS0(l}R~OET@_{ zwalp_PCaqjS;8!q*2Da{#GJ?U8N^>exR7uW@fY*mCB$4x%;n5k!*bRUM`U~i`zQo% zWd0`R5AZFV=R*D#LYb+Jz|)h~4zsn}h_jt=Ki@r{=>xzVg~WXTD6^PRSTunFLYbkA zLcX5Dw|8WgI?7q9oFld&EfJVe&P+#PN93t^0;BW+MmaMb#YiEaGt*I62T9A!bX0af z0?N#Elrz&&SbEBrTDXF?v>Gj1Z1N8=zilgE43WNe>f_poL?2!v%O2p+wZjWN$g( zE-4f1!e|xr!*Rep%)xGRr1ud@3~dZ+!~(Ie3GhPDa}4@HAoiaFeue3a`0m9_ABOik zhDeUI^K#}~i;)^*9CC~rV2shoF4x3!$ocU9k@hxVc2(zn@7@P&jF3!ZXp(voan2-zV_9I0Fb2m#5ki_o z*g-HjPLp?1%!n?Qq&I|q%xY;4pxnQ+q&N^{qVh&MjGo(F<=#` z$?X>%l};tlXb8F~lA`>%V5xKT z6SgPQo-(;o;2oa3R=hJ$RJq$WWZhH#w7rFwK7b#WJL&P>$iSx@j`{!|Ty>v9`!S$4^oqv($8GrsBE(zn>mkiWWHZJ*smSz zN7~O)6KU^9+S5KBM}O9u!L3;Be*KPq@*>hEGT)zl7T_bcd{iVKfSSiF$1CYCcZgpT zcZ**~BlRQO=`*t3uWa{Y>C&Do0`OZRSp<|L)&2S={p9bZePp;Fjg+J06@c+g`pK_I zOLl62FIf{mr9W%mVB$snXswiE#rm~k{bcK<{tfHNMxe}24e(9t$xNVp-f|*H{aIxO z$yER^v3!~3u)%)qRKMO$Kk}J2i4gW1ckM?{rW~u(uT|u)GpS5_9eIMW*)~ppf#dt>jS*Zs`uRS zryn`Y(fCUJFwB(6pa7#e`z!I7`YZ96`qAg9kH^$+lxaYD8!%EdfKEPJ4j5@1Ko7q{ znVs+8=ftdn4Iqc}z-Zk8<#0gR8&K*7(4VKMA7(ZU7$X`ecOf$aWC)~Yw`cvn{UlN} zpyUiFIRj<9fC1t~xym7N!uFAt0p(%9$l(AQENxDTVKoEjuGB;x29hHIMg|6m9P&gk z7OqZoh?dI00KP!V^KzDNf57)X;Cml1Ml=93$ytdU4xpXVGMr?<_~8J0DK&Zf1HSzM zqeBDmkerqGK0u5pZ4xaUNZtjQcRfIKC^dPf1I7sl&@E{h7BOJ7Z~(26n!L>c-{ycZ zq5+sg`cIs2P)O{bg#x%m4`P=&7hUu$_?e6U9_$gr(g%@>)NBwVU4v?>K{eH&nrcuv8Kfuf7Jc;t zko~;iLzdaqOZiJ;Z1G@nj6rgY!R^*RX89|&C&!rj$GxjWBL|bc2__~vh`a@NiHS@O zlKYXPiKPr;sdKkaTC>-3)~5#5W`pHEd;6wWVNWsjPkSwP7E@+tF_?JfpsTKfXtq4d z0sA>|Rvcs&ex(ihpWrR_a9c)09Xp7Q z%~AGfgP-uMPg;(}A53;MNOm-MXGWlMm*;lc+ugQjH#hZUfr4aBgX_FXwCCNFFt9zHFJiP}aN?tKXsq-XaIy!d#<9efXNv2niI=gJe`jYAc&!+ZW2;PQE1E4w7hCfo zG2X{kblPz+I&CZCnR24^ThU`@%dPUIt#YKTdQ4l5!ETkqY%RaTJK8E^*(x*HYP@u- zOk=CuV5=5?tM+}XwtFjFk)E}@TeY)WwX<7!vu9ylZCrhb2xKs8H|(Gj!(fMqJqB;& z&W9L(+B5PXV;;O(yiUy9--Zr92*$VFh7J#Y9O>Q0GlD$bD9<{ee?d?%}d(_?@wYNv@?NNJs)ZQMow@2;mQG0vT-nKKFUg678 zSBc4X+YUE41-{>!Tx+}6+U~Wsd#&xvshpMj-|iK+!yHm`1EaB>nROPt5ubNEQStQl zG3(>YZSBGpzhny+5YlXL~Nwz01l$!4_p4(l?-L6*IE+^lPZlS%pWjneh(04GuQj<0G9n7ZSdvlc8lyV|VJJe=7Tmj#~3`))Qw#lmZ4rWa- z9?A|_Ys!gl?@;6IVAiB29>|nUcJ+CBgQ&E?yPy7ypgm?H2!fiM&|Ku63hCkocXJA=C5j_zp9P?D$jCd`BgOM z)!|ce`cB4q9`&)aI~nI-=J-zM^-gE>PWjSK`O;2p;!f9LcWV1~G6I~XrQ7N1 z>P~0nPVPDN8^B#Ks9>abm(sgS>D`6oq$b&zyOf+=vV~np%gg01S-~#ulXE#9jNRX* z-QT5ezDv8mON+nDsPZmt{VuKiE-m{mE&DEQ`Y!GGE-m;jE%+|p8hvW7ckzx=j&=VmJWDXKtld7*ZgcQ< zE7iMsuGD`^+%IM&eYaA*o2Sds@R{98^=_YWw^F^EC(Y4BrFJXTyLsxAv)Z_urw%6K zw3}xSCf2lDdEU)9q@2~p-A0ynE6KYVlhiC0KO{yE?`C|0%f#EoXye_CRWM_!ZbmQVtTXP$6A4B$?^cp`E6KZ!|2&~QKcPH7p*%mKJU^j4KcPH7K?LAT z`2^9(mqGSffDa%=Pm}}5{1fG%HOYKx7zQgFL}{ZjPQw&v>BJux?8Y9%afk%gOzCf;HLHC%fPYyuZ}km3~~^ zeu5R)9Bo*itdFl7rT=~LNp?+LT|UV^9*}J1d0@P}C&`NmW==iHQ@;#8AoeqoPx911 z0>9u{Ulg~C(Wp645``q{@G@+V!%eUj|%T=!ezela@s$?||_ zjoJQ?<*bH3Sw3%@Xx%5(w@;RTXw3=RoD@%chtuBSj5TlA=B#)wNbYxVUXE7gr#)lK z6IHIXexbO?qg9XAJlbYWa$}yXEEe0vTddE@_><&^=jbQJ=-VeNpR&BpHt}ko%vTi9b3#~vkok69dh z%;MN%7RMg5IQE#uu}3-IgPhZ|a=ynbjy+~^>`~hHR3hzr9o4;#>R#sf%hY64_d2S3 z9o4ile&MQQga^QtznlbyW8g zNO`B2$oW(7gkWUvDaJea6x!n{WH0?>l%8_6J!I)3Qm&p29R&x zGS^0sz+ht3BS=~>(diMm%5gB+BO`E?V4~9_*!_cGvPVX+{wXJWWCRXC8>H_0V6sO> z${sOs=@BAksY&+8h$BB@ESeZFcQpcYNPXfYBQS?x_|FJ&u;7=(WRHxPJu*T>n(LZ9 zG9pJBVWliJSsfl>r7Y!SkBpEXo0?>gjNsQi3nqJH1YbCq?2!?C;T%o&$cWh^Bd#5f z5Y5ZEi9(OSQc@248X*dO3QX)}1P&H_M$Ag_2+_abAu-t_BXYA5;>@{XvPVYXFu`Px zj1XZCCVONAJ`?;yG1(&{u$tW4r2U+*{-l@)^N11V5#owDD{I6f^1TuH-bk73kr5)y z=|AzD5hBbfCwpWBMwFhDJu-sV#yFTgG9o`5fg^F0*~j?4Wv`_ZP2=V0LUDhXiWTcYScV ze4p9l`>+nVlVp$YLxxlTy7!s&!F|XicVhPVKC=Y(A&0avdwd@jgmbYVoQu?@ebzPh zRa(%!`;fY{O!oLbEK6D@dwieSz{0-xf-!KmO4damCP(r?egwWDBfAmca(A>%ugGce44j&igMNwp7!lL?b~@8`$awT zE;!68)zjSbE8y>0e#ZJ2#pB||9OWr!$y20!wdKTtpXMo2e^*-aEUC%LFJHl@%s0!$ zM4R^;ZQhT(r9Mxw->2B`Q|$LC_9JgOnrGSXv+PISQgZ_%u%9P73ntpUpC>v6CfdB; z73%#)oA>(`_VYv+%l%l`VAd@58*Sciw0S@8g?iu1exuF%d9Kvt?d<36q?~B;exuF% zd9Kvt9evw7|F(DjZSVZs-ubt^=Wlz@-*(Ku&7GVrzissL+gyt>{Rb1_|2DmyMVb?h zdB$kWGe%>cQM*2)c6|mmcxCwv-0x~IQMhN2ieO@i&ln$j##rJr#=)L}k5O;b>lrv$ z%86M$1J}BmCx0I{g>^MCv7qnBHopVUTts=8FJgR$onk(EKUq=?<8~e87FX2i#G3z#WAL+);SI9fb#cq64m79xzkx zfSmsT@!s_IT`{Yf2h3zXfVNLL`OF8<_PK{2*(Uo651{8$bHX+!#aC^4#-lUV{Bg?Y zb6TR$>5W)%YO-(lfUBYh(9$W#8#>^w!vpR*Jb->q&28z^eY*$H(rNh#d$?Q7zTE?^ zr5->Vr`+pV*@t+*eTWC#hj;*;oTG`p9(1e@n(uwkeD8y<>K$lV6xkBl*|p990#$7JkdGWId%X==jQ$K(uSa)vP(`|-+aF&KM#PQLe;jC~Boo^tZN$7JkdL>JR0jD1YTK88j6KIPV>0$J8T%NFJ?AFh zdkn@N3}YXYv5&#nQxnEMCSxCyv5(2v$IxkvjEsE@#!gEa`2g6s#Wb9*T z*YuNo?=czs7>qq_!q~@T>|-+aF&KO5lkYtSV^2AZeN4taCSxDNuH`Ah*vDY(X_7525~c*^Kd!9wGN{z&VXMOv)Xl7@8htm0Ee0B$En$A zefB;d&iAOn?0r704|15XO>bF~J-5}V4_O^P%xntAXF1G#NjYl}hs|j`%zVjN+53E$Ig)Z#iVrh8g5eK` znH?#|e>{vlq~$j1$Ms&v;b6~Ej`un)2OEcjr5x{d91a$YB^uWfjcbX$u+QI5TlSHSu1@k(^Utyw`E8L(19v zJg)aTuH=mCy^bp<<9e^-davVpuj6{J<9e^-davWk$++I@xbtyb?{!@7bzJXtT<>*U z?{!@7bzJXtT)$%++2Bs}UdNrk<46Thr1v^riT66L_d1SLaOX%x+Q)kxM=H`X-s`yD z>$u+QxHElR?{!@7bzEO&9NEaZ@m|OEUdNsL<9e^-O2W8%pU2ez<9e^-davVpuj6{J zmKrA?)@DPL;JmzwgWrhKU>Uuw#in)0Qle5r}tzFaot zOHJf9Uuw#in)0Ql ze5om4YRZ?I@};JHsVQG-%9on*rKWtTDPL;JmzwgWrhKU>Uuw#in)0Qle5om4YRZ?I z@};JHsVQG-%9on*rKWtTDPL;JmzwgWrhKU>Uuw#in)0Qle5om4YRZ?I@};JHsVQG- z%9on*rKWtTDPL;JmzwgWrhKU>Uuw#in)0Qle5om4YRZ?I@};JHsfotkUpD1SP5Dxj zxyf6TFE!;$P5Dw&zSNX2HRVf9`BIbF`Yi3kmzwgWrhKU>Uuw#in)0Qle5om4YRZ?I z@};JHsVQG-%9on*rKWtTDPL;JmzwgWrhKU>Uuw#in)0Qle5om4YRZ?I@};JHsVQG- z%9on*rKWtTDPL;JmzwgWrhKU>Uuw#in)0Qle5om4YRZ?I@};JHsVQG-%9on*rHNu8 z_F|&AN=)Qof`4r(HHr65U^Rk?obazih#&OmV(UL7F0m$Gb(_#eOvo`Nm}}2b6F+x? zxt4M`#soIv8{qxus|jqx55RoYZ35Q8b+r@|c)=+r>uCag70h>aCeT+Y4-@5>(1J|p z5l=8{Qj@Q`O~^ndv?CMPkz6a;P!njdU|7cl)+F^|9TQlSl*8*LuqL^y_ zJt5PWkZDX{P15GH_ncVhM0v)RVIULOlpOtIYZ4coK$5vPZOR04OB=uHHi1pyskJE+ z=uEDqWtl)$(>|7ELcTG9Wl29(+b1qMp=FssV$)kzbtllb=^@e438XYVBwuR+nM|8} z)osGBx=m)w&5m-dgX~7j>d#TG6-<8hQLY7IRbK(KZg>={nsU|+ zkMgcl&X+xo`bLhrN_Z6Onfl1UQSNXNxYKeXdq<5`9>or(O;-AjVgZBkGL9-ON3no8 z`n>g#nWI>`)I@TQV%<{C`rT3A`%!FGYLZ`l)K$5oO2Sds&=V)@ej-u^@>ur-PyQAp&98G@pQ8fH3Pk17Ahl>cMO|1o$A5;F1DgVd3lVi&NG3Ec5@_$VEKc@U2o4rrv|CsWB zO!+^q{2y2Tk1PMjmH*?)e|9!pSsqvZlY4kIA9lPIH`r5)WS|G zjgwl~NiFQ87Isn#JE?`8R8}XI)k!Vvq!xBk3p=TWoz%ikYGEg}u#-ylBvPI0#==f2 z)ssr~q!xBk3p=TVpFo~Zl_!vA5D8fXX071_5)uptJAs6x92;?>jCDBSTEhusAV(h( z!?I2w1HsIK6TIuR-zz?4P1YJt@UDYdYdE1-c!GDGa@HD7@UC+YiISb*EeEsKaDum- zHYdfz*iZ0gb2MuWCwQlnd5^T@JyOG4OHI}qPVlBuleLBuyqAF#3)YaX`XPc z;RJ6XEwk2eg7FV#t>FaYpO#r`IKgPAoVA7%jBs$1n6-uzjP2Fsf0e!bH`&XS5tS)s z?sMf7GdCD+JY_^>%81Gob2jyfs7&drPU)*o8Bv*1^GvCErku-DyeV4prhaGHQ_RY=&#au{U8iLtDpN*Orks^i&dMp?evZaB znQ}f(F&}eoA}UixRHmGRQ$|##jHpZ*QJHcMP9XznnS6jLBPvtQ!71n96jG6+nSE2t zzVw`k$`mv1&wPV#=!bG{>Y(yV}!W(Az&-BHiG zqaMD^xxAy))T~K1;7Q&B{hJkV(yV}!W(AxyE8rw!p7!~2>`Ai%PF9i?z&E71PrmfS z`0x!3+OW?aEy2E3p8XWOF*V6iXP2QZlcS#fB{^%4E%T+UQ?81V^JPEzQr0Q>VOoAm z3_m=@>U7S^-hoq$My}Wt;|ZREF{XX?3Y}t1g2`Gx7GDY#PD$Y~@$edg;Tr~SIfY5b#{ zm9LAOM*f5Oy2xqsT~E7T<1}l_Y2OqlJeu!CoW@tmx%s-tX}>OVnh0TPvODQCGa_xW zB6FItO*vVPr;P!g#*<2Yz9w;+*%8dwMNSj_OMSj9ahm8~%6}R(x8yW)hk93MPV=Tx zo}WIA@}0)pO3N#)Unpj!<}`0JEweBFv@yNYyxG)551(dErJS#eoOX@oG@e)L^L3Ha z%(B#HjpnpF-%leCsmZq{PUDfK{*#vTb&=D=@lvx^>=f@7KV_RwTkf))yu{N+?M@?6 z>Fpkm=6e*UnU%rMS(AMwr}5o_L)L%Ua@KLCnG4T>$s(Bc3l-DG#;46TpJra9eu)@Q ze_BsxT2E&hiG7@!NbEG+;~<#brqeKxl=Fp(=^|gKm`0wT1@nc9Y1l|Gc5oUtl5+Bt zrpw&nw9-DUv`;JT(|Q)u%KS7k{{!0O3l-Byd&>Dj#WZpr%oi%Ak?ohkN5y=hVj9^_ zO}+ZQ)-S_lUXy3 zw#m8qLdCRSsF;>PO*4biL%vWk&D_azm|B{MGNe4%0*o<{%9yJ_d$H1m#YG4FCTU#OU_zkdh63Nw`t~J>hpz)X=mcJ zGjW=knEHI7Vw(Awe)5HiY35@vQHW`M{ApR-G;=d;vWh*;+)SH%p<)_#mmY4*XgE)& znWs6LFH}r3PjgnjP%-T{siv8y>0zyyFH}s+1E-0%r?-5eVw!k++UE-u(`f#b^M#6O zE$Or~cbb`-`h1~cn)#cv@`Z|N=5H`ueHyNqQ4Lp|CJvJ}`9j4sb2)ADg^Fq7?Z@$U z5_vnr>;v`D&M?WqAKM!q^DU!9S!&d671WqAKM!q^DU!9S!&d671>m zvXs|->epo{ugg+im!-TeOL<+E^13YLby>>mvXs|lDX+^?UYDi3E=zfxJ2_kaahbT& z8%9vyFoODq{`(uowBInc`G%3qH;ie&VNCn1ajLV%soq2$j+bvD55ah~ZyJw!6G=!p z^Yl&L`@!-}V|{NL<$KfE-J58Dv*nw{=-y-&oGs5WGOvKiXgz1t>zo;_=NP5b@BZ9FJ z=eW<5!;#LZ)z9IdQp24G^G&mJ=&_WO(RvPD6ii0zIWt<%F}qXV0G{W$j)VE`!Fiq~ zn4Qb#xzAuSaL!|YgUP@-Z+7u{XU%!%%X#O^dGtVzW>3U<>@O%+JdfSvDze1$*v*vV z>6}-7&Jz_+O&H*Ly`J;3yYtwx)Q8=j$BLyKu6|y2cOI*hn)ov3WpwBDXwJ*x&SQOY zG;HlW)+FWR&z#4CfLMp%dvg^1pK?}k&daRMqsdcF_RD!W)p;~_%E@dwFLyeRPEI-A z%K1u|(s{F7&ZA3HPBzQ=O0rqbqd8L(j&UBHdA7V@eDZ?v$qS6bJZhpFFBqk~pd4P1 z4_r_hFBpfsV9fb~(Z~x%8ZQ`WykN}mf-&a{%IyU_6nfK&T~LNE80EX5J-VPgUogsd z!8qOp<9HX0&RtOFUr^dF7@fOdbnb!?xr@rlMdjq8a&l2Qxu~36R30uO$!E)pKG#KO z?nU3}MPkwOsLx8rMWWEbyv>Wg!Hd4Ti_Yka&ghG-N?asHO-o|b!Q?GpbgkhcG3t~v z{uf;@xJaaW9$J8yAxO*+{MCzRD`g}Q#LEWpQ$T!ekd-(PUmHaBKvrbHuUW>wpp1VF z;$MUNMON!5f7deJG-Z4-5T62M{RPC20P(Cr{0I;^1o5fCvm!nv~V#UDgMSN6Rvnv?w2crEzV*Vgsj{(tsAleT^(}HMPkhOIX?FXX$K=dt$_5;y= zAleT^`+?;1gXHsr@Ocm>U#UdiXbctBwGMv-4^_=NVWiFvIRi01wgU|Kw?DT5AE|uwj^7C z8rCwv6SgETk@9P{AzOel*#h7hTe6lx`E`$yEkOBV%Dflujd7wMcpYuBmI2OB4~dt8 zXf5z6>sia7Of(53I}yCbda?y5lPv%eSptb#gV%bLYyrwkER!uj`Fd+urKL=^0Jz$k z4$mc9fSONObGO)KJ=uxWlPv&}Eda8w3MBdj_Ii|T0m|!b!&(MqvIW3RB2g*I4||l= z>dJe<11py!?WfpRPm~oT$_f%?1!1jVo?;%77R*ea$K1)$%=dXnS`gL>!dgM1tRPWV zke%${$AV$4U~lTfT0x?$V82I+vQj3>3U0B6J=c`UMgZAO4CZdxedxJFSt+yk3PfXr zL|H+itl)&#g0)g6$_h?ebK0JXvQl#<<*-(8zGb4Ul!>x}L|H+itRSovB+3e|ww^CG zP-Z7P*ku{df-+H7kUiHRthI6lqZ-Vtzk*Q>!dk)1{VN!&A5^XgYXzhEuTa}x;Zt7` z)=JHU_0i{7sL8JgYpq-n)(Wi@#MVG!Yap>TkT3UwkJysf8f9W@ z;A57*BJL2sCPs74=h>eFiLHUe)gWKC@1{KVG4*u?paZOTLdKq3HOtmOQ})<9xwAh9)&*cwP|4Lol- zc5}XZem>TddadVt-c-uO*1!c~?CE^$Y3hlsfw8Cad7CK{TLam*4iZ}fGyCQzwgwVg z12gaDYiH*twnmxQ8W?LkKR!E1Yz-u~27bbNVr!I%t$}w~vsR4tnXfILk1bA{*y8y} zQOd;DK=#Ok#MZ!jJW6bhGO;xHSlNA7z>yY zDf4v>kk}eXYz-u~29iYs=D8Liv5$k1*aeBLfw9F4;8ZEcA}@ehaW3-wEJ$n(B(??; zTLX!$fyCCp+~ESHeSy-xKxto~rCXrPFGy^SHpJFIVrw9=HIUdENNf!xwgwVg1BtDH z#MVG!Yap>Tkk}gdRj>Fp?}XSIH9N&HhXq*4Ah9)&*cwP|4J5V(5?ceK{T4VQ79_St znb;agYz^e=uOP8Ckk}gdjBUb079_R?5?cd_t$~>-3lduck64pgvw&HXbBV2iFL>uK zdX(52HN@6HVrw9=HIV%RAh9)&*cwP|4J5V(5?cd_t%1bWz|5=#&a4HAtx+bn1`=BX ziLHUe)<9xwAh9)&*cwP|4J5V(5?iY*z=8*ft%1bWKw@hku{Ds`8kl*v0O<%4TLX!$ zfyCB8Vrw9oVBpmvu{FxX*1*if1 zAh9)&*cwP|4J5V(W}YrcYz-u~1`=BXiLHTr{S_p(1`=BXiLHTmc`mUv%EZ<{Vrw9= zHIUdENNf$v%w6EjUBJvuJ+U>A*cwP|4J5V(e$I1=tx?_}5?iB8Yz-u~1`=BXiLF)M zn;1yt%EUB4a&IaNncc5|;o%GAs|)4f3+3Sp;S$HG4-a1`Yh5U7UC69Y`|$9EaEV}e z_(FO3LT3G0%HiP)<>3qE;R~Jn3!U`~<>3qE;S1&A3+3Sp<>3qE;S1&A3+3Sp)z1s% z;S1&A3+3Sp<>3qE;R|6AenXG zR~eJ5;$4C}MZ8PO;VM_fy98P51pmnTKM^km<6VMb{#V7j1eb`{iFlXPthc-YY|&F_ z(Nkz~c1H(Nk#AQ)odK z<=oeJUoFXc0^=#P=qa?Ik#aPiLQ5hTU_6BuJ%tuMg%&-97CnU)J%tuMg%&-97CnU) zNj!w3@f2E+#`F+Rp#_b>UFj*b=qa>h zg_@dp3N3mHEs2&;j;GMV+)w*>3N3mHEqV$qdI~LQfE(`3XAj<7A3w-IiA8IJ%vSj3fC~IXDZh) zs=;^)*D!j)cna4rRzIj*qo;6gl0s&c1l8Bd`qcdE*o zs>ZdddJ0uNg{q!HRZpQ>##5;3DOB|os(K1lJ%y^CLN%-Kw27xs)l;Y%2dl!SQXfyD zs&239DOB|os`8?$of}GRP_|9dJ0uNg{q!H zHLLLS5Kp11r%=^XsOl+Hzs;5xZQ>f}GRP_|9dJ0uNg{l#@s+Op#r%=^X zsOl+HWh_-0OEuBpN>xvxs;5xZQ>f}GROKgC`AJnzp{l1))l;bIDOB|os(K1lJ%y^C zLRC+pDg&wNDOB|os(K35tip5McnVcLg=$veDaTW&R_+$#DOB|os(K1l`9@W~QPoqZ z!Zgx8osY`u4g{q!Hjk)j~PZdw0rl(M2Mx-21p~k#OIi5mI zPobu#P}5VWA+e8BABnB$Db!>OwIZHEP0mo$Q>f`F)btc;dI~i?g_@p1O;4ewr%+Sc zYf5`fX|HMNYRY^~Pobu#P}5VW=_%Co6l!`3H9duzof`F)btc;dI~i? zg_@p1O{P@SQ>f`F)btc;&Xk&-LQPMh=B%mdDb(~7YI+K_tip4*@f2!$3N<~2nw~;U zPobu#P}5VW=_%Co6l!`3H9duzof`F)R>!$n4UsSPobu#P}5VW=_%Bl zr#0qjt{6|Drl(NTQ>f`F)btc;dI~i?g<2(^LXA0#EHP(um3Rs@J%yT{LQPMh=FF`* zb8C7EHF!dvE1p7)`J1!iDb$$1=`Ef@4dxJxr%=;Vs4rtL(H@cG@aCZIzw2%1&Elr>(NnR@rH*?6g&O+A2G3m7TWAPFrQCt+LZr z*=einwADG=Dm!hJowmwOTV(NnR@rH*?6g&O+A2G3m7TWAPFrQCt+LZr*=einv{iQ6Dm!hJ zowmwOTV(NnR@rH*?6g&O+A2G3m7TWAPFrQCt+LZr*=einv{iQ6Dm!hJowmwOTVC>Uo9whrcG@O8ZIhk0$xhp3r){#+HrZ*L?6ggG+9o?~lbyE7 zPTORsZL-t0WM5R;WT$Pi(>B>@o9whrcG@O8Z9|`s#UeXxlbyE7PTORsZL-rgX7riL zwX)M|8P$}-POoM3f?=oEGFCsRTq`@hR(5)=?DSfn`dZoPwX)M|WvAE5POp`nUMoAj zR(5)=?DSgh>TKm&+3B^i(`#j?*K#LkD<3EmdH5wG55HvOVKMji3g7lkqP%3|hVFr&BF$irfp)na5mHHkbd z;kmN+DUpXIJWDW)O}*E|xmNOC8~*j_^`P zc&TH%)UjR4eIBeVWyH>czZYaof>(>zi5tLn-)6gSv)#AZ?%QnlZMJ)@cCXd$wc5Q_ zyKl4IE4F*ZcHd^ZZ?oOE+3wqH_ieWOHrsuh?Y_-+-)6gSv)#AZ?%QnlZMOS1+kKnu zzRh;uX1i~*-M889+idr3w)-~QeVgsR&0EX?xCIt^s&WffY!Ubwp7$24STL)xw_wFm z&N$psX3g%F>>C2vHw3b82+VrxE!e4GA}6?v58={7NL*N1H$swnF$TIte zD6?+}WZw|Tz9Eo(L*NP9oD^TR>C0XS;M{|%83cw zg4M`T_6>ozSVLYq<<-`(Z-_GchCucWf$SRs$)*F@Hw5-tX5SFyjUxMoC}*YV7WDts zmF39H%V2c=a^xhKt1nmQFIVR;SLZKBPI5Fle>rjzjLu)K&R_1FT8^BYq9$vX%hmbI z)%nZS`ODS$%hmbI)%nZS`ODS$%hmbI)%nZSe#_PQ%hmbI)%nZS`ODS$%bk_W)%nZS z`ODS$%hmbI)%nZS`ODS$%hmbI)%nZS`ODS$%hmbI)%nZS`ODS$%hmbI)%nZS`ODS$ z%hmbI)%nZS`ODS$%hmbI)%m~bJ+EL6K3iGAcs>WR4-1SIUBP&!yjc8@$UZD;_$o5U zSCK)!Yy*Crkz9e~gYvf(NIplA{2=?Vz_7{{NPdugSRnhbzz1@5#+hp|!u!Fjq^w}J zo&tAT&g#jE?85@thXp3bU#6(|F?1Ki;%rEZn6msP}GzDEt;S_JvlBFMKE zLB5U-@~uUXZ!Lmf7Wq0l*&<%<9)3n_L83Y)*|>cZ+{iBmz4R|BKV9g`PL$3zO@J* z68Y95<>zg~*U>5Sb##z#ErNV&5#;OWAYVrZ`PL%Hw-&)a@=5tRI^{|GIboZVVpd>R z8CO|_2Ftm8YZ2sIiy+@x1o_q?$k)+9zO@MQtwr#H_^0;F*U>Ah(0GgkT!?EivuH_N zCFRRo$hQ_j zzO@MQb##!gql0(ZzSDF0)*>~ZvL#5z?g z7`^F$54=o$>`{k&phF(sVf3a0R*?FvEp`~a>3|75Tj|h(ba4OAQH~AjkoR`*6e({I zlZDt}^rizV^8?DsLhLYl(;)}wFnZHr^rpk;O^2+w!{|*1v-K6)hZ}UrkUN;IsYw=M z2ji1#g&}lcgL18JTK`=!Yl|INoYW@^vBT(1hjypK=uL;wn+~Hl9a@|YqcfnuVMWZ(zumzr4w$OpD=Fa5|9n6um zkA>>s-KG6Cc~YY{9dd>atyKr_G)EKn=rDTIA#>OY_`q7dn6-K_ zYtbP&8tu0hn+v*Hw-)PphH^6c)?z(V4u4zg2(N|3rRFOhO>AMU>uYPVXsOTo+FEQ` z%3&aDU0+*^e?x{kIMJC&nG9 ztaWW`EjmAC_CbKx+os(z`yi@9R!<%PDH|*6vh$+?jn4l%qrLR6pFQez?<_ekU`X z_P*acoy&JJms68>eW!EtPUdE6^4{-sZrX7teBK<*s~t2iz$pdT>|1y#rnhR`~ZH!K=ip#UeLtLREj$F1v-_YPUmc=E4iJ@Qm6dC6In_>`^C)V zPGzZ6w%_TD?o^gKo!6bpQm4$n(>2*nC8|@--zn$sl=FAG-r9*=(Z4ILok~}yoWB$4 zO8xu9#D_cO`JM9oPS;O6m9$Pdf2S*_owEH-<*ifB->D|)RNgve{++Ikb}Dt9vi(k^ zF8#-9ce)1JsqA$sd!4R+-VJv>TltjwjnSnQ?$Qc(sXacU75=PNcpVn!<;prNPB8Jbbx7J-FkE6Ck`|0Fybep0ql+zn zNK8C!o$<7F^!6O(#M9PkiPmX}))`M*XFP2kl13Y3j5f#^eU{1aS%-{$AKYS1GJMu) z<<}WcTj$-bLvnI%GJMt_DB!M#q0%GXFP2kvXQHt$yJP} zt>cZSoHdknumxHgPg}=3O-=R!tm945v+=Zb#?#g@_vznw+B)ND>v$t+pS=LChS%RcFS$L6Y7cb0=r7j#pB^)Odawv-|Cr~7UG$jY)1zJJ zG3wsKvp+|D_5$>n&(LFrPmflk2dj}D!a#bk8o}%Z=+SEQn77blu0jvvmZRAV(4z(E zF~g_F44)n|e0sDdJy?^p$zFgS#x~{n%RTzbJ=&KZ>`Usi7of)spB^)OdayOA$zFgS zEl!VX1U=Xt>a{yPys4Dur%yfN9xYK1mMHZL#aN;q-ezjz|Muwr_V8v?liAmUg-SVl z0eZAhJzA(9GkkimQ>kBO%j6jMAP=d@UVt8LRu48S5jHr~WZCVciU$x*0xoGkoesut$ecXs#6^+nVRecs3ZUUTWi?L z+-LRz)UlW;C%>`ojHnxBsxu>USJ?|tH^ZmSyhu5F0qVxU>#kwd&G4yXVbf3c0@R%; zb?j_vj#$&Q|Lg^*Gi!p`3s5&gUS|g7TG>%UvKOFkhELrLpStY2js<7j zm~o5}Gme&K_|%zkDQ7Q0-Fa7c-qo3RT#I>^quC2khXLl?F!MV0J(vuiI`%#1W+v91 ziFIaT>a!Q1ZiY{t`IwsQ1*n_hQSp-VD|cli&G4x+XVX3zK6NvE>de`cvlpQ5%&jvs za+T}_sKXOdpA4Tm^EWlg@ToI@GY;`J>M)03GJNXHdfVovlpNtJ8j5L8?w`e z?6e^}ZOBd=veSm_v>`if$W9xw(}wJ{Av`if z$W9xw(}wJ{Av`if$W9xw(}wJ{ zAv`if$W9xw(}wJ{Av`if$W9xw(}wJ{Av9GV@0afe@@B6FvnJl_o9*Szro2}iv1OQHFYhkMzcmB$ zZ_R*N8Smu{rnjb;b){b3S}?2Oy}q?x-cGKSRqtNMzn9UbhS5$KX|YH;Jx~T zeOS*|Dt%bbVD^UhnIqAM4NXm=Pkqe0VAg8;oOgX#)f`O>s*iaWOvX!}ITC$X)w7h7 z@zQ6GM4velecIMOt!f{$=1irJSrg38wLWG|%DZ!}_N5Prr3Q%&X3u*cGMRERUiy%( zVD`NC$u#v^tx;Wv@4^*l>3k*@XJXE5HxdhYOSWj#D|9+-@m^{z0kH{)f! z887S2cv-J6u-+KddZSP4joqy`cDLS)m-R$E=z)kwFnev*oAI*VjFAcJQsWJ&@rKlRLu$MsHQtaKZ^(Huq{bUk;|;0thSYdNYP=ye z-jEt^NR2n7#v4-O4XN>l)ObT`ydgE-kQ#4DjW?vm8&cy9squ!KJ40%`AvNBR8gEFA zH>AcJQsWJ&@rKlRLu$MsHQtaKZ^#)pq{bUk;|;0thSYdNYP=ye-jEt^$oV*=#v4-O z4XN>l)ObVA&>=P6kQ#4DjW?vm8&cy9squ!?ctdKuAvNBRvv^32H>AcJQsWIdmxt7N zLu$MsHQtaKZ^+p_q{bUk;|;0thSYdNYP=ye-jMTsNR2n7#(S8#aHjGwb0HXS@nPmd zFf-_3=E4su59=*Hthe~E-r~c0ix2B9KCHL+u-@XsdW#S1Ek3Nb_%Ph&Y~^9S#fSA4 zAJ$uZSa0!Ry~T(17QY;sFY>=d<))&vRPb+!7jxyZcrSm=)>n!viW}z2mlUnV^11S* z%#U?*<#!beiZ9NU-(CDnv16`$S@ES}bgulK;>z;^mPyR z4qQKX@b2zS1J&CaD>rXwRM!l4Z|JMHU%zx|`^Q(^`Wv@?e6~%R+}5}*O=esCHYEP1391Lef{)4aDQ)ouKKS7E4UcT(!1eXb8$bO2e57~FhVEN8aL=1EjMe()`ycA>yZ64q z4D&mlXU(Qny#sysZn`eF(05N?y}D}4VEw*o-{-0WTY3ft`v$iRGE&7eMYUK~EG?y{EW`zc%n+H+8+#UjILxdAH}L z^=$>Z}s*6_S$`OV^gK?-r`<*A8>5)SDt*(k!|qT zMn<5&SWn$%#_|8pm{&b}u(;1Bs`515^q%)o^(qhX+r!^~*45Ky_WHBu_i<0N_dZbE z&pCDOxUcxUXKyYZr0>~LyPkKIH#j&qdcVP6-8^r#_#|}=?q!hw-(UPPa`R!%%m1&Z z{>SI!`E$ngTw^o$`QiUh=kyj^xQlLNCijwi%hS(FW7VGTFCL<{k1OS#-je1&`~9rp z>{avI7rX;QSK`~2M$ov17@TKJvu8>1=Q@~8}GX2;=e%P z|BU}tc3^-i<)!7j%6FHSmG3DpFXxq4l=I64<$KF3%b$X${d{p{u?S0aDOP7? zae49Ga$)(t@~ZOc^3Rn&UH(k@v*n-1(#$K~Rs7@PpA-j+e^~sZVytW_f3Enc;_ny# z0DCsScwh0WSh5wxXRu*AihosnpDF*H;unf<7JpD2D1W|OR9;h7%Uao5{zCbSWm|b| z`GNA6$`6){%MX=H%InJO%MX`J%l2|vc|-Y;^2YL`R z-CTaG{N?iF<*$^tl*`LsEmxGc7MB&mI<*%1(%G=9Nl%Fhr zqr9VBTi#jTRd$wlm!B$sv-p?gr_0|e|3dlOpbOW%XMXU*;Cd_eChI@ z^4{{kvakGHxxU;`ZY(#Io6Gyl2g?3(pd2i>l%FpjEWc1bRDQACT7IbUitUSe^CCz@*kD| zxcn#OKP~@R`E2o(;_>3M#UsVPE*>p*7W-fl!^PK%|5pC<@?Vtyviw)&_sjpi{6ETn z&A-9Szi!IE9(tI61@Q;v5&k{83I5fj=ZZbWUoZCZ?;AZ|e5-t+7%Bc)@ooO4o*(fq z)BIch<(9u%9^+pr`FH#~BY#x>pXI+V|3mp7%l}mV=kn$9zvSQ3;9o9yrTlMvtN*|A z_4ZSInfo=qv^>qXL}$v^`CjB3<=OK8D*vSXAAHa89N!@PMflRS#NdAkzhH6kA&ka# zOym!%#+SjLK0<8sqs2|d%@~wlMxFmkaSIb?b5--~>O>OFi5>c5mF-!8g>Z?^EYjLMajpW-_R@5^@xDu1r> z)5U+N{7mI%D}TQ7e)fg`T;=C0i;Dk*S~|xr;wt;SS}VU$`9=1VTwD1-<(DcSL^1Kb z!peuTf1q-G<-=tAw^x=`Zm4{ua%1JAm79uPm76OcEB<5ggW^KbTlwW;qVn;|uN2Rd z)xEqpTKU!DBw47pR#u`I{%}QDIc~3fqVh?iW49H5 zyJ!|aEPhnHMBc<&RLcV>lP?xuW~KZt)>`i_j#oZa`OV_r6^D!Q;@=c66#usJ>B?^v zf2Z;nP)>ih^4l1bepL0=Vq4{RDu1!qSourE7Yg`&RZbH=6+Yr z{@&`}%jW9&ZBISF%jSM>nEU<6-0zKZzaO3Zy=m_E=DFXG&Hdgw_q%fT_l8yP-q^Qk z%V6)j2YTz9H#HVKuw`>d;pd@jy^Yy6?H&1Dx@_g_y)9e0dhYMJ`rBsjec5f^BkjBv zzjN1WpL>?}_ABmt=>Ge9H(g)v9_YQIcT=N#;J&%?#<$Dwy}!G^chiR6dj>sprGHBE z{CnQOhPTdoZ%=o9{g40rsUA4@`rg5}PhB`y@#B-TIbCI-9vADV4_tKz!! z#+zqFX!Q;La@L&q-g@h$jm?|xoolSzaZtHiwshs3Os~9c?$UE}W98i3SUEQ*R^E6; zWAla$-E)tZA@%+j#O>L@tM#w*Hul|sSW<{v6Y4fZIS%?UwFegGO&Wg}%DI#RMh>-1OMabf;2-#2( zvZR+hzy{%-o%e8+%^9}&$k4Bpq*-?*G%urT2Lx8FG1Py3Ct{j}dW+fVzAv;DN+ID231 zH_ocv_8XU8K@Sei;C%xNobqq|H9xcd$A2)QZ~buvgZftaa&E=(yl=i|&z1+Sh@zM) z&$sQ|A9MHFo;zpox$3-J=dB`V%@(ilq`9)^&XzrY*+*u_Z`s`QEc@u}v|skoSsk(L zrrGzl?55dvw=SD~-djKV(JOi%*wXj;?hOcVuYKLRYG-B0UrZPIw!g}%~{-)H(l1)Jje~qYWrpF zbE2_yPSkFk9ip37&x*!Pt7k=HS^LfN@9*Dy|K|RfpzaOxDBQRC-W2Eax?=JP*=*i4 z`yQ6f&XZ-!Zk)Ga^Syob?hS-lE}tuI?q7hs-j5CMs}q%(onkk1%!>RC9kcgwL&xlR z+|V&As>_zmzRLDF7SsOLeYekvZ2PRHZ(sJ2_pG_6zkB`Qmj3s2&K2Ipd%gd@%Q1!F zCfysZ=>0Xxw(1vW|!VH*Y2jdb~nwnyJ@c7O{>wF&SuQ^31d)%!Ph5B~I@eQKre zbC>ke{Ju0F1TMMfv-j{{AOCH57v<0Pi5o5%{H$`^v2vD6^6LxaS83o^DdpFeKFIzqLyJqh9H|KtH zrS^~dSWDZN&Hdh>u+gvYiGF9Vv#i}oK>sT*>z+HmckZ|Et^Q_zFYm6yh#8Nb1#g#p z&L98PJy4$=k)w2@BHhszR%4z-7x#JY4!&WD`B7gd2sgUi~cOw{Lb?iY8vF8&MJ5a7Rsy8v-IKf`H<#pb|BPxWzAt%ZCy7J#iOzVvHiuh)RqxiW--AH5%7w zocBM~)6+dLD9NYq-Fttp``5LcI<=oVReiepRD_(4#YJ$(KH<^v;iF@QjEEfT_`d4a zcVKAxUd(b#QbQcascwC=j0MpwQa9%tXwEl~wJoD7zlJik`8D)S7z+L+W59)twd%S!pt$jdRU5>GnhSEv1y!1=CLHPv1G1;dF)AS>^bxSPlH4~IziuhFuj{O zBv}Aq3}B9B9?+6Jpo74c!oq1yVGLBA?Nn!9)fuTe!&PUL>Kt!zn)7OHZspe0%67ft zv7WXYO{Nnt85^Mi11%vq^KO5#8 zd~fC<0h>=M!zW{<9&VM2;(B3UZ6$8db|;7ZaL8b}`rLYF`xNZ-C$T&oRm+2b+lF97-! zQd5pg5*vw)_}h4X7hZ}Sd@aN_Vtd?O^y|b>{Y-s7aezKe9ICIXKMeN{F-z~SZ>8_3 z&lGR#hXFcPpRTW?PZ6K$yXkwwl?kkucCGAs5Wb#63WS};;*)C~FbJr2vC`1lPJ{XbNB`9pcO7NoOfj8Pr(okS}4SAzjM%FzTHIxv?vxvlYxT zx;hYQPvRzX$y|y>qDt~qS(aLq9Ca$BrLwH_V^9Sop%xkFDk~|ZEQ9hd4h&fSgW|&y|7{&ch;mBe|OoBy5nLL2lMY2qbA4WMv(Mu8@IY&$ueV zg4_!7DPgpLFV2uL@w5{d610IZ>HOM$IA0|aHrpX+fG7_h3h&H=hn1Ivac?o>h3(0&gpxY@~Mz{vY5zi!}0JUx5E7;9o-+odEtA z&lC8c;&}#~=kS}bV+UWIv70X+->mbnS1%ts_42V>!vlLYNdICUzF+5I?_EB2-sKB* z0IQ3K{(=eyyd&%oJe{$NqdQj~JLB^4bsIa@@Ze-`>~_nC?9M|NfoBZdNq8n94Eu<< zR_K3cNadZ;DsEhaDIYCEnko0NmKlW-#>1Zodn{@&9uM}Spp}ehB@eVx9_`&Uw~7(1 zl808wL#yPWHTIx2@@VfdS|N}2q|gpY>@%iw9U0cSm6 z@0}A$TLLw5hM)G!&>lrkz}^9j_9fE!7PQBQG%(O^!j7;*@X$`*P}sC5a4_8Az^8qH zQGi9`8G|PY5AE+u1tma}Hu{w4;Zr$L12QSYT~N~56P+rGu@bJ1ZTwVETRkW7|(uSbGUdDP2NURFLie_(IHb4T%+v8{4>E%iIAdBCOAMzO5|DK9O+Ql=uXwYaZ#Q#~w~ zrTmukEkSS2!Ft-NHY{yhHL(TzhXpBEBkCQQ=OIB$KIl=#|Fqbk#2nU2n1!`{3VI>_ zxa4&OB3fni>QMxyrPW!u(Oen^W%*f$GbAgntc<53k}ndhrmMPutkm6_;)+b=9|tfx zpkDadoP?zmrtjo-wrcGyrYtSz)3$)72u69{0q!b5(XZOE{QADqq*TypDV<6!1yO8- zsIdwm6Tq|wb^TePLr@g)HFgmtl7o5y^p}H`CdmhIgF^EZ&SRQs#-KR?^aVJZ$0;Ve zkiP<9Ee7hM_(&yBZVfpfbDyj00b8_6FjfMjX`wl7pHK;kaZ#__!3xj3w!rw>f|12$ zHP|_(14;rOk-~HE^@DK-(8aC?yAP$T0j+q)PX z#GGTHv|m?LZEI?A3$GBAe$it6zjqf!MN~4(YgyVk-Ml_1Z==*SpLpQ5YQLgZJlZ^w zzWNS8DbR)fGR-Fk=18lzA%dAN5A(dB_O0pyiZ&0bi8+>4`54S9mKp06mK9~%#IxjO zGqiZX*XKg%*rGjUy)UO=BOQ{Cm@nJ%9kxPKP?)X8umTt1VJju2y^Fw6!PYas0{?qC zDzW~itx%gKTG6>;RzQu2rr7$>O*@vceq^;(SI@vo#K@U!NmzaZQ@vI$#9zYVVhmZO ztBFq$n3TZMuIO0{<;w4ZGKMy3rT4YGkyh_ooL9Kzu_BMi!sF%@5&v$G^%#Fu`Ls1D zl#8W33WWe*ovOw6ia6R9R#UWEA6Um$=!vxzTXWfHHHF(LeWRvqaam#kM{a#f5IMAT zW)(nT=C=?PZW^Y#$yFG`I-L1h*nrsvDdj6nC6-#)j#vn)ybW05DQk^Fm~Q}Jla8F# z5oON8QkFN6WpR>FTC+H~ZwE)A;kT1|fmE@+ut*%NgYfR1XOYY>Y3FMxS7|%?)@Hq4 zB)(cmPDbMsYY(={fXniwLmr>t=$gLAn5l*@3l_!(q_m_G5(8st7B%V-oS+JBW85Z^X>%Ny1 z;+5bz7`2w%?wHqm1!xFsye#wT5!#yMT;M_<1v}OWk;q|xDzUBm-(WlluOK)S;&$jZBBe~h2gMySH zQ-V5s5XZ7Ar8$4H3Qz+|eFijRdv=jIU!fS9)XYxAr`!vcO9?G9pM$QhY;t4LSINdP)!NwYG?$kCb-?8si6&a4F^F- zLuKe_2!ZB`F1V{hKSK}13B_Fl`WfECzR&@wGL1NE$h~LD0xCi5rZ65vFp`Im^%BBJeN5EN&>YaeT}TCtV!e zNbEOX#>GL;Mg}(#IyP2uQ=w&J9hVFp8ymRkJoIO9Gq4B!2kt}cInU+(#h>FZaGzoC z`D1P=bX5GsZQ)JWeZ7seMR41(7lEvY%#M6Ow!pA04niAzg0o6*}B>QD4~x- zpvR*D-1R{LO`y4>9z!NoO`f!n?42Lu*RR`#c;aCo^a5-q)GNiCshLyE~xdv2j z19GE(gIvrdlFLb@(<8USmjSIoBUb*yO0GSRnp3^$-y%IyQsPlS4>#py`;vQ)dQ9%A@|rqRA5mPnKiqBBxnLP86eus{ zP8YQ!{Y8ZTyjbtMGbo4Ls8y893Aqu!8-w`uriEd)(zk_Ijq!K`OT&Pa6&wR{P~4Okg_T5(1f$%Qylv%ETo`fw z|K67o)Jfx;ZrN^W_Q`&NRl<1DV>YXRd9FNWG#$n*{ZmMP6Oy|eX1)@bLG5r0cyxHm zU`#-_CpeA|%*ue!rAKP5kk7lAH7Vr)q}&2-n$b(J6dND~N}~kg`vYQcxm_%-qDDTA zNh+&SA97RuXgmt6L{wTTCzX!MUk+uozKkq3l~ZYvN{CIP+!GFPOW`-{tlYkv_G6j?HUS5+iFBIZeW$7MAB2d-$B7ugr;C#}9zpi|KQ- z*4ZX&Tf_geOlKMXon;!xNQ)SBh>->{p&9)-OaIN%U$gYjEc;`Y=WrsuS^J$<_Z?}z zQ?%a2n>F6a`tD?Hcckl%G~Fp$?&ioE?igoWgEDSHjbvNUH$p8Jp)QNi%ZpIUMVz2- z!x{ALIeR>cTeVxTFx4;PIzW@45jy7_VHXT5%CD4x$2(&_O2t8YGMNv^#G4SAdFqN% z$KES-pHX+nmu{Kj!j$(wb!%O^46Tpcx^>J{_XBad9V(74Q{z6Yx(mB>#|Wm&DICJ! zxhhjX68Ec6)g@-BZmml^uJx&I@s#S;y6o6k(L&(n1s58xe46kF#wbn@hr2hqdHUy) z=X)|Y{%nSOCBu0}Zf+qP0_f=+&WabcNHWwsdPGk9=C62<^B8bq5^5XqiXg|{>q>n#WVV-APrx!D? z>IC2nV5P#&d$^ksK6jM48#DJ)X5#-|z+W);A{N?-I%F^Nh<{& zb3M%+0hnomp>Y%v8tD0?xx&^=VPlR!3;{YD7GN&oAdTUmF_PzqN(3^7tdBB7jmvW#v*?@L)KsvNqE`c>HRvQQ}X$co!i=lrlhMf%z7t+

{fi+My6Cx+Q#+7PK!M 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

5&X+w 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 literal 0 HcmV?d00001 diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/public/fonts/OracleSans/OracleSansCd_Rg.ttf b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/public/fonts/OracleSans/OracleSansCd_Rg.ttf new file mode 100755 index 0000000000000000000000000000000000000000..e2cdb44ae385a164736e19a8ec3009e3e561d0de GIT binary patch literal 145164 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ν=soU=VD25 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 YJ$q^JiKh2^l#TvoLg1JgeWr8&1BY+Y_W%F@ literal 0 HcmV?d00001 diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/public/fonts/OracleSans/OracleSans_Bd.ttf b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/public/fonts/OracleSans/OracleSans_Bd.ttf new file mode 100755 index 0000000000000000000000000000000000000000..74899b06bff907c266007dcccfbe72d01dc04f60 GIT binary patch literal 211396 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 z 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 NJmRrD7Ye{ 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

e! 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�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�``1YrYZttP0f)r6p3I`B!Mv)t|S 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 literal 0 HcmV?d00001 diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/public/fonts/OracleSans/OracleSans_Lt.ttf b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/public/fonts/OracleSans/OracleSans_Lt.ttf new file mode 100755 index 0000000000000000000000000000000000000000..0eaf6d470314793760320adccf69c7a274c26338 GIT binary patch literal 205084 zcmeFacU)UX_BT8;S6v8H5Tc_32#`P^0iqd1@1_}pu`yuN+;K_b*iP)&PSzpCPTLg6 zWz*{h$LX8hBpav4iFebB%cdtAr)N_U?{}^wY-f|-K7TyV^SAO2T+5ew^HKQ;13KM1HvBY!Ol*PrM4lJO$S}(4zx^5iN0%0o1CI zy#`)UB4OFoNu)%<9%kcsX>H(6A0*Axpw2wFt@@O~l z(I!%f(98^^5}{dmn=}DeGsl(VA;RM@{|~|i{c1RE*>d34Ma+zn1SXI~)<~?7<^onm zidZ;FVWlJk&$%d{j&Ke_140EtJVFmb5kd)q7on0R5+~hDGFc_*L|g;-Ubcc1vxUSd z>>Dp$ToOL%bIu56|Z#tqjivf|-;dK8oj3_AqGQO_F#(`fSAW z@thS5ynS=%W@07ZKrTy30?kBdA$nR%?6i@@(gG3#J|>9I|8JGcnL1DK5SQdm;-c3Q zmmq)+pAn6a3qC%K=MQoJ6md665KIUTqGxX+9!~7+d)(13!G_=^dci{M$d47E#Bfgl zTs!-S#7vj-po|@9Z<81iem7|XjcQK`w}W4&riIE>Bc0PdRK69@q43MJljF6#FE9=2 zErm=Ckt^x#Xe$rso9tWgV+~28+kpGUq@D+{jGtsv1RiJqAlV2t>}SN!fSeyDW=THj z5+tC_tH?7$c7u1JFc?P~U5h@h|odniqWvlQ@oefQ&Df#5*+BjPWSF7gTV)(hy1yni}DvoYLXKzIlFt-<>s?x~>L z0`UGJv~fK~q~#=vHIoRWDbbhnnFQ@}L%+QV9Lo{HNfxaj;h>ibv~3~BND2bimo4OV z$ljUI3rJ@LV)+)}l||>17J2|Q$|7>WXrRZT10DzeKPKVyOQNOEl2i_dJ`7l7Y6iO# zc(nuPw}@22_0n$O_84KnJzH$UheRjhoImv=Pbb%*Uq6jDl#>==0Z9|?LEZIurx1Fq z0Q!*QGYh()fas_j;=#0NR>P0K)t_o!Rsd5GU!KDaEPE|KS)-wzX; z$Y=03#M=;0IUXV}gM19~o#O@@YpN5t+#%u;XzR10{GD9qi8j3$dN%|Q@2}tiFfPG; z1fd_#=br@cy?=uTx`L*!Ot&-GmLT1p{be1zouKDmL+uLE_2hbCrA&Q*@H)bJ9)QCx zF`V4@(8t6&Lv-bRiua!reEuTDXEqV+M;Mnx{>~?!5RZ9Z5c^z!&#wmY*@$}Aq0T?x zekQ^OJnuXS_UFGw2T>QCpzoW%)^^^H0gt!s^?*ELY~}6Za?A1O{O5h2%OvloWa>H| zQ2zn3{t$fw@)&>v{lj$*ZyVPMV!2VoxxSJjd`)D$F5wpRH!rbaTWPK2-kn}5zZnu;c?stp(l9zJ;cpq z=tuWM4|I_*-X_3T(!ar;sX;n)7j(M<`n!e4MLJdB4t+x3K>I%f`oVGuq(;j-Vf% zLfRbM4~sZyMOtwg;dz{nH;e2>S81a5)Xi4D?)}U7YTrG0zEJoGefED9_~yI!{Oh zzFeL@hwb_)cvOwM8Tj~#ilv}mzJ~Bel$ilMvoZdDOIqo>$p3-FvO3aEervcn7ah#IR$7V*Ddd$FMW#p>9}9PcEQfO zd1^{1n3|$3xSOEsCvi`jniA>9^)ztgcyXM7&rGpyUJr-;?bHXnPTUWRcTB-Bv*ID1 zP+W;33Nii^Pb6~8#;6k!IpH&C4Rk>v@nIIzPu7vM$vsp~4K$A0sDpZ_mzL5x+DJR; zT)Kpw&EnVuyPrM89%E0jXV~lPupki>LYSZzjDk%_6RL!>g>m6RVTbSs;Z|Wnct&_Z z5+R9}#7GJxg_0IYpX4&hPRaF>{gV47f0Dc*c~|nW zv(=nx&Nh3@MdlgiDs#Je%zUPKqxpRE#pXYlZ!-VUe7E^t^F!u8TbM;^(OC=@lO@)Y zU@=>)mSjtoCC}1knQytma*O4V^J$hc(Mu zX|1!)u?|>=tShXmtv6bquzqIyF6G%&UuuQ@T1jeG{bCM?q>4P>W7+uRs=L4Za;}6sh+=Ui_>5%O}@N zE<~?bHMKQV)PMVwWokZRVWREDZJ+a}w&8jXFX2DK|Fi#e{}KObq4KBRfBfvLvOvl^ zKM-edWBJEqc*?*# zKj954LZn#c!lUbsRv)c8T6q*U4|1!HM&oKc8h2E8)P#R1b(9@79C_f#-AAq`R&zj>T9oFE4w?;LuneQRE01TVK$vdx3W}Lz$#c1 zo6Y*!0=AT`V;k6c>_T=E#+cv_vl#r?U)j^_5EJo6?C)Y4u9*ArTwK`)7!Rg@0u#(a zDtc>%kSpX11wxTfg1IGr{4V%#uj4@gWq$b+W(87&ZUH_zlFQa?uQ}ku} zG5vu)OGkwe`ZJ^wwhNu42k75eC2OTm z(7&@P)<&#E%1&cvvTD{&pQW$S=jiLq z#PZk%`d1c9-(?bdm>Hor3t10a!MfNw`VZ!zf1>x(zX&Zto6s&a3LU~Mp;PFBbPWn~ zgdSn8Fi+?e<_kl@0%4)hC-e&gf`t8(y~{oor0fWLTTrsY>=^q8dxsr|{*7Yq31MuC zeFtrXVWaQL-3H{cK5wef=(*e4GE~JBWhz`>c zI!YJO#jrG%(q(ixT|vj_O1g@!rfcYFC--G~Iz5A~rDxK0bUocb&!T73jdT+|hi;}@ z=vI0zJ&*p5ZlmYZae4v0kX}SDrrW3cKN0)xR%A{gJw$c}fW^c_xQeN#T7=loc)^Tw1=QS?Ki( z;m0~1mRX*GBn+IC&_7{DQq8Gl zCd~Z30c4$0(ub16zbNSol=MxPq*`+cDamx2t8M0qgH<;31GJ~D8_yS2+2)uhj*HLD z;RD57*)kXUlQD}Iz6GBS$z~Dq{TX%I;oW(LnOe2*dtO;4=gj|GWUNixm$pz+p z&PT^Dd_YSU^gF@^ZG!{zx+jDIyfiLUkB|RuLg$!Bw^dD~uX`^V1RR=h+N!E295x`< z*gjnWosgzzZRYWB36QrP{}foClrj)Zk)>$AB|MWiahgmM=wd;V5#R<4(LRfX<8r|R zKC%FjiA`clv1b#HI!2 zOeZ)i{-sPvQjl++5K{XWEF9(cfuV6*6

dl3CpozA8NU27<(_-k0q{`GI~kVi6}p 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

!fkb5XP#PEU7-9GJXAy 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 z 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 literal 0 HcmV?d00001 diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/public/fonts/OracleSans/OracleSans_Rg.ttf b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/public/fonts/OracleSans/OracleSans_Rg.ttf new file mode 100755 index 0000000000000000000000000000000000000000..7a46734f5e6a52ebbce23653da55da414d379841 GIT binary patch literal 210632 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

}LM)?|h?nPE+4Sd$sn^pToAQj;0hWQH~R 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�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 DL!l>u literal 0 HcmV?d00001 diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/public/fonts/OracleSans/OracleSans_ULt.ttf b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/public/fonts/OracleSans/OracleSans_ULt.ttf new file mode 100755 index 0000000000000000000000000000000000000000..16dabcec55f5d07c12e2308cee857414a0a9909f GIT binary patch literal 145464 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 f!*%oRO#3n!PY-ZJyTZyfhOTum7V literal 0 HcmV?d00001 diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/public/fonts/OracleSans/OracleSans_ULtIt.ttf b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/public/fonts/OracleSans/OracleSans_ULtIt.ttf new file mode 100755 index 0000000000000000000000000000000000000000..4871aee779b57329eb30dbb9f1b2bde925fbd539 GIT binary patch literal 158264 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

TNxqJAx~`WU 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 z zbE_7v^Y{Fk+^WUgs>R%@#oVgJ+^WUgs-+=}v_(eR(vaM$#oVgJ+^WUgs>R%@#oVd| zf5Om5YZH5FiTtCp;( z0Fzs_m|L}&TeX;5wPZ~N?a8fLGRp=gw`wuBYB9HJkvF!;8(Yk+S~Ay0pX638=2k7{ zRxRdME#_7&=2k88z!rI6i@8+`JdmS!r@sUfd0Wh_TFk9lc)C0>Szk-mR3L{fw3u79 z$oE>zty;{jTFk9lB=MRTj7xmD3PTO`h+W9C*x<7`nY zE216fmAO^X2wOC_Dw}qIO!uP9rC`DjMI5h2&O6Y&Px5t%~MWMQk>5a;sJuAnO3|jjiM_e5qLm*m_eK zV5xSDU#;3#s|>JJ`)bv`T4jK(GQd_DV5xfUPpXR&}^l2G}YCY*k}hWq_?Rz*ZSx ztD4y=18kK6wyK$}GQd_DV5JJO>30_w#oooWq_?Rz*h8% z^&B$5RyC(p2G}YCY?T4F$^cu{pH?-b6%Co?s4&1*8Q=clFa;VPfuUBt@!IbW0b6Y|!(8uo~vieCr0s$Jk+ z;yvOM;(vjwy^_^j$tC1eAy#uG!PIP5TZLGS6-Q1LVzt+>+A73qs}QSwkE?x;tF1z; zwhFP@D#U855UbH=RtQ;zSdA7f74G)l@AlsB_TH%%aKCq3g}9qDMotxC4e#X=c)OVS z+%+=THSmE|$f-iCfe!?Eeqgxk8u&ouR3X;z2Gf!m&ox#d)>wsD<2zkL+@~E)qbEyz%>xQ-xTQd2KLNh&7ql22+JtV-;eJRfsiKA=X%hSYs7pP3E=flPbg- zs}O6fLaeb0v4(m8<8WQUR3X+_g;--1Vof1ch&5Ir*7_XQ`W)6;g;?uzSSv4DD=%6r zFIp=vTI+LID=%6rFIww!Sj%1inKR|C*II>GYZYQGPv9SE`K|4l*IsKCVy&KbtyPG% zRw33}g;)!J$Oy@l*II>G3r|Q(st{|fLacROd#zQ7wR*y}Rw33}g;;A9Vy#t(wfd#C zRw33FQiWJsNEKqORfx4#A=VO!Se>s0-J|B;qvqd3_Hkd~9yR|So_XYG{yl2`J!<|v z*yAo*qWSk=iM#l>d)C{4thWJKZv(R424uYr$a)))^)_JQ*S%`vy=eI5!o9|td(rU7 zH}Wfbj;!~-7j2ImA9yc1A2}KHy=eYr{$D3^=$JFaTHHDMbZ>q3PJ-;61T*8X-aB2-lm82HY;e8zyWS|j-YCC5 zdnai>A--;(%-F8a-bpZX3hRyj>$9^A`K(uXPI+3)Y{L5NodnrC31%K)eb!il^Y*_Y zer^l9DrnDq`g&@=>CfKD!g}ArdSX3C8SB>*gXoD)-Vd^O5{y?|Pn1ue=8QmWN*@>& z7@xcz?M;97PJ&qxu^vrMORDti$>!3tOJwgPav0-!^gMl7O9`gxzMdGDc2-n^zp^D& z==Er3MvhNjpY@Z44fvS_Ffo0DF@1wEeFNSjEr~}Pu!!?uV)_Q-(FWtu1~qeonz_N4 zzQLHj!I-{*cU>)PFs5%Xrf)E&Z!o5BFs5%Xrf)E&Z!o5BFs5%Xrf)E&Z!o5BFs5%X zrf)E&Z!o5BFs5%Xraz$eKA_${pr3p|Kly-u@&Wzi1A52@^pFo&p?W}FeLx+1zzWp^ zR;V7ZLiK=e@B!b;1HOv~eA*A-RqijeX*+FMb&Q;~H*HyU4E`NYuMOMp1!GNZ*#`=; z4-{M}W(KDXs|;qXP8+rv`ED^5*M`NN2iXS-vJVveF>j=ecR^3tbsKhf5}AFVVAig* zVRw<)2MWgS+ITyAz^q_t;~l*SvJVtwA1Ihv?>6$;GvHIo>;pwkO{R?;Hu4L~2OQxg zk$s@FkLA96dTm%}T3+#t>;pw+A1IjmOdFYLeq|ph7&~plLUTQ*93fSjHmo&A#ai3Y zhaAg3P%t*zhHj)KmD@IXdmGtnMw@Y*4;_JhptPit(?+hEU;kuF*2%PC(HV_>pkOSz zO+Md-zU67K4-{k{DEOsEWe&ZK>^0-?UpXNAKtc9_f{6uf*gh>}sX_LEf>}}1h96)Y zIe!~E%=qXq<6Hk}E8J>-_JPupsz{sBqzx~TmQ;h=@Ddpz)!;TXKO?XY6ihDAhR4XS zS!vT|b*PPuHOHT~F1H6)Y9n%`w}tf=kF*_1A7?vR#hUZe_AvrqnJ|YPTlYE>mikDYcs;w4?vc z9Q!g)vR(ae*UPobpxUiWwp*EONAuG&D`(o}RPFk`cKu$vy4`MNvR$s#ZpP6r*J_t* zwVQpk%eC6ARkoX@wxhkdi@$gmsZ6$8nQXT**)AVzXRROSMOXP%Ep109BWL|#J31LT z47^=^&?ee{L_+HNbm>AaA zZtbyM{b@&Aa;|7gJ9?5|Q)z5RPlB1BYL^+ds}=3?!=Lhg-$R45n(?Q;-=Fe+7mx?V z@Qt4ugMNx{Z$uuqrKHT4nQ4hH`YCTAJ*#4({7;SGKgItyBPUY-lqe9Hy^|n&Cqed3 zf{C_2B_dGwC!UUjvFHw>YUI>8JBUsBHFeGo;%wSu;~m7QU~2Lm#HnCv@*PCs^hr&= zgJ>1xTkc@$oE_FVJFIhd@C5eIlA3%6)y|XP{q~7iB zJBSyNlkaz61!)OG>%bNw^DTFfZ@Ghf%N^uf?qK*shs>=bUx`G1PUKte$b8Ekd_kFS zxg)Px0|Lnk8>1qA5!}@0jk%hBhvuWomkznQ#IAIhj?-f8UUG;ywj-BY1HU6YIK_KbQ(3fc<;?QtC-4m7tH)!FqQ2t^5tME+g)(- zVAeKtp$YjqKq}i^GKwy9-Y#_D5-s80UFbmMtjg;m5;3x@yNh_l2(a$+V05Dk){$Sc zwxP?)b{9GCEOHoimyDtdf0&jq>MnEMF5*{?%DV9`bK5Q=S6Y(Wb`ifKhaq>#kh^3N zT~@ZcW&YbGo9(ie(uL>AvB`Y9h_>k& zcG@L7?UGS+!AN-y@`o-n-!A!QmzC`<;&P4(qv%3UGER7A7ycn5r?TB8w|tQ3+*o+f z%<(}p#|O<*=YT9qxH{?UdbcYz8=A{_<{zO6^v(i#7fj7SXSh_#nc%d;jS-( zxt>R?GdyCQ;ZbXMk222r!lR56OzrMb#tEi&_bB58W1){S!kNOO*6tqFnjXcDF4K~H z?NPKBS^azz{fwL}=~478ax~;oG~{w&6YuB}c)OT&6q|TQ!Bm(xd9F=9t4%(uO?Z2b z!p{fUvj(QZyvYjlCj5L_*s}(v!n`Sa*1%M^Hd$fb1d~Z0_N;;ISp(U#2C`=jWX~GN zo;C1OkNS&pYR;ReHiLz%dE11?rVlmew8YD8!Y8LCRfSDfo;Tr*)54xLkUeW4d)7eq ztby!V1N&`f&l>V}kv(hJUaFcu<2j$_NWT6Grry5U+TdnugPZepM_R(nH@oU%GjVVU znXkWsyYs8-JvQ@{BBv6#*|i^=iHzyVUuQ6#0>?NaX|-1L`6kVaK%0Dg1e%Eql^oK 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⪚J!j#8@3Rmzlk%C%yJG9T{? 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ⅆi9#f5@JGLY_}a|3Ug0`Txn< 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%0DUw;p^;?(> z89vVL)#MYOzjw+PG^oiWV)jn)#nxN^WbUoHc?A9|$v~w__d6})@_m}Fhye}3gd{o? z4-xWKN?zyELkQ<-X&4v37+FFr@k+bVu7*ZzBC^yfU)rI;m5+!Hh3u+VjrCwOE`)T$ zRU?&%a1a5qs{$HG)kHHCLr-*}QB#2t1DC>Gb%8O-_iI&sJA&$k>H-=%I&;f9$cR{R zIu(`Zgf6lh{7lbT#wOD)6QfIogEB`6x|Z?Fov-N+Qd3jkqi6L}?VdC=G(0AF)|uHZ)(s6~yhS%%{u^;%$*SC%- zg32ph>x#dM_q@+!c5^c;f^^bn2PYbIRjK~~PN}E})e%W^SS?9XX?xC6jjzsGC>W+o zMIvD~-(xwGzw!>_0fqWKxIw>Dqvcq6>t?A%Y@7cSR%KlUK%0=^uBc5x> zhAd-mPbK=+JO7rIXAAZL0cUFSKi6iGB;&H{MSae2*!rNL^L2&C+b%Qnk#(XD+7kOm zIm7E0E?AzugkAsjTTU~U)fn$OeTm28E0FbpO-s605h-F+ zE@4;WJ)+#esw9^pJ1s%=z z)vTTc%MK;0PH0NUR=EC9cyb4(Dh|W2G)An|Lm?`(R}t5Z_XIfk#k!4NirdqU2%zPg z!()7?%H03$daf{sf1$Q)!6%%NQ0bAJsDp7TVEr|5adFFFPwvDp3H!4ori5SRWI_rw z!fkwpPBj&{}*I8=U z*-}x9CSOsT-&*HN#k9H~q8k8M%np6Hzny@>lQ@zks7fI{AfJtdOm-9=AV_o$4`-h( z*163$9Q>HT4@FQ0xRlB~O)|y^@e7_aCr`Yt;%viGO(3 z=h47zATcE@(S|MSzHXcjZrTWOrS+rN{3rM46)tMsLaMXXd;57`nKcCYhpHy0lo?kK z9)HjsWgofXWbhYv$y=UI&}2_z>Tt3eZ$e54S0*(-^H!G8NN;;FeEeH zd?h?7fvaK5`+neJ6iC}b19+hU3%sq92vrC5)f%phue?tB-QC?fLQEIV^{BFO=S-c- zmV(B{%&)6rva+&Qzq5o^L2g868e5&0ec7+lx_0f_BMkxhS^Qs3ftnPLI4VNo)SHrd z0Ji`V!Z>swEVx_azYZ3>2t#Oh^V*5&>H7J~;@ovF9LB^9`+f$I_@o&#u$oDv)9uOt zoi6Mv^htN^-dJ1n6+G-1YEEi%e`5XnT^Z`9NkeA7McJ???PD!1h!Q6>jI(=c45AMs zUEAFJ;B~Vnp1tSzSo(`tbqY!Z(ig4EucCpt#v0)9_0D7h!S5d^DZ~Esn&;TUBl|tD z>$sn~=Xwtnve=nfS`zliCh`oAP{KTO>}JltBsp2d1~!9jgX z$@wlxS1aYYgVP2pZA7$CxUACqha#MeGG*#L-v*=8QK1$@4`ss^yU z>7>GvVC3;V6?aK-{LWnTv58MR5yel0IKzbzYy3DNfxJI*!&b4v@_?BiweGxqcD@3@ zcm>fZ93xry5zejrF%-%vp3lf3fKykqR#Bb*sIHudp^FZi$V{B7s2phq-b4iDGpu0gY4xI)3%HV#lkyG>14Wjf`im(gJ~u*n{}FutMC}vTX%6)+ zs?+}4#v9T;BO};xe$;rv_7$gp@48vaQ&>=1t9`I!C zsgNNscTe@6>=EvLPzds0+OYh4N}h*l%){6q1+=$&Dun=jQw)v-A}S}!8G8a8=Y*l!h`wkoraF_L;l+^#hY@>8?yQ&WxQ?U)pFUJYp2DAgrrO zO0KCu>3;;L*a#U#hD%TM%Lbi#6LM5zAX;TDPLWAE&moC_u7>*dzI$6KL>Zw%1o9{s zy8bnJ(bnPNVWLA;5Wd!;tm=XEPf%0P>%sRMI=fNuR_%+y6Q{5kao5u1y9-A3RwctihTG2oK!Y z-r7=NCRHByz;-CZ{*z1}w1tsA5wLrJWbQs&eHhPn!H(SvS;kIQ#~=l|gks8w+qu*_ znMK9APlX3&kp2m=EcXYOnO+V@*P^0>)Mmb<`D-5~J|BO46jY2`Zp9pus?NkLzcb@G z;9y5vJ`}A4RxCmp8x&zwy*PDZXQV+Z|H3ZRy@v8 z>xokag+5(IHwLAHQYN~~?b%z2hOne2#foPR{A`G4llQNkbd=*!sfdEh;L(yyGSiqA zmK02(O`OPkY5YS$T=kz3YZRZ1x_^{pcQpS8MMQj!Zfj=_FHh4gRn|#phr5u1@Lhr{ ztLu^z0O43aLX^@xH!drb` zSKvt^DwFJ`bXBS`lNs~D3vaFPwy$-cQ6;f-Bf5y3I6ZF>Gqu4K73r?RLSmwOM+XNN zsn8A-EHV^D9qM|^w}fe^z5~87WM6d~0T;RNxBJ7IbM-p5bQoe;`~7>a!Eq!fDsb^{D(Y8Ww7uceSk_;^ zf1eL;ZMhjj#R2J?WLF40j(qv@r6$RUS>D*Hzd8&R);Q{F0_RrK0ks@fcd8GQiIbUk4~Pw(fTTVs|{^{4v$K z!WaGUVNWguL-6xzjE6$Mh+UP-y4^dEM_1R@+BiE4UKN`Zr$r&}C-<3oZOzqR%gxOd zz6aFJh0M&%s0bJz5|^|aWZ6g%>hUYZP+bDci76Kk4}fB4>S{5~74~10%c2 z>Uy*B0YqhcOk43Hn7^8%@?0HqST(G0c0;RCYTvJXnH??go|Yp+*6_c5|Gldp|7-QS zHk1_IIY-iq)t4b$>ozLDP{}?CgB9E)b6W-}c#~9vgSn?sor^A3oHp`H5=xARF$IZx zj{8pqQTmjPT@TXsob_Jg!TrS(1qcsffCr=o!S9)xjfT-r)C=WY>F7Vths2NTDCimf_yX6vI3Jfw&c0Aguija&%k^IcsUv z6Nmr_p|in{^J4To_b9{dfftL}-cj;%`nKqo;=}|dX@c!6-h${I)JJ$C8C|#z`#?F_ zs(!__nSDN$-&{FVj6w470fhe!bM)3rM_e`r^;-I7%R(v4It6X|DU^Theo*{6hL3`R zp1@a%c0$X;j)Os1wC~BQ)2;>q+y&y3kC}Unwzi21QDMH1Q&KmF?3FZ0eCJo&D?y8` z!GA9=CP|FOW@j4*ede*-XM(|7N&+dJ8kur_yS9b;GkE9m&ks#aP1$#XLPSHAEIaV% zT065Bdxxy|BWF!aZ{NJ<#_|CWT7ZSR+Ps@}bV|7+Z8J441mWhqBUaM(*lHN)e~J!a zWk`CS8^p7*2F;G*G()Z@9+(No$wN%MnP2+&SPK~esw)URGlS_SX472Yaf(= zuTRVE2gEC!^1HQOfLMDwGNKDgdX?-1S3P9Ksu1Wkkv?W+)7NM=19SsY)~49WD0bFO(KZ5~Dy z#$j1D$%zX`&jMvY!}L8iSR-)EtOqGom8tpL;=vCqZ2ECceX~Xg?MsggmFiQ*sVeg@@g?+pO=ta(My_UQkT7g zktT3_w`GWD+?0TZVIVf&=fb*VKuM%&Vrl}8UySSBn3UTFp>S^2WP1$LWgCZ+u zXNsEgyXYmg9|kcYd|bPEsN58!9VVLX*Y-BKjVoBZ^*y=m_pe{Sz6aL4*~-_qE-N}I z&kj8cj6B=CPQ9Fv+c`0D}&`sIZCl@Y;Fb(;x{8!2*c0( ze-(aOsBxW^7++lcyI5m_rm@k2l%j${>5-j-M7qyE*2sSIW@Etk=O^6hTHS1HY>$PIJHNR7&X0HK zm0{;cfByWLWD>PFF9E0j6+*vgas!edBfrtEMI+*L-4V#~GqbaRT-sCp+zHLS@%9S% z2`y;bGhNtaVs%hObPi|ApG5-6P=OyO_sM}EoAr)5GY!?RmP^aUCNO5riDph0_a%}1 z;{Kj|x4szl8fPsM!}ygtJVW~_PS{X#E(_c7ri2XZg+dA5c_>RhKe@h=kEs=OAzGU-F#&Ty3RhVR-fn}`B3 z4r{}pU#I#`v_*@#j@e|(?@Bt8C~-=$oM{8?c(g&;Bw7*r)PuTmv-ju*sflg!_StKP z84s3XqZSq+re9WY-W<^T=ll~Cacs8M5??E6Q8w9w!?9Ils;P%@+()|s5<_1d)A*<(DOZ(yCWg7n}yhCTs%6`6c{E`{`0ND zXQSAaSJL*%X7CaoSwB+8>l!?*G?LNYVHF7V|+v9Kw8o!Saw=*V$zo6fJ#kf8~fq zKbj+gP?T;gR6JX3xfhT*={uIOuwMfL{BJJmbDl6wYz0qj#r?yr`Lhc!sj|)AzXu&8 znB9k#&JI+j!7FfH+Wq4}l~1|1BZ^&RWL$H%ugH$8nK3JKpn zo2quA4_wUhU}Fn8-yzIDYk>K@?_m#-yRfJCA z3d}ag6SXY|VTX6Fo4U0y$89XPle6oes3`PBYsV@jx&M<=%`z>N|NiNq;p=*pp<&96 zI^ZT8VDlFPN>iS$pT_Pn3I+dZCnsE7Mo3J0te<`?H1k?t(fG`rr)UIH{`8DI-@y-gsONy}2n%bHXvmK3htcua1K_>%VYy+S)OhN}_ zM$z}g>)}wkSg-Qqy6QIj*tcl|tK^{H!tUteGGH%}e&?;)N@PbA&Em+&$j<53)|N^$ z8_(6R_EqR2gA#vA+U8Y2S=e2qZp6C+G;Q2H!x0*S214f@1f$->^lZ>ThUo3Tp&eoy6m7bdmW} zRh(Zy8(MMiP0@dl_nGPRFj2kkYE>ng&mLdJf6vv^14gzg0=K#CRX@i%i$^!s<8Z6J zrw1E~=7surZ7r=^RY$IO&)z5VX}5f`C~LJ@?N7N4K+W6rRV6w@njr1@qt|Na#1Jsk z7mMG%eWOS9=ipIJ$|-TzbOn+1-$q7W{^KLUCuXl^{?V`>N7Yl#`A$z!>Yo1HGPs|| za?y9zgdes;G zq)!%?j8l%DPIVlrPSExC_TF!dii}dcPO5x0v}I>}|0u#b)?;|j1fd`DOu_Jg?BGKt z|N5Cr-zcshFEkZLvUnseBlGh0>%Jds+N-%mpb-c9WayxvppfN;t@moV9z6i$7x2D2 z%hyf<6^7vtN(?%Zcr;~+0=08Te0wfQ&R&$7Hy%nN3qvTwzSluJR$})QOEPq_lYq38+djs4%l> zd5&*QZ;(q}!#}UZQ?+u*_)F}%eFJFuSEe=K{DO=>DKcoUEG97O538EE%3Ch#{22Opa^>*YEA8tYSmaW~n@U5< zs^Y4&oOj!lt0<$-B3FWnowDy_F>Yo@o-wHCewpe#}huC@J z9hZr7&2FD(iy+sM6P+KQ`fOa{QH63!u_sClpAP=h)3&m;B?YvsZoB1d`K~5Zz!)Bx z8ZB(3f~d!{iM`x3lm|weP$Qi#x4Yz_UC}&uZwyra*&oy9&iG0USsv^ynRY!SuYI<7 znK>~r@oBQycrS>HAUEn#s#2IFz4~z&Oa7f5qkG&R5MuUUdAcsmmXDB<0ukno&sC3t zn&55Jt_DXp3}9DCl}=h{tX(JS>#)F@~|z&~50 zhA>2CqmV#CY7GE&#Ny=0h==>v_jlMaD21X&m#KCKq{@F5K&9IJ%+}V{(a{kqs}SZD zS5Z;n1=%uf2|QUm1e@>>$;|cmL`ipK(bl+r`wSF|MnDS$g(REr_m`Tp8rMg~$CQUE z8yf@e=SV1c1>dFqeF%{gwh4KO=Q4917#+7Qe6zB73li^DT9%^Ol4bZ{Vl#%d)2{kB zl%+>NQ$V#6##tlrUuCglO)e@YH`gW&^?BqsSK#r|G*hMK^n&Oo>-w#xy~nm@*T+q+ zMbWT7UKZCAxc?c*gW0MvO!EH$b_)39d}Ywt;WjX*O}~(d(~G{Y^<$#g*h{;{r1{_6 z{fDS1PmV7_nwrctaXx+gQR2?5EMh<*|pu@k{h=QTq zA#U(Us?a|UrA>Fuy8f>T$2^=FVmyma$I!*CtbKP%876E`H3uAN+e)M_gSskYdatPj zw2u*_1C<7mR>u#{4mSh-zQ5y=dUSXQ8eA}1mY#N?<7VA}!;j6hwTG{79Qa$Wj~2!6 z?|OY$&i?d?9QcAR&$fH?wB>zd8dXhoY*YZ1sE$Q`Hsqpdu7bn-VWSUdz@ zLX;A{hP=(J!vzEvnkHLUheJ7}r~fjJE&$XO;nu!hReb zHJdDHk4KV}5QGEAQe;q+wYjlz*5i7&(F2gRd7vzBvoSLpFMu`zJQql88Lv2e2S8l2 zTh_YGXH9GzhzjD)QHA^NmX?c?vokZn-`787U3M%jEtMeqTVX0J2SM!P&Wy_N1V(q_ zZvqkJj0r#X#{5VkUUxM(gPffJGc9+8$gswPIQ6WbI|a>)5Qes-f2>P4cjWlUx#qLA zRgJZ?^DjP4+$c@4QH8bBvuDpFlB?180}rPi*ju+6HWcKgr1n)g5yBq~HHYO6=r%Jm z*`(uM`8UUT)(1|T>))94p&j-g)9(N2x}nQy&DFfd7D{WB7AB1jC;kT94g`}hl<1VF zb#(cPoY6q4@WmTc!9BjNM+yY#@|>fjn?@Eylg~|D0a-E!F)!`E&)?nCv(!nn2PC*0 zgCaC&22D)>iXtGe+DOeJ{pVt1qGZ;rY!aM(M}YeGfHUAG4Xf;a4UoA1S{3U1D+#O` z3Z}F&-?(x5hTx}oM^^SU9^}`*Ojp`JMWC;zpx%h5k|aEVjLDo?4+?!3?12^+!7pGn zLX;}ej!!r$s6w$_evZ?JPn#|Ne%qRFT&x3{&M>HV*agxCaMB)Djdru!^C066Q&CYB z53YL3>I%SZb^*_&DYb09)C0Ytc&$f|BEI@XFBfkCh2046YK%(iIl7=^GPt+kyMiTF zgL){pZ(JXH2jk_fC2i9iUJ@Y%}^_)W=hk##{ z6_O88e@?p-A=)FO-bf1|#?2@-0>r^^-NTi0f4)~7$3FlHSi(l;qo`R=UuS1$Z-1WL zfOfzD#lGjC`Ql%iZEbkIIkR{z?7O(YD)THp1Qde@8;8HA_cX2GEh`N!WfucUm@Il- z@5UsRg1T^O@$R2BX6Aj9xl5zgq!Wy7U8yzouu;D^qf(+}!>gWC4L-M1kA$M2WB@`v zr_E?q&f|N!yWKv#d*>Sn(&jdBm`4FOd*>Wba9_C2;y3@b+in_^n55j&-w$f_Kiyv^ zzxQn6JPnMI#!!&a947rby<+7_NX&InwYwP++h-b{!}|o0Lum^^?-LdrgJ4SkO;Zz- z=lnR{(X0`4TvbPHrnJZM0nikKqM@i^`!Sgk5vkx`^}A1-Vecc7e|BQzf zsvb*t0h}g&SG8bPnL{pF`DnN_D__GQVLYUv(1VgTzyH&R#Noz#JJD439`*{@h%8TT35f10;A)-xpY$=Cj~ z_l43t`+AFAY`X`GbX@X(Ok+W5TVqoPg$|nlfPe+$ai-kKtJ?;}zB)*md<;sKyNS*5 z*MThD#+;m*#dj8n4vR$42$;M1y*{1NoLvdY{!wX$t*dL(2@QN7B zV*TXIBgr03KK8;NcprMs8x{s7qGypu%n&-O0)(JmfR~!zMbJQH4&=KS;+e6r_;|-+d8I?MmOc2|Aq?l+K{p7ow13SW4k-^ zwZy2Qt;YQWx(jNUYAL((*pR5}nGBP;#dX-%$N%P^yC3{85AUa)7_V zD#?Z4g}J$*xNN(w>1b9A{q>%sG(?3yX{hZoX67NF_uErd4#VUR)zmD2^p;|0ObY4h zE6gFjY;aMYWT)g*%VuDi+{~0#yc8GcBJUoGV`nk0`q|haCI|Y53B!bTI49MLbnWrG z_x(Dm!|E3c`|@HJTDO?YO*{rO9{-VDv50r3)w2AHl5N-_Oh0En z7^hp7A{$mcT`I+dG0>?zp7b0eQHDqUk&6#pG&FhYw3HGIA<@Z(1(8#;9lvFiA6WGG z-MO;~^w=h4bzPAkl;x}et8uLN6%?eUk4Y{rE)1G2$Y})xaA4=AuHP%R{2Ssrd+Fb7 zq0L5x^}=@H;#TTI{XC=Ipg>$39Qas*TW> zrNQdM?quB|_r^!{Q2k>n(VtPyYJ#uVv{4n1Vv={u*eC(cWGZJTkEuB}NZ+f9!sqPk zLBw8@iwLeoHw=L!+OwNU?YA%p(d(eeR>rw$(JsZ%9#KrVg6&SxV;oA?clWDRKA6{dAz5At(8%aq63a-ZddSvMXqZgPfH(Y|KJw1~-DH&h;Cr61B(EYG_}FXf zM7Mxy;Wtn2wE0O80pBCt4&~sQSH8_|{(Y4OfP}6fy2gP)DV1(rlJ_BmKd9w^ zQH!IbJf~H3k(jhYE4Hmc3#NOMRt8~9oA?zzpo7^MwvY7~s_%jixDQFjif2TdK^~v8 znnK&{FuLhcR=qgP+@2f?3EqXO=b|d%fc{p?wGzPn-XjdxMp>J3HG4Eb>jVp3AoS~LnCKcAy?ni52- z6~L^tJ%$wNXl63evsQOAN<_>X_A{`1qW?M91oW@&9#r(&WD<;H#h0-~piI653L%XE z&JDbQwG9Ly&fqDNR2 z2Yl90VohY9_0oE6ZS6QXW^$p=h?HQYFTfXGkL0B6__iCgNFCOeisDM{BgLbmP6Au3 zj38K#63*c78;qi6?9%uko z(_%o%>(z2~pQ#ESNkxRd$ayow$~2C;UKaNKC+v%TbyDToz~Y!)I!Ne|@I$ z7xF66j~9=GIm3By`bYsQ<5bj0L809 zI29PzlEm-Y%^q6b#tjko>Iuc^{i|qyR^KeOY7UnKtAYyZ07{TEDP@ z+gGcvV5<)C_zE&)>C-w3NZ^3eNt?;fs{ZX9ZGs>e{f z8JmIU)YKe^LZl#5sdn>Yj#78Q`$cibEqqMZKM&bT5Ws6dhd^JxI8cV!-gv9_ZE^A* zt?3AV?8-NPfB#gws%gvl3Y#8tKof)I{>bYJJvN`68I9a13;60hTo&T*?7TZ~#ZN8B z11vs5vv@{vUe{Ts(iIA~oo|)J-)J90KeodunZ-fBLT&)B(&G`nBAsn#OcWX_Zot!~ zN714`dR^ss=ax{cDrhF1p!)sck%W)>i6SkC_e(r&(Bc6ViE9&Mju1#pXXsFVF~14* zCVk>9uELx)Cm!4_NCHYifafYFI5tSrqF)CMyK?csi!{FBQ)DJW0PA@>yjN3z6~YqQ zyXvVq36#E*bcaltQBWGC0P*6^pezZ><;^J8%@aCEB15RAA5f0ZA@4%7Fln{ zPng|w-#?`uL&geedK?tYHeuqt!UJ4Djq$iIS-O$h)6>(emYcX2loeqG74H5#{+YgU zxf6)It^&9&xE>;prH2+MEXk;TC?6H-}l+_!fmp*&zixWhH)fV!QV_JalS6#3<|^u6K`0xEk_ zteS15blJ-S-V_Q5;}m|AHc=F3ixhY>z$ng1S}Sz>1C9lPxSJuIf>bqxTHOY=J06;_ z(2p2fEamMR&?01E1O7KZS-h75(MQTq9vr6PodF(wh7|bVWJm-JS}Z$hDeG#XkIe43 zuUZ9$Hu_A$I-?)vtG$cz_cRPj;;`IQJ(fw(-TZ}077au&xlaqqS?Tc`BaF)vqgs-V zW0$uope0r2rg}iGG>Nzk!ZBK^GKKncmL|69 zv-k}wxW7lMBv)8heYI;N5CS};s5<($@a_t6U5)kER|L5tZYXEK(Pje~T-kGMZvI6Io-I=Xt0_NV>C4~8WaPuq?Z_Ui)4k8n zad+!^9JfGv%5QDPl+~Y@h5IM` zH<|l9ZGC%V4~R@%%cKToYqj+y;PnqgI1o5Z|EXxghzaRxJbuWN7J28WE@wVyMpc^I zK>blq_WH_5(1$HbPL<l?B`!}+rqg`;&BvH9m0=|A^M zG-OoT;d}x(F9KhPk@B=3xA~wD@eLm2u)t@l`IZxjFUv>Eu?uqre#-7wd8nMK6aG z$)=<_jzlaQ40Lff{sqRTBEz!aI)IiBAVV-(K*DA~Zoe27qxvv3^tcPoJ?Z1I_AUFL z=8p#bctzek=})zvp6z_Hsfc#&jZ4jOvw6 zv}3kL!{k1x=q0Np-;LoHmp|{9-u~6CuH}RLQYnPvQ|??|u_GPcd%k~k(3~uO2z2-D z#bG!%j={&<`{}{2@eLr&o!8>gG~(Sl&;DaKt+GF$`5+%~=)bt9*bd*&FC^H()ea~` zVVfsXO<%-Bz6>bs%}XqPc<_!9oJ0AGu`NB{+Z$_`eF;f_iy zU4lhf3*3WrH1L8w$R z3pb<*;p97 zZU2x{G*v#KA7^CTGW1)0QlV$(*`;Oa2`&Z|J#{DXQazz}j+syemajE7z0p-s8I$zj z@v#@b?PXL)FPb_hI`eh#tkc#|Pr5J-sWNCXI2dI0?EaqG&AfAmj6kNW zapv=Biqo^c^PO8aq2pOkgG$+fA<~*No0EHB>90Z~=nQS+?<_k6V0`C|rlx+`x75!5 zEbeNEa-yfR>dRY2ra>hUWaOA+)Xr~{=c5J{BBH9yZKUZ}g73?u#b3V419IFJ=xh9R z)C0a#Frf*8V!wutj*ei$7FmpFuPW;TuS{DD3^#YdOSyR4ZFBB})7tln!x;OT19Aon zLrKNN6$s`+hLP?3dDJhm875q*z1C65)SlH}Jz{)YBK}rnIQ?e{jCAGO6Rjj+h8X$G z-KGOJgpMEcXpWpeP%x_0;yLyW;4I1oV>k*ae*Jp#;-;G^tN*`s5?sJfP!kDtAQ{e{ z*1-pI!)Uwd?WM4iBYlaS%(VQIIrmEp*_Bu|?!fJ&rT)gRYu>F+Z9mVteEnTbZ!@fq z_&PaBHHf#hac^5nHD1%wKaHSriJ^0q1-j5GeMyyB2mYObU}U- zRhYI*nDgh9-e78WmYt?*13i9!nhX|9Q_uZQcZn3KXxY*I;@%$-9wFHZ(~|z_qEqG> z`gb_{^)GgZ?Fe;xnyybb-Tb@&xeZmXjhSN#NTL`wH8lmx(A=Rz$lSW+G7UN`H|^Q8 zFQ6@2%=6#d{Hb<$crf#@T(4(g)X$=_1j45l9g$~=a_m$1Q^P~&)-Cgo;cr-fS?OpJ z%szSBHDm2wZBe!R20oay2orqee^A5P%kN!qojN^v&)3jYQYo66#r{A>HH#e2_}40a zAH6fy<%~P^yUtf&+`zX=rpsC-VmaE23zDT@8g^E+BcBRnIzt6-@#HqGy37|?iD7_j?x|6!p z_GL@zblU29gpY^&Khg9&8Hj$}(lTi-TW}L?O|}c&SWa1wxmS>TF!}tt z{6KHVd8RIy5KK!;d!m6s@27#OWgQffDLQWXqbTr0olJk7`>KuN*OqurI_JGU9`D_X z&lY5fokMQf`z(RpaV3PB{f%?WjvmJ?FB(@Wa-C|w<)}IsoqTYpXjs1Z;K73g5(L9l zDUX$}8+2#S9=}Ouq#=)Wb)EZ^*v1WF<)=_G3Kp_Getw(F;f^ErH=bG<)C6(1ZbpcH zX(FUmd1y`^r+KlqCKtNlFOlh}tM@%&9%IYexaDeE_1x=La}xJUeWf#;d?4~iIZaUp z1eY%~Hl?6#j%QLjyP^yBJI66|O61ERx6eIItzhA?Nv5ycFCbS`v8nn*42aazhutpm zb@**sBD=lm(dPKNSb5NWYx5$Vz^tb!#e-K5(lat3%RusGWb-^>X6)v>;KO*%UWcO=}QgNKuK4EdPWC*dcq%tcLeV5SaSmJ?5_7YhEKJX4mgpr z*>_wiZoUJOZ2EIos3DS^_rqgY^PVFGjsv_!n)8YVouWiv`2eispm!!B8<+S%0j`1F zbH5LC(3>mgeQW#zn_CKwSwSG$S*=gjR6yu=``XG5b~uFxZVfN5ZctxMY-BC<*O`}c)Im1ps=c?!)R1n{H{_Sukp;K!@pTYzW-{`r# z&_#nz>;33aIn^){5yBm`XG!EvxJt925tkT{*<2)dFH;De+0%OtQJ}{6EiKtTiDFv^LtqR`@if=`){nCd(QyD`}cCcf? zCm@foIv#WX*%*$u2KqOKl*q};pOnDsI4uR9hd^kL9>qa;e8CCikv$ZgMHfB_*0X@1 zGC_DlEgxcP@xOo0*K%0}%Y zS(Te*l4WOI7?hqeL{fIFT74GnJa373gDxc}Nl^K0ifgHjxqBTO)||nsyvh=NpG8rm zx00VB@@K;m)T=^DTR*KT4ep~pxcJyF{bin&@Y`N#lZhV&HxncQ+Q!WMf4j)lI86zF z*Lq{5&k>U>jXcDM+ z)6u`|Ai;QINpysHDQ{x0>k?LtU93J6iJ;3?nalD>A( z1+D9tL^mXB2n&<_nZf@cvN0fP<32&RqRV)jZNBsKtMP#T8};~sTcR7G=gpvdYf*CL zpfIj;9wn>i%ddb#I`DF4zaNzU+>k(0qD)k9U;e_~P;q!zv9=sd8Ncue44+N#^){H5 zvMwV~D1%zed*_=7${T9!yQ6oT4HQXqU<7tjg|_ENS2z&}nyYGXGi4Xy`dHmg`VxkS z&tubGF&K!(i)nrS$o2r-fCv7Vk%sD1SF+8N6fWqMnfRKsMe_4@UJ*IHmLzfYoiM_% zn{B~0sG(jdLMR2bOGiu7y0fxnJxdyU`D069%SEDe8DMNY1(C^-UpoRY!ru;spiUci zyQq?;U9o6NuaxiKOJHsP*XLUp$r=q|A;mxS3$y`;Q?rpyQ)qH8ndlFj#ERfnfwC{ z@2vVtYn>-ttLFA3V9rOuZhaC^(OG&Xdqq+bJS2jnyMgttt5^7$We2C4?3ezl@qJ!p zk*wXLfl(NRkf$>BFL; zq7wi@P1U}lS#RC2hD09I*fENc_d+Q14j9ev{fdx|zZ1XE?rMsVND8yRiE;v8SAso> ze+`|IXmX}YEBnpa0ErO6)9Qdot41Ny2gV-xY%RL^!YF@H;8j0bGSjJb7y0Tl&qCv; z`U)rm0Yd>ntO{Fm@lL+SkqxuE0W`E{`A09$Cs|p87*DWX|1!?K)=LY6yK-HjW9Ddi zatzPM%}xla1p5R81RO7pEV?|f4-iQ~!4H45ei~SM8X=#qgl9T8B3-Fv;tOI={=vDq zjs-jXUz_f60R&`}T7d;~6iD2*@=;XEP_rMZs;aia{MkvJmCehP6^#NDn?RRxgqchs z6FV#GGSy1<{r?0tB{Q@6-@;giS|H`a1(eX~H$0g6$v`D#)yFNAT(FCq1RwA8Z-tlG z3lEP*L9<|IX#LP+^Ei=OU=V^D)Pu zCkiwPS?-Unu?w3vGNqtS33*X;J0nOGyCO7RC@Ma>eIJ!bZv`3%Bv9#GU({VM$x<4| zzD`jTr6SEgc%{RkcsiuK>ncOb+ogY}-x!tKtLx^3oSwf_5hu=RjX}Ht%z{LBA=;Pk zKhl?I%0=pkzR~Tz1k^_gHbhQmMHk_uhqW~X?9Syr^D*V`94p@cR2MvQZhgrOEBy!e zMD28bauw{vSZyt>Wtdy^AT)?I)HqZ#Cw|}ZRoZj~nSvf}{9T`TZvZKiGPk>`PfcI5 z5xTB~050hidcAZsX{7qZTa65jSDfT;Vl7tlPWdAsyWJlznw0BbTqqHU`ENQiY z97uZEod$KfRM$kf%6OIcH)UrBv*4dKn%(7`#edyw?i*ddLK;!{$pK_bk{G||1e zYL54k(evA{B?K4oqHC4s&Dh`wAcYchQ&!tpEeq`03XdVGll}Qo(1j2f`#R8q`)MD# zYt2*}NEA%A1ru<3Wd>W$$fbJ-dZo8g-Bb{Q`!F)1YxVv6jcqn-I5iwUC-Jv&Qh4+* zFJi4CBHnI<({Bd0nWCO3Xw&Gl8VJwiC%X+fcY2hi{+yr7y5j75L2;nAEK9_k{M_P6 z{(aXt+ZHo(6=h$+Q;)~$PQ3l{LQP9Y55Uh8_BijulEWS|DMKEZTx)}-56pS_662eG zRM}92XOMJux6*!8$ivHv$QqEQDTXa9(8p(Q+76OYm}Di$^Z)vFKuoEg&@tE`vW#2& zb`pT!v8buM{Xod;#bIj#43CIa?~R>>|^F~-6%6mI|M;r+&Ur7R?sJO8~+K9FR% z_nyl6JYUsi0RdL)Ww|?=xp_X47w8k?%>CJo_kTT$worQo(WxrV9& z1~tMvznxz%z<2BkamY6CrA=s)YndNB#A}VqA_}BdG_%Lkv&UhR*IP2F*K+s&Ji|?@ z9*i2w73cJcWOb%0^msGn5Ih8rXPdKRJgF)z9>yJ? zVp2PEjZ&@j<$HK^_vKa8d2t%o4~}E5L%US21Fvw8!6M)Lurz7N7KPN%(vp{fKBWal zhbKRtGha!Kvb+lxu;W||`U$A%U`+h=1)Occe&8hyZgpMgwt}%$QVv`2n(^#MuqWOu zFs&OHX2sT${=kx()sU{CXP>VAz9BHz#Prw|`q@iJ1ll^(7|Cyv-R0j}|1*6* zE>r7Q#^iE@7R``&q|p6~M$LsP8b8RA|3vL=6uG}P^PLo~O4ijub@v@EI9SnE-k9A< z{PQ6DzKxf$=w>~GX77C5{8R$hElDoz6_mU-6qf@A6PX5(7 zP_up%3&;7g)>Lgm$7(D4;6@((=fa&--^(?0rpqd{@Cv$Sc|v{J=nI~wTv9}j=kUVE zviE3V7O;EAwfO&Q#|H{xbc9k`r6K*41E(&b0~!N;Mg~t$&p=%&afa}p#f8agL_gs- z7&jfy6lrE^LCCgv=foR$2u*()sm)LRrrE6*H>ehJb!aFa_4SnMS+r8OJBTg%>x?lHW8i<==HF*#CJLP!Y2~pFO0K>;ep2c8p{1 z(lxDI`4@0}T{0Y*zjk8m;q9%^CA|v-oQc|O%Q%~8!488()7#gLJ*9D8fH>jhV=wM~ z+3y=+rEgXB4#wJ=!8*vDfS`9HtY?%vql;`5C&TlS3SO6}EFax8DqC1IAZs>JQp@+*gPt?dsGcCCb$FI^nzI_*=8^E=l zXHZF^3(yr^bdgFH8YNk$=|aoHQs=HpJ+8p6X!NN5o6!xq{0s&A<`2Y0O5Vm9jqCgwoM+2kI*Aa2|| zG-1Qh0=!XloZXz>KNvLkq@tMkj6(e%ir#NLGC2$TN9-H+XG#a%vk;BJ7)WXz(yi+^ zn9xQu9+l6)Bti{rM0?*La}p+Q%MC{vogUWg*x5;L0=&lxWkxl>1W2wAbs3PnX=~#~ z_Zo)TrGAY`xQk*(JZ?_j$2vEzUfz_Z;_a)a9kWi5i-b^|xbNE{d9}MczDCMNS0()z9fRY$>Z`|&Q=0Zw!F ztU|3org#O{oFcxwV)WAQD|BYn;2(I%7Mb`>36-LCmA<&`u5x&^dg^2ScPBI|F;wSv zm6GfPYO)R5N$x&J3nW@7D?djdF=26S>hIO8${FT=tCBU7wgWmB&7dnx!5kVbuA1fk zJV76QsT$apb+@FQZ{X{bb_Ejys8FF&WVkFToX~X60|D(ysGXO0f6wl2@lXcEgeKD~ zMWVl~WL7T;{K-`2|K-(noE&Y1#5{_Qzg?v2kL2emaH8aASY4^d)-1eITh+**_LoqO zXhYIECFQ+DsnlLU@+ZGcG{}EUXavXc>hI0^i`z;}*R$oP+mJW^#d)m+rJ_;YZ1<4N zIFq%Hi_czbL}p*$PWxu57P0V*hfR%1Ck`Zs`4G8; zM0D*LsWq6W!ol?ULGc^b@8G5Hie5 zB9cYIfAsGnQ*gdYvu#!<Lby2G8s#Kc@Q>f!dWE+DYF&%9j7=0BIP9C*Qu%dCb( za*|^*;3B3=En|D`#+bj%MVS!xhWPC-8kwJVcuL!DT1U#t-ANF>)X8V8Xy2CQ4o>&m zl(!KwyWj`6%an9F&?why%8iEHRL}c~b?ja%9p6V{qyYlu!K@*!-3FIT=0C_B56iZ% zMdh%t0kDQx`pf6edd#(lny;*``sOBA-N%kSgc>i-iR7EbpGFaQ6P4L6v&ZgKKCUyA zWm9v#n|i8*3CuAb94}7pakqIHuhcH#eE}r;pRUkt)NAs@UyoiL$Ub(+qzwaK5V#>8 zN@kw2v0}d#zy`vmiyLT>S)E)!J-5C5gQS2+A!-T1g3zk|l3Xwt zDjd9xmvFAIc4?K*IK0}TdEC@mu_IAqA~IGw`k%Q_iWWl3RFH|*WwQE-L#4rw)x#54 z%m{2)p%wi&DO!fazk#`+0ZnL}PO)ds!STlB@*WtrM?)?-^K;0&!>q$~o)kb90U=(8 zDh~h2rk_oC;9On0nP;|qU8)WLAk&y@qUa(Z)n;5MCP51JGhnQ{_LDXaeGb-FWJx5PxX;9Ce2 zDU~A3iLMgol*Qow*Xm|_-Zj4ute0Ilk`EVJ2`N^U>1(DnzgU@gkQw4{2P!HaA3brq zbu-sm?nF%Wvr^RZZYK7OlaVGqLNvhgJAmGo?cZ6LGOgaeblh%rf79---!HtfGHUkA z0q=+`r6gTNe`?YAf1!ZK3BVBpubdnl0oCY|AKbww0uVkG1yn8KD{%pH!#5v-|*!Za{9el%6f45)we$kcafi~$`)OYu`F>Yq?@U}%{6v64z(u?CCN&v zDm@>h&1ayr=m(WB6Iv2%-=k}#P&JOggY{9fqxc&U;MNMjf8h1gca;KPaq%dn&!){l zSQ4C4N|fw%5r6laAC`_b8^><8y1E)M$#>R^gxDJ%dPSE3kWGpW}qF z`%m^nUotQUJ(XDEG#;Hpc75>QwgajAhOtZRO(%ihf2*W$@qn{D&I?2(AKYiUdj6fs zSdGcpQgp0sR1m`1P|x4kxK&s9VQiNbXUOw4TfdT%p`PqNcdj^R{+ZhL?+^SmKln@j ze#wGfNvlnXHSFM1Kjy*CrSn{I_Y8@o_%a|cS;%dtB)vJn1UZl334eLu2e2^fxUSul zONP5RHFd>GH&%h!NPVmj9E<>giDIxsd_`vNcw+|t1(&HBPDgD_C|2ASY; z$QA5i!9tr2B7A#?M`a#Xz`+J6`7PlSHlZ4XwQ9B@Jou`J4qlVwa4$-HUc&(GIHi2l(30|OTouK z8r*{o%JqVU(guUkNK81I$l7&s%D(Xg^>5Oy8*k|s*KfQ6L%vJ)a zkE$X4#OL>h6hTB4+aNKH&*vW{qo02ib7WOo#3WaspOf4*kwW|jLbwD?2MZsgD}5tt zq@^m7S#EBj$2H(RD%RK{D)8%v)6_|H+Thmk-_ljXbQZ0 zHnY3G9~5hyC9AiEoKhc*3_Z`#t0?PY$9_uD0zU&XC@2iNe>ZS&_xL@04mdF89)9}t zDfq_u7kC)CU*=T?>SPZj5i#H)T$qrN+v+?g7Z@108)a#b$WY0^7qg#;2+!a&$5?0R z%FbOw#6_nEao*MQs@n6@9J)=f$m4WwRD25cYtQw@``iUAgFrs}$Ge!EPs;bQQsQ>A zqd)kFsd8v`A?EJ|1YXa2Td$dwpU#a&pK_J*dXy65^>N<)4V!hAyR+*6=Ri7!BJ9r} zm9@H!@sqSMQ}1bkgm|vwxR)>sI0)UK*hVgZK{n}bXFD7KAB4oya< zHKAhNe#<}FqN7mEa=)z%&exmcwQ_nTy7AqCD$3zXd0!zIIz?=xQ=#pxkb#aF;?aVX zVK7OePC-{c{i$TEoddxpD(U_47g~f^%_6*~hIrip z)9HGguY;9nNKRph`=6S+x&%>!cXL5gwYi9wm;Qn`);m|)eYr@gjaqRJHGiQbMf<=VgqGXm4cucu&5*TQ+t;H@J?;Xmb3Y6u57K*pF|_%v1NhT ztRSY^`u;^W>$A>=c40gQCCNs-Hjl!GKFZL9eZ@B$IXJA{j9K}^LpcsgY^ozzp*M)i zLmnhGZ6Re}Neo=Dj$zHsVF2G0PG7#`H(jpxpOE>dJ1W{-MafkU=R+^A%Eb3b0gg0` z0coXitsCwE0V8b|UWjkOLs6Mjhmq$DhLrvx;!6wDv{54UxU;FAjh3#0g$IMy0H85{-T>T5**rah0j#G9=127t@^#vs?#Kl5I|LJc>Jm#QZ)y zNfM)Zos8~!?|lJbr`(x8!QZvT_X^PsZ#^(;V3%uJkdn)Czl*%kx{+%c_t0_bPa=95 zK?%@DVReJluBOIDRW@q{S!rosYMd1k%8%>dH0_D!%mhyQ;ACw}ab2Caon)pQ z7x@P;-<6_}Y0*DmRXhIz>Q6>=ZNO3dgg(UMy=O!*$sv7UOsi~CwTd6HR$hM{IRp!;= zPI#VhpEo|W_(`Zr92-M}-!`9)@BpJFYtyd9lf2K;X>sCF;`7QH-MBl@L?V)7R+`bj;*zUUTL&@@rKZOYcBPI<5zXIRv(8nfAS>Sj zu6)3kww-FAp$X{#2CVWXrF3@c_hGvKA%)K0izt+ zA*zA>99Tz#IWVSA^lOo~H`KclA{&eH5LZsEbww_TBP^7uqbqH;w(c=R7UtWP@bE!C zSSorzth;_ess+`XDpmAA38^Dn`4Balg0>Ux`_J|odrH5p_zme8o#=?TN?If)g!B=U zdz92~6k;xGK`O_|&?3&8@te|^=ac`Wm}{%6%ZOe44cOlaca_VG%C$Vby(!3bqbtRN zRO>7bghtNYOA!Cw&31){>lqu-bN%MqV;#q@+}Xk&XzYuL7vb1>lzS&&L~n)>2tYLL~FnD*@vujh%4z0$=Ux$|wT-3rRe!y6=2 zi63rjhy3pn3<$gD?#{GMHe?7J^b2Y<2`zKXMcZ~Z>Eh1QWG-Y4wGHk$&g-OmF$kgN z`F1cP{HF^I#4Bil{lj>qXn5$AuBS1C*%*SXAR~my0(`~l zKg>e=wuP19_k540Ol!k!NFIJ!veJCTqKuCzxMb5FCqY(tQ9McgT}jJouE%<}N&aKi z3&Zoz(a*f!mxkKD&Aimj|AY)Nv?Wp*o9-^cF21R;?ktcMr5nbu5J$-;U*(1g6YQwz ztiCOFo<90poaCxkaZpiLO0C#hJyV8O$4h%`#tBELIPJjeOWnU#(|cFl#RIhj9U>CuY+(K!%k^^N54e16mdQ166|jmZW#Af z*(*i2AihpbT|ulrK%J^FIt!)qUL!pz2(lJ&HK65MVn%A9sA*_5!YcO$ZQCLhx-K zKMQK6G9rjsSp@u(P`QYaWsUqPjbZA#++`^8aq&G$D_TcGQ295&*|b1EX0`OuX`)L3 ze427%!*!kZP7@I&q_Sy`>1rCg^*zBTdeT&z;{ni2B>@aEa}}f82WzVh=B0E1pgn$@ z{C8w$%$%SG?uX+!BK}7hlQlHxm>qXBkh4%g0+H`EaHtVulF4NFe&k2)HCa~u_w9bt z-zr|)-sESqhVP*FE>cWVCm-ecQZW7$szIk(*O3GujXC`aZY5=Aof(pTfI@-+xi8oqI9^ zbcR}x-V%Y{@QD671yv2?kK|Hq=HJ>Z+R z);M8b)940@{6eaYZ~TIeNM^+I=^!+USyc8DoZKx<#l<*7xKTn$@D^2XTC}jECq~y0 zd86diQiMT~$o6qjo1Ll4V4V{x@J|2Macs-woZ@4q!MF$9#g85qvXC9_{(iP5WmaRd zMSV5mxsxH~M|!X`sgr*azMsMI#r@iXx0*d=pQ>V}-oJ$sfG7o0)xP zSg+y9?McToF9Zbci?5GgU<<@dgxwf!6u=C97%`2jl)X6rqe>MnXb_{hLN3PclB{-n zvH7R32*S?Z-u?{?oeK0yN5gnFQ_#0t%tY@YOQVH}#d9wC<|2fo38c!fZ8-pgQ&mmP zzQp-C$-@Rs1*^Y?RKX3nK{k+G>vrmR!E?QnQU6z#=V{cui)Mc<}e1t;7Ti0}I!Dk>^2 zz`YgY`TB?d6C=WiFl-=s1iyhrqyQA2A2N!zaaaEaw!u@HfO};Y z4}%P_W9%Wch+bC?7V^-7WF;4ujY^*-*;seVez8M|?oU-^Iw-?PD%|V%_8+ z_j+7urQ-3zh&(cP(c69rL<`50fiZ6X^-Ai4RuQx5F9pD>44c|EnHn2=NzZqN_Vi1G z3*H+uFH)8Is=gHzXv4EUF)A=4^yyH7qrpS3ZQ8BxDqiHn*clelMTsY1q5N)$UA6mU zGXGd!Wchvn_s!+piK(0hQv4P3{obspmWB9R+g=T0kISed44@IcbL}>Qm%h5K|fiT3pN$y})ZSKG~7e{}RhqYBq^i%o32ZaKIKGBUr@};*wxt`z3^;CB{)WUUg_%9MSf#%X4VGTAb?N>(I*M_i9{99yO&RkhfZV^yL-%|LWRa{QD>AV@8%o$s7I&x}`R#?}~%1 z02O-{Tx&GZsaoKVD;-4tkTzY>YJi!<^zBI7 zFx{bEaMm;J{&1%|zjNB8r(9D@E9U|F;5M5QRbqYiu*r(2jQ&8ue(T{VT#-j=O!zCV zkD)@^B~eGt}s z#d_1u@SgduLI(Y>4_`$u_Hf_p0kI^&I zrf-5GcUBv&{hSS&a+*W3dio{FjVVuvWtM7Lv}CPhO8#zB3vjiQFeJZC-}UI}46L-l zqj}=7z6H2)_f#8CqQN&oAGYS?{PvH%-7hXEfI0sk>9DJ;j6(9vCf??rc3UvWq62s1 z?2RNZ(6iz9-5)%qUA|WI$c*4mU-oxnj7NEJdhC!0>(F_iD zaeH4^UHz8xmKO)y9kQiRQ&V&N8(?*`;0gc`c+IpQ?A}d4WEnkcQ4RcMB0@b_1QYP1 zs%#j7>8UnwufvDh-|P)OLtCnvde64+{P&sl93kIUb8q>u^{2EBI{)X5muIWELaLI5 zC}G0?+;Hn2YwxJ8&|<2wt;pZkYe`u)^i7I4-+5W`HKsn}p?PN1Vs`r56TV4xrc%8CFmiG%A_=u0iS#kcq!Av!SYy2|}vm|GR+jk>O zT1#uNOHoCa1=vT<-|pzE5yepY`k*z^*uFnLW? zxi)!dXpj=QRK4_zw2t}t(}BV1i+jx`64CAvmq0LEnCB|l3?*X9hV4;iC24tUhg~ z{pno(XYS2buU^P?k1wv3OQFOTM9~J;!)p8n2n8_X03$?R25icO4r8hG%majcA-5xwR2a2A$e5(ixB)VJjP1Ny7Mgt)TSnzptyu$~ST zL)ymI3JgV}hlhs*P0F7T`o0P*vy%oM%1CgNg#!C(c6Mm!ujcHowh*&iR?RJ&ir48Z zPJSOk%$!yZcAdVa84(8<#OLH&g*F7@Xjgp-uJm_X~?E46-5G;78=-4bVg{MDR?sssQv}nIg zOJl$N2exb_ATT8}HkkZj;qAQE<0^j|0RwJtc%gH@($$br&<0?D3HNG}|E=9McsEfd z&qTwQ86_0|hVXaBu;XHPeM(@;2f!J+zxx5`zW{*j0;J863U4O`cxkTXuqq;zj+<&$AgslTqy zXMdKJhU7l-LN}Yik?c1U$CdDkr4s$-)x*A8r=jngFr>-<_W07PXdX&Mgm7QRf8XuR z9b8-pMs{{~m(%)MRzX-&cnTv%Zc|8Dyn@d#Vc0b*&P$p@KEUS|?uZjAfVwlt1c>u05S_4T zASVsp7&F1Q!FjmxIwRxY0zzOX3C}~xxMm=ksR9UT@H)b4{T(ox;b4}E*SK5|FsoLs zH(crs3@TJ{%hxZ=x%r;yCtp;U-ro4qQ{A41kWE1i*pq)(5w|X48uQnfKT`)qmz4x%y}Ty?4y#z6z>joXyKvN%cPFYfsn2HiEnm%9V7-dF zat+GjX(lJ9wv_aan(58rkt=P-Q*EKqNp>%AzJuG_+W{klauya zgDpVF4~7}YNiJkCOkd0c1p;c>n4PVLc`QxZY3mPu>_4-tAxd~J=Jor91%+>5BnN~& zm>aji14)%}(f0q=>(np9#899Q!Dk3Dp?kuTIQ?Az?J3@ssE~P^gXo{ zRK&?rlfc;d*MW?$ba^RO$?WfdgAZ40l98nsXcPd={t1(MDbK%`LIjQd=*fBbAfGW^ zUVc?!Y+`i(UQg}p*7iR;c_Trl5n!dAz)9`Hz_HqYM zl5}nZm0;!Ne&XP8XbT@K4kE~OO3@cUV3;w*jw-Nfi>$)I`(Jta?|f?G3;*-)#@$7N zR{ka#cE`X4IJG39Oqo9S`1!Cn%0uLozC=SN1<1~0_3Hfbnhw^Z~z|z~any*+6 zj~49xMa{B*_VF^~e3~tv&!F7yobl`d3o!Vfzqfrq!A(STVRv_Tu|t1o1{&bjg2h=8 z^VTE%t9|nr^pbZ^kHF0Lp`nAWii&vuLft6O+?CL=Dq%`q5G=t~baoKGIrofizN9#( zG5xZ9T6D&S=ehQvm>BCVCIolLNa}5fX35ILEOrH9C(7l_?GvsOU2!DJC2prFqULN( zJmF)4)<$m@JDK7$xqGa@&cSh%35ez#7lp0g=I^c^ekDE+aPtRG{oAgcHIQiblcKo; zkYpw)9QOoRGBa<&w((Q7{Dd6LBV1b9@)2$gah_}6`=7orMOEAJUERYZ`z-QDTOR>W zI*gd60^8rvR^Cr=at67AM-~ef6K>l$X`;ua24*sZu#Yhi5t|Jrl85>%S^=Zw4krQm8JB&%S*QULuoW|>1a%qKKrXes%APPgd+Hijpbj+bJUJNL! zs~aN?f!{fTtMBM)c7Y0onz<0n+vf%DWHpZ{U5_sD$SGCtZ`qxRh0Tp8cktqj_bv=E zGn# z3n1pq!mA)`*8HV<}QUnk?_H41d_48*1F(9aE`)JguZfFqwHZ-GBq$r5AFp+~00)(MmE`#%andy#0D$IUFe+nO zhck|n{$;vCa>~jckdY$*l(d@9jGeg**bHM(@urJVy!!m;>+tZaF9>r+tI`CgDUJ{q z!&F_AN<*Yb9?2RpS2{kbcDCI#%$Z2}k$8K2F$ zV6pBWa52ltU6>`4LDV8^jge(owE!+fs;;R4|BBp(@b3$=d)-;sw*7vW9K2^opEf-? zaF^aWU8r@U&PI^|E;!=Nvk6hjnO~SfbjceXL5th^tkFcaxkQ!n1Klg)lws~VzsA(Q zm+kjFDAo?%-itX$*u8=E?JtHD#ktv|<(mrE;D^*A=cS5Jf|GGKo-Oc z87Gl>84S5zR$}`JzQrYQ8_45{5cIQvW@@9?&VbfQeNy#KI7Gn6h?n40`tLfogg2~# zfBYsf2mE~FkhryJLe&y{lint32F@ZJoX&0J8pbN&^rGeUq>8R3Y%uPF7m~0fMng6? zblQH_6PFEFu@R_$bN+@8YSQL_j98avL$brh&t@FnlN@j=4Qm6sm6O=`GY{ftAO|;g zWC$kgDEpdu67s(Jt!KhUr_w(^dgnNS{t-+##v8pBIfd`K-;#XToZ-8es3s=%6}yJp zkE`UlHwae}TuH(iSNimDdbig)!5s%=?H*mxkvPuvU+Vz`(B-pd55CvQPmWF1ZQK}Z zS++|?&)#x9IfAwZ)EcX<=ghP2EA1a{j5*F6NpzvNN|k9W>GO4k`6x-t3>y9>!317K z9Ep5&%33+x*rkD4iBk6O3dWrGsGW>%uG}T?3JAufxKxm*Qrg62Wc=_%lmD@WXD)^c!Xx((3JEuKE52kd&|qLYJJgpG0OpvZ*+wMZTf$W5=G1&6Ay3dBUqJeyQGY*Norc!FM7zM1IOO==1z`6bi|hr$hb`!Z7MWB7hZS zwEp}nBdw$A03)UF9U2rkLhd0G;$XR&0qJ;whw`z7#avSu&))s1S_MD{w*r>l6i!-i zV0r}C2~%f@XZwt7GFlB?Z|(%cFw?^8a|~ypy7iD-Sm$OK?e!l7^XlA<3D236al$ zxcBarke=hcOZ=!J;fYj-be7U&00UK)Z(p;MHu<-=L=4x zUagF=Ad6NCJH_)&e5v+9Q1F+Q0$vqVp#ef?cWv-S=m&)R;Nw3H8@_{hc^8Ow5--d2 zavR{qK&VzgzUYZjF&YK;#1R&#MVmKCkTy4P9Pw-U!4`A>HB&IK3Q)bP5Cm(DXLzb=!~Uuo`VWN^&Cc}x)Uyy0eN zxyyFj2*;4dqdv7A-LudK1zGDixW!a@`|Yo_wOjA%E4R2h#I#_R?Yt}Na^Ko|VG8CK ztsLh=hb*Xv#b|~`MfbGj}PGD zjFY5f#vB}{5xm+Af&nkZPs5$K_wO_8Fg158lYGCiNNgx&vE$$GjP0bvFI>Ni1de3u z1_1?U;;(koABHvdqq+Bx?v{!jY#mU8RXh-CGq5#T&*NuDXj0~VOl8BSdAA)-L-6J4 zV~*#&y}eDuvd78ArR|JhyeqtpmGC@TP46}kr(JOI@yZ?!zO!9Q-qT8<_USFCON<6p zk7C@+y`IGXsdPbTbc9r_y)7@#{_1HO$!$pJ8l< z4gWKD=gu8-U}0;gP@H@5;>8|JW86Jk?Pn|yos_rx081^ddoC&QPC0g>_l&(4MI zw(hooK^mx%FVXppjR!MONADnKn057|VDNtA!Z$VUF8Bg+WkxNH!)dHr`^jRG^j)(xWQ^wEof%Z5Eon;gW zPYUXxx3@Qe7H6_6yWs=twyx+2w?!OWWLAhqZhrFE&R~f7fqfavz7BdS^kgfI@#!|@ z`lyGKwZ~GtmVb}ue)E|nu~Ku(N3B^>WsJ37)tDCLb)+#kLjk~0NY zk$k}A2LB&RUjhyF{{BDqAu@zi$OsubO}4Cq(nK)`S+a)|8bXLPmJrb-`<9s!St2o& zeM#1gq6l#rQX!Q@{Ga*${?57goVw@M%;)o7p69ha+sVs2J?mAQ0SC7NqJK4lm{X$3Bj(GqtGxwU@@< zW1r|14(|BtW`>;JKi8?d+rZ$`s|KIE_b<;V*?_e5hN z^FviK%%p8XLp8Z~&U$&xQ70!SRaDN^J<=aid=2o=iK9o4o@W9)qaa}7mzS5nZioC# zz#-{a(}Gq3E6eJ=mSj!kvwQsm(vj6o@W;+$h9ct50BCp1*X-_n$BK z71~1E>6#1cm!XA__%3txjijU{A=XlGJ+k>Y$EPdav&4NOgt*&77W6HDX!_59o+p^K znyCT22w7i)P+h1%&|nqeOBDI-PPrN<9Sc&%+K$nG69JwjN^RvQeA^)+4Q^PN!|0Rp zkl}qvijd$D7TL*`Y1wfUyYinwP98FC-1I#ea-#1qx z4<0#k1S)^r#fu71A;upr2%E{dt?gb=gs>%#d)*^AeV*GfHPPK#X$M_Q+sbQIAU-%o zLtyAv6IAw$@pI!%fA1G={r95zPp8Un_p?*?Blz;F6O^Rj!7HPEnSwy|SZrx|3Pnc5T|qz|Ac|`EcFao3qBAmsaVq&~b~OiDsO{ z%t?Dxcmcl8M!>s^a*|Lx-#52g-OKO0KbwH+x+lcv^tIi&8kgA-WLv(ZA}Okksi;1~ zy<;{=cV}zOElsh*y(X7AEn)-Uy*Pv+#ulDbG}%nLfN82?WGXxV4WRmNvv`=ti3rdt z58cCmrUJ2j`rTcDwHwuAHwZe$m|rTID`^d@J&d)6Z}sC)Xu_n4HuI~XSA65Cz7g@x z))pjF&Fc~6JF^Dc9!z^gIQwK#ug?9;`$Wb5yXvs{f_dHPRigZB#Ph_ zOHow|@51!{ygxLB1K6QVHIcaej!6b}Xmfd(!<^-9uYpFl@!vJ`^Ybo%hL@5_g#CU! zm7CgA3nsNA!h)B-#laB^PI8`KCoCXI*&6e!(CGIUHt6`AE0%O%hEY72hV-q^eo3}h zjE~eeIM(}PT34)laTx~wUc@CzlAMNb_hBu7jVl*Qamal3cc|ES#|84hzf^eal+sYsuvz)S<+9FcGxU~I{JB?V zhXe&?Xv)k)BoLP~2N2N-XZr+!_1Jk)^7w~}{&w^Afd0E@^cT;ZIYU(DkQO=%1<*iG zS=kw1+GX~$lG8@~?W3^}kDDK zH}VcimE;0F79Lct*cvbYz_t55K7=@Qb&>4cWfRN00u9#RM)Hch0UlJd;G8_2*$1in%rOPa#iN z`85ltekdCuAv0p1BjA8KObxSdNOvk1N_b{;=~JCwOHicDqO0I#{iO z1^0OM3Yc*L82YAi;#GO z?RQ^dMc*-#{%$6FR}W^WC!$JbV0#>dCKoD{`ftmBo2K@1s^Br;c_Q5lMd4gQ*gIMm zyAtUcsAh%V%T%)khxaBVa~xX?-mj~=`GCA1%8WukD2Jc_QAo|E11rJGCncBYrSHOT7BkH)O|WrKggBp&N+0|9?%gvS9oyH}Cj@l!w%&-QZ%T1x3KGd#E_ zPVM8zez`(3chyH6tsY}7jA01(MX$#t*s~@k9ZN8T%S7tNmz@2);s(1BMWi=S08ZV` zey`c|GfriAbu|c-rD@myi~h5GjdAnO=QV>ZUb=lP)%Q_F#mj}v^K$MFNvtv5*#2Tt zY(}G1OfeZ(Y>B+tzX~UG)xLNE+6#jg(TjHYMy9H49@f{Sa9a0CAKk~M?(5}UU!w&t zqj=kyp`~yr!l*+Qh&NmJK$B{i)Xr+u`8~MlkuvLX;)k#Nr#?I`=?&jFI~!uKKE$tp z`T_&)?}^nWm#e+8Ke;P}Nd_bsY@tDnt~+R~D6$!_8n(6mCRU~qd@5(4wDo6E&BRl- z4dp2&k`ng_P;*nHWp59^6%Y`xyQzBDw&1N4sU@j%=+md$i`l+o9LL5RgBPpJ%`KXc zF@XcN78bWxH^5FOgkVDB54q7Wm;BLd&%l}gPQKjyw9IK)cLB*S7vswd?c|$M`gyPY zZ1l0bM_my=-=1JHC4>h*?G=BoK!(wvAkNa!@r94K_q-mN5LU3Bg(|tH_Wr+3eVEx8 zynw2Qe3@E3(t+65K0iaALjQwM2`KEG4O*Z{)ZcFmfI!(nmdBK!HByA58d$}~#re?dbIIrb&h+O{|M3t0+SXZVXaig#X7l@t zWwD2$92|5kOA(?7HEG@>W~H$}+pVH%F_*V4Pibn`-qE(8Gsg}Vn#YJ5!7J?o41Kg>%woa}I&<3@SQf4+Mi^TV1Jt?!OxbK|Xa?7GL~btVxQSw5 z6(54((uKPVxNt}aQi?qx5$^eZ;Kjrgo{mM~WS72tDR_(JLnKx%F|uggvq4vWe|0F5 zi#gN$bNEy=9c(hlm=baZNLmjv+fS8mpaq+S2$^uOz~}FN@#;dY16BhYgZlB<$W|!O z)WpQeqBH{_VZN)aT|a+f?Q8a3SqCYBKDfc`q)jG5oWHFemT2BAF5F&>-ssY7-Z&-x zO?>cL!HZmV&QI&7TJeZ30g6`ji2V*b8j{w)kjb>-|&2ib;+3Rd(l`x#l zR#D`|MbK+rgd%wA+UL%_1}_1nRk^z!2$hffiGXM#tw?YC5cXDtIq(JX;sM^!C z??pCGpIXXI^lK;h=0GR7QNO&ohw^mHwJ=f{l_{z~kp*SQ`pxBJhYDB0V)6`ZrQ$bS zw@t;nHx9zqeQ8X`dgaJsgn0JAWH*KZ(^m5UTJ1s@LqC|X?do42}EG^uuj!$LVXsw3o6GmpBJ{5`Yx(aSHUmMSVAU-MpWdR3T7kR_qungVTu;&V02 z;^c_zy=Tj8`<>9~W)LlGh5_X2-wdP-C=*7;ham&{6Mqb}pn3=_9s7bz=va?p#$?fs zK50savPR*A?+q7j1l(KSp`ibG8fiuKZ3+PiQ?DEaBC7|fgtFzh!FM6zfOs}cR(_lF zpJ)&u*HnLrV;|47g|WQn)I-_vf93EPzl#^!mA@X)9o!7*4iZAMgYc=o{&y8<7l_Z@ zM7y;Z(bg_9W#qOe&nF>y77z+5F*Ol>mTuf(Wpc)fy#%T+jvkyvTkW}-z^^AuktU%= zMn{_iKzNX#)QgX~!*Bd*VyqD&uEh>;Vq}n%aEKY)AzUji%16aQT$PMp^d13$AZI3$Uvmk( zDdY7@!J3e_`5#>2$GyB{%-a!^y6S6lk9V~7^rGTfA=+f~H{iiTnJ=DijZe2s4<5O# zv=!VN(9b*4JR5h2$lT65`G=<=)e>)Sv^ zTzdp)ipr(&@4NNfoJLInXaj6H;N{FODfsbbIeO#>TkliUx$d#lSItdL+h@2TfQ*tE zqU;iTRt7cqP#8#C#*hda0k3){T!Ksp6k|xo9B%*e4UjoF z5#8%Ats{nJSO2JYiIPyz(X_o0K(*vZWynAC*Gg+V$_5AAOSIhc_LCj6uNlN?oZ(4ml?@_F zpEIlwCiq)T4^BkaTnr!8)MlKrE*rUtoWIy=>N~l6MxHe$ukcr)LRi5=ILE{XI{kq4 zOv|NW5Jk|gM@gmIE0F>xf#+L3i~m$ij)j?@b619bnI(kCz$q`R&U~(QuA;}8BXwYQ zjsRLZ2(F0d2_Fu2ja?mFJDtF4hDW|Enz)aOJ+}Ok_|@n>P6I5A(e$ zlNg)8MaW9etjI1=^^4ho`P^q=TJWlXh+N4?U{!D8=T=#zmB)_8*J4BI-jt% zv2|G}dSCt00F49Qu8GNOXg|YSyO+ml!cex~oMA0se1G!VbNd`FDt2){m@*|sLjFY{ zOw_ZtAWCB$gZB+`d|TiC&G2!lH04QaBes?c5>$e9ZbLfN)cPP6i`8ut-LxHCQw5bz zD8OIm8!ICahEmz)8rrG!Gssp@s(NpZFpgTqgm5h6zyQ6N>6>8@AQ#hQs5b4wjn^mi2^%o_VxkJZ3DtGH_^rICN7Yc4^WbC>6n+BtV^M-1oOWM(%Y`Bj zN5kOFg=5gYUe@4k-&);eussdj{I)kUqZ^C_JN#2?XJQf10b-I`S-4}!CZE~IB3(j$ z(rZ=M^8*srQbS)dr?MC44;_O3t62zSThP^(EA^fOfMybkbB|1~CxK!QAw(D=@u0I1 zPSg867Gkh-;D%4~3Qr=(_irgRV?B2d2c&kot61Xu0WW-kK;bc3jAQo*9wgL4PAX6c zsw-JHm&9QFT&dz&9rrbQgw+Esa(s_&OlxtIL4u-@5H4io?W#k)oe;$G2;2(n(`8 znUp~oO*Q=8it!*)-51><%Vad9m`q5WeHjcYccTGqh_cNgUQdRd>#6<;dZ=(>v1QB> zZ6(U!M>~xbAk`4)M7$v?aDR%L^xYnB1h7A^dOWXe%ycHdh#j_j2K6}uXCU`RPDE3K zHSEI}QCYzAgFiw~(vl>S?BO)}4ictUiNJ>sM{nGZb~uUo94?{1dh3idVhfDJ0fI#~ zNA1s_Pg{;;9IMsMVP3?iX46kd7=?r!MN$xGzyPoP2Qc>_8(0PBnVn@F=wPA`f*VRZpziHH7mC2Ge62;!5w1nS;ozw6Qadcg5|;6M!^l%nx0xYyD#pI~~ew9%CPm+;AL ze~odN@uHsTg%(M6eq@H35o8|8t)SU1_T5i?_^?&`1mKYQh%Rl0_GpNvE!>}Q!N3pv z&uMLjurw157hL>)>n2;If_25=aXhaAD@%&T(W82R=i#_K+Ep*RSUQGoHb-wv)t)*x zP8Jkg^<*{JNp7}m*r4X>cglstno9&bpU}xKc&5hOy)Pv)dZb^r{1P*4DlcC;Vshg^ zPAbrJTPv~$ps*gX^4}dS39N0AeXQOiVT+MyqQZiE#`5Zv7ZyAJP zD3tp*BK3ugt``!o=Mi|E>37U!Khu;kD#DYE#KRz?(@s7Vl^vL@QXwgTGo)jg+&}Tc z@xkB!zI5xq&mUxzxrsJx%;&=R_eLcc>qaKv%zz+P3l0f!wlUuiD^|_!1Hh>7tEOV0 z?Y^xRSZFXj9vU2K*&(#N_$@rZ*toqp<@W7Q;>n#ks0BabhLi7iUdEud3FfXWNly7k z9CGi7f!Mx%Js8T++r6Dt`5|exQvzgTgfscycNql$CL3-BdVG)IdA=kZ$&n z4okhd`om!v&mNeJk;!#1a%CJs_H(i;jpR-??R+K1XAi>PE#%V0bE=J0E!>Vazq$cIfWhMR~&tLVjDJ6%p0*Hyc0 z#`rY?ufS@EuUrBZRJ5O;{LkDW2#CErn+Nc%IMa0TMpbl8w`zn(dFDqVtk(HhyWYM& zUL;yR+YI}Krr)k@us^v|M_xfe0f`P2JA5%`elqagbht~_wSro91=V|I(xuCrMdY@t zd7&(#;8(i_!T82w1O|X)Qw2FWk&r|ImtlZ{zGtw&V(>)L&fv;VpKOn z58l+-$R!X0|0AIk?W>C>ujVNQT%+eULFiUZ1aEtybys4S{Vzy*c_OozKn}asok~po zP%>hzp(W}8w>FTUlB7ORWo_Bx%bZ3#;r`~tW32K2Ua$Y-Y*$r$FosX;qZ9?{3vk$1 z^(&~Kj(2mtas>$9*0q1XZkf0btw+JArlVyx^0Jf;2v|)3hdMvKE7PmLZ1N^!k4A_H zt{P}Fd)M(hx{!DJ0(!}V;ajWSqdKW<$K_7SWLzD6BU~s$LUxG;Td?u(Cmn}3)_0*a zBT#QIq%AiYIK3$P?p8FmI0L1$fi~QG_85wtjg7w`PEMJLC`D@{v;VnD_t~@D=#LaY z;qX612DHC?`SRN*hl;hZUJZ-9SGjZ>mv|j<97-cGc6&c)XU=vXInO*`SSUjEmmu4a z{_xC{jk9wU2q^Ztgt-|n9OiH}Kzqg#cr55JZx_cjPL?+2ocgGMK>lJ+smXb8B5kr; z&Qw>Tna^+z?uy-AKmfGu`Z@jC_}JmYhno+6dF?dXuJn9j{|9yE7m8r=C2*Its9X4$ zAA&w}hbbZ0&9wDsf&^j?aL14JfETW_BG9CanH`R3x8JsspC@?PFYL(^M6(w#Zm5Zz zGZ%wW&H;xktEi};l0mXiOS*%`%zddg`V9*&*tzi8YM&i*ccK2qs&)wix^M~bvjkC( z%;n8qw(|mzX!~Cg0e|oL?d&z7{P}$hT?;uc<{%LaLIsj`8-3oEoI~)C6KxgjqF@+A z4?#xygmPi-x7swg0UG50j})?4%$xZn zVo{#slPhl?G!X_nAVsYWYw@SaAPkC3H#9rsEJ0%8mAfcbV7qRD`gjcWr5bX5D}MLq zSD7r2$&~o+$6B<5nd$SG2GnL=4k3s>$m8%3?P?3w`6O0>3WJMadng|L^L9=zO6V|W zcaRSXrOdgKIUdj)wK+XKeJPKK!^i*=ZVa(9$0$Pk>8_%(naYkLjddqXOeRzTeS^lj z1jbenN3og0V6*waYg^-@l=n5pI1Og-yM+j**L;o zbZlbszdRL|7@$L=;Q3l0uy~B_Cv(ZO#yaT*3d1m2tO4i z?Y+}$`k@>i|AAy!)C9MTB^q-+xEPvL)Y#Z~65lwl6cFCK2P9e7EJuHxqX-p~3^jSp zWNO0cR6DU+qp`4a96@JSUP+Nba#KqF0gdFOcv^RI=AOohE4V~kIibH4a<~}2OD<6;Ift75_N^5Xt*WC#dkX!RBEzYnG9saJDF{uv;=EqHy!p`B$j#aL z)5Nf&GfKGr_z+76Ohj4k^HiUzg7pa{bp;DtE3zODC`7W8@tVAfj!j#_dR)viZ2kzq z3{X52kz-M;0~?<3P9Gp34-uFonuojlj4vV?*qBV6)OOaIO|d%-&E^Z?952QEjmiQ~ zm~z;D-}LtOekqy!uEh6TKIF~EBz3wUrBx=_Ce$8D3^x~YeWk(pF9Ji6|C#8Xq6CtU zn@lJBi(zGrW3ud8W=QTAI)|XpSigH+57_PQAYH^R#KZ^~R%XD=`vQrE2qOTUdH3?f z?M0C84&+s)q`)f(dj;nJ6YDSydd>>ueW5HVjD!NPdlClGIb?=B1xQ1`E9(sM2C8K2 z^265^rqWDgeUS;BLn6-^vOE`s02+&@Pt_I2_KO`nScoP)0_XwX`xLg$5k%MQYSa^meU7l4)Qib&%wGB@)UC44qwALVBL$2n!&tr)H5;3=61MoV>I{#{rK%Wr zp?x+f4T$fWybrQb>VY#Iw;cV)IT1ECHd~hX@C?E^zgtJvpX)Q9y>j901Df!s1`ZS# zL3-{wq{r@NHH5q8gsw!ulgi5N?b$Sg?Isf`s{z{oq1gt$zA4G;=z5^L6`CvLSVyP z@^Bs1R~XSEN?cl6G7g1#Nop$fLrBE;P2^vK(ofxGb6tr+<}G%_{4R7TTX0{qzzvry zqSQtl)Jp(u;pMAm^qE)Se!#ZD6CSIWxqmd|)v-V6+Te1cf>ArF844T`zk94pHy!jC zqf)$eWSh?=*YKmi3RWhZN1ab2jbN>nf#p_(Z#n9Nzs8l|X6C+?B3axq&W#IHImTNr zN5LTId24&(-4xBG1u;0JtgI}EWj~wziGUl=#j{$@L(+6m`LSe_i#l*{iFAJBMrtDb4Y%Rh&A(()l;J;W8Ubvff$x(O_Fr@AzWkkqQsNt~SEeGAX zQ#aM(K?4GD$9PI6tY9CiuMQlI3NbSp4+&pn@QYZl&daOs-o3NpRDiV*f5PmBx$GW| z+GTC1FcJwo@X+Bf2(_`b%?CI7zZzP5YI2mWQZg4y3${ONR%^++%w`>~2$4Tcg?9*TjO~|!dh1aK7lU)ykB@mk z)PFr$5U@9p;O3LB@EE>VP4PpUl)XA_SZ5c;-S_WIs}rtxfrvv2-ePwKtRsf-M(g@k z7%@xVLiX-m$UeQQ%)e>WAL8F_1x%KX&c{ye(8uNFd$Xz8$h<{U*bywYip#cS!XMp_ z5^&Tt1clFMU%)3+-Z$4Ul}cYY!pnw3!Zd^_7)*Sc<+UY#FRQ8B7F6LC`Rj8na<)y& z?e*V|z{lK;08N#+;U15^2jo;4!CU*CM~z<;H_`)xBmh#ZYPCM2XR9LwvPITX^84v& zSH{Q)`7o&nK`>PF0NIJQD5qV#8~MZ*Q3QvKoZ>=DFKP`aAx;zU&mhb+_r}i2f%N@5dz77t0a)8Ud5K$rmDh?Q2Ax zx>*<#Az~MB7!K#r?8>EGv1(VQ)|X~iwcweR<~c^i%}2VYMS_4p zjP{3qV^Hf=WDK%u?RJ#`H5;y2Ki$j~091OWmu=i&s2EpDe^k^5C-fUvXW1JEDp@3D zNOwqg>MED+Ay8S#Z-%&JB+>>qz9d0bLo8vx_rwfBacX@Rled;YsXzo<5qWkeEbgt&}z9xLFrLUjL900@$esT z+)vI;jn}tBcuKOh!YfolfFJ^rdzD3!p?SYI|8E5u8Y-m>m$0)Gc>7Goc#QB4e3Df1 zjGR;>$?c7uBMi>}(dq|L3n8FB+@aL8sOm!}(Dj!P+7nbIV@wtfRHH2gjLo98$CI zXWv5`c@N&jU>ev5CIO#LM-cEBIm$@O^z=SlB9G&L?BlnH*MC4Qkl28i!}%^merI|8 zKeW+aJ-aTW=RZUe(c6i~ifnnOQHA|JuH~tsYL^h&QwH3@Z1zwqGVw{NeA|Nj0m$H?%+wfPtR zcqzqGt;|N~n||cFq*CR({~`G=M1Pi^jY5<9wfX=4?f<>6S%*o@#6T76wxDWZjYNlm z0pw@0O4B0@1?A6|>75*=tH0Ft?-)n}gww3>XcgC6tNtU0)uh~Ateb|EE-~hH*I1b^$5EU2aKzrIFi_NT# z5M(GR5e1suG1m$n0rUq7y131IPn*max z2+2Kg$(GeLM!scHr6jF#@2Y=0?>^_M4b^Xp-ueU^Mn8_cy`z;eGPDv3( z>LoO3I&ZJ(YU}cG;?IjjV=jBf9v58(m&<(=ihRY2Rtd3o{i=OE)5{bjS`m31rdb`- zNGRBq>vLbwQxH^tHdgqVm^u~;g}w;dS%8*-06yGy&p|4^1tPnDKaSqK;9d0}lufKFC|8yZY!vsMi6A+^J34(YG);aoJa|pxqDWOW> zj`Q6{rC=ZU{Vq`!ga!Q(A!(y2fDKi^5Exuzy|k|tMrSzxjT&65{EcDJe64%knB9I( z^G7nW_ZDiVWT!@12z9GW%;tK$DRC)RuQ*9hrGwH^2c0|qnJB8 ztzA)yEe=2E#G+{yV|zOL;R)?8bGh0^C`$QSbk)|nvDGoY9ha2=FE3$oh6BbclfW~z z=HaEV?<6ukMXfaBq@2uZ{qtAf=FSunD0^-3uYPO}&&I^+tk(>ijmSj*NIDQ%y5%UG zx?B+PJv_XEBq>tsnse6H%ggpOvIi|}iT!p|4o$Y8*JY?O`s7`Zz$B}X2WaFW~JKffG@vy!lS%_xTI)A=OQ z4Iw8pqD8z~T27;<_TOi{aq9E&UDak9xwf%HGfE-~$I(>;!s|RDywj<5+lE51zY**QU18Rk zk*T;jof&h6wE#t^6|oe7_r;lgW{n}J@7v}>q!usj#(b$$)zjna5=A0mNHYP)!!p1D z7~x=4pz?rr^N&Ni1_(-#%2)TxqQ~VLOcX_o`<@!^yE&`1qRWpHI^RxoZYbayXq?Hr z|MM)>R|=a}{^${j%vyixA#ZyiSYkZ0p0Faiun7b_*4Y|D4Dym62D_c)#t6rH58?6L zWu7ZxE3e2v0tT`u#|Hh)3;bT*Vj=3a>}9oNh!Lf@=5RWX7BA_*w{R1sEVr-UP&><$ zvXAoF|3RDZIp!92hd10gZSrGyqNp_XPG{q%^~kY$zVVvRI=gkJRQf4%Miv`+rraD} zro_2G7fp*jXMJ7Nik3RVGf_!1e{&F$MP#9aY&>$xkMNfQby1WP zn9oF9G3x9B3(pXiQz@%9wy``o00!n|db!PZ-G)a1)p_S8X&DA43{QLym*9SS!IID< zX3t5C2umC4b$Ph8G}GX+nO1l3>R5&2bautTnez>zqB=`xL|t7>^199czp)gQE0z?S+962xv(H z&h592JVjC%-J;%I6Wv^2`TbGxfy=rgwfmr*nP%&_i>Jjx_%gw=Q=5@NWGUPn=9fTj zD{Wii4rm}BtT^=sRDR2s2z%YFJ`tn1hw9MIDIowoTr|DMCspkswk zOMGtFM@b^!W4RAG@$m?i9}Gyu5=}Y|2*=*vqsdMZ#66NqVwb~l7n22#?{mxHeByKO zfgA-dthC2RRYhpcnyiX1>k_4lQik~2RfC;1ElwTbH9nWQj~>!K5^`I$%TVrJ<6t?W zBl(6%9E#B4{yzR|AFpUJXt!v?JtHSrDnQBRq@rceE;>sdt{`85k0R=U$CtffD{_^9 zcEkvC&rQ|XlJ{EM22iYkCD1C_@NZRp1aK&d&<%nRsk+6qz&EE0{%XGVA#?f&{5zTE zcGD-v+b<^*Vx942o!V8BB+;hjyJ5ObAoeva8dJe@d! z@=lj|!Gan~DN8i?Bp|d1!|d53dW-Xk2f26=g}akIft^{^3icMNJ$-IPRj3CoveSR^`|(Lm}634M^DM zkvJ5jz-g7ovg?EYdvGAeK{M!v;9@an3AD=VeX}zMU7PORo)pj)rw8lk0WmNldUGlK z9`sh%yuGO!$BtNM_s=PI2dTGewW;lIZHA8$p(uKh$M75-YdspGlz;j#P_nTocMwwR zrJF4n2D$Vx)+qUGXeI+85jM?YiT?(K(CO`OQ`?tb&1%V~n~}z;8AN5CxY*p@xjcxA zKbCs8yLXMKuN5h@Y^#CT_mb-f!h3k}XRuWIiehg@jlJT*wC*ztwCg!)^NY0II5Xee z;3lFmr#%k&m^|EWZq?x2rTwsJnJyVs!7*rTd9ECMLmr@~_ku0qxjLvT z$zI+x$NM7D*r~N?;^{b)8)x#q_;iR?g%Nb-y-(e5g-I=LPT(ol!h_!?Hqv44QSz&i zSIwtJLp1b`>dkLVjzX;C84%uBmkDt{#b=6?=>Q8L1N zV~^qRb}L2G_lft3m63(S!SzTq>A$>99I}`!)%xW`yyF8h;jlf2(P)U5X#DU|zMRTa z&ZAzIWXtWyTQhOu9QFbNYh=|H0$vRxT$)kLTPzLIfds8oW4%E--1XCWSJ3vVX|E;6 zg&&Z=lx8gg3=C|iyF{I>hu{Xd1sbb5P6Q=(#3?uh%BQBLH~gvCmqmv*8dJA=SX2=*oqQ za}al?mjaaN>o6pGb5MItH!WxY!^ndXvayZMYf*(rw9lPZ!i`ioL>=xFyVEMIokxM# z?Nd!DbrU^G_4N+6IFe2EH9DIXUH}@}vA(_(NQ?i)^abw>F9!Fm=`QzW9~o3}rv3b{ zqr)T;uOD=JC6?MSeW13Cop zSV;gM?7%U;aztCH)6$Uk{Ex%MlzhOb1aiSq97 zJ@Z6%EEZ2&A+0`Y8U*;W#*hdFgg3j-UcZAYc);L6lh{87v5p2AVs0$a0v6BJ#J;TC zq0Avvbu_Lq2e@itC>xfWw#r!}*xOq5PjIc$(Koz=oJ>vnF1payk7MRCZ#}t{@nbHWJ4@d0QgZxT zh&G$B$*W3=cH~^EqWZd?vodgWIc$>j#4`~!<3brpD7~Yoc~{TU&U*6#;(GM8Yk!-u z7QM7eNBL^2A6_hBzL#|ZjAtyiu@8b2B3 z_--43yqt(w5))GXRn7xv;F-U ze#hEu5ywvTCmV7Yebi>Og`b>uQNF@ISYuvV_GXZgm;6Nc5wd*uyGG6*os3so`Uow? zQS6gH9}AXQEcX|i$OzV8y;3ak>1G|}ET#7{!ZDq3u?L0E>WQ!w1uj)fU*q2`;Qu5u zRsqV{A1zO%-Iey3#d|34EFX%C8LkUln$9aKFV(Yt{4!QuO3Gd0LEE8jb zLbu`ehp6S|1-kGv_S-5tu|9B1H!q5l-}5}dG}3Lz1ap)dE&Wx($j}@?CE)EkEfVhE zOf4#6XSy`3@{O*=?++Wh2$PZk%$iK>Qwzd!(*0IsnbpMps%@*ltoI{pfOslk4X}*BxqPl$Rw0tna%zb^_U_o^+&YI z2R15%@jSZ4%cb+p{2D*kE_d0$`5&v$iebP?5|L<#L?#*5QTsDYp zUk5gfVhB7NPA(tnoyA|{5r!L0n$Ca$Ri)1UM<^4Lqu4h^ZZzI7ap;`dAnt7V&{B(J z#yOPsyGVF^&@PPT-_;d1Fx$G;PRuaExq(?Owy-v4cR42qLS?KGjYGa08?%qZWr-iF zI#;XfN*ntAc7tpnOL^&5&voN~VvA1mzt(r|^sW+*Kt%!Qb#}+Qi6XEZGDj_Xl8vwF=T@yXjcFi{@1i z$XAYMDo&!y~l;bTPqk$$>mIe>*dVIMr>Q(t`g@{&@ymr8; zdc_8l$6b3olirqWWQ+v&^FM!$0HEkeVA{WD_3{iJx9Np&{dB?`ICJ)#Zhdx(=c$cp zFXsY{6W=4uk;+7e*U|w~ZsW%uCk^A3IV?vQB3S3aKFsdG9w@0tuWo5p@_OlOliYA}Jd~W>yGFwi3oV%G^Y*|1oxJUR{@+b;DXS;4_ z)e?O@$f!f%Ry|ThJl62I1!5qs(1zffLk%z9b!pm2kkNErF)n{@Pm@?=Ay6Cg?L&4J zDQAA;AH}L@VJ$r3-Td;1s^|PStP8SVoV{)FKT2DWR(vR0gI}55oc_~zikkB==VkE{ zHzG+*w*8B@Q?Bf5JMmGXQPS~q!iFamVOVcCGU>4KQk-f_lBdM|m86X7czeVMd59 zVB5et<)~+y|EWHcq~wo9)J@RkXNI%KBkYJVD{VX+xAoUQkNuW|krN(-#3LYi2rogD zAaLB+F4u*4d6l>MOJPlEkxh4Yw%41_-|L;@L7WyI%(v{Sds8i7)(O2Q&GGdv&yCcvm>S>kXjk)?0r+Y#qcHBcuHu1S(C<-9)^E&W9# z&HSr=lA6PR<$mLFax0C!4RI3hfVJM^#G*<<#gmibQvKuIRGsO2@-`%Otccnl4W{1T zAnwNdrVwbbna|VfYR|dOYinzNaI&@Kpv3rVB!gK;_!1w;j9%W5Oi}L?J(N;KPJZFpWGgk8bcd6al#=>>a{B1GF{QMHpV9NPgh zAsKZxitJUGNG5QkK2t^*A@EZ@2;a3a{Itr8*UJbJV%i>rk%8b*{kVK|i8LB#a(5e>*&RbCV`$0J0)8+<%)hElL{8FBMGsp`vf}42>~AsbYSM6CJ-apH&lPuLM+mh zL&QRz@MTF+KIQXu4SFPXY8Evv&gr-%W)TzzaP!R3F6W`#v#G$JrQ<0G1Vp5TE+#f; z!3W*X&Zm@osguI)k>Zn+$rcC#OTR8`mDFABOQM`w3{hQ;277!DJ0nn>Yk%&Vx@HL( zCndo@E|bD)UzGHr;%*)hh3kVUX37*H@WN#mDBJeHn>U%5MzyQ9#oU6pu3%`Jm|lrr z0=T^g;@x=A1M%0ba;W$I?(}}jyrkVhmdG3;=K95+RIrSvZ1ovA@k@w zO_}?E1KZjg@>HY(@EdtP~-Dq5g~I*hPr1RAJ7=Ml&PL;~3%PEFHMwW5`y1xb%B3{}hAOpjIeJ za`p4$DOs3q@`U*f$v3|oOCVf}bai!oMeuu0{$buo863F4@a8}xbRp~-grm$}3(~cY zdDPfT$@$5Hc7TyL3+hoCBfP!-lEQd>`=$fAjb;K*+Sau*sj=jPPfgijK&eW|?$8Dv zj+(0CoA`9*%<0qD5U8~7J>;h;ZN0H88!^R8cL-AVd-)(s*oW4H!bgF=K36T?M*bO@ zKvT^#geWP+LYTP(bxML-JVZna4rq&dFhvYGs95+V+_eSMdCwt+kr#oNlPTsRE;@B% zc>!~c|M=MykAWyur_pbanUq2tc>2Nrv85dEu~fG4ddBVMQ71GIk8J}NLT9#`x=1MC zNd%pAk0AUgWI3T9hf*0INmgL|>IT}0zZ`XGyx?yBNFliAhtU+$Wl>AKz(AvGN~d_Y zZ}0q-Pk?wF=0-!h&l9(lPa;^>&JVR04&Cs8&&}6cJE+HnW{1O^V&j{093nEK9Eaq& znwCQqWQa9c4j$vbQ@XIKRIoE6(agvkh$Qi?PYALC>`#aX5IwNJ45;pNb$E}VkROnf zSnRWU=e*(NUK&sT{ac->E|q*#DTx%n%xBE;HgXU++s9gaJFe#4g*$Y%RijuO$Mnrcr&P#E zdkItVj#?nIt?+JF|5R>T%_NARPV2yH5ykuQV3Zdq~> zu)%y13gr1Oz{yh&c|nD?crfz0d4c+cCqlhIo5&e@sp(?o2^4JApi6MT^+_mydY6?g2)3pTN_u zdJa^V+0?~cs)OHE@u0>3(@06mt7aVPR7|_*aMnY=&;Sm0mkiS&5fH9$Q0mTMj^Z%3 zo~fadD$PD*LY<|Y7?&%=qyB~#WCw@eU>n$Y0g`Wie*UR^bJ=KiAvSe-Qcg6~I(;e{ z9IyTiTfhV7UA}ngbmhR-kEZWmR*Va85C2GR zoFQ;S!S7xY?UTbUrdlYnwY%{8UtdJa`{zx<|Jc|NpjWxIyIs}CwVU3peUN*LAL<6j zh{Lk7kh!ZXVbH9j&Qs}fb3?#y5YR&S{5&o3d8#C<-Q4_=FH$5d(h(=96cIR;W}<9zpyAT z!^&oAh^f}T^OlFP0q?^Dp2`p(o6)Ku%z-!t!H*uia6yF)ogbZm_!TLLc`6Fq1x`1} zy3PGo+^68Z)4V0dSbSKh9IBU)@pNQGy>M{(*vD~4Qy@^@aHCBOn9}rgSoB_ot2%2= zdsAwv1%po0rsXAt)M$vV+Qtbqq8sdspDOF}L%P0!DNK%ne*%c~#r)5U= zOhzFgNw$m#QMnKaDN0sGWMq$9%1AB24lWy?Zsrwr-y()5iz{GWvVer5jKmLhi*YtkbahSYwc zDDvrc{f;BNGVf8y-12UFy<*7!b)6v{^|t6v$-+Z2Pl-?fDBBqr zg-}%O+t;rylp7269_KpE`l$nkCj^?=DW`=AuqhOWmnwg38LlGdT?9z!Qg^A!r%!qx z4!kKeX4&K6o*bEcpEcT<=GB#B3Ka(g-8Pan|7Ws>CKIBd5@e7Ri#0*@dO3=VqAeVx zPD44LC>9L(&1<_>_A5z-vNxxCb!GW1QB=R%K?zJE{7a6ZNy~JQ)DY_I=y=U6Xn&Kj z-uR@D1wC7lao^RO?Ct+XLe}Y7Xz!v2U%7Ro+pOc~o0UJKGXhQkC+~ba2ZVUNp_V<&<(e+|t-EeZS`$ouQIl?dL zL|bKlc@2sWEp5s8d`xSnIlUl3b^D>`YPUXY9gB;yw!bHyDVPCTRp9KZ@Z*nF(5)E> zW#kTl18;JorGSL_Q=Ok)l@LVZ7eeimKvn8(~mPo~p|MhftGhI+OQWsj< zwLR3r#>S=$5_wzb{)00eM6UKL9?EFIeGkXkh|DT4li4a<2w%T^`D+F9O3Cyy!Vdg@ zElrefkndRg8mTWs<$C+?(vs3=KvGgeh-cKZD0^=pQq-P&L4Q9kPc~wRFY=f)1X3RM z;h*JIqH*fqS~-IACjFs%Lcvv3TU$$qypct%=8|3H0sfF=v50SCc|$yw0+|kXYT3E= z@2>(u`nGTeLMC>&w}oxvb-Z%r<-5GR8D+&(0d=8Wj@MWWc386OZk>GN)fmQ>emHGBTB%7q9k-C!sRd;{;=4bg492Jza7Iy0G5Lqmkzv2UN?zCwq;1^O+v@^8%|pFcH5@0wnVZhipEz7Q54ZBA0uDkTTjK6}d6X%}`$|D^V5z0AdrR8oX8SYNkMl}OZK=WW6z~2 z6o+`+Gr~kU)C-k~dX5w2(XJjvb8T`~ZXej?JZD6?lzFZv=#}Mx7@dmCPKdy_KV~TQ zqkSq+vb|X(>>tM=+Yi`5U|9MIYy1A~^3Nj0Fi;*Wz^4WK6twPyE6MOIrjor5?vJs7 zU)qZHJO?b==Pz97IuLSyr?R;8IsRC}`Knz@*F*nKJ*yjz(TmvF@Q0G5wJ;vn)ZuL( zPM^AbnQTcAW3*ujR42TfyTzI5ke-)!t!<|2gB>bt54@c4ETm1!h7kP-dg85)sCn>L z4M}NTpw-1g?KQ*xDe+No$$vv>Plo!^|YiMXh>TL(|Sn-E+n-M*4 zB(jp=!>i&j9Ar_2*;!fWFjtXQ;!H${3O6t9*H)&KrzBIW3m0|@gbd^2h)p3+)8RO& zVx`#Ao3I4~iCBi)%}Z@>PULS#0~Y-L8xVgeCNIy}?8Z;UsM};HlCgsfWCX-}`zXS4 zOqR`dk$vA0M<6awAwMm6N|iU+*5Y@y9Z#3(81j|5kt4k>Ae6CNlaHC^Us~Rz6p&ml z`}Xej&O;E8|`GJ5h=f~EI1xGdaH80@F~v?>%KQ+jEs)Iyl4FATEG zC#0lK_ISVzy_T)#DDmK|FGmeke~C{JH8+}FSi5<7pL1hVaq#!nWQN#b8M1P44%!kf z`CG0y)^~E)JW5RLvp}UBrKe8M>rw^Unm3?V`qDASntp$q_4hQ~DwdkKe%>bq`lAry zZ$B#xW4QKmb6auKQ-%2s4dqjSJUsAkxojnF=U0go8ZC4Ej%D!kx2ImRZMhGk$H9e- zk>phPd~|j&G5KLZgph&}Zqe31LK)~?XLSy;N>OD@w4}2*4eN84l~JTvbhyH^s0xWA zFF=bcrzOB@8f})j436Yv&25^cTmZ?lQO+M{G>#7i#t0iKosfQ4m1ks=)Y0I1-Z9CO z_~9}(f};u^*MBg?b6pfdqzn8z5_$CISs~Azs_Oj_w`&we{@0kC>lNGyxx11gs*`=Z z4b;QPE}3CGqDOcesb{(~^C8NcIv%GsmK?+51R79hx)};t z+n=6*R^D&8=C)O=o}(%~m{IuX9P+L(;~?R)jP<-)BPOr(w~2!$wqb2fTZ86TXa zmuZP^v!jVRnZ>M?6rs84kp_uA&gxPkSm=Oz-43ZGrStMXebE0+_SN|E!?`4oH_7)z8&Air6iQlgfC*YH+Ql=uM92|Ty zdUT2kv#st%j(rP$n^F4P@l7AOCb}pV^;Vv8z!bWZweeHj)G zs4@@n(n3Ys4llM#r#iL@jF2kG7r9^l^+<%2TNTb&@-J}YJ$iM0;l)i%3tf(B6&*`$ z42PvzCy`@rINDkTnGVQyzcFFwE_% zqOB{tGxQ75dDI$Y8?GO=`M@Bu1tX3}x#_q4J=$zvzb_Rz$<_Vyr=ahUz^@zL&TvqH zNry`pX!hnkHtJo)y%?^`-mnPh6l0|A56iHK3U9r9ZN}i^&dL$Xo5s|ueB`zDq|9#N zjME7Ds5&Mg@h2M%Z{u}RGrjtcWds%7pW2Zpnq)JI*=!G+ z7SqGbW9=}D<9HweU*TGdeUT2lL;mM}%V>-TT{k1grR@e81IdKFS(U_y}-Qyw^d&I|f#^c0Vy z-|(bpfDiDhg&KHTck1!*f(A~bPUWuiLmLJ8{{4o)dw$f^()za3z7JR2Vp)DY&z-`G?mEIqc803xIl?-T?SYP!JL8_h4_<0 zq7@vo{2_3X0w#dLy#8>UgaG|Bg$xq&Mf_#$xuiNI#$4psdZjaPwt_H%u9?}b%?HNH zO$qi$q$DCxaS?vKIYpsE&q=73fgx{%y8PI_`iMs_{)gK;qt>vCsO^3b;89S%=&84@ z;|UM=1Te=dQXQxvO$en_eER%Pb5nD`3$#~Wupr!F&=xvmQe@9WP*$n+_*RrWA3Qe5 zi04L@{OA;?}gS>BIvf7Sg>v64P{tKhr`8~&{9nyNcu|Ipc zcWpZ+Vj>3_A5k;saN}n_aY6k8Ne^z6*|F?hv8aM^u)G4~5U_D9gm^2Z8A%_T z4aYxbSjW`q3q#~37Ws@~-xO?8D$mR2UjKOp{0dllFgdG!>%06Xl`+x_iyx(F>9#@5 zQ{&Efrw|G8PbnnnAoyP`w))Gy<3Ln^?0U5Q>r2Zm6vHn=HeCy>#&Y-48dfRB^tSQq z6`@3W+30Xz#Q^CkgDV_c&3m4Vv3zjB!M%Ns;^f+U$2!p6|C3l$5s)Q3AqaBehN04D zKOux@3p~^;tLo41iW?N0@alqwAR*qawoug0B%ZPA$d=p5?ub<~4W-s;pTF7j<%^;s zg6-T0p^%1bw!=x1Nm51E(+Ucb(xHsvx*J}Sj~gon7xVh|U2O0jOU_*oEZXIE=)AhP zm>8i|*zqJ9a%Z$l0aIT4w*Q=)qY)novbDGZQ%f{fa*e;U20}# z`}PN{&GqfCtHjlucmGAI|6b_#>HGO}keVEZ7Gocc?$c_JLuUC|w-Hr=kns1xtY(|w zR#BWW_|h5ntwoGNlNpV5`6eb-hug8DuYIPs9Y(l-)Yh>ifE9*jrP~;=dP>D11PDcU z_oC#`(k6;n(ltfbVZuzzf-y_N?Mw$@!9xL!;t3_a2gZ+#8Ez?YP6)WeK7+u|*&7!5 zd?9K1`Lp^)Mm?Lf7jb-U+!T)U7JB^AU#{Z=gkGYc=5cnGPL{h`BzUFlX0F;1nP6`a z{>G+x2POPt?pCGXbQ+0pE3K%=U7P@Ob`(u7dw5?g6j*N!=;vtKWTeTs<~kQWcHx%G zR_0Ltzro=rymzv3diT_YdP~-O@!{!gHFM6Qpm_yyI$n!1+%_WToTS&Snhkcp)~2a5 z)F1;ER0FxPm~Aw9blmJ3Rp9GG4WGeR+VEYP`Nqv(bE(H;vkKQ$1sdEXzY(v&S%KJ= zir|}a81x>k{Kq$g457Y#R~jmVSWP7=6=r!zAMPGhY2dVXPuviCqMh)3dk9hT`0<6i z6zC1T=E*UL^fziezMX`A(j9iAQrGWwN?UpAr{X5dQN|KgiM(n*Z_{ga87=~IF3PAq zuHOBPl2e2xt;UVhwe14XJxVtHlG|(#$Ml!@>C@l7A?x=zZ!+4sUqCe=|BBD=2?}To zF=Hi9VT!(SG!+k%9e{94bPCCLK=3ZTJ)({!S~Y|6gRaBEA_${nu6X*L-p4%iJvL>O=8@@`SQ zUhLM(lTO#JHGv&r??XSI@*mx#aA$9CIIddP$mu!UlAGUg3xed_j`gCS116%p^kKHlE9h3dBc_E-NBUjhJ5IIs6kRqOl(i+kU{TcbvV$ySqp)6v%U zM|Rb009%a}<>tr0_W(1Nj5h$PZ~k5%rqqQ{x+6`!H?Ca3w%6+Wf`7q9C&?%G57>t_ z@AqLuiux8C#vlg4OyeU7W{K(<{x3=IL!}g(jI&0S)f!+HZeLE(-TqDNH`qy!jN>6Q zrO1pjxp=;KnB9W0p3oaDCW@zM{Xq`YKblZU+Fjofk|Nho8b{k4f(=o-D%hm zx6|%*9_#mw3L_3VB!Qa7GTBDx?FHkd`l3 z8B@H*_fWQNV=8P^JjAzU8jI>iBLXSDtfd3jHH0EFNQDSl+^ELbVdFxk!yo`91s}zt zhF*}=2|uT%27KW{R5}nMmisb{=XL=%J+Cgi$cRA!*JE(Ku1XqBm#45>I@w9 zf;syj`2(V1DI8)}9r-z0%-Ud?V64ASL0cU__3eVl=4T{t;H)-tW>*z?Y4KcTGuGeQ z$5dX>JUaK<;b)HC7Y z;Zp>3wpusZYG}0P1JPQ+_q!QbWjtyb)o%McpBzi4T`C(fC-#?&2D#Uj@gy?@5`q}y z|MuDx`9-j}GpA3=f|AbwCLk?yq>s0^q7~L;?4moqK@>Rz7fD6euZ1S`pTAz9iVe6R z6lb7*n@HWnfs6!6%2&x~{0W~PjgXyC>q#LymB16bIZtmRp!U1-M5-90m-X#7qErM* z-jQ|ExDg?cSoj-_cPacLF4x;s=+SjycB{KMYye|q9^V~np2r_CSOWcFrr5c{uxHUj zl^#!%3uaQc_=&zn_=WSmY7!0BnWCj>PrzO@=lK#_o>;AA2$0>vHD2f$+yT!S? zzPy`p_~&K};vPhq@nNp|mA@*6v|-pOaVrC#ha`2B$V{rsgbhlrYGG|<&|iK>kC=Ml96fbHtT zOov>M#g@D9aBURKuAZrnIH^jHdX|zXRog>txOt3vE+I z6O5r)1{>?$1_}*wsVi+Sr1icn9^b&y(d_bV27=574pQaw!)$-Qy!-NE^A7g8d3@2M zsNF*k)hr`FV;YChd`vgrGEy z@4J|?5aCCUKa*puJHW42@LnuVeO)MU4twT}GSYPlGC>LHyVW8uUw(!YTgd|S@@p`F z2`+%OAidxBckQIiK)6?kO~0#!kz1Qqk4F~n^7O~b4X3cMIa>AaQdS1jp@Sa4O14uH z<3VC3stzLyDBz6HI)m!j3DA{NEema1Jh2r^p0vT3`u~_IMQ(%g+)@fcAxkX#cdX=>$t_We<6+`f9&rhSOKp3^owZN|zQE_`A3eGtYF08;%>>HM|JGFoDbj8u3_w=AsH^$l#z~3Zn3or8Qa|mbyXE^nF6thS zVfH5_n543_y9YZn1~r$QTFDOQW0wC-Ky4e^;TWiAdJHcig#yS-eX6<+6?Z;T)cqI( zl|bWl$k4wEhJW=7(nHF&A7--N*VfQjtsQ!oNA@biQ@&qr_WR_n&Fu58?ShRd?|i_3 zdrtZRod-7rWI0;`@kgS&KY#YUL!>^P<&V6tr6HtF4$*t+FxD%d^i!b3L0P@%^0%QB zTg=pK-`e{7`y+RkHJufXTe%MQ>vVbMVVFoU4|2J3OvKw4(zxaT(B{pgYV1M=sxUuI_qXFeHS5vL$@9#HC%CCr%=`%9RC zn)7>IT3TwQ4y%1U%=pW2o^UfQZAQjjG64%k-f;()ZqO=cvitU$9|K0GxJ9{n!oQBG z5eS3xGfTs`knxKCPtdl4Bv`*UxWBlP=P$KBx_x^SF-|S*LK%h0^GaOY+%8wHUR`@h ztYf164lXAM8)zZ&SG@6L3K}rTM$dnya3@6vSQ*DvwhWh>hBu73VJ!!R>D>m*;f8ic zEP~67{T|&m-m{k_O5NLR& zrWn=8(cFux25~WfdYDjyk~yB{AL0B|>?!)%-rn9tsaHNS86V^HOw3a{lFtei_%2^Z zP~;x{?cOP+0TAJE%b;&{>HhM$vfVA&k23r3!))MtT0#P#Brg=&SBFx_4proO5A%O1 zVSYY;tN1#SKT-#Vn*_1F@l$o(%42Z7bzFCkm)ZjW@rcb~(FuFmprf)wEo21-Q{_HE z`#j_~FEj!|pPHa&@7%x9wNpSlhcc7jA~be`!#LF2cvRx~c9rvoIBfhmE{68U_UzQ^ z`d_U^%XO+3BQt-wC)!9c#B0#dhc6RAO;8OlfTko2A#%TW!F^uB6wy5TuSu%P?OXfm zX-Z8&h2jJ@tl}j63#*A=zskOeMaintL)~%{BXI>9Wtr$;d>g*KVo{mDm$;gFv5#6w zxgm(i8i^)76%S3_;Ki@r)LYnGLMS*p%fFGj&^S+@1LFrlJKsH1KACq(gWsf(xie@7 zjrBI~gZ17tfD0`Re=&1u?C3b3^(Qwy{gMr83mbrqN?BAdny`Z!zT6JdZS`}~b);WR zLi*Ek_wtRpQ_>e!T8EyoW6Qw4C+rY9gcBUc zZ5*^~FS=Zu938!VjJu5~T!x_~=3`Aj(#%i~qYc!5S#T)iV)rY9p3&kVS4v)5I*zGj zRs1^Zm)0*}D{}N-)#ioTEx#y9DcnO#^HJi6hPZ*sWAk+H=zBNLZmgv(j8wmeW=?w7 zWBs`qPP}v{MyT==-6Rs7g|_v#GWVCvWlFuvl3q>|{CmS<=?sO}dj&tR3ubcbmyRU# zmtiV`Ox0CS72#Xak#|;Bm>2g?uNP)IFllyO+{-W8)$sdQS3}1=nNDxMk(Hf;4MF=7 zSp2zd&lxOVK00!*{{K%^A@@orekej{fB**5t8e1tp9yZG!h)9|m^D<+imh ztcWU5eg^0Yo!G*rWMzF~9&gca0JF^h$b`fNVYE7pH|Y#agxf`Sos?Q~$~~a@bbQ% zDiCV~lx2G@eG^*2-R8R5`e+QDiuNK;PpPrpqdTgs}dqvOW}Q|wyOj^rlGkQ=R&SbX}51!BiGV# zH=y?dYrBrn@_y`k07j%r+>worRLbfOH2?0QdmP$w9~A4AfKXN5?ty_d|DmO@`gR@T zi$%cN^>q8_(5pNroql@$>>U+@veDHy}&&5Gi5*lx)dW5)BmJ>7de_nDAoToh6F>uRu!L~iq{QLdA-8kMOr=Va?3KNn*J=ZpwX5=1PdD@JoZDIDXNC*wMK!3YKXVUc9q%3ek zSfkpRIAIRHG8u1&`RuQmnZeG^!420A@q@UmQ&uT(@qnxS@z#&AUc1^~HBMeWeF$^$ zlTf%KTnn^&tol5XT|_caRb@-*s@KXWy#}4JnkM2>3vQTi36OV5ns4(;38VS;E&s|7 zuUvY=>fB)=!R;r_^>3f>0GWX5&G8fN)GP^a&dFg9T%ws~c4 zq!EMiI*uYrer1AQ7H0+jwxK_@Oaka9P>n~MAE7&X1x$I%07xh3fN{JEtGSZLNtd(ytkrh?f1CY=JWsYpP;w^s z&&U*hJN}Vb_~rR_MBe?K9b&fVIq+bfDH?7h<3JTEG1I?gmFExq0nrf|9?Vc=;gZtH z>W8`iYsqwVGHN7yY?5}LKhA-m;{XcX-3-|TsTx=ud;Q8ts49l!s2zt)%rj#yzqaHO zI7~%u9%c>_W~DVgC}vhQZXtt7pCth0FW#OoE`GNRwqNtQx)5>=aU-`^FyJhQLT6i*&27y|AHpbspmK(VXe#zJ;`3PBKwc2!Wrg5 zhu9CBe!c++^yc(x6@Lim)ET)2PUmo^a9p(Lmg@nJ6ve^$BgR{KZPT$(AOrlGIy*hR zZZG?!Y^Y^A0k*x=H?VfG^b1uP+!^3 zclh!YbrcraQoJX!^eT4VbJ$9_&~-dkcf0zPg`u^r|2x@m>$ola)WvqlYrkLy_B^+o z5U@8|U_4bCr#F}OsW0Wxqkr?LUp)U+1(*sgp23;1^6%>#r+`rR4Q7J+j%kt}mg^X* zTRq5{Kc>>DV|=w%=BR^V>pm4Lk)Ry58x~=^A`dGdU66b7l=&k9A+Yb9nhGW$9K5tB zmw)AFXRnI1mFcTHKpU|-hCqk0iW27-jSS+T5w-_MG(K~?Ekju0boQlgIX-*L(w>Sl zY1%lV{NI#DhY)~BwG~lvrBp(zpC>v;5sdXVpXf#4dtSmEV)o;Q558Lj^B!Ws6$K|X z1AZf)-^lbO7~66wd~TCYl6<1*w-Ugj>R*zZtHrFe8&g<1d}2#ToOXFe`m(gN6rio{03kw^ z)Z>qT!PJs1-l>YF?;KKs{;Z2E>58<5cc$yV=Fqp89G*ZRqyXjNsL3%^f>cca<-_B^ zORXY=}u~SUNprZO2G%9zAK^}+@Rl$oClR;XymJ4U^U>MU6ZY7pY7ZU+GOel6 zUeQporXw8Er&PM$1hektI6J{cIHuLbs;WG}+GtT9o?Y8`kT6Ddb=m#>kdKM|gSjd9 z_PDAlPaMG9+#3=nIchQZ}yQ#}t5_ z#TaveOpr1I(w{xE2_ufQOOtQ*n()c@jE~zB&KtS!X9^MpX@&7b_V?=V|MK-C4f1MF zXzd(=6%17iPZ}_KXIfsTkAFC_Pq=hx;8J zu6dm~l{un6+c~)TDl5yszv0J^Qgp^r+FDxc3cL+Wv>C;e94BnbbSVFml~$K*t41DZ zAg(|DW63csV_g~wP@1WnZxdnKu`N(+lwDRTAzEX79ZPPH^3^PP&t6cIT-X zEZaScKkvQU9^&3I`On;H7vxH%i-wI`SJNZfhOEQh3z9CFWoC4IW_#5}SG2lxwU^sxN~tyAj-63r?qKSdO9EU+jE`h9+be; zP|S7s`bWZVH)l^HetqK5r?nPhrp96OiW*f za1nv8e3j8yFvN)%rDJD?e>?SSVq#?+7BfXdgj!6h3t?Qe5Jr*Mpvum<&KahS>d+V0 zkdmu~CpRH|vRu~ppBRK_-rDSw>Td*hCmI>_@{<>(?W(`94=j9OMDol%1P||zx1$n_ zIQ@cOpcG8=bz)6E7s6zfzT{Y}mO_p;)&4<&jDt__It2tMNs}?j(TA{1)T!#ZxVf^C%8};Uku~Kb1DB#ob{&OR zShN0M`BR`h@MPJ$O`f%I&u!fo)p0>HG|_Z8-7IW^&&rB%3(wR}WGWtw~#->oHa z0ad`e)uq|ZF@%E;4h#%1w$Df8J`DL!TU*=T3pHlyk7RC|^Hjs5C~cRpY+vDK2wh76 zYUnuMm*Y%OdS+&BMQGJ|LGzuhA%B*#IJLU+R?_jaeaDg@LT|6(kqvDeo9w(HKsq6A zC=7&SrF~b!_$d;Fg2l<6&7#Tj3(9Uydg|8Dmg$ZSdmKc;Zxv4V`YoTY?>ACDlK@3j zVvFq{mpNyBwo(2@YVte`WLR!5(lPH}t0o8wWxPjbb(aHbw`~9GDvPb@n4qks>#0{K zWxtEWZQ<5+hY2!DCL?-Zk-(3;W5Z<(cQJw#zo6|P&vISwSCLX!t{BAZx$XC$rs4<1(J_H zZY)60xSy&1w+r%Y2RUe|uJ)gXgHcmca}CG;=o7TNv&=!m#&}reDA#$JJGspxCMwDo zBep340>8&vR`HjKy8t23%rpcOhBHUyR5AWq`7OWNMYU3ZFW0Nm1ZpJ?_h2HJ!S#Gtol3sl!eGyHFG)P z6h*%z#F$%k77Fk3+ZV{CLi{bp_}%Jux8&k2=c-71@^p;yOp)9@LrsTTtv(vAkCjO|ie_f#JltsCdA zID^0M*LZ2}=6c=>L&2)4JvEeZ!tSLRtpQce=Dte2?L&Yj(GW8995$F-Zq>J+*1e%e ze;Yf>QY5J`ofT4g)rxE~{NI*uZbjTV6m|FaF4cVV?8TwZS_!PI#l^*+y1(M;gBHh1 z3E9%sIfYfbDf!C9kh(czsLM=bp-f!|HTmZ?pPv6G&0_85_Tc91;5|gI;veTCNG9sr z_GnP;VA*CdXyhcbc3E+L&(uKK&c;hDcpNX7Z3~KgNF1rh=e1eGvC2&OV2AL`NkP_7 zq?fgD2LB>p=bi6(%6!&#jaOP*thZWNYh=YOSXKnKnZdx&vjHXrFm(vU@CG&GZe^! zQ?Em6rlzh297$*mvF_lLrW3s_C~^Dr(F8;}SgbM~YJW`(D(D@L*n60fsvw?!kyD_h z^qF9U^O%})B{IS1=cOTFPTzyg=wr@l^CO<4s2aaPHS78WjtOt64; zfpuwf9#b2oq>uJih@8YtcLSl1yJNWIN}Mr^;I@nMyXx;hs1s@hfgpYT{gQ94H0oo2 zvQt(`eKx*zEXeYdP)H3Tj6Y?n#9o>(7%AWVn)ULBq&=K0#Fn4xI|2=uJ=jhOvPZsl z-lrC_yu92lB_&mDqP{$@8a~96UWf8$6>ssThpVgWW6~!yk}Ix|Ds_g2hBnvngmC}6 zg^J2`{-e~<3S;Lh)Q1^AC#^ZIKi8+)LP)U;bwBi$jHVMudl!LhLRR%>c0Ved;1^i`42D$#lSGJ;Vk)hy$y1fcP}7}y4m!|B1^vmBiLT_ zD_w;-Phi!%fd6imAP*Pd`Hgt8SD0|z`=B=N%qQzy&DOAf-uUEfvGtY-Ds`Bkr9&gE>9zehJR12NSh39-%I=TJ8SVsZi^B}RF1yz zE|U5oec`x+arcPn?;wsq1e$9<&WITcJijHdpzqnU#~N6IO95F}Q_X@sJFNtJ%;r06 zz~7HaVC$AknF^d6T9QH?9#DpT)9zp%=@&y~f)SUP>^WZ%@Ol`(Ro$ueQGKcWW*wul zU~2n<gmgZb#13KZSJElMTXuF!=ORPXUdmVk5+_QcA<%yr%zk|EG>ES z19Uze2U(q4hXOMVV3s%XE!0?n>32Vd_Yr=1;t>wG)-K!ok$h6g`Q{=#vK z($$QT+Cxw2CN%nG`sO4i-xDjsb4HV;wzX9hl_fI<@z_S0sNdh_6~#~!oqqO1Tbn&# zeVDh)9XnR<+#ikKNf}9^P}J#x_!m=A_MTK(4@bGc!{DBCBD<}!wA9Ec31%;VJbpFK zliQV`u2}Je*5B%(9(xcETwgC=PxYo2|0%&RCD+q@cE*4^)` z@YmqGBP(gCJzwt(;t>SZnnUg`?eGE;U{~_7yN$tGOCBbT0mS`ct1`2G8-J@=Pp(-HQy{)&q&-f- zXT zw+9Zkl~J_gYq$?Crwfiin&Oj!o=)I!4Xds}T2t{CCuFf|$bE90*Y>Xdx|uJQ;CSim z-|Ss{9?}E@MboF1InUlb`D)rv;46MpYIF0ZA-x9A_5&Y2wp&YxAF4in^En2m)}~su^3Hfc%&LEjQ&htMQ-~dlXj19Ggyn2sb^dtEX+CEpjP61 zCT~)L04in~K81lYY`w|hf*6gMDo98adSR~6uekP|d1rx{YgL{Ma4A;? zx%&J2e;+7wZ--IZ&kF-wtE*Tv7U*RKhRb4HGPF2V)LumsSUK0UPYD{S)%@gn69oqr z)q`ag!8|n`9b3hkekURjkU{E4tJ-q#5ud@h(`Nbl(L}QBXJ&Wr%~r|gcaRb^V_ize zQzCyHva+GIwYB`MDm8@Re{-X&s9yqJ>1BO*Ns>X%>!4rjfB*g04*b9#aT`XnlB-^a z);o_>aK9aVJJTaGi*K}X=+iNhX_wA)nz56j`s|C+7j%23X`YV6-Y0wAy(N?B!bT$hfEBmJ5$h8f2da&E1=_VjR#UmUG13ipE?1r*AI6o7C0+TYlQeJ zrb;WVRJEUF9s47LMP!}Fw+EEHqdk(^W7LHrQ^>rJKQ^f{*|ZF&{h{LLvV2!k5EA%z zvO~m#Bd}3bf=4=L@`DU5dHJfO&ni0VnI-xB zYK)17F+16`L*>0MsvunaOKdxNc0V_F0OAy-hHj1Cn?!PDxoCsT<-EysW6{%C0zE-L zQ9N0`6JmIqWcRPI)K-UC-zvwik51+MOMPMZ;*O{b9q8@@+OX&w@MACT3VtT%`R$)* z?0&Up$|=m+aK2iRuK7=!$ghFBNBC4kEh@?ZOi+0;IXSctsOK^5?NNC@UOPtPL=Tls zluXItqQ2x0c121Z5NWhr5YXA!E4`X3@vzeT$g>fnSB{!3b1iq?a$Pt@#UUPVu0wtH zV-Vp@ns&meFE?T*sy-X+E68v%upkl+W)Zo0UMHPgWO?;{L8pbGIbOTv?RD=@0@|f! z#rjoa?fS2dUYdA!Nj3Z|J#Q%S0JPS3Uy6o+0G8+64=a{?-_?>W%1by_hEY+NaW%83 z5Odz!7ft6)mLNLNM1`o_Jj+l|Om;_%FXV$4CFp}LOQGbwPaMI4RH&mPM$w*AJmmG5 zF+haw6L#m$hMT|thIq4^Abrq5!J?TiEKD!u;rRa5Ufib_rg?tbSi<5NZz`>FE8H|{ zsJG(O4b~sbM0S}TYj(T;(RSEg0>QuNoiReA=z-cW-S}UfMh@w(J8t4E_V>h9XB5oSn=dd>p7)ES z{Hri$p>wrcjz8o0%de#+{=eo9ufJn|cbKuhC%3PI-dMe+{E^ok(lG(5R@xW;T0h;8 zTrB*|HT;P=L(%Bzd1a0}9k>64|MbJ7^Q{nalhk|Zf)DjdV76H}h7Eqjw-VWhhBvT^C8NqSu%Z_BExuH zk-ge{s0H9q75q*|X45+N^u772l)Iy6sOxC_djUE=)iQI-@qB%q;Ab&o$pXs^T|c!Y zTa22d>1mtY9+9ql96`m1m4g>U;8how*+EJkE?^J)`GjSni^@?(jU!NNN*W~z7wU2| z4~ycX@#UVHp1)z(OK5!xGaP<(akwIVtU21KAJLpwk*{%UNV3*h&rOMb_0%}s^kUZ1 zyOe7o-BZCyvu}#V8H8jfERJb;2c+C1%1W%ZNum$SNSme04Zf6fwk1KS=j)%P>+ zm%T*_v^imClBM7nV8zdwcfKiZ!X$>_+v6L1j@F<3 zs;1*@q3O5zM(y2`W}m1DWb7~{?m9D2mf8z}$0+*lFopI>)Jc!)#n$p>W@gx% z-D)^u@xP}E#i6-jqQ(lA91VyGaE@d07*pK-Z6@QsIY>uhdI8rP^F;qWwtIe{Q>1up> zmNuSD_r{1^o{gteJg-UD)ux~IYxA+|T_;EwPplmv&|x{UkwC0N17040vt8RGC-?8p z2^Up)j@^{y!&kTDIdmVhKyFK=BK_8q5an+9K<@}aknnE=1=I_Cf3GLYOR>0P#FBT3 z+PDXO(>K_z;D}FTFaN|c>?GG@nyXblPy1Ta$DqIO`SIlE?@f$W6YVq3sXTGt$x=WX ze#Fj~o%htpzI&4GT$ZB#yV$7`$1?AgWdUBb>uFW-d8vwL%D>%6{M3`{cp>o-tI722 zi6tAM$!im9D?02&Hv%4gJ@e|eF;|v>>6?JyBHPWcPCbLc3&-x~X{;okE0qa+we4iN z#V2x3`Q>!kPtl5(R}wqFn)n5LveO!RY!`bvZGuym?a)rHW;gU?Vv36X>@{qG1m%{( zoZa2e>rbv}m%xx+`k}qORHEr?xZu>!pS>StlqOcI(8rPqKj}K|I@U^>L%1bCF*)v~ zrLw<#c?j{B>yn}lzltwP(_Fj`)uDS-!Dv*$8g~9e%oleN=(_8kE0z?a$gE~j<@`kb zrJ>=jC*q&wbPqGSd)$)flG4)k3mGFz zD^){jb;4%}EM)oN-wHsY``r>`XqtH;~zI^6n4Z?@PrDwKe| z&1GqFxOt6P8+~Gity6QgKZ;3QyiLz8l0NEfhi@7icHm^hKhn(2=KSoS*+K zfy0kxnzC*M27nvSDzqaqR8s`a9!nd-W59o#w)^WY9pTlOl+;4G$YnP2C z>jQ+`Z4ds*NT(rK*=dR%DPW*wLvnqHrQfT#7nj z68|PiT(bP_+keQ5`&EVF0H8anrbn$ZrPx|sx90fs<%^-5L7VN?T-j(_<(}%vME7)$ zNIGddx>v0B3+`nf^mRpiKU-Ft_Qsw|{N!(?(PORA?isO*Hiw~2wQEd!HoH~dXZ`a# zoxd6kJ5Q{p>t*pwHnD8Jx%m7|3{3E}rjU0=-$uHM)OQN$zcYYT?e6d@u}-pOseR$#rAUbP=Cpf%#8xO_f=j7Wz`8!P{c5o-ISj8OWW!ZwkG7r5P$DOAn2_H!6 zt4%Ot=?|v|2pDy2by7Qd^GnGzqfHdd4gudg&u}yO!1X|9qY3gK5~TQJzrVNAVn{2u z`TpuCp8@}R)!gSIzCEk~+PQ4ur7xm2lpMnaip%{w*0~}rBy1mV`OQDovOgy|4N-Jx(Y=T!uL`c7e6m+p-g|xq@2GlxTxt{ zM{R2>3pEzoojiZKVf;=|64TcxafZM~j`{90ucF`c^F3~?QyM9FT*I-`I4RNTp4LnL zEy{e)9~!QnRrnozmX+s15ZCjAsySOiWRD8)Wo@k%{w^Y;GhprRx5MC$?NCzTmBTZk zA1<@lX!hF`*EsKFS@KJTFV_I7)*m{9eq@Vkg=(>Y6#Bf^v;w)WBjR-L&a<9N|2KDT zAfLWqi1p-RVD0CFXLTY*REQdGPn8d{%(g3&;@4DY`OjT%AcqHBVoVmNHfFO@th#fs zMgI=Bo~(G{pJ(cx2j|W`JZ-c}3|F43VH+~faEMW0`@AURq4TM1iL+tn!w5$wznelC z&+&He!}AhzSXA_bnl9TGmEq+o97VTD*To~!_wa^*hcjjI&U?|?Bew}r@>m(a&eF@e zI)DmSvLWf^cJkT}+{Rrz-VzV5i$`S&i?}N`cc7cU&Q~$!Qb9P(_i~ts6+S~fw@EY7sPU^qRLDAWB4E8Uk^eIv2YI+Q zI6x8R{hd{_JITphkTH#-BKP4YSEjGjE`hE$8xK6Sf8eFs-Cr*wiT!Y+fW`y%VWXAj zOWB8grkB3@IknqqhKSqm`rdu$1b@Tl?bob1QYfaIqfpQ+E#b+Hfn2;oUsyo~10?SM zc`UF(z+`qGZSCyX{BoN4kQ|b+nPLo46igUq29M{2atc#)GOTMvHE`O&nvXbE=%$*7I5@; z;0zUJk930Ay{TRdW*^&1!H5W)4spZ=Qkp|wiGrO8`^l;Hhu`O3^4)zoCEd0_$wO;} z?N3Q0L;fSj{Hf%S@=lL$W)?luTX{aGsj``ku`*eyKeElL4HlWUy=Y=cTXVTUHidM* z(WWo3hU03kGZpdNImN*6aB77k%^%OQD)VHBo)c2w`_t_rNv^ytJ}z8)UeNmfu_jcY zVm0xvDqmf=_xYo>er|5aO55H4PKg%dQFbf}ogtxww^eRrrcQ7h+`-phBFca0w%cL) zMsloP(5>|E_oLh|6$tADhI5Qwj5^np$WFhfG1K?(Eh-JgOXuo^YDMBdupX9tARE84 zM&%+cU)!S}=0qFOPt*^;GV_e6i$%5{cq89Ds{ZoFe-mpLFHWrRh_!uQ{ji5e#^#}0 z-j?I%G$MD69F0GvrvF!d_JLpoKf>N_a=tKoq7)vdq6f)rvbnMGzj8z=f3AztMhY<1 zaRLV-qwD7@4OEC%6O)sp@zxPT5{kQq0K(x$haFu}Ho5Hr5>Rm?`kl3I!b2 z>tlWBe@=AEcCF)ARKqn)u6T8K2BjBr+IFdqX544b`yA3K<1z7h)@87ASwJ`rHs7o8 ziXKBFwt4hYE;BUHv;FXal`=CittTH$%HDOc*rdbN+4UQPvGOJ?(Lz~Uy?X`JUV+hDs;2jq!Lv!t+d-@z$Urf>p9}ZtCr^H zRD$Jo<#rEE{S%9pf06O?=Br6hqM>Z2;ip%JD+cL2zLptgpH(9!ABf^hmh;?!^$R7@ z-nswo$t*h){NwNEq-Hc`UphJh!4ptbPn`3sRshx%fQJEfH7GXTU{h!eXmy)=n+Ul* z)oLfL3O_xyVU~U&!JA?$-Wj?sq)F@+(vC|B-av@l>|||27Jd9SRxQWM*Z1C{9@? zduC_v3fYmBva=&c_Q;l1L=vJn*_CucMrP*uea`pyyk5`q$MeeQ-1l`|pX)s@Tqq=! zL1Gam?_oK*$h49tTo+qN#F2hZ*eCW!1(lL=_t{;}c|qExMR5l(A|6cW zr&dczF1NELBJX>rY)^;#3}>Z{IVGCq`kjw1Y`83pm;xX3KAM-C`_&isyd|9KS@hKu znX;9rciHN?8s>g4P6?Krq8~50*(m!`E;YjV4c&rbRr0Mzv?e7i7d4Zg8uV%pbh>_f zEQeFCxtXSM6E(1KuJv1PhH-M);k5&$(LDq^cCnx$LA*j?>L+|3vK1i+MWZ#A2SoLru#?D|5W&;?BV@tlybBw~!R?p?W}M+or`BC(UsDmAvsq zJfD7r?9D!cC?Eh7`DpF~b2bV@&%JX0tIp@`!S}DyT3fr(pSzVC^tS^}5*kvq4d$g! zRA7kA95gEXdaKr5=7tUa09%-wdbwA(0)Q!)c(2osl*nubceITc`91xc7A04E=)!(_k05V@AI&8Xr7Wr(_0vrQ9uS7l$4S6iDttr2iuR(6R%F8Dd z#TKVcH4O6e^9MsrQBuiB#Z?|BGvg$QCK$zh`hAK3MTWa|`CaW>(_G_+`N|nDPvJ~g zh&(R0=azZQCZ&{`*Lx?cmF>2);W|_w-HcuF`}y18Yt!s8(B==8p;P|kL?C`xORx;& zM&|b`I&`yxqVBi-985B}@U1)~Q|Hw-W1MR7>b;$tGdKE|?FAM+^)2w(+V3>GuoF1- z9i02XW+_=8ikI3?LPaGk42EIrE_7C@05$?$=Ac<;MH8|9pJ@gGJ<{8?_!^^c#lioS`{T z80=PnH0z)W2ocMJ2evGPx;<@g*Lr8YF*P85^&mnW zM<`)>N%&^`MKFq^^M^;n2`3xiMr=yX4((^q2nxVW`*GlmqIbT=L; zN@e3=&Pi@(3fy=@R&fHdiPxzu)&`8g@k_)dya<8w8bIO-7W>Z{S1{7Nwk#e| zr{ajd2-8-prEX9@*~pe@ooTUeE1U1|cR6Zq!8dW6=SEhDyiHN(uNfF(%04(qf<;YJ zxj>KaoEq&nx4|e5v4ut!GHvuL?@K-cWKSQWO8X((M}|=D8#ls&Yd;2`E(ZrY`*F26 zRb1>>Ktku>AmXSp6ylF1hX{*lfScDrf^y>7Y8fgT7)pC+JqyVEzaPw9|IT11Hqd}| z8GTdF&bnfA^n>~DZgUqq!5m!VSY{~1Vb<(v)dNVA@>S6FUF6QrFDSsj1|=UzAx_9) zB=PeE&WVOh?P0Sb{%(pgC!#mVvQIAfmh5NQ9#^bmW*U!Ec-h+;(1wd z{En}vQ+3rja#5jLEFGtzxG4pvPzI{d)1>ND=hIKGDsvkhZ&Ie3y7p|Z4>p(_CYICf)T^t+=r-jgk0l}|>3$n6PTfO?Wf=faZXSHkMsH!%lC!`6dYadM+B5 zA1qpj`r6d-i;zfE4_Bn%^tf~&MU-TL+U`k5IjSJw-dZK}S#^w#j;erk!{)|3UYzQ0 zjBGm*22BAZFqW6%Rg4Ld^3KLO?t*7f3i3 zygWQsf8}0E9nh~cJ+d0!uR+L*1R`;PbSV)!G$W;S_o`p2 zE%~&Mt`OnD_rsa zOWot((2EoSr^gbg6FE58*xJWmiP$C90nDkW1TQd&Ez3p6M8eiakQJ#+Hn@CVKc%)Y zX>RipZY%b-wp^2UmF6C~<=wDYyWLW*`0rcP@72|+Gr_l~cgcWn24;%`&)WCZock^O z;|v;@unhp=UKXdp@%7Os*G3UU`TfOdtKDPh1!n8}L_@AjXL>s-e6M;yO}GLuu0h5@ zO7Y*JKRS4G^a3qY|J^d*qT?xSXNJG~qVIXg6qc;--cmFcN-sC2JoWbxF=p}%B=nnP zB30ii9UoR?UT@iELoQ{tg4faR;qk73PNtm|p+>^=Y`$+{X7B z%4S32CZ7f$aMJ7ouWBAO6ln+W{H30taRguD7?>y5lGq z7GNj*0uRdS%9b7n-6jja^-@p5eXkV14S1<|3V2 zHu!ab@%sUS9*0`V_ABV5@AP%w^n~Wd$3>@BB00%vW4Q7Fbte*Z%$c}TCeCp6zsOFq zNeGlwh!eQwmExmRn73)9@LL%!fgP(JUOj+Y(UL~!>U!*V;s*hZD)OV3pZw9*1Shx=eYWPSm zMb2Pw2tOMS=F=lSdyyB$v?jXxnF_QX&}N7}`jZ_vO!Ht|6*LWp?NfRIkHzcouVb-A<}^&T+Hs zoL~$*xGT-6!`^V3$K2o!?V?akxuV2%Tv-uejjO+bd)DL8JR1Xh&h(?T5mvtQE&9pF^L=xKT2ce3y=;j;@8cO-Qy72`qDVc2?B z`^MXK@ci1AqRSqnNyy9t7>kFqE9~ywU0EQBvd`OR!HhpoAm1Lt)Q1n$;=%^?+E??o8JpFQ@lPZO z+zKGQB)HjQdiNFvy_AzE0acE%zg1KqgT`wH_WCfGY#mkupn5GS>;xAUdd}6QWsK$Q zgxj-69HDY%R;BRZ^gO2;miP&mrd`+#KeG7A;S9?RPuzEw$JZ4><4eT3%WU54IXk_# zK95faO71Z3hrcA12 zKCfl8Z7k^4FMMB?P8_}6ac$I`;h27Hu0vs9b@A{7$k9(UZ1TQ8X^0*;fD#lB*SdX> zSHeMe?c!HZ>J{vQY7c~t@TN@41$Zuh&T{`1MnAeP)#r|^QYAhzxIcTwbO#dZ4We!=&9$MLS%MuGxx2wqn9T93m_{Zys@`dbe`Ss0vN?$ScfLbM`H zjbj7pEKsnN5Kq$RpqzXKJ3W1v4~u0U(s~b72of-YAPL@aw)22Doe*R;-XODCC;8^^ zDl6Abp-cMi@|P+o2{^okkX@cW(;a@3FRG5jo-pMY2&HFO;TM0Bwr6OI9b)C#>2h=# zT%+~+eY7wa%6B!S)t7I?sG3JDQraqsk?zUcd>FX&P-`unu0fRJ@@oqjIn;}M+#P$RagBV1AHbLs96Y#kPV#PfLP*&Yg3Lw* zcX;C5_!^waAw3B&y$^!$7yr_(?%$IjyUG{!nS+iq{-1UJ&ES;pHLkec&w|gRk%mMS zja;dTFOh*0ib75`>x_hSV=8+T`KIQdtSa zfx`Adv^8JTYIoDBK+e#`MiB)hmPKmrtO;?Rta$VXCPszM74frK%g(IbJLiR76c!Q@ zFoMyksciCRLqnInD2~2~5zpH+2kp34^E*J?!66p<9q=H>I#R2m_~=xx(g~uuL&C34 z0}@j!jWkl)abmcJOm9SsJ@_t!{o>6_IK~Tj^0IJ&S0p7P;SlU)P4f#XGdy??r+t3d z_h{ym(ylK2X@tWmaR5fD5!m^@FF`Rw=pCp~z!w?{5yV%s>anj0j`BL&J3S+05n<2# zs0ArNgx&Y{E%9_)fbf!Ka1D=w=e)taL(ET6OTi5XrOVelLZWHgLK7vfeb}B_kQ-)8 zi__r9k$JIkpV1YmB}a||eqZvJ_Xy^_bLV}}t4i^lA*FuPO3g&>vIUwdxes0Di|zLP zzGQch``dMt{NfXfpDQ9(78xF3be=;icI`tgT=LD2HcRU$sbN5~Rb_IN&OW~>q_+T@ zYF(vnV|(t^FMi@=#=5j2b;n|R4-mL-F)=d}l7K-h&ffI)doI3r>vaLX@y$tuQLdjx zvPPl4DWm1lE}ZG>`CGSRq>d`M<*iHE2=1UylR+{qu$!4&C{;h_jW0M;E71NAR} zq9r5K_+rRMl%rY7Kq}4 z5eu%n0r;23Z}>(xIvbGxI;a+fYgTzn6yNq+H;zlUtsL*J%}^i!qLBB{0-YxrX;_c- zcR$CD*XVi{Bwri4v~#`2`j#zo3ghJu^O2D8SU~Xkjew>G-vBhC&b^2XUYTJrk)tPY z{3<0mN+IuMWxh>1=ZE;h*4WirD~^9|Qub8$Le*g5shsVP3dbr41WjWDDz5(5@1v># z7g;0r`s&nc+tE&;?;a)FNaT48>i`u0`qB70cO7%7)Xf^)o3K1daarAHEzZ zT(Mc7Y4pgU_A2}vq7ul@%)~S|J~p-9e%irCWVvUJWX1O*B zl`GWb)oCdPZ0MXLPEPI=4Mw6*^vQRx@%8%vdDbVb0Xj1DVNkB0sN9GIun8%e28^<& zlS%EjTtAIS^s!w=N~u9pak;#fJkc-zanXCb#7PYeA@QQC=hE5x1q!_5qdt?Ps!nWSt!SY|3iOB44V5K zC3K0KUR|q?MS|0x?K)ZHVy<7_Zgc}@@!DksTw#xbYzALRQhhv4l8Qdl=ta)?>9Bmo zm-|&*tW@8_G<0)eMksf@N!IBPD2+sk%vkrnXSWm04)W=ff95_SkoQJk{HXg(ul0_d zxz+!h^SS;=vZu|gZb~dFQ9^HAwnx4>y;}ryK~~tt;E} z1g$k(XmE7*O6!sA@qlek_Od6v=w4s+^jly(9)YZLph>AEz8%}5Hl zR2HN%J~_F6Bg1irASi4mYAD;icWWn}wnpaYK78MKB7|<%7r4niqW7gw5-{3NJx9dB z*#mj+)EdJvDTjg*sx>UW>zdqNQDXG_uMCqx2_3422$BVBr{6(ePX zKQ4u4oIy$mw3h`TsQieK=90DMPP}qB zx7~cJnE$vVN-2R!}^_H8^QrTK8b z!u|SnLiqzXW`KQfCrJM~)YEi1`y7HN#AjF*3Il)LGwj%|FPeW{PjGWj3dARY4W->+$;yW!l=&)4}oaE=EzLt%fJWWSSUSYFd0P2<6@-0QGA zcCL@01aAPj>S4y6@(L}QIWpZe3%OIl_bcD1GvYKfFzBqLqC4uRHvWK6R3W~|ftH6` zg{p^wyIdeul{MUH@YMxF1zJP>Wlr*8i;Mu{0OhLOE#3I7@;V@q{Dv`U`DvR}bm{5D zl|!J-@*9ShFfR~9ir78Q0Rf*Bcr?hlj48MpWNy-rD*i}dPW`%!nnSVDe)>}~!z|EQ zdrgCg4ur_(_0m=JG%C`JRo!aS)ML~UE}Z2VE@E!;ZnW<8>IRm(w504w3pYt(<#3Fo zYCITAIBu35hR`2Q|9+F|Z+$04oxH62794|MzkVTL{tn4O&?D*8jYNWrxsGO(<;No0 zUmVShh3#+t#$`(|#n`qypPITgeR+P*!j$bNHXZGn{_O4rnim2>w4;f}&%K9pSnQz$ zry0{Gqs^^{lCPRN2V15;gbz_$(3#dPG@7=E;RXXmb!{|l zM%q}y+l^<5^G3t+>rc^6@;Dj$kH*JF`elaHzQgPwa1t5(P_lVRa_3_PSUb-=w=

*Tt_6O_J7&yUQ#}^^0xo984rUoY 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 literal 0 HcmV?d00001 diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/public/oracle-logo-building.svg b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/public/oracle-logo-building.svg new file mode 100644 index 000000000..627916774 --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/public/oracle-logo-building.svg @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/public/oracle-logo.png b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/public/oracle-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..38fc17b7918599fb1a1ceae65cc704d231e7ccee GIT binary patch literal 67420 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.info(`Info: ${e}`)}function warn(e){Qt>=oe&&console.warn(`Warning: ${e}`)}function unreachable(e){throw new Error(e)}function assert(e,t){e||unreachable(t)}function createValidAbsoluteUrl(e,t=null,a=null){if(!e)return null;if(a&&"string"==typeof e){if(a.addDefaultProtocol&&e.startsWith("www.")){const t=e.match(/\./g);t?.length>=2&&(e=`http://${e}`)}if(a.tryConvertEncoding)try{e=stringToUTF8String(e)}catch{}}const r=t?URL.parse(e,t):URL.parse(e);return function _isValidProtocol(e){switch(e?.protocol){case"http:":case"https:":case"ftp:":case"mailto:":case"tel:":return!0;default:return!1}}(r)?r:null}function shadow(e,t,a,r=!1){Object.defineProperty(e,t,{value:a,enumerable:!r,configurable:!0,writable:!1});return a}const ea=function BaseExceptionClosure(){function BaseException(e,t){this.message=e;this.name=t}BaseException.prototype=new Error;BaseException.constructor=BaseException;return BaseException}();class PasswordException extends ea{constructor(e,t){super(e,"PasswordException");this.code=t}}class UnknownErrorException extends ea{constructor(e,t){super(e,"UnknownErrorException");this.details=t}}class InvalidPDFException extends ea{constructor(e){super(e,"InvalidPDFException")}}class ResponseException extends ea{constructor(e,t,a){super(e,"ResponseException");this.status=t;this.missing=a}}class FormatError extends ea{constructor(e){super(e,"FormatError")}}class AbortException extends ea{constructor(e){super(e,"AbortException")}}function bytesToString(e){"object"==typeof e&&void 0!==e?.length||unreachable("Invalid argument for bytesToString");const t=e.length,a=8192;if(t>24&255,e>>16&255,e>>8&255,255&e)}function objectSize(e){return Object.keys(e).length}class FeatureTest{static get isLittleEndian(){return shadow(this,"isLittleEndian",function isLittleEndian(){const e=new Uint8Array(4);e[0]=1;return 1===new Uint32Array(e.buffer,0,1)[0]}())}static get isEvalSupported(){return shadow(this,"isEvalSupported",function isEvalSupported(){try{new Function("");return!0}catch{return!1}}())}static get isOffscreenCanvasSupported(){return shadow(this,"isOffscreenCanvasSupported","undefined"!=typeof OffscreenCanvas)}static get isImageDecoderSupported(){return shadow(this,"isImageDecoderSupported","undefined"!=typeof ImageDecoder)}static get isFloat16ArraySupported(){return shadow(this,"isFloat16ArraySupported","undefined"!=typeof Float16Array)}static get isSanitizerSupported(){return shadow(this,"isSanitizerSupported","undefined"!=typeof Sanitizer)}static get platform(){const{platform:e,userAgent:t}=navigator;return shadow(this,"platform",{isAndroid:t.includes("Android"),isLinux:e.includes("Linux"),isMac:e.includes("Mac"),isWindows:e.includes("Win"),isFirefox:t.includes("Firefox")})}static get isCSSRoundSupported(){return shadow(this,"isCSSRoundSupported",globalThis.CSS?.supports?.("width: round(1.5px, 1px)"))}}const ta=Array.from(Array(256).keys(),e=>e.toString(16).padStart(2,"0"));class Util{static makeHexColor(e,t,a){return`#${ta[e]}${ta[t]}${ta[a]}`}static domMatrixToTransform(e){return[e.a,e.b,e.c,e.d,e.e,e.f]}static scaleMinMax(e,t){let a;if(e[0]){if(e[0]<0){a=t[0];t[0]=t[2];t[2]=a}t[0]*=e[0];t[2]*=e[0];if(e[3]<0){a=t[1];t[1]=t[3];t[3]=a}t[1]*=e[3];t[3]*=e[3]}else{a=t[0];t[0]=t[1];t[1]=a;a=t[2];t[2]=t[3];t[3]=a;if(e[1]<0){a=t[1];t[1]=t[3];t[3]=a}t[1]*=e[1];t[3]*=e[1];if(e[2]<0){a=t[0];t[0]=t[2];t[2]=a}t[0]*=e[2];t[2]*=e[2]}t[0]+=e[4];t[1]+=e[5];t[2]+=e[4];t[3]+=e[5]}static transform(e,t){return[e[0]*t[0]+e[2]*t[1],e[1]*t[0]+e[3]*t[1],e[0]*t[2]+e[2]*t[3],e[1]*t[2]+e[3]*t[3],e[0]*t[4]+e[2]*t[5]+e[4],e[1]*t[4]+e[3]*t[5]+e[5]]}static multiplyByDOMMatrix(e,t){return[e[0]*t.a+e[2]*t.b,e[1]*t.a+e[3]*t.b,e[0]*t.c+e[2]*t.d,e[1]*t.c+e[3]*t.d,e[0]*t.e+e[2]*t.f+e[4],e[1]*t.e+e[3]*t.f+e[5]]}static applyTransform(e,t,a=0){const r=e[a],i=e[a+1];e[a]=r*t[0]+i*t[2]+t[4];e[a+1]=r*t[1]+i*t[3]+t[5]}static applyTransformToBezier(e,t,a=0){const r=t[0],i=t[1],n=t[2],s=t[3],o=t[4],c=t[5];for(let t=0;t<6;t+=2){const l=e[a+t],h=e[a+t+1];e[a+t]=l*r+h*n+o;e[a+t+1]=l*i+h*s+c}}static applyInverseTransform(e,t){const a=e[0],r=e[1],i=t[0]*t[3]-t[1]*t[2];e[0]=(a*t[3]-r*t[2]+t[2]*t[5]-t[4]*t[3])/i;e[1]=(-a*t[1]+r*t[0]+t[4]*t[1]-t[5]*t[0])/i}static axialAlignedBoundingBox(e,t,a){const r=t[0],i=t[1],n=t[2],s=t[3],o=t[4],c=t[5],l=e[0],h=e[1],u=e[2],d=e[3];let f=r*l+o,g=f,p=r*u+o,m=p,b=s*h+c,y=b,w=s*d+c,S=w;if(0!==i||0!==n){const e=i*l,t=i*u,a=n*h,r=n*d;f+=a;m+=a;p+=r;g+=r;b+=e;S+=e;w+=t;y+=t}a[0]=Math.min(a[0],f,p,g,m);a[1]=Math.min(a[1],b,w,y,S);a[2]=Math.max(a[2],f,p,g,m);a[3]=Math.max(a[3],b,w,y,S)}static inverseTransform(e){const t=e[0]*e[3]-e[1]*e[2];return[e[3]/t,-e[1]/t,-e[2]/t,e[0]/t,(e[2]*e[5]-e[4]*e[3])/t,(e[4]*e[1]-e[5]*e[0])/t]}static singularValueDecompose2dScale(e,t){const a=e[0],r=e[1],i=e[2],n=e[3],s=a**2+r**2,o=a*i+r*n,c=i**2+n**2,l=(s+c)/2,h=Math.sqrt(l**2-(s*c-o**2));t[0]=Math.sqrt(l+h||1);t[1]=Math.sqrt(l-h||1)}static normalizeRect(e){const t=e.slice(0);if(e[0]>e[2]){t[0]=e[2];t[2]=e[0]}if(e[1]>e[3]){t[1]=e[3];t[3]=e[1]}return t}static intersect(e,t){const a=Math.max(Math.min(e[0],e[2]),Math.min(t[0],t[2])),r=Math.min(Math.max(e[0],e[2]),Math.max(t[0],t[2]));if(a>r)return null;const i=Math.max(Math.min(e[1],e[3]),Math.min(t[1],t[3])),n=Math.min(Math.max(e[1],e[3]),Math.max(t[1],t[3]));return i>n?null:[a,i,r,n]}static pointBoundingBox(e,t,a){a[0]=Math.min(a[0],e);a[1]=Math.min(a[1],t);a[2]=Math.max(a[2],e);a[3]=Math.max(a[3],t)}static rectBoundingBox(e,t,a,r,i){i[0]=Math.min(i[0],e,a);i[1]=Math.min(i[1],t,r);i[2]=Math.max(i[2],e,a);i[3]=Math.max(i[3],t,r)}static#e(e,t,a,r,i,n,s,o,c,l){if(c<=0||c>=1)return;const h=1-c,u=c*c,d=u*c,f=h*(h*(h*e+3*c*t)+3*u*a)+d*r,g=h*(h*(h*i+3*c*n)+3*u*s)+d*o;l[0]=Math.min(l[0],f);l[1]=Math.min(l[1],g);l[2]=Math.max(l[2],f);l[3]=Math.max(l[3],g)}static#t(e,t,a,r,i,n,s,o,c,l,h,u){if(Math.abs(c)<1e-12){Math.abs(l)>=1e-12&&this.#e(e,t,a,r,i,n,s,o,-h/l,u);return}const d=l**2-4*h*c;if(d<0)return;const f=Math.sqrt(d),g=2*c;this.#e(e,t,a,r,i,n,s,o,(-l+f)/g,u);this.#e(e,t,a,r,i,n,s,o,(-l-f)/g,u)}static bezierBoundingBox(e,t,a,r,i,n,s,o,c){c[0]=Math.min(c[0],e,s);c[1]=Math.min(c[1],t,o);c[2]=Math.max(c[2],e,s);c[3]=Math.max(c[3],t,o);this.#t(e,a,i,s,t,r,n,o,3*(3*(a-i)-e+s),6*(e-2*a+i),3*(a-e),c);this.#t(e,a,i,s,t,r,n,o,3*(3*(r-n)-t+o),6*(t-2*r+n),3*(r-t),c)}}const aa=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,728,711,710,729,733,731,730,732,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8226,8224,8225,8230,8212,8211,402,8260,8249,8250,8722,8240,8222,8220,8221,8216,8217,8218,8482,64257,64258,321,338,352,376,381,305,322,339,353,382,0,8364];function stringToPDFString(e,t=!1){if(e[0]>="ï"){let a;if("þ"===e[0]&&"ÿ"===e[1]){a="utf-16be";e.length%2==1&&(e=e.slice(0,-1))}else if("ÿ"===e[0]&&"þ"===e[1]){a="utf-16le";e.length%2==1&&(e=e.slice(0,-1))}else"ï"===e[0]&&"»"===e[1]&&"¿"===e[2]&&(a="utf-8");if(a)try{const r=new TextDecoder(a,{fatal:!0}),i=stringToBytes(e),n=r.decode(i);return t||!n.includes("")?n:n.replaceAll(/\x1b[^\x1b]*(?:\x1b|$)/g,"")}catch(e){warn(`stringToPDFString: "${e}".`)}}const a=[];for(let r=0,i=e.length;re+t,0)});const na=Symbol("CIRCULAR_REF"),sa=Symbol("EOF");let oa=Object.create(null),ca=Object.create(null),la=Object.create(null);class Name{constructor(e){this.name=e}static get(e){return ca[e]||=new Name(e)}}class Cmd{constructor(e){this.cmd=e}static get(e){return oa[e]||=new Cmd(e)}}const ha=function nonSerializableClosure(){return ha};class Dict{constructor(e=null){this._map=new Map;this.xref=e;this.objId=null;this.suppressEncryption=!1;this.__nonSerializable__=ha}assignXref(e){this.xref=e}get size(){return this._map.size}get(e,t,a){let r=this._map.get(e);if(void 0===r&&void 0!==t){r=this._map.get(t);void 0===r&&void 0!==a&&(r=this._map.get(a))}return r instanceof Ref&&this.xref?this.xref.fetch(r,this.suppressEncryption):r}async getAsync(e,t,a){let r=this._map.get(e);if(void 0===r&&void 0!==t){r=this._map.get(t);void 0===r&&void 0!==a&&(r=this._map.get(a))}return r instanceof Ref&&this.xref?this.xref.fetchAsync(r,this.suppressEncryption):r}getArray(e,t,a){let r=this._map.get(e);if(void 0===r&&void 0!==t){r=this._map.get(t);void 0===r&&void 0!==a&&(r=this._map.get(a))}r instanceof Ref&&this.xref&&(r=this.xref.fetch(r,this.suppressEncryption));if(Array.isArray(r)){r=r.slice();for(let e=0,t=r.length;e{unreachable("Should not call `set` on the empty dictionary.")};return shadow(this,"empty",e)}static merge({xref:e,dictArray:t,mergeSubDicts:a=!1}){const r=new Dict(e),i=new Map;for(const e of t)if(e instanceof Dict)for(const[t,r]of e._map){let e=i.get(t);if(void 0===e){e=[];i.set(t,e)}else if(!(a&&r instanceof Dict))continue;e.push(r)}for(const[t,a]of i){if(1===a.length||!(a[0]instanceof Dict)){r._map.set(t,a[0]);continue}const i=new Dict(e);for(const e of a)for(const[t,a]of e._map)i._map.has(t)||i._map.set(t,a);i.size>0&&r._map.set(t,i)}i.clear();return r.size>0?r:Dict.empty}clone(){const e=new Dict(this.xref);for(const t of this.getKeys())e.set(t,this.getRaw(t));return e}delete(e){this._map.delete(e)}}class Ref{constructor(e,t){this.num=e;this.gen=t}toString(){return 0===this.gen?`${this.num}R`:`${this.num}R${this.gen}`}static fromString(e){const t=la[e];if(t)return t;const a=/^(\d+)R(\d*)$/.exec(e);return a&&"0"!==a[1]?la[e]=new Ref(parseInt(a[1]),a[2]?parseInt(a[2]):0):null}static get(e,t){const a=0===t?`${e}R`:`${e}R${t}`;return la[a]||=new Ref(e,t)}}class RefSet{constructor(e=null){this._set=new Set(e?._set)}has(e){return this._set.has(e.toString())}put(e){this._set.add(e.toString())}remove(e){this._set.delete(e.toString())}[Symbol.iterator](){return this._set.values()}clear(){this._set.clear()}}class RefSetCache{constructor(){this._map=new Map}get size(){return this._map.size}get(e){return this._map.get(e.toString())}has(e){return this._map.has(e.toString())}put(e,t){this._map.set(e.toString(),t)}putAlias(e,t){this._map.set(e.toString(),this.get(t))}[Symbol.iterator](){return this._map.values()}clear(){this._map.clear()}*values(){yield*this._map.values()}*items(){for(const[e,t]of this._map)yield[Ref.fromString(e),t]}*keys(){for(const e of this._map.keys())yield Ref.fromString(e)}}function isName(e,t){return e instanceof Name&&(void 0===t||e.name===t)}function isCmd(e,t){return e instanceof Cmd&&(void 0===t||e.cmd===t)}function isDict(e,t){return e instanceof Dict&&(void 0===t||isName(e.get("Type"),t))}function isRefsEqual(e,t){return e.num===t.num&&e.gen===t.gen}class BaseStream{get length(){unreachable("Abstract getter `length` accessed")}get isEmpty(){unreachable("Abstract getter `isEmpty` accessed")}get isDataLoaded(){return shadow(this,"isDataLoaded",!0)}getByte(){unreachable("Abstract method `getByte` called")}getBytes(e){unreachable("Abstract method `getBytes` called")}async getImageData(e,t){return this.getBytes(e,t)}async asyncGetBytes(){unreachable("Abstract method `asyncGetBytes` called")}get isAsync(){return!1}get isAsyncDecoder(){return!1}get isImageStream(){return!1}get canAsyncDecodeImageFromBuffer(){return!1}async getTransferableImage(){return null}peekByte(){const e=this.getByte();-1!==e&&this.pos--;return e}peekBytes(e){const t=this.getBytes(e);this.pos-=t.length;return t}getUint16(){const e=this.getByte(),t=this.getByte();return-1===e||-1===t?-1:(e<<8)+t}getInt32(){return(this.getByte()<<24)+(this.getByte()<<16)+(this.getByte()<<8)+this.getByte()}getByteRange(e,t){unreachable("Abstract method `getByteRange` called")}getString(e){return bytesToString(this.getBytes(e))}skip(e){this.pos+=e||1}reset(){unreachable("Abstract method `reset` called")}moveStart(){unreachable("Abstract method `moveStart` called")}makeSubStream(e,t,a=null){unreachable("Abstract method `makeSubStream` called")}getBaseStreams(){return null}getOriginalStream(){return this.stream?.getOriginalStream()||this}}const ua=/^[1-9]\.\d$/,da=2**31-1,fa=[1,0,0,1,0,0],ga=["ColorSpace","ExtGState","Font","Pattern","Properties","Shading","XObject"],pa=["ExtGState","Font","Properties","XObject"];function getLookupTableFactory(e){let t;return function(){if(e){t=Object.create(null);e(t);e=null}return t}}class MissingDataException extends ea{constructor(e,t){super(`Missing data [${e}, ${t})`,"MissingDataException");this.begin=e;this.end=t}}class ParserEOFException extends ea{constructor(e){super(e,"ParserEOFException")}}class XRefEntryException extends ea{constructor(e){super(e,"XRefEntryException")}}class XRefParseException extends ea{constructor(e){super(e,"XRefParseException")}}function arrayBuffersToBytes(e){const t=e.length;if(0===t)return new Uint8Array(0);if(1===t)return new Uint8Array(e[0]);let a=0;for(let r=0;r0,"The number should be a positive integer.");const a="M".repeat(e/1e3|0)+ma[e%1e3/100|0]+ma[10+(e%100/10|0)]+ma[20+e%10];return t?a.toLowerCase():a}function log2(e){return e>0?Math.ceil(Math.log2(e)):0}function readInt8(e,t){return e[t]<<24>>24}function readInt16(e,t){return(e[t]<<24|e[t+1]<<16)>>16}function readUint16(e,t){return e[t]<<8|e[t+1]}function readUint32(e,t){return(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}function isWhiteSpace(e){return 32===e||9===e||13===e||10===e}function isNumberArray(e,t){return Array.isArray(e)?(null===t||e.length===t)&&e.every(e=>"number"==typeof e):ArrayBuffer.isView(e)&&!(e instanceof BigInt64Array||e instanceof BigUint64Array)&&(null===t||e.length===t)}function lookupMatrix(e,t){return isNumberArray(e,6)?e:t}function lookupRect(e,t){return isNumberArray(e,4)?e:t}function lookupNormalRect(e,t){return isNumberArray(e,4)?Util.normalizeRect(e):t}function parseXFAPath(e){const t=/(.+)\[(\d+)\]$/;return e.split(".").map(e=>{const a=e.match(t);return a?{name:a[1],pos:parseInt(a[2],10)}:{name:e,pos:0}})}function escapePDFName(e){const t=[];let a=0;for(let r=0,i=e.length;r126||35===i||40===i||41===i||60===i||62===i||91===i||93===i||123===i||125===i||47===i||37===i){a"\n"===e?"\\n":"\r"===e?"\\r":`\\${e}`)}function _collectJS(e,t,a,r){if(!e)return;let i=null;if(e instanceof Ref){if(r.has(e))return;i=e;r.put(i);e=t.fetch(e)}if(Array.isArray(e))for(const i of e)_collectJS(i,t,a,r);else if(e instanceof Dict){if(isName(e.get("S"),"JavaScript")){const t=e.get("JS");let r;t instanceof BaseStream?r=t.getString():"string"==typeof t&&(r=t);r&&=stringToPDFString(r,!0).replaceAll("\0","");r&&a.push(r.trim())}_collectJS(e.getRaw("Next"),t,a,r)}i&&r.remove(i)}function collectActions(e,t,a){const r=Object.create(null),i=getInheritableProperty({dict:t,key:"AA",stopWhenFound:!1});if(i)for(let t=i.length-1;t>=0;t--){const n=i[t];if(n instanceof Dict)for(const t of n.getKeys()){const i=a[t];if(!i)continue;const s=[];_collectJS(n.getRaw(t),e,s,new RefSet);s.length>0&&(r[i]=s)}}if(t.has("A")){const a=[];_collectJS(t.get("A"),e,a,new RefSet);a.length>0&&(r.Action=a)}return objectSize(r)>0?r:null}const ba={60:"<",62:">",38:"&",34:""",39:"'"};function*codePointIter(e){for(let t=0,a=e.length;t55295&&(a<57344||a>65533)&&t++;yield a}}function encodeToXmlString(e){const t=[];let a=0;for(let r=0,i=e.length;r55295&&(i<57344||i>65533)&&r++;a=r+1}}if(0===t.length)return e;a: ${e}.`);return!1}return!0}function validateCSSFont(e){const t=new Set(["100","200","300","400","500","600","700","800","900","1000","normal","bold","bolder","lighter"]),{fontFamily:a,fontWeight:r,italicAngle:i}=e;if(!validateFontName(a,!0))return!1;const n=r?r.toString():"";e.fontWeight=t.has(n)?n:"400";const s=parseFloat(i);e.italicAngle=isNaN(s)||s<-90||s>90?"14":i.toString();return!0}function recoverJsURL(e){const t=new RegExp("^\\s*("+["app.launchURL","window.open","xfa.host.gotoURL"].join("|").replaceAll(".","\\.")+")\\((?:'|\")([^'\"]*)(?:'|\")(?:,\\s*(\\w+)\\)|\\))","i").exec(e);return t?.[2]?{url:t[2],newWindow:"app.launchURL"===t[1]&&"true"===t[3]}:null}function numberToString(e){if(Number.isInteger(e))return e.toString();const t=Math.round(100*e);return t%100==0?(t/100).toString():t%10==0?e.toFixed(1):e.toFixed(2)}function getNewAnnotationsMap(e){if(!e)return null;const t=new Map;for(const[a,r]of e){if(!a.startsWith(f))continue;let e=t.get(r.pageIndex);if(!e){e=[];t.set(r.pageIndex,e)}e.push(r)}return t.size>0?t:null}function stringToAsciiOrUTF16BE(e){return null==e||function isAscii(e){if("string"!=typeof e)return!1;return!e||/^[\x00-\x7F]*$/.test(e)}(e)?e:stringToUTF16String(e,!0)}function stringToUTF16HexString(e){const t=[];for(let a=0,r=e.length;a>8&255],ta[255&r])}return t.join("")}function stringToUTF16String(e,t=!1){const a=[];t&&a.push("þÿ");for(let t=0,r=e.length;t>8&255),String.fromCharCode(255&r))}return a.join("")}function getRotationMatrix(e,t,a){switch(e){case 90:return[0,1,-1,0,t,0];case 180:return[-1,0,0,-1,t,a];case 270:return[0,-1,1,0,0,a];default:throw new Error("Invalid rotation")}}function getSizeInBytes(e){return Math.ceil(Math.ceil(Math.log2(1+e))/8)}class QCMS{static#a=null;static _memory=null;static _mustAddAlpha=!1;static _destBuffer=null;static _destOffset=0;static _destLength=0;static _cssColor="";static _makeHexColor=null;static get _memoryArray(){const e=this.#a;return e?.byteLength?e:this.#a=new Uint8Array(this._memory.buffer)}}let ya;const wa="undefined"!=typeof TextDecoder?new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}):{decode:()=>{throw Error("TextDecoder not available")}};"undefined"!=typeof TextDecoder&&wa.decode();let Sa=null;function getUint8ArrayMemory0(){null!==Sa&&0!==Sa.byteLength||(Sa=new Uint8Array(ya.memory.buffer));return Sa}let xa=0;function passArray8ToWasm0(e,t){const a=t(1*e.length,1)>>>0;getUint8ArrayMemory0().set(e,a/1);xa=e.length;return a}const Aa=Object.freeze({RGB8:0,0:"RGB8",RGBA8:1,1:"RGBA8",BGRA8:2,2:"BGRA8",Gray8:3,3:"Gray8",GrayA8:4,4:"GrayA8",CMYK:5,5:"CMYK"}),ka=Object.freeze({Perceptual:0,0:"Perceptual",RelativeColorimetric:1,1:"RelativeColorimetric",Saturation:2,2:"Saturation",AbsoluteColorimetric:3,3:"AbsoluteColorimetric"});function __wbg_get_imports(){const e={wbg:{}};e.wbg.__wbg_copyresult_b08ee7d273f295dd=function(e,t){!function copy_result(e,t){const{_mustAddAlpha:a,_destBuffer:r,_destOffset:i,_destLength:n,_memoryArray:s}=QCMS;if(t!==n)if(a)for(let a=e,n=e+t,o=i;a>>0,t>>>0)};e.wbg.__wbg_copyrgb_d60ce17bb05d9b67=function(e){!function copy_rgb(e){const{_destBuffer:t,_destOffset:a,_memoryArray:r}=QCMS;t[a]=r[e];t[a+1]=r[e+1];t[a+2]=r[e+2]}(e>>>0)};e.wbg.__wbg_makecssRGB_893bf0cd9fdb302d=function(e){!function make_cssRGB(e){const{_memoryArray:t}=QCMS;QCMS._cssColor=QCMS._makeHexColor(t[e],t[e+1],t[e+2])}(e>>>0)};e.wbg.__wbindgen_init_externref_table=function(){const e=ya.__wbindgen_export_0,t=e.grow(4);e.set(0,void 0);e.set(t+0,void 0);e.set(t+1,null);e.set(t+2,!0);e.set(t+3,!1)};e.wbg.__wbindgen_throw=function(e,t){throw new Error(function getStringFromWasm0(e,t){e>>>=0;return wa.decode(getUint8ArrayMemory0().subarray(e,e+t))}(e,t))};return e}function __wbg_finalize_init(e,t){ya=e.exports;__wbg_init.__wbindgen_wasm_module=t;Sa=null;ya.__wbindgen_start();return ya}async function __wbg_init(e){if(void 0!==ya)return ya;void 0!==e&&(Object.getPrototypeOf(e)===Object.prototype?({module_or_path:e}=e):console.warn("using deprecated parameters for the initialization function; pass a single object instead"));const t=__wbg_get_imports();("string"==typeof e||"function"==typeof Request&&e instanceof Request||"function"==typeof URL&&e instanceof URL)&&(e=fetch(e));const{instance:a,module:r}=await async function __wbg_load(e,t){if("function"==typeof Response&&e instanceof Response){if("function"==typeof WebAssembly.instantiateStreaming)try{return await WebAssembly.instantiateStreaming(e,t)}catch(t){if("application/wasm"==e.headers.get("Content-Type"))throw t;console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",t)}const a=await e.arrayBuffer();return await WebAssembly.instantiate(a,t)}{const a=await WebAssembly.instantiate(e,t);return a instanceof WebAssembly.Instance?{instance:a,module:e}:a}}(await e,t);return __wbg_finalize_init(a,r)}class ColorSpace{static#r=new Uint8ClampedArray(3);constructor(e,t){this.name=e;this.numComps=t}getRgb(e,t,a=new Uint8ClampedArray(3)){this.getRgbItem(e,t,a,0);return a}getRgbHex(e,t){const a=this.getRgb(e,t,ColorSpace.#r);return Util.makeHexColor(a[0],a[1],a[2])}getRgbItem(e,t,a,r){unreachable("Should not call ColorSpace.getRgbItem")}getRgbBuffer(e,t,a,r,i,n,s){unreachable("Should not call ColorSpace.getRgbBuffer")}getOutputLength(e,t){unreachable("Should not call ColorSpace.getOutputLength")}isPassthrough(e){return!1}isDefaultDecode(e,t){return ColorSpace.isDefaultDecode(e,this.numComps)}fillRgb(e,t,a,r,i,n,s,o,c){const l=t*a;let h=null;const u=1<u&&"DeviceGray"!==this.name&&"DeviceRGB"!==this.name){const t=s<=8?new Uint8Array(u):new Uint16Array(u);for(let e=0;e=.99554525?1:MathClamp(1.055*e**(1/2.4)-.055,0,1)}#b(e){return e<0?-this.#b(-e):e>8?((e+16)/116)**3:e*CalRGBCS.#d}#y(e,t,a){if(0===e[0]&&0===e[1]&&0===e[2]){a[0]=t[0];a[1]=t[1];a[2]=t[2];return}const r=this.#b(0),i=(1-r)/(1-this.#b(e[0])),n=1-i,s=(1-r)/(1-this.#b(e[1])),o=1-s,c=(1-r)/(1-this.#b(e[2])),l=1-c;a[0]=t[0]*i+n;a[1]=t[1]*s+o;a[2]=t[2]*c+l}#w(e,t,a){if(1===e[0]&&1===e[2]){a[0]=t[0];a[1]=t[1];a[2]=t[2];return}const r=a;this.#f(CalRGBCS.#n,t,r);const i=CalRGBCS.#l;this.#g(e,r,i);this.#f(CalRGBCS.#s,i,a)}#S(e,t,a){const r=a;this.#f(CalRGBCS.#n,t,r);const i=CalRGBCS.#l;this.#p(e,r,i);this.#f(CalRGBCS.#s,i,a)}#i(e,t,a,r,i){const n=MathClamp(e[t]*i,0,1),s=MathClamp(e[t+1]*i,0,1),o=MathClamp(e[t+2]*i,0,1),c=1===n?1:n**this.GR,l=1===s?1:s**this.GG,h=1===o?1:o**this.GB,u=this.MXA*c+this.MXB*l+this.MXC*h,d=this.MYA*c+this.MYB*l+this.MYC*h,f=this.MZA*c+this.MZB*l+this.MZC*h,g=CalRGBCS.#h;g[0]=u;g[1]=d;g[2]=f;const p=CalRGBCS.#u;this.#w(this.whitePoint,g,p);const m=CalRGBCS.#h;this.#y(this.blackPoint,p,m);const b=CalRGBCS.#u;this.#S(CalRGBCS.#c,m,b);const y=CalRGBCS.#h;this.#f(CalRGBCS.#o,b,y);a[r]=255*this.#m(y[0]);a[r+1]=255*this.#m(y[1]);a[r+2]=255*this.#m(y[2])}getRgbItem(e,t,a,r){this.#i(e,t,a,r,1)}getRgbBuffer(e,t,a,r,i,n,s){const o=1/((1<this.amax||this.bmin>this.bmax){info("Invalid Range, falling back to defaults");this.amin=-100;this.amax=100;this.bmin=-100;this.bmax=100}}#x(e){return e>=6/29?e**3:108/841*(e-4/29)}#A(e,t,a,r){return a+e*(r-a)/t}#i(e,t,a,r,i){let n=e[t],s=e[t+1],o=e[t+2];if(!1!==a){n=this.#A(n,a,0,100);s=this.#A(s,a,this.amin,this.amax);o=this.#A(o,a,this.bmin,this.bmax)}s>this.amax?s=this.amax:sthis.bmax?o=this.bmax:ofunction qcms_convert_one(e,t,a){ya.qcms_convert_one(e,t,a)}(this.#k,255*e[t],a);break;case 3:r=Aa.RGB8;this.#C=(e,t,a)=>function qcms_convert_three(e,t,a,r,i){ya.qcms_convert_three(e,t,a,r,i)}(this.#k,255*e[t],255*e[t+1],255*e[t+2],a);break;case 4:r=Aa.CMYK;this.#C=(e,t,a)=>function qcms_convert_four(e,t,a,r,i,n){ya.qcms_convert_four(e,t,a,r,i,n)}(this.#k,255*e[t],255*e[t+1],255*e[t+2],255*e[t+3],a);break;default:throw new Error(`Unsupported number of components: ${a}`)}this.#k=function qcms_transformer_from_memory(e,t,a){const r=passArray8ToWasm0(e,ya.__wbindgen_malloc),i=xa;return ya.qcms_transformer_from_memory(r,i,t,a)>>>0}(e,r,ka.Perceptual);if(!this.#k)throw new Error("Failed to create ICC color space");IccColorSpace.#I||=new FinalizationRegistry(e=>{!function qcms_drop_transformer(e){ya.qcms_drop_transformer(e)}(e)});IccColorSpace.#I.register(this,this.#k)}getRgbHex(e,t){this.#C(e,t,!0);return QCMS._cssColor}getRgbItem(e,t,a,r){QCMS._destBuffer=a;QCMS._destOffset=r;QCMS._destLength=3;this.#C(e,t,!1);QCMS._destBuffer=null}getRgbBuffer(e,t,a,r,i,n,s){e=e.subarray(t,t+a*this.numComps);if(8!==n){const t=255/((1<=this.end?-1:this.bytes[this.pos++]}getBytes(e){const t=this.bytes,a=this.pos,r=this.end;if(!e){this.pos=r;return t.subarray(a,r)}let i=a+e;i>r&&(i=r);this.pos=i;return t.subarray(a,i)}getByteRange(e,t){e<0&&(e=0);t>this.end&&(t=this.end);return this.bytes.subarray(e,t)}reset(){this.pos=this.start}moveStart(){this.start=this.pos}makeSubStream(e,t,a=null){return new Stream(this.bytes.buffer,e,t,a)}clone(){return new Stream(this.bytes.buffer,this.start,this.end-this.start,this.dict.clone())}}class StringStream extends Stream{constructor(e){super(stringToBytes(e))}}class NullStream extends Stream{constructor(){super(new Uint8Array(0))}}class ChunkedStream extends Stream{progressiveDataLength=0;_lastSuccessfulEnsureByteChunk=-1;_loadedChunks=new Set;constructor(e,t,a){super(new Uint8Array(e),0,e,null);this.chunkSize=t;this.numChunks=Math.ceil(e/t);this.manager=a}getMissingChunks(){const e=[];for(let t=0,a=this.numChunks;t=this.end?this.numChunks:Math.floor(t/this.chunkSize);for(let e=a;ethis.numChunks)&&t!==this._lastSuccessfulEnsureByteChunk){if(!this._loadedChunks.has(t))throw new MissingDataException(e,e+1);this._lastSuccessfulEnsureByteChunk=t}}ensureRange(e,t){if(e>=t)return;if(t<=this.progressiveDataLength)return;const a=Math.floor(e/this.chunkSize);if(a>this.numChunks)return;const r=Math.min(Math.floor((t-1)/this.chunkSize)+1,this.numChunks);for(let i=a;i=this.end)return-1;e>=this.progressiveDataLength&&this.ensureByte(e);return this.bytes[this.pos++]}getBytes(e){const t=this.bytes,a=this.pos,r=this.end;if(!e){r>this.progressiveDataLength&&this.ensureRange(a,r);return t.subarray(a,r)}let i=a+e;i>r&&(i=r);i>this.progressiveDataLength&&this.ensureRange(a,i);this.pos=i;return t.subarray(a,i)}getByteRange(e,t){e<0&&(e=0);t>this.end&&(t=this.end);t>this.progressiveDataLength&&this.ensureRange(e,t);return this.bytes.subarray(e,t)}makeSubStream(e,t,a=null){t?e+t>this.progressiveDataLength&&this.ensureRange(e,e+t):e>=this.progressiveDataLength&&this.ensureByte(e);function ChunkedStreamSubstream(){}ChunkedStreamSubstream.prototype=Object.create(this);ChunkedStreamSubstream.prototype.getMissingChunks=function(){const e=this.chunkSize,t=Math.floor(this.start/e),a=Math.floor((this.end-1)/e)+1,r=[];for(let e=t;e{const readChunk=({value:i,done:n})=>{try{if(n){e(arrayBuffersToBytes(r));r=null;return}r.push(i);a.read().then(readChunk,t)}catch(e){t(e)}};a.read().then(readChunk,t)}).then(t=>{this.aborted||this.onReceiveData({chunk:t,begin:e})})}requestAllChunks(e=!1){if(!e){const e=this.stream.getMissingChunks();this._requestChunks(e)}return this._loadedStreamCapability.promise}_requestChunks(e){const t=this.currRequestId++,a=new Set;this._chunksNeededByRequest.set(t,a);for(const t of e)this.stream.hasChunk(t)||a.add(t);if(0===a.size)return Promise.resolve();const r=Promise.withResolvers();this._promisesByRequest.set(t,r);const i=[];for(const e of a){let a=this._requestsByChunk.get(e);if(!a){a=[];this._requestsByChunk.set(e,a);i.push(e)}a.push(t)}if(i.length>0){const e=this.groupChunks(i);for(const t of e){const e=t.beginChunk*this.chunkSize,a=Math.min(t.endChunk*this.chunkSize,this.length);this.sendRequest(e,a).catch(r.reject)}}return r.promise.catch(e=>{if(!this.aborted)throw e})}getStream(){return this.stream}requestRange(e,t){t=Math.min(t,this.length);const a=this.getBeginChunk(e),r=this.getEndChunk(t),i=[];for(let e=a;ee-t);return this._requestChunks(t)}groupChunks(e){const t=[];let a=-1,r=-1;for(let i=0,n=e.length;i=0&&r+1!==n){t.push({beginChunk:a,endChunk:r+1});a=n}i+1===e.length&&t.push({beginChunk:a,endChunk:n+1});r=n}return t}onReceiveData(e){const{chunkSize:t,length:a,stream:r}=this,i=e.chunk,n=void 0===e.begin,s=n?r.progressiveDataLength:e.begin,o=s+i.byteLength,c=Math.floor(s/t),l=o0||h.push(a)}}}if(!this.disableAutoFetch&&0===this._requestsByChunk.size){let e;if(1===r.numChunksLoaded){const t=r.numChunks-1;r.hasChunk(t)||(e=t)}else e=r.nextEmptyChunk(l);Number.isInteger(e)&&this._requestChunks([e])}for(const e of h){const t=this._promisesByRequest.get(e);this._promisesByRequest.delete(e);t.resolve()}this.msgHandler.send("DocProgress",{loaded:r.numChunksLoaded*t,total:a})}onError(e){this._loadedStreamCapability.reject(e)}getBeginChunk(e){return Math.floor(e/this.chunkSize)}getEndChunk(e){return Math.floor((e-1)/this.chunkSize)+1}abort(e){this.aborted=!0;this.pdfStream?.cancelAllRequests(e);for(const t of this._promisesByRequest.values())t.reject(e)}}function convertToRGBA(e){switch(e.kind){case F:return convertBlackAndWhiteToRGBA(e);case T:return function convertRGBToRGBA({src:e,srcPos:t=0,dest:a,destPos:r=0,width:i,height:n}){let s=0;const o=i*n*3,c=o>>2,l=new Uint32Array(e.buffer,t,c);if(FeatureTest.isLittleEndian){for(;s>>24|t<<8|4278190080;a[r+2]=t>>>16|i<<16|4278190080;a[r+3]=i>>>8|4278190080}for(let i=4*s,n=t+o;i>>8|255;a[r+2]=t<<16|i>>>16|255;a[r+3]=i<<8|255}for(let i=4*s,n=t+o;i>3,u=7&r,d=e.length;a=new Uint32Array(a.buffer);let f=0;for(let r=0;ra||t>a)return!0;const r=e*t;if(this._hasMaxArea)return r>this.MAX_AREA;if(r(this.MAX_AREA=this.#O**2)}static getReducePowerForJPX(e,t,a){const r=e*t,i=2**30/(4*a);if(!this.needsToBeResized(e,t))return r>i?Math.ceil(Math.log2(r/i)):0;const{MAX_DIM:n,MAX_AREA:s}=this,o=Math.max(e/n,t/n,Math.sqrt(r/Math.min(i,s)));return Math.ceil(Math.log2(o))}static get MAX_DIM(){return shadow(this,"MAX_DIM",this._guessMax(2048,65537,0,1))}static get MAX_AREA(){this._hasMaxArea=!0;return shadow(this,"MAX_AREA",this._guessMax(this.#O,this.MAX_DIM,128,0)**2)}static set MAX_AREA(e){if(e>=0){this._hasMaxArea=!0;shadow(this,"MAX_AREA",e)}}static setOptions({canvasMaxAreaInBytes:e=-1,isImageDecoderSupported:t=!1}){this._hasMaxArea||(this.MAX_AREA=e>>2);this.#D=t}static _areGoodDims(e,t){try{const a=new OffscreenCanvas(e,t),r=a.getContext("2d");r.fillRect(0,0,1,1);const i=r.getImageData(0,0,1,1).data[3];a.width=a.height=1;return 0!==i}catch{return!1}}static _guessMax(e,t,a,r){for(;e+a+1da){const e=this.#M();if(e)return e}const r=this._encodeBMP();let i,n;if(await ImageResizer.canUseImageDecoder){i=new ImageDecoder({data:r,type:"image/bmp",preferAnimation:!1,transfer:[r.buffer]});n=i.decode().catch(e=>{warn(`BMP image decoding failed: ${e}`);return createImageBitmap(new Blob([this._encodeBMP().buffer],{type:"image/bmp"}))}).finally(()=>{i.close()})}else n=createImageBitmap(new Blob([r.buffer],{type:"image/bmp"}));const{MAX_AREA:s,MAX_DIM:o}=ImageResizer,c=Math.max(t/o,a/o,Math.sqrt(t*a/s)),l=Math.max(c,2),h=Math.round(10*(c+1.25))/10/l,u=Math.floor(Math.log2(h)),d=new Array(u+2).fill(2);d[0]=l;d.splice(-1,1,h/(1<>s,c=r>>s;let l,h=r;try{l=new Uint8Array(n)}catch{let e=Math.floor(Math.log2(n+1));for(;;)try{l=new Uint8Array(2**e-1);break}catch{e-=1}h=Math.floor((2**e-1)/(4*a));const t=a*h*4;t>s;e>3,s=a+3&-4;if(a!==s){const e=new Uint8Array(s*t);let r=0;for(let n=0,o=t*a;n{throw t},a=import.meta.url;try{new URL(".",a).href}catch{}0;console.log.bind(console);var r,i,n,s,o,c=console.error.bind(console),l=!1,h=!1;function updateMemoryViews(){var e=d.buffer;s=new Int8Array(e);new Int16Array(e);o=new Uint8Array(e);new Uint16Array(e);new Int32Array(e);new Uint32Array(e);new Float32Array(e);new Float64Array(e);new BigInt64Array(e);new BigUint64Array(e)}class ExitStatus{name="ExitStatus";constructor(e){this.message=`Program terminated with exit(${e})`;this.status=e}}var u,d,callRuntimeCallbacks=e=>{for(;e.length>0;)e.shift()(t)},f=[],addOnPostRun=e=>f.push(e),g=[],addOnPreRun=e=>g.push(e),p=!0,m=0,b={},handleException=e=>{if(e instanceof ExitStatus||"unwind"==e)return r;quit_(0,e)},keepRuntimeAlive=()=>p||m>0,_proc_exit=e=>{r=e;if(!keepRuntimeAlive()){t.onExit?.(e);l=!0}quit_(0,new ExitStatus(e))},_exit=(e,t)=>{r=e;_proc_exit(e)},callUserCallback=e=>{if(!l)try{e();(()=>{if(!keepRuntimeAlive())try{_exit(r)}catch(e){handleException(e)}})()}catch(e){handleException(e)}},alignMemory=(e,t)=>Math.ceil(e/t)*t,growMemory=e=>{var t=(e-d.buffer.byteLength+65535)/65536|0;try{d.grow(t);updateMemoryViews();return 1}catch(e){}};t.noExitRuntime&&(p=t.noExitRuntime);t.print&&t.print;t.printErr&&(c=t.printErr);t.wasmBinary&&t.wasmBinary;t.arguments&&t.arguments;t.thisProgram&&t.thisProgram;if(t.preInit){"function"==typeof t.preInit&&(t.preInit=[t.preInit]);for(;t.preInit.length>0;)t.preInit.shift()()}t.writeArrayToMemory=(e,t)=>{s.set(e,t)};var y,w={e:()=>function abort(e){t.onAbort?.(e);c(e="Aborted("+e+")");l=!0;e+=". Build with -sASSERTIONS for more info.";var a=new WebAssembly.RuntimeError(e);n?.(a);throw a}(""),b:()=>{p=!1;m=0},c:(e,t)=>{if(b[e]){clearTimeout(b[e].id);delete b[e]}if(!t)return 0;var a=setTimeout(()=>{delete b[e];callUserCallback(()=>u(e,performance.now()))},t);b[e]={id:a,timeout_ms:t};return 0},d:e=>{var t=o.length,a=2147483648;if((e>>>=0)>a)return!1;for(var r=1;r<=4;r*=2){var i=t*(1+.2/r);i=Math.min(i,e+100663296);var n=Math.min(a,alignMemory(Math.max(e,i),65536));if(growMemory(n))return!0}return!1},a:_proc_exit,f:function _setImageData(e,a,r,i){if(r===a){t.imageData=new Uint8ClampedArray(o.subarray(e,e+r*i));return}const n=a*i,s=t.imageData=new Uint8ClampedArray(n);for(let t=e,i=0;i{t.instantiateWasm(e,(e,t)=>{a(receiveInstance(e))})})}();!function run(){!function preRun(){if(t.preRun){"function"==typeof t.preRun&&(t.preRun=[t.preRun]);for(;t.preRun.length;)addOnPreRun(t.preRun.shift())}callRuntimeCallbacks(g)}();function doRun(){t.calledRun=!0;if(!l){!function initRuntime(){h=!0;y.h()}();i?.(t);t.onRuntimeInitialized?.();!function postRun(){if(t.postRun){"function"==typeof t.postRun&&(t.postRun=[t.postRun]);for(;t.postRun.length;)addOnPostRun(t.postRun.shift())}callRuntimeCallbacks(f)}()}}if(t.setStatus){t.setStatus("Running...");setTimeout(()=>{setTimeout(()=>t.setStatus(""),1);doRun()},1)}else doRun()}();return h?t:new Promise((e,t)=>{i=e;n=t})};class JBig2Error extends ea{constructor(e){super(e,"Jbig2Error")}}class JBig2WasmImage{static#R=null;static#B=null;static#N=null;static#v=!0;static#P=!0;static#F=null;static setOptions({handler:e,useWasm:t,useWorkerFetch:a,wasmUrl:r}){this.#v=t;this.#P=a;this.#F=r;a||(this.#B=e)}static async#E(e,t,a){const r="jbig2.wasm";try{this.#R||(this.#P?this.#R=await fetchBinaryData(`${this.#F}${r}`):this.#R=await this.#B.sendWithPromise("FetchBinaryData",{type:"wasmFactory",filename:r}));return a((await WebAssembly.instantiate(this.#R,t)).instance)}catch(t){warn(`JBig2Image#instantiateWasm: ${t}`);return e(null)}finally{this.#B=null}}static async decode(e,t,a,r){if(!this.#N){const{promise:e,resolve:t}=Promise.withResolvers(),a=[e];this.#v?a.push(Ca({warn,instantiateWasm:this.#E.bind(this,t)})):t(null);this.#N=Promise.race(a)}const i=await this.#N;if(!i)throw new JBig2Error("JBig2 failed to initialize");let n,s;try{const o=e.length;n=i._malloc(o);i.writeArrayToMemory(e,n);const c=r?r.length:0;if(c>0){s=i._malloc(c);i.writeArrayToMemory(r,s)}i._jbig2_decode(n,o,t,a,s,c);if(!i.imageData)throw new JBig2Error("Unknown error");const{imageData:l}=i;i.imageData=null;return l}finally{n&&i._free(n);s&&i._free(s)}}static cleanup(){this.#N=null}}const va=new Uint8Array(0);class DecodeStream extends BaseStream{constructor(e){super();this._rawMinBufferLength=e||0;this.pos=0;this.bufferLength=0;this.eof=!1;this.buffer=va;this.minBufferLength=512;if(e)for(;this.minBufferLengthi&&(r=i)}else{for(;!this.eof;)this.readBlock(t);r=this.bufferLength}this.pos=r;return this.buffer.subarray(a,r)}async getImageData(e,t){if(!this.canAsyncDecodeImageFromBuffer)return this.isAsyncDecoder?this.decodeImage(null,t):this.getBytes(e,t);const a=await this.stream.asyncGetBytes();return this.decodeImage(a,t)}reset(){this.pos=0}makeSubStream(e,t,a=null){if(void 0===t)for(;!this.eof;)this.readBlock();else{const a=e+t;for(;this.bufferLength<=a&&!this.eof;)this.readBlock()}return new Stream(this.buffer,e,t,a)}getBaseStreams(){return this.stream?this.stream.getBaseStreams():null}clone(){for(;!this.eof;)this.readBlock();return new Stream(this.buffer,this.start,this.end-this.start,this.dict.clone())}}class StreamsSequenceStream extends DecodeStream{constructor(e,t=null){e=e.filter(e=>e instanceof BaseStream&&!e.isImageStream);let a=0;for(const t of e)a+=t instanceof DecodeStream?t._rawMinBufferLength:t.length;super(a);this.streams=e;this._onError=t}readBlock(){const e=this.streams;if(0===e.length){this.eof=!0;return}const t=e.shift();let a;try{a=t.getBytes()}catch(e){if(this._onError){this._onError(e,t.dict?.objId);return}throw e}const r=this.bufferLength,i=r+a.length;this.ensureBuffer(i).set(a,r);this.bufferLength=i}getBaseStreams(){const e=[];for(const t of this.streams){const a=t.getBaseStreams();a&&e.push(...a)}return e.length>0?e:null}}class ColorSpaceUtils{static parse({cs:e,xref:t,resources:a=null,pdfFunctionFactory:r,globalColorSpaceCache:i,localColorSpaceCache:n,asyncIfNotCached:s=!1}){const o={xref:t,resources:a,pdfFunctionFactory:r,globalColorSpaceCache:i,localColorSpaceCache:n};let c,l,h;if(e instanceof Ref){l=e;const a=i.getByRef(l)||n.getByRef(l);if(a)return a;e=t.fetch(e)}if(e instanceof Name){c=e.name;const t=n.getByName(c);if(t)return t}try{h=this.#L(e,o)}catch(e){if(s&&!(e instanceof MissingDataException))return Promise.reject(e);throw e}if(c||l){n.set(c,l,h);l&&i.set(null,l,h)}return s?Promise.resolve(h):h}static#_(e,t){const{globalColorSpaceCache:a}=t;let r;if(e instanceof Ref){r=e;const t=a.getByRef(r);if(t)return t}const i=this.#L(e,t);r&&a.set(null,r,i);return i}static#L(e,t){const{xref:a,resources:r,pdfFunctionFactory:i,globalColorSpaceCache:n}=t;if((e=a.fetchIfRef(e))instanceof Name)switch(e.name){case"G":case"DeviceGray":return this.gray;case"RGB":case"DeviceRGB":return this.rgb;case"DeviceRGBA":return this.rgba;case"CMYK":case"DeviceCMYK":return this.cmyk;case"Pattern":return new PatternCS(null);default:if(r instanceof Dict){const a=r.get("ColorSpace");if(a instanceof Dict){const r=a.get(e.name);if(r){if(r instanceof Name)return this.#L(r,t);e=r;break}}}warn(`Unrecognized ColorSpace: ${e.name}`);return this.gray}if(Array.isArray(e)){const r=a.fetchIfRef(e[0]).name;let s,o,c,l,h,u;switch(r){case"G":case"DeviceGray":return this.gray;case"RGB":case"DeviceRGB":return this.rgb;case"CMYK":case"DeviceCMYK":return this.cmyk;case"CalGray":s=a.fetchIfRef(e[1]);l=s.getArray("WhitePoint");h=s.getArray("BlackPoint");u=s.get("Gamma");return new CalGrayCS(l,h,u);case"CalRGB":s=a.fetchIfRef(e[1]);l=s.getArray("WhitePoint");h=s.getArray("BlackPoint");u=s.getArray("Gamma");const d=s.getArray("Matrix");return new CalRGBCS(l,h,u,d);case"ICCBased":const f=e[1]instanceof Ref;if(f){const t=n.getByRef(e[1]);if(t)return t}const g=a.fetchIfRef(e[1]),p=g.dict;o=p.get("N");if(IccColorSpace.isUsable)try{const t=new IccColorSpace(g.getBytes(),"ICCBased",o);f&&n.set(null,e[1],t);return t}catch(t){if(t instanceof MissingDataException)throw t;warn(`ICCBased color space (${e[1]}): "${t}".`)}const m=p.getRaw("Alternate");if(m){const e=this.#_(m,t);if(e.numComps===o)return e;warn("ICCBased color space: Ignoring incorrect /Alternate entry.")}if(1===o)return this.gray;if(3===o)return this.rgb;if(4===o)return this.cmyk;break;case"Pattern":c=e[1]||null;c&&(c=this.#_(c,t));return new PatternCS(c);case"I":case"Indexed":c=this.#_(e[1],t);const b=MathClamp(a.fetchIfRef(e[2]),0,255),y=a.fetchIfRef(e[3]);return new IndexedCS(c,b,y);case"Separation":case"DeviceN":const w=a.fetchIfRef(e[1]);o=Array.isArray(w)?w.length:1;c=this.#_(e[2],t);const S=i.create(e[3]);return new AlternateCS(o,c,S);case"Lab":s=a.fetchIfRef(e[1]);l=s.getArray("WhitePoint");h=s.getArray("BlackPoint");const x=s.getArray("Range");return new LabCS(l,h,x);default:warn(`Unimplemented ColorSpace object: ${r}`);return this.gray}}warn(`Unrecognized ColorSpace object: ${e}`);return this.gray}static get gray(){return shadow(this,"gray",new DeviceGrayCS)}static get rgb(){return shadow(this,"rgb",new DeviceRgbCS)}static get rgba(){return shadow(this,"rgba",new DeviceRgbaCS)}static get cmyk(){if(CmykICCBasedCS.isUsable)try{return shadow(this,"cmyk",new CmykICCBasedCS)}catch{warn("CMYK fallback: DeviceCMYK")}return shadow(this,"cmyk",new DeviceCmykCS)}}class JpegError extends ea{constructor(e){super(e,"JpegError")}}class DNLMarkerError extends ea{constructor(e,t){super(e,"DNLMarkerError");this.scanLines=t}}class EOIMarkerError extends ea{constructor(e){super(e,"EOIMarkerError")}}const Fa=new Uint8Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]),Ia=4017,Ta=799,Oa=3406,Da=2276,Ma=1567,Ra=3784,Ba=5793,Na=2896;function buildHuffmanTable(e,t){let a,r,i=0,n=16;for(;n>0&&!e[n-1];)n--;const s=[{children:[],index:0}];let o,c=s[0];for(a=0;a0;)c=s.pop();c.index++;s.push(c);for(;s.length<=a;){s.push(o={children:[],index:0});c.children[c.index]=o.children;c=o}i++}if(a+10){g--;return f>>g&1}f=e[t++];if(255===f){const r=e[t++];if(r){if(220===r&&l){const r=readUint16(e,t+=2);t+=2;if(r>0&&r!==a.scanLines)throw new DNLMarkerError("Found DNL marker (0xFFDC) while parsing scan data",r)}else if(217===r){if(l){const e=y*(8===a.precision?8:0);if(e>0&&Math.round(a.scanLines/e)>=5)throw new DNLMarkerError("Found EOI marker (0xFFD9) while parsing scan data, possibly caused by incorrect `scanLines` parameter",e)}throw new EOIMarkerError("Found EOI marker (0xFFD9) while parsing scan data")}throw new JpegError(`unexpected marker ${(f<<8|r).toString(16)}`)}}g=7;return f>>>7}function decodeHuffman(e){let t=e;for(;;){t=t[readBit()];switch(typeof t){case"number":return t;case"object":continue}throw new JpegError("invalid huffman sequence")}}function receive(e){let t=0;for(;e>0;){t=t<<1|readBit();e--}return t}function receiveAndExtend(e){if(1===e)return 1===readBit()?1:-1;const t=receive(e);return t>=1<0){p--;return}let a=n;const r=s;for(;a<=r;){const r=decodeHuffman(e.huffmanTableAC),i=15&r,n=r>>4;if(0===i){if(n<15){p=receive(n)+(1<>4;if(0===i)if(l<15){p=receive(l)+(1<>4;if(0===r){if(n<15)break;i+=16;continue}i+=n;const s=Fa[i];e.blockData[t+s]=receiveAndExtend(r);i++}};let T,O=0;const D=1===w?r[0].blocksPerLine*r[0].blocksPerColumn:h*a.mcusPerColumn;let M,R;for(;O<=D;){const a=i?Math.min(D-O,i):D;if(a>0){for(x=0;x0?"unexpected":"excessive"} MCU data, current marker is: ${T.invalid}`);t=T.offset}if(!(T.marker>=65488&&T.marker<=65495))break;t+=2}return t-d}function quantizeAndInverse(e,t,a){const r=e.quantizationTable,i=e.blockData;let n,s,o,c,l,h,u,d,f,g,p,m,b,y,w,S,x;if(!r)throw new JpegError("missing required Quantization Table.");for(let e=0;e<64;e+=8){f=i[t+e];g=i[t+e+1];p=i[t+e+2];m=i[t+e+3];b=i[t+e+4];y=i[t+e+5];w=i[t+e+6];S=i[t+e+7];f*=r[e];if(0!==(g|p|m|b|y|w|S)){g*=r[e+1];p*=r[e+2];m*=r[e+3];b*=r[e+4];y*=r[e+5];w*=r[e+6];S*=r[e+7];n=Ba*f+128>>8;s=Ba*b+128>>8;o=p;c=w;l=Na*(g-S)+128>>8;d=Na*(g+S)+128>>8;h=m<<4;u=y<<4;n=n+s+1>>1;s=n-s;x=o*Ra+c*Ma+128>>8;o=o*Ma-c*Ra+128>>8;c=x;l=l+u+1>>1;u=l-u;d=d+h+1>>1;h=d-h;n=n+c+1>>1;c=n-c;s=s+o+1>>1;o=s-o;x=l*Da+d*Oa+2048>>12;l=l*Oa-d*Da+2048>>12;d=x;x=h*Ta+u*Ia+2048>>12;h=h*Ia-u*Ta+2048>>12;u=x;a[e]=n+d;a[e+7]=n-d;a[e+1]=s+u;a[e+6]=s-u;a[e+2]=o+h;a[e+5]=o-h;a[e+3]=c+l;a[e+4]=c-l}else{x=Ba*f+512>>10;a[e]=x;a[e+1]=x;a[e+2]=x;a[e+3]=x;a[e+4]=x;a[e+5]=x;a[e+6]=x;a[e+7]=x}}for(let e=0;e<8;++e){f=a[e];g=a[e+8];p=a[e+16];m=a[e+24];b=a[e+32];y=a[e+40];w=a[e+48];S=a[e+56];if(0!==(g|p|m|b|y|w|S)){n=Ba*f+2048>>12;s=Ba*b+2048>>12;o=p;c=w;l=Na*(g-S)+2048>>12;d=Na*(g+S)+2048>>12;h=m;u=y;n=4112+(n+s+1>>1);s=n-s;x=o*Ra+c*Ma+2048>>12;o=o*Ma-c*Ra+2048>>12;c=x;l=l+u+1>>1;u=l-u;d=d+h+1>>1;h=d-h;n=n+c+1>>1;c=n-c;s=s+o+1>>1;o=s-o;x=l*Da+d*Oa+2048>>12;l=l*Oa-d*Da+2048>>12;d=x;x=h*Ta+u*Ia+2048>>12;h=h*Ia-u*Ta+2048>>12;u=x;f=n+d;S=n-d;g=s+u;w=s-u;p=o+h;y=o-h;m=c+l;b=c-l;f<16?f=0:f>=4080?f=255:f>>=4;g<16?g=0:g>=4080?g=255:g>>=4;p<16?p=0:p>=4080?p=255:p>>=4;m<16?m=0:m>=4080?m=255:m>>=4;b<16?b=0:b>=4080?b=255:b>>=4;y<16?y=0:y>=4080?y=255:y>>=4;w<16?w=0:w>=4080?w=255:w>>=4;S<16?S=0:S>=4080?S=255:S>>=4;i[t+e]=f;i[t+e+8]=g;i[t+e+16]=p;i[t+e+24]=m;i[t+e+32]=b;i[t+e+40]=y;i[t+e+48]=w;i[t+e+56]=S}else{x=Ba*f+8192>>14;x=x<-2040?0:x>=2024?255:x+2056>>4;i[t+e]=x;i[t+e+8]=x;i[t+e+16]=x;i[t+e+24]=x;i[t+e+32]=x;i[t+e+40]=x;i[t+e+48]=x;i[t+e+56]=x}}}function buildComponentData(e,t){const a=t.blocksPerLine,r=t.blocksPerColumn,i=new Int16Array(64);for(let e=0;e=r)return null;const n=readUint16(e,t);if(n>=65472&&n<=65534)return{invalid:null,marker:n,offset:t};let s=readUint16(e,i);for(;!(s>=65472&&s<=65534);){if(++i>=r)return null;s=readUint16(e,i)}return{invalid:n.toString(16),marker:s,offset:i}}function prepareComponents(e){const t=Math.ceil(e.samplesPerLine/8/e.maxH),a=Math.ceil(e.scanLines/8/e.maxV);for(const r of e.components){const i=Math.ceil(Math.ceil(e.samplesPerLine/8)*r.h/e.maxH),n=Math.ceil(Math.ceil(e.scanLines/8)*r.v/e.maxV),s=t*r.h,o=64*(a*r.v)*(s+1);r.blockData=new Int16Array(o);r.blocksPerLine=i;r.blocksPerColumn=n}e.mcusPerLine=t;e.mcusPerColumn=a}function readDataBlock(e,t){const a=readUint16(e,t);let r=(t+=2)+a-2;const i=findNextFileMarker(e,r,t);if(i?.invalid){warn("readDataBlock - incorrect length, current marker is: "+i.invalid);r=i.offset}const n=e.subarray(t,r);return{appData:n,oldOffset:t,newOffset:t+n.length}}function skipData(e,t){const a=readUint16(e,t),r=(t+=2)+a-2,i=findNextFileMarker(e,r,t);return i?.invalid?i.offset:r}class JpegImage{constructor({decodeTransform:e=null,colorTransform:t=-1}={}){this._decodeTransform=e;this._colorTransform=t}static canUseImageDecoder(e,t=-1){let a=null,r=0,i=null,n=readUint16(e,r);r+=2;if(65496!==n)throw new JpegError("SOI not found");n=readUint16(e,r);r+=2;e:for(;65497!==n;){switch(n){case 65505:const{appData:t,oldOffset:s,newOffset:o}=readDataBlock(e,r);r=o;if(69===t[0]&&120===t[1]&&105===t[2]&&102===t[3]&&0===t[4]&&0===t[5]){if(a)throw new JpegError("Duplicate EXIF-blocks found.");a={exifStart:s+6,exifEnd:o}}n=readUint16(e,r);r+=2;continue;case 65472:case 65473:case 65474:i=e[r+7];break e;case 65535:255!==e[r]&&r--}r=skipData(e,r);n=readUint16(e,r);r+=2}return 4===i||3===i&&0===t?null:a||{}}parse(e,{dnlScanLines:t=null}={}){let a,r,i=0,n=null,s=null,o=0;const c=[],l=[],h=[];let u=readUint16(e,i);i+=2;if(65496!==u)throw new JpegError("SOI not found");u=readUint16(e,i);i+=2;e:for(;65497!==u;){let d,f,g;switch(u){case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:case 65534:const{appData:p,newOffset:m}=readDataBlock(e,i);i=m;65504===u&&74===p[0]&&70===p[1]&&73===p[2]&&70===p[3]&&0===p[4]&&(n={version:{major:p[5],minor:p[6]},densityUnits:p[7],xDensity:p[8]<<8|p[9],yDensity:p[10]<<8|p[11],thumbWidth:p[12],thumbHeight:p[13],thumbData:p.subarray(14,14+3*p[12]*p[13])});65518===u&&65===p[0]&&100===p[1]&&111===p[2]&&98===p[3]&&101===p[4]&&(s={version:p[5]<<8|p[6],flags0:p[7]<<8|p[8],flags1:p[9]<<8|p[10],transformCode:p[11]});break;case 65499:const b=readUint16(e,i);i+=2;const y=b+i-2;let w;for(;i>4){if(t>>4!=1)throw new JpegError("DQT - invalid table spec");for(f=0;f<64;f++){w=Fa[f];a[w]=readUint16(e,i);i+=2}}else for(f=0;f<64;f++){w=Fa[f];a[w]=e[i++]}c[15&t]=a}break;case 65472:case 65473:case 65474:if(a)throw new JpegError("Only single frame JPEGs supported");i+=2;a={};a.extended=65473===u;a.progressive=65474===u;a.precision=e[i++];const S=readUint16(e,i);i+=2;a.scanLines=t||S;a.samplesPerLine=readUint16(e,i);i+=2;a.components=[];a.componentIds={};const x=e[i++];let k=0,C=0;for(d=0;d>4,n=15&e[i+1];k>4?l:h)[15&t]=buildHuffmanTable(a,n)}break;case 65501:i+=2;r=readUint16(e,i);i+=2;break;case 65498:const F=1===++o&&!t;i+=2;const T=e[i++],O=[];for(d=0;d>4];n.huffmanTableAC=l[15&s];O.push(n)}const D=e[i++],M=e[i++],R=e[i++];try{i+=decodeScan(e,i,a,O,r,D,M,R>>4,15&R,F)}catch(t){if(t instanceof DNLMarkerError){warn(`${t.message} -- attempting to re-parse the JPEG image.`);return this.parse(e,{dnlScanLines:t.scanLines})}if(t instanceof EOIMarkerError){warn(`${t.message} -- ignoring the rest of the image data.`);break e}throw t}break;case 65500:i+=4;break;case 65535:255!==e[i]&&i--;break;default:const N=findNextFileMarker(e,i-2,i-3);if(N?.invalid){warn("JpegImage.parse - unexpected data, current marker is: "+N.invalid);i=N.offset;break}if(!N||i>=e.length-1){warn("JpegImage.parse - reached the end of the image data without finding an EOI marker (0xFFD9).");break e}throw new JpegError("JpegImage.parse - unknown marker: "+u.toString(16))}u=readUint16(e,i);i+=2}if(!a)throw new JpegError("JpegImage.parse - no frame data found.");this.width=a.samplesPerLine;this.height=a.scanLines;this.jfif=n;this.adobe=s;this.components=[];for(const e of a.components){const t=c[e.quantizationId];t&&(e.quantizationTable=t);this.components.push({index:e.index,output:buildComponentData(0,e),scaleX:e.h/a.maxH,scaleY:e.v/a.maxV,blocksPerLine:e.blocksPerLine,blocksPerColumn:e.blocksPerColumn})}this.numComponents=this.components.length}_getLinearizedBlockData(e,t,a=!1){const r=this.width/e,i=this.height/t;let n,s,o,c,l,h,u,d,f,g,p,m=0;const b=this.components.length,y=e*t*b,w=new Uint8ClampedArray(y),S=new Uint32Array(e),x=4294967288;let k;for(u=0;u>8)+C[f+1];return w}get _isColorConversionNeeded(){return this.adobe?!!this.adobe.transformCode:3===this.numComponents?0!==this._colorTransform&&(82!==this.components[0].index||71!==this.components[1].index||66!==this.components[2].index):1===this._colorTransform}_convertYccToRgb(e){let t,a,r;for(let i=0,n=e.length;i4)throw new JpegError("Unsupported color mode");const n=this._getLinearizedBlockData(e,t,i);if(1===this.numComponents&&(a||r)){const e=n.length*(a?4:3),t=new Uint8ClampedArray(e);let r=0;if(a)!function grayToRGBA(e,t){if(FeatureTest.isLittleEndian)for(let a=0,r=e.length;a0&&(e=e.subarray(t));break}return e}decodeImage(e){if(this.eof)return this.buffer;e=this.#U(e||this.bytes);const t=new JpegImage(this.jpegOptions);t.parse(e);const a=t.getData({width:this.drawWidth,height:this.drawHeight,forceRGBA:this.forceRGBA,forceRGB:this.forceRGB,isSourcePDF:!0});this.buffer=a;this.bufferLength=a.length;this.eof=!0;return this.buffer}get canAsyncDecodeImageFromBuffer(){return this.stream.isAsync}async getTransferableImage(){if(!await JpegStream.canUseImageDecoder)return null;const e=this.jpegOptions;if(e.decodeTransform)return null;let t;try{const a=this.canAsyncDecodeImageFromBuffer&&await this.stream.asyncGetBytes()||this.bytes;if(!a)return null;let r=this.#U(a);const i=JpegImage.canUseImageDecoder(r,e.colorTransform);if(!i)return null;if(i.exifStart){r=r.slice();r.fill(0,i.exifStart,i.exifEnd)}t=new ImageDecoder({data:r,type:"image/jpeg",preferAnimation:!1});return(await t.decode()).image}catch(e){warn(`getTransferableImage - failed: "${e}".`);return null}finally{t?.close()}}get isImageStream(){return!0}}const Pa=async function OpenJPEG(e={}){var t=e,a="./this.program",quit_=(e,t)=>{throw t},r=import.meta.url;try{new URL(".",r).href}catch{}0;var i,n,s,o,c,l,h,u,d=console.log.bind(console),f=console.error.bind(console),g=!1,p=!1;function updateMemoryViews(){var e=o.buffer;c=new Int8Array(e);new Int16Array(e);l=new Uint8Array(e);new Uint16Array(e);h=new Int32Array(e);u=new Uint32Array(e);new Float32Array(e);new Float64Array(e);new BigInt64Array(e);new BigUint64Array(e)}class ExitStatus{name="ExitStatus";constructor(e){this.message=`Program terminated with exit(${e})`;this.status=e}}var m,callRuntimeCallbacks=e=>{for(;e.length>0;)e.shift()(t)},b=[],addOnPostRun=e=>b.push(e),y=[],addOnPreRun=e=>y.push(e),w=!0,S=0,x={},handleException=e=>{if(e instanceof ExitStatus||"unwind"==e)return i;quit_(0,e)},keepRuntimeAlive=()=>w||S>0,_proc_exit=e=>{i=e;if(!keepRuntimeAlive()){t.onExit?.(e);g=!0}quit_(0,new ExitStatus(e))},_exit=(e,t)=>{i=e;_proc_exit(e)},callUserCallback=e=>{if(!g)try{e();(()=>{if(!keepRuntimeAlive())try{_exit(i)}catch(e){handleException(e)}})()}catch(e){handleException(e)}},alignMemory=(e,t)=>Math.ceil(e/t)*t,growMemory=e=>{var t=(e-o.buffer.byteLength+65535)/65536|0;try{o.grow(t);updateMemoryViews();return 1}catch(e){}},k={},getEnvStrings=()=>{if(!getEnvStrings.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.language||"C").replace("-","_")+".UTF-8",_:a||"./this.program"};for(var t in k)void 0===k[t]?delete e[t]:e[t]=k[t];var r=[];for(var t in e)r.push(`${t}=${e[t]}`);getEnvStrings.strings=r}return getEnvStrings.strings},stringToUTF8=(e,t,a)=>((e,t,a,r)=>{if(!(r>0))return 0;for(var i=a,n=a+r-1,s=0;s=n)break;t[a++]=o}else if(o<=2047){if(a+1>=n)break;t[a++]=192|o>>6;t[a++]=128|63&o}else if(o<=65535){if(a+2>=n)break;t[a++]=224|o>>12;t[a++]=128|o>>6&63;t[a++]=128|63&o}else{if(a+3>=n)break;t[a++]=240|o>>18;t[a++]=128|o>>12&63;t[a++]=128|o>>6&63;t[a++]=128|63&o;s++}}t[a]=0;return a-i})(e,l,t,a),lengthBytesUTF8=e=>{for(var t=0,a=0;a=55296&&r<=57343){t+=4;++a}else t+=3}return t},C=[null,[],[]],v="undefined"!=typeof TextDecoder?new TextDecoder:void 0,UTF8ArrayToString=(e,t=0,a,r)=>{var i=((e,t,a,r)=>{var i=t+a;if(r)return i;for(;e[t]&&!(t>=i);)++t;return t})(e,t,a,r);if(i-t>16&&e.buffer&&v)return v.decode(e.subarray(t,i));for(var n="";t>10,56320|1023&l)}}else n+=String.fromCharCode((31&s)<<6|o)}else n+=String.fromCharCode(s)}return n},printChar=(e,t)=>{var a=C[e];if(0===t||10===t){(1===e?d:f)(UTF8ArrayToString(a));a.length=0}else a.push(t)},UTF8ToString=(e,t,a)=>e?UTF8ArrayToString(l,e,t,a):"";t.noExitRuntime&&(w=t.noExitRuntime);t.print&&(d=t.print);t.printErr&&(f=t.printErr);t.wasmBinary&&t.wasmBinary;t.arguments&&t.arguments;t.thisProgram&&(a=t.thisProgram);if(t.preInit){"function"==typeof t.preInit&&(t.preInit=[t.preInit]);for(;t.preInit.length>0;)t.preInit.shift()()}t.writeArrayToMemory=(e,t)=>{c.set(e,t)};var F,T={k:()=>function abort(e){t.onAbort?.(e);f(e="Aborted("+e+")");g=!0;e+=". Build with -sASSERTIONS for more info.";var a=new WebAssembly.RuntimeError(e);s?.(a);throw a}(""),j:()=>{w=!1;S=0},l:(e,t)=>{if(x[e]){clearTimeout(x[e].id);delete x[e]}if(!t)return 0;var a=setTimeout(()=>{delete x[e];callUserCallback(()=>m(e,performance.now()))},t);x[e]={id:a,timeout_ms:t};return 0},f:function _copy_pixels_1(e,a){e>>=2;const r=t.imageData=new Uint8ClampedArray(a),i=h.subarray(e,e+a);r.set(i)},e:function _copy_pixels_3(e,a,r,i){e>>=2;a>>=2;r>>=2;const n=t.imageData=new Uint8ClampedArray(3*i),s=h.subarray(e,e+i),o=h.subarray(a,a+i),c=h.subarray(r,r+i);for(let e=0;e>=2;a>>=2;r>>=2;i>>=2;const s=t.imageData=new Uint8ClampedArray(4*n),o=h.subarray(e,e+n),c=h.subarray(a,a+n),l=h.subarray(r,r+n),u=h.subarray(i,i+n);for(let e=0;e{var t=l.length,a=2147483648;if((e>>>=0)>a)return!1;for(var r=1;r<=4;r*=2){var i=t*(1+.2/r);i=Math.min(i,e+100663296);var n=Math.min(a,alignMemory(Math.max(e,i),65536));if(growMemory(n))return!0}return!1},o:(e,t)=>{var a=0,r=0;for(var i of getEnvStrings()){var n=t+a;u[e+r>>2]=n;a+=stringToUTF8(i,n,1/0)+1;r+=4}return 0},p:(e,t)=>{var a=getEnvStrings();u[e>>2]=a.length;var r=0;for(var i of a)r+=lengthBytesUTF8(i)+1;u[t>>2]=r;return 0},n:function _fd_seek(e,t,a,r){t=(i=t)<-9007199254740992||i>9007199254740992?NaN:Number(i);var i;return 70},b:(e,t,a,r)=>{for(var i=0,n=0;n>2],o=u[t+4>>2];t+=8;for(var c=0;c>2]=i;return 0},q:function _gray_to_rgba(e,a){e>>=2;const r=t.imageData=new Uint8ClampedArray(4*a),i=h.subarray(e,e+a);for(let e=0;e>=2;a>>=2;const i=t.imageData=new Uint8ClampedArray(4*r),n=h.subarray(e,e+r),s=h.subarray(a,a+r);for(let e=0;e>=2;a>>=2;r>>=2;const n=t.imageData=new Uint8ClampedArray(4*i),s=h.subarray(e,e+i),o=h.subarray(a,a+i),c=h.subarray(r,r+i);for(let e=0;e{t.instantiateWasm(e,(e,t)=>{a(receiveInstance(e))})})}();!function run(){!function preRun(){if(t.preRun){"function"==typeof t.preRun&&(t.preRun=[t.preRun]);for(;t.preRun.length;)addOnPreRun(t.preRun.shift())}callRuntimeCallbacks(y)}();function doRun(){t.calledRun=!0;if(!g){!function initRuntime(){p=!0;F.s()}();n?.(t);t.onRuntimeInitialized?.();!function postRun(){if(t.postRun){"function"==typeof t.postRun&&(t.postRun=[t.postRun]);for(;t.postRun.length;)addOnPostRun(t.postRun.shift())}callRuntimeCallbacks(b)}()}}if(t.setStatus){t.setStatus("Running...");setTimeout(()=>{setTimeout(()=>t.setStatus(""),1);doRun()},1)}else doRun()}();return p?t:new Promise((e,t)=>{n=e;s=t})};class JpxError extends ea{constructor(e){super(e,"JpxError")}}class JpxImage{static#R=null;static#B=null;static#N=null;static#v=!0;static#P=!0;static#F=null;static setOptions({handler:e,useWasm:t,useWorkerFetch:a,wasmUrl:r}){this.#v=t;this.#P=a;this.#F=r;a||(this.#B=e)}static async#j(e){const t=`${this.#F}openjpeg_nowasm_fallback.js`;let a=null;try{a=(await import( +/*webpackIgnore: true*/ +/*@vite-ignore*/ +t)).default()}catch(e){warn(`JpxImage#getJsModule: ${e}`)}e(a)}static async#E(e,t,a){const r="openjpeg.wasm";try{this.#R||(this.#P?this.#R=await fetchBinaryData(`${this.#F}${r}`):this.#R=await this.#B.sendWithPromise("FetchBinaryData",{type:"wasmFactory",filename:r}));return a((await WebAssembly.instantiate(this.#R,t)).instance)}catch(t){warn(`JpxImage#instantiateWasm: ${t}`);this.#j(e);return null}finally{this.#B=null}}static async decode(e,{numComponents:t=4,isIndexedColormap:a=!1,smaskInData:r=!1,reducePower:i=0}={}){if(!this.#N){const{promise:e,resolve:t}=Promise.withResolvers(),a=[e];this.#v?a.push(Pa({warn,instantiateWasm:this.#E.bind(this,t)})):this.#j(t);this.#N=Promise.race(a)}const n=await this.#N;if(!n)throw new JpxError("OpenJPEG failed to initialize");let s;try{const o=e.length;s=n._malloc(o);n.writeArrayToMemory(e,s);if(n._jp2_decode(s,o,t>0?t:0,!!a,!!r,i)){const{errorMessages:e}=n;if(e){delete n.errorMessages;throw new JpxError(e)}throw new JpxError("Unknown error")}const{imageData:c}=n;n.imageData=null;return c}finally{s&&n._free(s)}}static cleanup(){this.#N=null}static parseImageProperties(e){let t=e.getByte();for(;t>=0;){const a=t;t=e.getByte();if(65361===(a<<8|t)){e.skip(4);const t=e.getInt32()>>>0,a=e.getInt32()>>>0,r=e.getInt32()>>>0,i=e.getInt32()>>>0;e.skip(16);return{width:t-r,height:a-i,bitsPerComponent:8,componentsCount:e.getUint16()}}}throw new JpxError("No size marker found in JPX stream")}}function addState(e,t,a,r,i){let n=e;for(let e=0,a=t.length-1;e1e3){l=Math.max(l,d);f+=u+2;d=0;u=0}h.push({transform:t,x:d,y:f,w:a.width,h:a.height});d+=a.width+2;u=Math.max(u,a.height)}const g=Math.max(l,d)+1,p=f+u+1,m=new Uint8Array(g*p*4),b=g<<2;for(let e=0;e=0;){t[n-4]=t[n];t[n-3]=t[n+1];t[n-2]=t[n+2];t[n-1]=t[n+3];t[n+a]=t[n+a-4];t[n+a+1]=t[n+a-3];t[n+a+2]=t[n+a-2];t[n+a+3]=t[n+a-1];n-=b}}const y={width:g,height:p};if(e.isOffscreenCanvasSupported){const e=new OffscreenCanvas(g,p);e.getContext("2d").putImageData(new ImageData(new Uint8ClampedArray(m.buffer),g,p),0,0);y.bitmap=e.transferToImageBitmap();y.data=null}else{y.kind=O;y.data=m}a.splice(n,4*c,_t);r.splice(n,4*c,[y,h]);return n+1});addState(Ea,[ye,Se,Nt,we],null,function iterateImageMaskGroup(e,t){const a=e.fnArray,r=(t-(e.iCurr-3))%4;switch(r){case 0:return a[t]===ye;case 1:return a[t]===Se;case 2:return a[t]===Nt;case 3:return a[t]===we}throw new Error(`iterateImageMaskGroup - invalid pos: ${r}`)},function foundImageMaskGroup(e,t){const a=e.fnArray,r=e.argsArray,i=e.iCurr,n=i-3,s=i-2,o=i-1;let c=Math.floor((t-n)/4);if(c<10)return t-(t-n)%4;let l,h,u=!1;const d=r[o][0],f=r[s][0],g=r[s][1],p=r[s][2],m=r[s][3];if(g===p){u=!0;l=s+4;let e=o+4;for(let t=1;t=4&&a[n-4]===a[s]&&a[n-3]===a[o]&&a[n-2]===a[c]&&a[n-1]===a[l]&&r[n-4][0]===h&&r[n-4][1]===u){d++;f-=5}let g=f+4;for(let e=1;e{const t=e.argsArray,a=t[e.iCurr-1][0];if(a!==Te&&a!==Oe&&a!==Re&&a!==Be&&a!==Ne&&a!==Pe)return!0;const r=t[e.iCurr-2];return 1===r[0]&&0===r[1]&&0===r[2]&&1===r[3]},()=>!1,(e,t)=>{const{fnArray:a,argsArray:r}=e,i=e.iCurr,n=i-3,s=i-2,o=r[i-1],c=r[s],[,[l],h]=o;if(h){Util.scaleMinMax(c,h);for(let e=0,t=l.length;e=a)break}r=(r||Ea)[e[t]];if(r&&!Array.isArray(r)){n.iCurr=t;t++;if(!r.checkFn||(0,r.checkFn)(n)){i=r;r=null}else r=null}else t++}this.state=r;this.match=i;this.lastProcessed=t}flush(){for(;this.match;){const e=this.queue.fnArray.length;this.lastProcessed=(0,this.match.processFn)(this.context,e);this.match=null;this.state=null;this._optimize()}}reset(){this.state=null;this.match=null;this.lastProcessed=0}}class OperatorList{static CHUNK_SIZE=1e3;static CHUNK_SIZE_ABOUT=this.CHUNK_SIZE-5;static isOffscreenCanvasSupported=!1;constructor(e=0,t){this._streamSink=t;this.fnArray=[];this.argsArray=[];this.optimizer=!t||e&d?new NullOptimizer(this):new QueueOptimizer(this);this.dependencies=new Set;this._totalLength=0;this.weight=0;this._resolved=t?null:Promise.resolve()}static setOptions({isOffscreenCanvasSupported:e}){this.isOffscreenCanvasSupported=e}get length(){return this.argsArray.length}get ready(){return this._resolved||this._streamSink.ready}get totalLength(){return this._totalLength+this.length}addOp(e,t){this.optimizer.push(e,t);this.weight++;this._streamSink&&(this.weight>=OperatorList.CHUNK_SIZE||this.weight>=OperatorList.CHUNK_SIZE_ABOUT&&(e===we||e===je))&&this.flush()}addImageOps(e,t,a,r=!1){if(r){this.addOp(ye);this.addOp(be,[[["SMask",!1]]])}void 0!==a&&this.addOp(Ct,["OC",a]);this.addOp(e,t);void 0!==a&&this.addOp(vt,[]);r&&this.addOp(we)}addDependency(e){if(!this.dependencies.has(e)){this.dependencies.add(e);this.addOp(le,[e])}}addDependencies(e){for(const t of e)this.addDependency(t)}addOpList(e){if(e instanceof OperatorList){for(const t of e.dependencies)this.dependencies.add(t);for(let t=0,a=e.length;t>>0}function hexToStr(e,t){return 1===t?String.fromCharCode(e[0],e[1]):3===t?String.fromCharCode(e[0],e[1],e[2],e[3]):String.fromCharCode(...e.subarray(0,t+1))}function addHex(e,t,a){let r=0;for(let i=a;i>=0;i--){r+=e[i]+t[i];e[i]=255&r;r>>=8}}function incHex(e,t){let a=1;for(let r=t;r>=0&&a>0;r--){a+=e[r];e[r]=255&a;a>>=8}}const La=16;class BinaryCMapStream{constructor(e){this.buffer=e;this.pos=0;this.end=e.length;this.tmpBuf=new Uint8Array(19)}readByte(){return this.pos>=this.end?-1:this.buffer[this.pos++]}readNumber(){let e,t=0;do{const a=this.readByte();if(a<0)throw new FormatError("unexpected EOF in bcmap");e=!(128&a);t=t<<7|127&a}while(!e);return t}readSigned(){const e=this.readNumber();return 1&e?~(e>>>1):e>>>1}readHex(e,t){e.set(this.buffer.subarray(this.pos,this.pos+t+1));this.pos+=t+1}readHexNumber(e,t){let a;const r=this.tmpBuf;let i=0;do{const e=this.readByte();if(e<0)throw new FormatError("unexpected EOF in bcmap");a=!(128&e);r[i++]=127&e}while(!a);let n=t,s=0,o=0;for(;n>=0;){for(;o<8&&r.length>0;){s|=r[--i]<>=8;o-=8}}readHexSigned(e,t){this.readHexNumber(e,t);const a=1&e[t]?255:0;let r=0;for(let i=0;i<=t;i++){r=(1&r)<<8|e[i];e[i]=r>>1^a}}readString(){const e=this.readNumber(),t=new Array(e);for(let a=0;a=0;){const e=d>>5;if(7===e){switch(31&d){case 0:r.readString();break;case 1:n=r.readString()}continue}const a=!!(16&d),i=15&d;if(i+1>La)throw new Error("BinaryCMapReader.process: Invalid dataSize.");const f=1,g=r.readNumber();switch(e){case 0:r.readHex(s,i);r.readHexNumber(o,i);addHex(o,s,i);t.addCodespaceRange(i+1,hexToInt(s,i),hexToInt(o,i));for(let e=1;e=0;--i){r[a+i]=255&s;s>>=8}}}}class AsciiHexStream extends DecodeStream{constructor(e,t){t&&(t*=.5);super(t);this.stream=e;this.dict=e.dict;this.firstDigit=-1}readBlock(){const e=this.stream.getBytes(8e3);if(!e.length){this.eof=!0;return}const t=e.length+1>>1,a=this.ensureBuffer(this.bufferLength+t);let r=this.bufferLength,i=this.firstDigit;for(const t of e){let e;if(t>=48&&t<=57)e=15&t;else{if(!(t>=65&&t<=70||t>=97&&t<=102)){if(62===t){this.eof=!0;break}continue}e=9+(15&t)}if(i<0)i=e;else{a[r++]=i<<4|e;i=-1}}if(i>=0&&this.eof){a[r++]=i<<4;i=-1}this.firstDigit=i;this.bufferLength=r}}const _a=-1,Ua=[[-1,-1],[-1,-1],[7,8],[7,7],[6,6],[6,6],[6,5],[6,5],[4,0],[4,0],[4,0],[4,0],[4,0],[4,0],[4,0],[4,0],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2]],ja=[[-1,-1],[12,-2],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[11,1792],[11,1792],[12,1984],[12,2048],[12,2112],[12,2176],[12,2240],[12,2304],[11,1856],[11,1856],[11,1920],[11,1920],[12,2368],[12,2432],[12,2496],[12,2560]],Xa=[[-1,-1],[-1,-1],[-1,-1],[-1,-1],[8,29],[8,29],[8,30],[8,30],[8,45],[8,45],[8,46],[8,46],[7,22],[7,22],[7,22],[7,22],[7,23],[7,23],[7,23],[7,23],[8,47],[8,47],[8,48],[8,48],[6,13],[6,13],[6,13],[6,13],[6,13],[6,13],[6,13],[6,13],[7,20],[7,20],[7,20],[7,20],[8,33],[8,33],[8,34],[8,34],[8,35],[8,35],[8,36],[8,36],[8,37],[8,37],[8,38],[8,38],[7,19],[7,19],[7,19],[7,19],[8,31],[8,31],[8,32],[8,32],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,12],[6,12],[6,12],[6,12],[6,12],[6,12],[6,12],[6,12],[8,53],[8,53],[8,54],[8,54],[7,26],[7,26],[7,26],[7,26],[8,39],[8,39],[8,40],[8,40],[8,41],[8,41],[8,42],[8,42],[8,43],[8,43],[8,44],[8,44],[7,21],[7,21],[7,21],[7,21],[7,28],[7,28],[7,28],[7,28],[8,61],[8,61],[8,62],[8,62],[8,63],[8,63],[8,0],[8,0],[8,320],[8,320],[8,384],[8,384],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[7,27],[7,27],[7,27],[7,27],[8,59],[8,59],[8,60],[8,60],[9,1472],[9,1536],[9,1600],[9,1728],[7,18],[7,18],[7,18],[7,18],[7,24],[7,24],[7,24],[7,24],[8,49],[8,49],[8,50],[8,50],[8,51],[8,51],[8,52],[8,52],[7,25],[7,25],[7,25],[7,25],[8,55],[8,55],[8,56],[8,56],[8,57],[8,57],[8,58],[8,58],[6,192],[6,192],[6,192],[6,192],[6,192],[6,192],[6,192],[6,192],[6,1664],[6,1664],[6,1664],[6,1664],[6,1664],[6,1664],[6,1664],[6,1664],[8,448],[8,448],[8,512],[8,512],[9,704],[9,768],[8,640],[8,640],[8,576],[8,576],[9,832],[9,896],[9,960],[9,1024],[9,1088],[9,1152],[9,1216],[9,1280],[9,1344],[9,1408],[7,256],[7,256],[7,256],[7,256],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[6,16],[6,16],[6,16],[6,16],[6,16],[6,16],[6,16],[6,16],[6,17],[6,17],[6,17],[6,17],[6,17],[6,17],[6,17],[6,17],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[6,14],[6,14],[6,14],[6,14],[6,14],[6,14],[6,14],[6,14],[6,15],[6,15],[6,15],[6,15],[6,15],[6,15],[6,15],[6,15],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7]],qa=[[-1,-1],[-1,-1],[12,-2],[12,-2],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[11,1792],[11,1792],[11,1792],[11,1792],[12,1984],[12,1984],[12,2048],[12,2048],[12,2112],[12,2112],[12,2176],[12,2176],[12,2240],[12,2240],[12,2304],[12,2304],[11,1856],[11,1856],[11,1856],[11,1856],[11,1920],[11,1920],[11,1920],[11,1920],[12,2368],[12,2368],[12,2432],[12,2432],[12,2496],[12,2496],[12,2560],[12,2560],[10,18],[10,18],[10,18],[10,18],[10,18],[10,18],[10,18],[10,18],[12,52],[12,52],[13,640],[13,704],[13,768],[13,832],[12,55],[12,55],[12,56],[12,56],[13,1280],[13,1344],[13,1408],[13,1472],[12,59],[12,59],[12,60],[12,60],[13,1536],[13,1600],[11,24],[11,24],[11,24],[11,24],[11,25],[11,25],[11,25],[11,25],[13,1664],[13,1728],[12,320],[12,320],[12,384],[12,384],[12,448],[12,448],[13,512],[13,576],[12,53],[12,53],[12,54],[12,54],[13,896],[13,960],[13,1024],[13,1088],[13,1152],[13,1216],[10,64],[10,64],[10,64],[10,64],[10,64],[10,64],[10,64],[10,64]],Ha=[[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[11,23],[11,23],[12,50],[12,51],[12,44],[12,45],[12,46],[12,47],[12,57],[12,58],[12,61],[12,256],[10,16],[10,16],[10,16],[10,16],[10,17],[10,17],[10,17],[10,17],[12,48],[12,49],[12,62],[12,63],[12,30],[12,31],[12,32],[12,33],[12,40],[12,41],[11,22],[11,22],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[9,15],[9,15],[9,15],[9,15],[9,15],[9,15],[9,15],[9,15],[12,128],[12,192],[12,26],[12,27],[12,28],[12,29],[11,19],[11,19],[11,20],[11,20],[12,34],[12,35],[12,36],[12,37],[12,38],[12,39],[11,21],[11,21],[12,42],[12,43],[10,0],[10,0],[10,0],[10,0],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12]],Wa=[[-1,-1],[-1,-1],[-1,-1],[-1,-1],[6,9],[6,8],[5,7],[5,7],[4,6],[4,6],[4,6],[4,6],[4,5],[4,5],[4,5],[4,5],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2]];class CCITTFaxDecoder{constructor(e,t={}){if("function"!=typeof e?.next)throw new Error('CCITTFaxDecoder - invalid "source" parameter.');this.source=e;this.eof=!1;this.encoding=t.K||0;this.eoline=t.EndOfLine||!1;this.byteAlign=t.EncodedByteAlign||!1;this.columns=t.Columns||1728;this.rows=t.Rows||0;this.eoblock=t.EndOfBlock??!0;this.black=t.BlackIs1||!1;this.codingLine=new Uint32Array(this.columns+1);this.refLine=new Uint32Array(this.columns+2);this.codingLine[0]=this.columns;this.codingPos=0;this.row=0;this.nextLine2D=this.encoding<0;this.inputBits=0;this.inputBuf=0;this.outputBits=0;this.rowsDone=!1;let a;for(;0===(a=this._lookBits(12));)this._eatBits(1);1===a&&this._eatBits(12);if(this.encoding>0){this.nextLine2D=!this._lookBits(1);this._eatBits(1)}}readNextChar(){if(this.eof)return-1;const e=this.refLine,t=this.codingLine,a=this.columns;let r,i,n,s,o;if(0===this.outputBits){this.rowsDone&&(this.eof=!0);if(this.eof)return-1;this.err=!1;let n,o,c;if(this.nextLine2D){for(s=0;t[s]=64);do{o+=c=this._getWhiteCode()}while(c>=64)}else{do{n+=c=this._getWhiteCode()}while(c>=64);do{o+=c=this._getBlackCode()}while(c>=64)}this._addPixels(t[this.codingPos]+n,i);t[this.codingPos]0?--r:++r;for(;e[r]<=t[this.codingPos]&&e[r]0?--r:++r;for(;e[r]<=t[this.codingPos]&&e[r]0?--r:++r;for(;e[r]<=t[this.codingPos]&&e[r]=64);else do{n+=c=this._getWhiteCode()}while(c>=64);this._addPixels(t[this.codingPos]+n,i);i^=1}}let l=!1;this.byteAlign&&(this.inputBits&=-8);if(this.eoblock||this.row!==this.rows-1){n=this._lookBits(12);if(this.eoline)for(;n!==_a&&1!==n;){this._eatBits(1);n=this._lookBits(12)}else for(;0===n;){this._eatBits(1);n=this._lookBits(12)}if(1===n){this._eatBits(12);l=!0}else n===_a&&(this.eof=!0)}else this.rowsDone=!0;if(!this.eof&&this.encoding>0&&!this.rowsDone){this.nextLine2D=!this._lookBits(1);this._eatBits(1)}if(this.eoblock&&l&&this.byteAlign){n=this._lookBits(12);if(1===n){this._eatBits(12);if(this.encoding>0){this._lookBits(1);this._eatBits(1)}if(this.encoding>=0)for(s=0;s<4;++s){n=this._lookBits(12);1!==n&&info("bad rtc code: "+n);this._eatBits(12);if(this.encoding>0){this._lookBits(1);this._eatBits(1)}}this.eof=!0}}else if(this.err&&this.eoline){for(;;){n=this._lookBits(13);if(n===_a){this.eof=!0;return-1}if(n>>1==1)break;this._eatBits(1)}this._eatBits(12);if(this.encoding>0){this._eatBits(1);this.nextLine2D=!(1&n)}}this.outputBits=t[0]>0?t[this.codingPos=0]:t[this.codingPos=1];this.row++}if(this.outputBits>=8){o=1&this.codingPos?0:255;this.outputBits-=8;if(0===this.outputBits&&t[this.codingPos]n){o<<=n;1&this.codingPos||(o|=255>>8-n);this.outputBits-=n;n=0}else{o<<=this.outputBits;1&this.codingPos||(o|=255>>8-this.outputBits);n-=this.outputBits;this.outputBits=0;if(t[this.codingPos]0){o<<=n;n=0}}}while(n)}this.black&&(o^=255);return o}_addPixels(e,t){const a=this.codingLine;let r=this.codingPos;if(e>a[r]){if(e>this.columns){info("row is wrong length");this.err=!0;e=this.columns}1&r^t&&++r;a[r]=e}this.codingPos=r}_addPixelsNeg(e,t){const a=this.codingLine;let r=this.codingPos;if(e>a[r]){if(e>this.columns){info("row is wrong length");this.err=!0;e=this.columns}1&r^t&&++r;a[r]=e}else if(e0&&e=i){const t=a[e-i];if(t[0]===r){this._eatBits(r);return[!0,t[1],!0]}}}return[!1,0,!1]}_getTwoDimCode(){let e,t=0;if(this.eoblock){t=this._lookBits(7);e=Ua[t];if(e?.[0]>0){this._eatBits(e[0]);return e[1]}}else{const e=this._findTableCode(1,7,Ua);if(e[0]&&e[2])return e[1]}info("Bad two dim code");return _a}_getWhiteCode(){let e,t=0;if(this.eoblock){t=this._lookBits(12);if(t===_a)return 1;e=t>>5?Xa[t>>3]:ja[t];if(e[0]>0){this._eatBits(e[0]);return e[1]}}else{let e=this._findTableCode(1,9,Xa);if(e[0])return e[1];e=this._findTableCode(11,12,ja);if(e[0])return e[1]}info("bad white code");this._eatBits(1);return 1}_getBlackCode(){let e,t;if(this.eoblock){e=this._lookBits(13);if(e===_a)return 1;t=e>>7?!(e>>9)&&e>>7?Ha[(e>>1)-64]:Wa[e>>7]:qa[e];if(t[0]>0){this._eatBits(t[0]);return t[1]}}else{let e=this._findTableCode(2,6,Wa);if(e[0])return e[1];e=this._findTableCode(7,12,Ha,64);if(e[0])return e[1];e=this._findTableCode(10,13,qa);if(e[0])return e[1]}info("bad black code");this._eatBits(1);return 1}_lookBits(e){let t;for(;this.inputBits>16-e;this.inputBuf=this.inputBuf<<8|t;this.inputBits+=8}return this.inputBuf>>this.inputBits-e&65535>>16-e}_eatBits(e){(this.inputBits-=e)<0&&(this.inputBits=0)}}class CCITTFaxStream extends DecodeStream{constructor(e,t,a){super(t);this.stream=e;this.dict=e.dict;a instanceof Dict||(a=Dict.empty);const r={next:()=>e.getByte()};this.ccittFaxDecoder=new CCITTFaxDecoder(r,{K:a.get("K"),EndOfLine:a.get("EndOfLine"),EncodedByteAlign:a.get("EncodedByteAlign"),Columns:a.get("Columns"),Rows:a.get("Rows"),EndOfBlock:a.get("EndOfBlock"),BlackIs1:a.get("BlackIs1")})}readBlock(){for(;!this.eof;){const e=this.ccittFaxDecoder.readNextChar();if(-1===e){this.eof=!0;return}this.ensureBuffer(this.bufferLength+1);this.buffer[this.bufferLength++]=e}}get isImageStream(){return!0}}const Ga=new Int32Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),$a=new Int32Array([3,4,5,6,7,8,9,10,65547,65549,65551,65553,131091,131095,131099,131103,196643,196651,196659,196667,262211,262227,262243,262259,327811,327843,327875,327907,258,258,258]),za=new Int32Array([1,2,3,4,65541,65543,131081,131085,196625,196633,262177,262193,327745,327777,393345,393409,459009,459137,524801,525057,590849,591361,657409,658433,724993,727041,794625,798721,868353,876545]),Va=[new Int32Array([459008,524368,524304,524568,459024,524400,524336,590016,459016,524384,524320,589984,524288,524416,524352,590048,459012,524376,524312,589968,459028,524408,524344,590032,459020,524392,524328,59e4,524296,524424,524360,590064,459010,524372,524308,524572,459026,524404,524340,590024,459018,524388,524324,589992,524292,524420,524356,590056,459014,524380,524316,589976,459030,524412,524348,590040,459022,524396,524332,590008,524300,524428,524364,590072,459009,524370,524306,524570,459025,524402,524338,590020,459017,524386,524322,589988,524290,524418,524354,590052,459013,524378,524314,589972,459029,524410,524346,590036,459021,524394,524330,590004,524298,524426,524362,590068,459011,524374,524310,524574,459027,524406,524342,590028,459019,524390,524326,589996,524294,524422,524358,590060,459015,524382,524318,589980,459031,524414,524350,590044,459023,524398,524334,590012,524302,524430,524366,590076,459008,524369,524305,524569,459024,524401,524337,590018,459016,524385,524321,589986,524289,524417,524353,590050,459012,524377,524313,589970,459028,524409,524345,590034,459020,524393,524329,590002,524297,524425,524361,590066,459010,524373,524309,524573,459026,524405,524341,590026,459018,524389,524325,589994,524293,524421,524357,590058,459014,524381,524317,589978,459030,524413,524349,590042,459022,524397,524333,590010,524301,524429,524365,590074,459009,524371,524307,524571,459025,524403,524339,590022,459017,524387,524323,589990,524291,524419,524355,590054,459013,524379,524315,589974,459029,524411,524347,590038,459021,524395,524331,590006,524299,524427,524363,590070,459011,524375,524311,524575,459027,524407,524343,590030,459019,524391,524327,589998,524295,524423,524359,590062,459015,524383,524319,589982,459031,524415,524351,590046,459023,524399,524335,590014,524303,524431,524367,590078,459008,524368,524304,524568,459024,524400,524336,590017,459016,524384,524320,589985,524288,524416,524352,590049,459012,524376,524312,589969,459028,524408,524344,590033,459020,524392,524328,590001,524296,524424,524360,590065,459010,524372,524308,524572,459026,524404,524340,590025,459018,524388,524324,589993,524292,524420,524356,590057,459014,524380,524316,589977,459030,524412,524348,590041,459022,524396,524332,590009,524300,524428,524364,590073,459009,524370,524306,524570,459025,524402,524338,590021,459017,524386,524322,589989,524290,524418,524354,590053,459013,524378,524314,589973,459029,524410,524346,590037,459021,524394,524330,590005,524298,524426,524362,590069,459011,524374,524310,524574,459027,524406,524342,590029,459019,524390,524326,589997,524294,524422,524358,590061,459015,524382,524318,589981,459031,524414,524350,590045,459023,524398,524334,590013,524302,524430,524366,590077,459008,524369,524305,524569,459024,524401,524337,590019,459016,524385,524321,589987,524289,524417,524353,590051,459012,524377,524313,589971,459028,524409,524345,590035,459020,524393,524329,590003,524297,524425,524361,590067,459010,524373,524309,524573,459026,524405,524341,590027,459018,524389,524325,589995,524293,524421,524357,590059,459014,524381,524317,589979,459030,524413,524349,590043,459022,524397,524333,590011,524301,524429,524365,590075,459009,524371,524307,524571,459025,524403,524339,590023,459017,524387,524323,589991,524291,524419,524355,590055,459013,524379,524315,589975,459029,524411,524347,590039,459021,524395,524331,590007,524299,524427,524363,590071,459011,524375,524311,524575,459027,524407,524343,590031,459019,524391,524327,589999,524295,524423,524359,590063,459015,524383,524319,589983,459031,524415,524351,590047,459023,524399,524335,590015,524303,524431,524367,590079]),9],Ka=[new Int32Array([327680,327696,327688,327704,327684,327700,327692,327708,327682,327698,327690,327706,327686,327702,327694,0,327681,327697,327689,327705,327685,327701,327693,327709,327683,327699,327691,327707,327687,327703,327695,0]),5];class FlateStream extends DecodeStream{#X=!0;constructor(e,t){super(t);this.stream=e;this.dict=e.dict;const a=e.getByte(),r=e.getByte();if(-1===a||-1===r)throw new FormatError(`Invalid header in flate stream: ${a}, ${r}`);if(8!=(15&a))throw new FormatError(`Unknown compression method in flate stream: ${a}, ${r}`);if(((a<<8)+r)%31!=0)throw new FormatError(`Bad FCHECK in flate stream: ${a}, ${r}`);if(32&r)throw new FormatError(`FDICT bit set in flate stream: ${a}, ${r}`);this.codeSize=0;this.codeBuf=0}async getImageData(e,t){const a=await this.asyncGetBytes();return a?a.length<=e?a:a.subarray(0,e):this.getBytes(e)}async asyncGetBytes(){this.stream.reset();const e=this.stream.isAsync?await this.stream.asyncGetBytes():this.stream.getBytes();try{const{readable:t,writable:a}=new DecompressionStream("deflate"),r=a.getWriter();await r.ready;r.write(e).then(async()=>{await r.ready;await r.close()}).catch(()=>{});const i=[];let n=0;for await(const e of t){i.push(e);n+=e.byteLength}const s=new Uint8Array(n);let o=0;for(const e of i){s.set(e,o);o+=e.byteLength}return s}catch{this.#X=!1;this.stream=new Stream(e,2,e.length,this.stream.dict);this.reset();return null}}get isAsync(){return this.#X}getBits(e){const t=this.stream;let a,r=this.codeSize,i=this.codeBuf;for(;r>e;this.codeSize=r-=e;return a}getCode(e){const t=this.stream,a=e[0],r=e[1];let i,n=this.codeSize,s=this.codeBuf;for(;n>16,l=65535&o;if(c<1||n>c;this.codeSize=n-c;return l}generateHuffmanTable(e){const t=e.length;let a,r=0;for(a=0;ar&&(r=e[a]);const i=1<>=1}for(a=e;a>=1;if(0===t){let t;if(-1===(t=r.getByte())){this.#q("Bad block header in flate stream");return}let a=t;if(-1===(t=r.getByte())){this.#q("Bad block header in flate stream");return}a|=t<<8;if(-1===(t=r.getByte())){this.#q("Bad block header in flate stream");return}let i=t;if(-1===(t=r.getByte())){this.#q("Bad block header in flate stream");return}i|=t<<8;if(i!==(65535&~a)&&(0!==a||0!==i))throw new FormatError("Bad uncompressed block length in flate stream");this.codeBuf=0;this.codeSize=0;const n=this.bufferLength,s=n+a;e=this.ensureBuffer(s);this.bufferLength=s;if(0===a)-1===r.peekByte()&&(this.eof=!0);else{const t=r.getBytes(a);e.set(t,n);t.length0;)h[o++]=f}i=this.generateHuffmanTable(h.subarray(0,e));n=this.generateHuffmanTable(h.subarray(e,l))}}e=this.buffer;let s=e?e.length:0,o=this.bufferLength;for(;;){let t=this.getCode(i);if(t<256){if(o+1>=s){e=this.ensureBuffer(o+1);s=e.length}e[o++]=t;continue}if(256===t){this.bufferLength=o;return}t-=257;t=$a[t];let r=t>>16;r>0&&(r=this.getBits(r));a=(65535&t)+r;t=this.getCode(n);t=za[t];r=t>>16;r>0&&(r=this.getBits(r));const c=(65535&t)+r;if(o+a>=s){e=this.ensureBuffer(o+a);s=e.length}for(let t=0;t>9&127;this.clow=this.clow<<7&65535;this.ct-=7;this.a=32768}byteIn(){const e=this.data;let t=this.bp;if(255===e[t])if(e[t+1]>143){this.clow+=65280;this.ct=8}else{t++;this.clow+=e[t]<<9;this.ct=7;this.bp=t}else{t++;this.clow+=t65535){this.chigh+=this.clow>>16;this.clow&=65535}}readBit(e,t){let a=e[t]>>1,r=1&e[t];const i=Ja[a],n=i.qe;let s,o=this.a-n;if(this.chigh>15&1;this.clow=this.clow<<1&65535;this.ct--}while(!(32768&o));this.a=o;e[t]=a<<1|r;return s}}class Jbig2Error extends ea{constructor(e){super(e,"Jbig2Error")}}class ContextCache{getContexts(e){return e in this?this[e]:this[e]=new Int8Array(65536)}}class DecodingContext{constructor(e,t,a){this.data=e;this.start=t;this.end=a}get decoder(){return shadow(this,"decoder",new ArithmeticDecoder(this.data,this.start,this.end))}get contextCache(){return shadow(this,"contextCache",new ContextCache)}}function decodeInteger(e,t,a){const r=e.getContexts(t);let i=1;function readBits(e){let t=0;for(let n=0;n>>0}const n=readBits(1),s=readBits(1)?readBits(1)?readBits(1)?readBits(1)?readBits(1)?readBits(32)+4436:readBits(12)+340:readBits(8)+84:readBits(6)+20:readBits(4)+4:readBits(2);let o;0===n?o=s:s>0&&(o=-s);return o>=-2147483648&&o<=da?o:null}function decodeIAID(e,t,a){const r=e.getContexts("IAID");let i=1;for(let e=0;ee.y-t.y||e.x-t.x);const h=l.length,u=new Int8Array(h),d=new Int8Array(h),f=[];let g,p,m=0,b=0,y=0,w=0;for(p=0;p=v&&E=F){q=q<<1&m;for(p=0;p=0&&_=0){U=M[L][_];U&&(q|=U<=e?l<<=1:l=l<<1|x[o][c]}for(f=0;f=w||c<0||c>=y?l<<=1:l=l<<1|r[o][c]}const g=k.readBit(C,l);t[s]=g}}return x}function decodeTextRegion(e,t,a,r,i,n,s,o,c,l,h,u,d,f,g,p,m,b,y){if(e&&t)throw new Jbig2Error("refinement with Huffman is not supported");const w=[];let S,x;for(S=0;S1&&(i=e?y.readBits(b):decodeInteger(C,"IAIT",k));const n=s*v+i,F=e?f.symbolIDTable.decode(y):decodeIAID(C,k,c),T=t&&(e?y.readBit():decodeInteger(C,"IARI",k));let O=o[F],D=O[0].length,M=O.length;if(T){const e=decodeInteger(C,"IARDW",k),t=decodeInteger(C,"IARDH",k);D+=e;M+=t;O=decodeRefinement(D,M,g,O,(e>>1)+decodeInteger(C,"IARDX",k),(t>>1)+decodeInteger(C,"IARDY",k),!1,p,m)}let R=0;l?1&u?R=M-1:r+=M-1:u>1?r+=D-1:R=D-1;const N=n-(1&u?0:M-1),E=r-(2&u?D-1:0);let L,_,U;if(l)for(L=0;L>5&7;const c=[31&s];let l=t+6;if(7===o){o=536870911&readUint32(e,l-1);l+=3;let t=o+8>>3;c[0]=e[l++];for(;--t>0;)c.push(e[l++])}else if(5===o||6===o)throw new Jbig2Error("invalid referred-to flags");a.retainBits=c;let h=4;a.number<=256?h=1:a.number<=65536&&(h=2);const u=[];let d,f;for(d=0;d>>24&255;n[3]=t.height>>16&255;n[4]=t.height>>8&255;n[5]=255&t.height;for(d=l,f=e.length;d>2&3;e.huffmanDWSelector=t>>4&3;e.bitmapSizeSelector=t>>6&1;e.aggregationInstancesSelector=t>>7&1;e.bitmapCodingContextUsed=!!(256&t);e.bitmapCodingContextRetained=!!(512&t);e.template=t>>10&3;e.refinementTemplate=t>>12&1;l+=2;if(!e.huffman){c=0===e.template?4:1;s=[];for(o=0;o>2&3;h.stripSize=1<>4&3;h.transposed=!!(64&u);h.combinationOperator=u>>7&3;h.defaultPixelValue=u>>9&1;h.dsOffset=u<<17>>27;h.refinementTemplate=u>>15&1;if(h.huffman){const e=readUint16(r,l);l+=2;h.huffmanFS=3&e;h.huffmanDS=e>>2&3;h.huffmanDT=e>>4&3;h.huffmanRefinementDW=e>>6&3;h.huffmanRefinementDH=e>>8&3;h.huffmanRefinementDX=e>>10&3;h.huffmanRefinementDY=e>>12&3;h.huffmanRefinementSizeSelector=!!(16384&e)}if(h.refinement&&!h.refinementTemplate){s=[];for(o=0;o<2;o++){s.push({x:readInt8(r,l),y:readInt8(r,l+1)});l+=2}h.refinementAt=s}h.numberOfSymbolInstances=readUint32(r,l);l+=4;n=[h,a.referredTo,r,l,i];break;case 16:const d={},f=r[l++];d.mmr=!!(1&f);d.template=f>>1&3;d.patternWidth=r[l++];d.patternHeight=r[l++];d.maxPatternIndex=readUint32(r,l);l+=4;n=[d,a.number,r,l,i];break;case 22:case 23:const g={};g.info=readRegionSegmentInformation(r,l);l+=ar;const p=r[l++];g.mmr=!!(1&p);g.template=p>>1&3;g.enableSkip=!!(8&p);g.combinationOperator=p>>4&7;g.defaultPixelValue=p>>7&1;g.gridWidth=readUint32(r,l);l+=4;g.gridHeight=readUint32(r,l);l+=4;g.gridOffsetX=4294967295&readUint32(r,l);l+=4;g.gridOffsetY=4294967295&readUint32(r,l);l+=4;g.gridVectorX=readUint16(r,l);l+=2;g.gridVectorY=readUint16(r,l);l+=2;n=[g,a.referredTo,r,l,i];break;case 38:case 39:const m={};m.info=readRegionSegmentInformation(r,l);l+=ar;const b=r[l++];m.mmr=!!(1&b);m.template=b>>1&3;m.prediction=!!(8&b);if(!m.mmr){c=0===m.template?4:1;s=[];for(o=0;o>2&1;y.combinationOperator=w>>3&3;y.requiresBuffer=!!(32&w);y.combinationOperatorOverride=!!(64&w);n=[y];break;case 49:case 50:case 51:case 62:break;case 53:n=[a.number,r,l,i];break;default:throw new Jbig2Error(`segment type ${a.typeName}(${a.type}) is not implemented`)}const h="on"+a.typeName;h in t&&t[h].apply(t,n)}function processSegments(e,t){for(let a=0,r=e.length;a>3,a=new Uint8ClampedArray(t*e.height);e.defaultPixelValue&&a.fill(255);this.buffer=a}drawBitmap(e,t){const a=this.currentPageInfo,r=e.width,i=e.height,n=a.width+7>>3,s=a.combinationOperatorOverride?e.combinationOperator:a.combinationOperator,o=this.buffer,c=128>>(7&e.x);let l,h,u,d,f=e.y*n+(e.x>>3);switch(s){case 0:for(l=0;l>=1;if(!u){u=128;d++}}f+=n}break;case 2:for(l=0;l>=1;if(!u){u=128;d++}}f+=n}break;default:throw new Jbig2Error(`operator ${s} is not supported`)}}onImmediateGenericRegion(e,t,a,r){const i=e.info,n=new DecodingContext(t,a,r),s=decodeBitmap(e.mmr,i.width,i.height,e.template,e.prediction,null,e.at,n);this.drawBitmap(i,s)}onImmediateLosslessGenericRegion(){this.onImmediateGenericRegion(...arguments)}onSymbolDictionary(e,t,a,r,i,n){let s,o;if(e.huffman){s=function getSymbolDictionaryHuffmanTables(e,t,a){let r,i,n,s,o=0;switch(e.huffmanDHSelector){case 0:case 1:r=getStandardTable(e.huffmanDHSelector+4);break;case 3:r=getCustomHuffmanTable(o,t,a);o++;break;default:throw new Jbig2Error("invalid Huffman DH selector")}switch(e.huffmanDWSelector){case 0:case 1:i=getStandardTable(e.huffmanDWSelector+2);break;case 3:i=getCustomHuffmanTable(o,t,a);o++;break;default:throw new Jbig2Error("invalid Huffman DW selector")}if(e.bitmapSizeSelector){n=getCustomHuffmanTable(o,t,a);o++}else n=getStandardTable(1);s=e.aggregationInstancesSelector?getCustomHuffmanTable(o,t,a):getStandardTable(1);return{tableDeltaHeight:r,tableDeltaWidth:i,tableBitmapSize:n,tableAggregateInstances:s}}(e,a,this.customTables);o=new Reader(r,i,n)}let c=this.symbols;c||(this.symbols=c={});const l=[];for(const e of a){const t=c[e];t&&l.push(...t)}const h=new DecodingContext(r,i,n);c[t]=function decodeSymbolDictionary(e,t,a,r,i,n,s,o,c,l,h,u){if(e&&t)throw new Jbig2Error("symbol refinement with Huffman is not supported");const d=[];let f=0,g=log2(a.length+r);const p=h.decoder,m=h.contextCache;let b,y;if(e){b=getStandardTable(1);y=[];g=Math.max(g,1)}for(;d.length1)w=decodeTextRegion(e,t,r,f,0,i,1,a.concat(d),g,0,0,1,0,n,c,l,h,0,u);else{const e=decodeIAID(m,p,g),t=decodeInteger(m,"IARDX",p),i=decodeInteger(m,"IARDY",p);w=decodeRefinement(r,f,c,e=32){let a,r,s;switch(t){case 32:if(0===e)throw new Jbig2Error("no previous value in symbol ID table");r=i.readBits(2)+3;a=n[e-1].prefixLength;break;case 33:r=i.readBits(3)+3;a=0;break;case 34:r=i.readBits(7)+11;a=0;break;default:throw new Jbig2Error("invalid code length in symbol ID table")}for(s=0;s=0;m--){O=e?decodeMMRBitmap(T,c,l,!0):decodeBitmap(!1,c,l,a,!1,null,v,g);F[m]=O}for(D=0;D=0;b--){R^=F[b][D][M];N|=R<>8;_=u+D*d-M*f>>8;if(L>=0&&L+x<=r&&_>=0&&_+k<=i)for(m=0;m=i)){j=p[t];U=E[m];for(b=0;b=0&&e>1&7),c=1+(r>>4&7),l=[];let h,u,d=i;do{h=s.readBits(o);u=s.readBits(c);l.push(new HuffmanLine([d,h,u,0]));d+=1<>t&1;if(t<=0)this.children[a]=new HuffmanTreeNode(e);else{let r=this.children[a];r||(this.children[a]=r=new HuffmanTreeNode(null));r.buildTree(e,t-1)}}decodeNode(e){if(this.isLeaf){if(this.isOOB)return null;const t=e.readBits(this.rangeLength);return this.rangeLow+(this.isLowerRange?-t:t)}const t=this.children[e.readBit()];if(!t)throw new Jbig2Error("invalid Huffman data");return t.decodeNode(e)}}class HuffmanTable{constructor(e,t){t||this.assignPrefixCodes(e);this.rootNode=new HuffmanTreeNode(null);for(let t=0,a=e.length;t0&&this.rootNode.buildTree(a,a.prefixLength-1)}}decode(e){return this.rootNode.decodeNode(e)}assignPrefixCodes(e){const t=e.length;let a=0;for(let r=0;r=this.end)throw new Jbig2Error("end of data while reading bit");this.currentByte=this.data[this.position++];this.shift=7}const e=this.currentByte>>this.shift&1;this.shift--;return e}readBits(e){let t,a=0;for(t=e-1;t>=0;t--)a|=this.readBit()<=this.end?-1:this.data[this.position++]}}function getCustomHuffmanTable(e,t,a){let r=0;for(let i=0,n=t.length;i>a&1;a--}}if(r&&!o){const e=5;for(let t=0;t>>t&(1<0;if(e<256){d[0]=e;f=1}else{if(!(e>=258)){if(256===e){h=9;s=258;f=0;continue}this.eof=!0;delete this.lzwState;break}if(e=0;t--){d[t]=o[a];a=l[a]}}else d[f++]=d[0]}if(i){l[s]=u;c[s]=c[u]+1;o[s]=d[0];s++;h=s+n&s+n-1?h:0|Math.min(Math.log(s+n)/.6931471805599453+1,12)}u=e;g+=f;if(r15))throw new FormatError(`Unsupported predictor: ${r}`);this.readBlock=2===r?this.readBlockTiff:this.readBlockPng;this.stream=e;this.dict=e.dict;const i=this.colors=a.get("Colors")||1,n=this.bits=a.get("BPC","BitsPerComponent")||8,s=this.columns=a.get("Columns")||1;this.pixBytes=i*n+7>>3;this.rowBytes=s*i*n+7>>3;return this}readBlockTiff(){const e=this.rowBytes,t=this.bufferLength,a=this.ensureBuffer(t+e),r=this.bits,i=this.colors,n=this.stream.getBytes(e);this.eof=!n.length;if(this.eof)return;let s,o=0,c=0,l=0,h=0,u=t;if(1===r&&1===i)for(s=0;s>1;e^=e>>2;e^=e>>4;o=(1&e)<<7;a[u++]=e}else if(8===r){for(s=0;s>8&255;a[u++]=255&e}}else{const e=new Uint8Array(i+1),u=(1<>l-r)&u;l-=r;c=c<=8){a[f++]=c>>h-8&255;h-=8}}h>0&&(a[f++]=(c<<8-h)+(o&(1<<8-h)-1))}this.bufferLength+=e}readBlockPng(){const e=this.rowBytes,t=this.pixBytes,a=this.stream.getByte(),r=this.stream.getBytes(e);this.eof=!r.length;if(this.eof)return;const i=this.bufferLength,n=this.ensureBuffer(i+e);let s=n.subarray(i-e,i);0===s.length&&(s=new Uint8Array(e));let o,c,l,h=i;switch(a){case 0:for(o=0;o>1)+r[o];for(;o>1)+r[o]&255;h++}break;case 4:for(o=0;o0){const e=this.stream.getBytes(r);t.set(e,a);a+=r}}else{r=257-r;t=this.ensureBuffer(a+r+1);t.fill(e[1],a,a+r);a+=r}this.bufferLength=a}}class Parser{constructor({lexer:e,xref:t,allowStreams:a=!1,recoveryMode:r=!1}){this.lexer=e;this.xref=t;this.allowStreams=a;this.recoveryMode=r;this.imageCache=Object.create(null);this._imageId=0;this.refill()}refill(){this.buf1=this.lexer.getObj();this.buf2=this.lexer.getObj()}shift(){if(this.buf2 instanceof Cmd&&"ID"===this.buf2.cmd){this.buf1=this.buf2;this.buf2=null}else{this.buf1=this.buf2;this.buf2=this.lexer.getObj()}}tryShift(){try{this.shift();return!0}catch(e){if(e instanceof MissingDataException)throw e;return!1}}getObj(e=null){const t=this.buf1;this.shift();if(t instanceof Cmd)switch(t.cmd){case"BI":return this.makeInlineImage(e);case"[":const a=[];for(;!isCmd(this.buf1,"]")&&this.buf1!==sa;)a.push(this.getObj(e));if(this.buf1===sa){if(this.recoveryMode)return a;throw new ParserEOFException("End of file inside array.")}this.shift();return a;case"<<":const r=new Dict(this.xref);for(;!isCmd(this.buf1,">>")&&this.buf1!==sa;){if(!(this.buf1 instanceof Name)){info("Malformed dictionary: key must be a name object");this.shift();continue}const t=this.buf1.name;this.shift();if(this.buf1===sa)break;r.set(t,this.getObj(e))}if(this.buf1===sa){if(this.recoveryMode)return r;throw new ParserEOFException("End of file inside dictionary.")}if(isCmd(this.buf2,"stream"))return this.allowStreams?this.makeStream(r,e):r;this.shift();return r;default:return t}if(Number.isInteger(t)){if(Number.isInteger(this.buf1)&&isCmd(this.buf2,"R")){const e=Ref.get(t,this.buf1);this.shift();this.shift();return e}return t}return"string"==typeof t&&e?e.decryptString(t):t}findDefaultInlineStreamEnd(e){const{knownCommands:t}=this.lexer,a=e.pos;let r,i,n=0;for(;-1!==(r=e.getByte());)if(0===n)n=69===r?1:0;else if(1===n)n=73===r?2:0;else if(32===r||10===r||13===r){i=e.pos;const a=e.peekBytes(15),s=a.length;if(0===s)break;for(let e=0;e127))){n=0;break}}if(2!==n)continue;if(!t){warn("findDefaultInlineStreamEnd - `lexer.knownCommands` is undefined.");continue}const o=new Lexer(new Stream(e.peekBytes(75)),t);o._hexStringWarn=()=>{};let c=0;for(;;){const e=o.getObj();if(e===sa){n=0;break}if(e instanceof Cmd){const a=t[e.cmd];if(!a){n=0;break}if(a.variableArgs?c<=a.numArgs:c===a.numArgs)break;c=0;continue}c++}if(2===n)break}else n=0;if(-1===r){warn("findDefaultInlineStreamEnd: Reached the end of the stream without finding a valid EI marker");if(i){warn('... trying to recover by using the last "EI" occurrence.');e.skip(-(e.pos-i))}}let s=4;e.skip(-s);r=e.peekByte();e.skip(s);isWhiteSpace(r)||s--;return e.pos-s-a}findDCTDecodeInlineStreamEnd(e){const t=e.pos;let a,r,i=!1;for(;-1!==(a=e.getByte());)if(255===a){switch(e.getByte()){case 0:break;case 255:e.skip(-1);break;case 217:i=!0;break;case 192:case 193:case 194:case 195:case 197:case 198:case 199:case 201:case 202:case 203:case 205:case 206:case 207:case 196:case 204:case 218:case 219:case 220:case 221:case 222:case 223:case 224:case 225:case 226:case 227:case 228:case 229:case 230:case 231:case 232:case 233:case 234:case 235:case 236:case 237:case 238:case 239:case 254:r=e.getUint16();r>2?e.skip(r-2):e.skip(-2)}if(i)break}const n=e.pos-t;if(-1===a){warn("Inline DCTDecode image stream: EOI marker not found, searching for /EI/ instead.");e.skip(-n);return this.findDefaultInlineStreamEnd(e)}this.inlineStreamSkipEI(e);return n}findASCII85DecodeInlineStreamEnd(e){const t=e.pos;let a;for(;-1!==(a=e.getByte());)if(126===a){const t=e.pos;a=e.peekByte();for(;isWhiteSpace(a);){e.skip();a=e.peekByte()}if(62===a){e.skip();break}if(e.pos>t){const t=e.peekBytes(2);if(69===t[0]&&73===t[1])break}}const r=e.pos-t;if(-1===a){warn("Inline ASCII85Decode image stream: EOD marker not found, searching for /EI/ instead.");e.skip(-r);return this.findDefaultInlineStreamEnd(e)}this.inlineStreamSkipEI(e);return r}findASCIIHexDecodeInlineStreamEnd(e){const t=e.pos;let a;for(;-1!==(a=e.getByte())&&62!==a;);const r=e.pos-t;if(-1===a){warn("Inline ASCIIHexDecode image stream: EOD marker not found, searching for /EI/ instead.");e.skip(-r);return this.findDefaultInlineStreamEnd(e)}this.inlineStreamSkipEI(e);return r}inlineStreamSkipEI(e){let t,a=0;for(;-1!==(t=e.getByte());)if(0===a)a=69===t?1:0;else if(1===a)a=73===t?2:0;else if(2===a)break}makeInlineImage(e){const t=this.lexer,a=t.stream,r=Object.create(null);let i;for(;!isCmd(this.buf1,"ID")&&this.buf1!==sa;){if(!(this.buf1 instanceof Name))throw new FormatError("Dictionary key must be a name object");const t=this.buf1.name;this.shift();if(this.buf1===sa)break;r[t]=this.getObj(e)}-1!==t.beginInlineImagePos&&(i=a.pos-t.beginInlineImagePos);const n=this.xref.fetchIfRef(r.F||r.Filter);let s;if(n instanceof Name)s=n.name;else if(Array.isArray(n)){const e=this.xref.fetchIfRef(n[0]);e instanceof Name&&(s=e.name)}const o=a.pos;let c,l;switch(s){case"DCT":case"DCTDecode":c=this.findDCTDecodeInlineStreamEnd(a);break;case"A85":case"ASCII85Decode":c=this.findASCII85DecodeInlineStreamEnd(a);break;case"AHx":case"ASCIIHexDecode":c=this.findASCIIHexDecodeInlineStreamEnd(a);break;default:c=this.findDefaultInlineStreamEnd(a)}if(c<1e3&&i>0){const e=a.pos;a.pos=t.beginInlineImagePos;l=function getInlineImageCacheKey(e){const t=[],a=e.length;let r=0;for(;r=r){let r=!1;for(const e of i){const t=e.length;let i=0;for(;i=n){r=!0;break}if(i>=t){if(isWhiteSpace(s[c+o+i])){info(`Found "${bytesToString([...a,...e])}" when searching for endstream command.`);r=!0}break}}if(r){t.pos+=c;return t.pos-e}}c++}t.pos+=o}return-1}makeStream(e,t){const a=this.lexer;let r=a.stream;a.skipToNextLine();const i=r.pos-1;let n=e.get("Length");if(!Number.isInteger(n)){info(`Bad length "${n&&n.toString()}" in stream.`);n=0}r.pos=i+n;a.nextChar();if(this.tryShift()&&isCmd(this.buf2,"endstream"))this.shift();else{n=this.#H(i);if(n<0)throw new FormatError("Missing endstream command.");a.nextChar();this.shift();this.shift()}this.shift();r=r.makeSubStream(i,n,e);t&&(r=t.createStream(r,n));r=this.filter(r,e,n);r.dict=e;return r}filter(e,t,a){let r=t.get("F","Filter"),i=t.get("DP","DecodeParms");if(r instanceof Name){Array.isArray(i)&&warn("/DecodeParms should not be an Array, when /Filter is a Name.");return this.makeFilter(e,r.name,a,i)}let n=a;if(Array.isArray(r)){const t=r,a=i;for(let s=0,o=t.length;s=48&&e<=57?15&e:e>=65&&e<=70||e>=97&&e<=102?9+(15&e):-1}class Lexer{constructor(e,t=null){this.stream=e;this.nextChar();this.strBuf=[];this.knownCommands=t;this._hexStringNumWarn=0;this.beginInlineImagePos=-1}nextChar(){return this.currentChar=this.stream.getByte()}peekChar(){return this.stream.peekByte()}getNumber(){let e=this.currentChar,t=!1,a=0,r=1;if(45===e){r=-1;e=this.nextChar();45===e&&(e=this.nextChar())}else 43===e&&(e=this.nextChar());if(10===e||13===e)do{e=this.nextChar()}while(10===e||13===e);if(46===e){a=10;e=this.nextChar()}if(e<48||e>57){const t=`Invalid number: ${String.fromCharCode(e)} (charCode ${e})`;if(isWhiteSpace(e)||40===e||60===e||-1===e){info(`Lexer.getNumber - "${t}".`);return 0}throw new FormatError(t)}let i=e-48,n=0,s=1;for(;(e=this.nextChar())>=0;)if(e>=48&&e<=57){const r=e-48;if(t)n=10*n+r;else{0!==a&&(a*=10);i=10*i+r}}else if(46===e){if(0!==a)break;a=1}else if(45===e)warn("Badly formatted number: minus sign in the middle");else{if(69!==e&&101!==e)break;e=this.peekChar();if(43===e||45===e){s=45===e?-1:1;this.nextChar()}else if(e<48||e>57)break;t=!0}0!==a&&(i/=a);t&&(i*=10**(s*n));return r*i}getString(){let e=1,t=!1;const a=this.strBuf;a.length=0;let r=this.nextChar();for(;;){let i=!1;switch(0|r){case-1:warn("Unterminated string");t=!0;break;case 40:++e;a.push("(");break;case 41:if(0===--e){this.nextChar();t=!0}else a.push(")");break;case 92:r=this.nextChar();switch(r){case-1:warn("Unterminated string");t=!0;break;case 110:a.push("\n");break;case 114:a.push("\r");break;case 116:a.push("\t");break;case 98:a.push("\b");break;case 102:a.push("\f");break;case 92:case 40:case 41:a.push(String.fromCharCode(r));break;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:let e=15&r;r=this.nextChar();i=!0;if(r>=48&&r<=55){e=(e<<3)+(15&r);r=this.nextChar();if(r>=48&&r<=55){i=!1;e=(e<<3)+(15&r)}}a.push(String.fromCharCode(e));break;case 13:10===this.peekChar()&&this.nextChar();break;case 10:break;default:a.push(String.fromCharCode(r))}break;default:a.push(String.fromCharCode(r))}if(t)break;i||(r=this.nextChar())}return a.join("")}getName(){let e,t;const a=this.strBuf;a.length=0;for(;(e=this.nextChar())>=0&&!ir[e];)if(35===e){e=this.nextChar();if(ir[e]){warn("Lexer_getName: NUMBER SIGN (#) should be followed by a hexadecimal number.");a.push("#");break}const r=toHexDigit(e);if(-1!==r){t=e;e=this.nextChar();const i=toHexDigit(e);if(-1===i){warn(`Lexer_getName: Illegal digit (${String.fromCharCode(e)}) in hexadecimal number.`);a.push("#",String.fromCharCode(t));if(ir[e])break;a.push(String.fromCharCode(e));continue}a.push(String.fromCharCode(r<<4|i))}else a.push("#",String.fromCharCode(e))}else a.push(String.fromCharCode(e));a.length>127&&warn(`Name token is longer than allowed by the spec: ${a.length}`);return Name.get(a.join(""))}_hexStringWarn(e){5!==this._hexStringNumWarn++?this._hexStringNumWarn>5||warn(`getHexString - ignoring invalid character: ${e}`):warn("getHexString - ignoring additional invalid characters.")}getHexString(){const e=this.strBuf;e.length=0;let t=this.currentChar,a=-1,r=-1;this._hexStringNumWarn=0;for(;;){if(t<0){warn("Unterminated hex string");break}if(62===t){this.nextChar();break}if(1!==ir[t]){r=toHexDigit(t);if(-1===r)this._hexStringWarn(t);else if(-1===a)a=r;else{e.push(String.fromCharCode(a<<4|r));a=-1}t=this.nextChar()}else t=this.nextChar()}-1!==a&&e.push(String.fromCharCode(a<<4));return e.join("")}getObj(){let e=!1,t=this.currentChar;for(;;){if(t<0)return sa;if(e)10!==t&&13!==t||(e=!1);else if(37===t)e=!0;else if(1!==ir[t])break;t=this.nextChar()}switch(0|t){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 43:case 45:case 46:return this.getNumber();case 40:return this.getString();case 47:return this.getName();case 91:this.nextChar();return Cmd.get("[");case 93:this.nextChar();return Cmd.get("]");case 60:t=this.nextChar();if(60===t){this.nextChar();return Cmd.get("<<")}return this.getHexString();case 62:t=this.nextChar();if(62===t){this.nextChar();return Cmd.get(">>")}return Cmd.get(">");case 123:this.nextChar();return Cmd.get("{");case 125:this.nextChar();return Cmd.get("}");case 41:this.nextChar();throw new FormatError(`Illegal character: ${t}`)}let a=String.fromCharCode(t);if(t<32||t>127){const e=this.peekChar();if(e>=32&&e<=127){this.nextChar();return Cmd.get(a)}}const r=this.knownCommands;let i=void 0!==r?.[a];for(;(t=this.nextChar())>=0&&!ir[t];){const e=a+String.fromCharCode(t);if(i&&void 0===r[e])break;if(128===a.length)throw new FormatError(`Command token too long: ${a.length}`);a=e;i=void 0!==r?.[a]}if("true"===a)return!0;if("false"===a)return!1;if("null"===a)return null;"BI"===a&&(this.beginInlineImagePos=this.stream.pos);return Cmd.get(a)}skipToNextLine(){let e=this.currentChar;for(;e>=0;){if(13===e){e=this.nextChar();10===e&&this.nextChar();break}if(10===e){this.nextChar();break}e=this.nextChar()}}}class Linearization{static create(e){function getInt(e,t,a=!1){const r=e.get(t);if(Number.isInteger(r)&&(a?r>=0:r>0))return r;throw new Error(`The "${t}" parameter in the linearization dictionary is invalid.`)}const t=new Parser({lexer:new Lexer(e),xref:null}),a=t.getObj(),r=t.getObj(),i=t.getObj(),n=t.getObj();let s,o;if(!(Number.isInteger(a)&&Number.isInteger(r)&&isCmd(i,"obj")&&n instanceof Dict&&"number"==typeof(s=n.get("Linearized"))&&s>0))return null;if((o=getInt(n,"L"))!==e.length)throw new Error('The "L" parameter in the linearization dictionary does not equal the stream length.');return{length:o,hints:function getHints(e){const t=e.get("H");let a;if(Array.isArray(t)&&(2===(a=t.length)||4===a)){for(let e=0;e0))throw new Error(`Hint (${e}) in the linearization dictionary is invalid.`)}return t}throw new Error("Hint array in the linearization dictionary is invalid.")}(n),objectNumberFirst:getInt(n,"O"),endFirst:getInt(n,"E"),numPages:getInt(n,"N"),mainXRefEntriesOffset:getInt(n,"T"),pageFirst:n.has("P")?getInt(n,"P",!0):0}}}const nr=["Adobe-GB1-UCS2","Adobe-CNS1-UCS2","Adobe-Japan1-UCS2","Adobe-Korea1-UCS2","78-EUC-H","78-EUC-V","78-H","78-RKSJ-H","78-RKSJ-V","78-V","78ms-RKSJ-H","78ms-RKSJ-V","83pv-RKSJ-H","90ms-RKSJ-H","90ms-RKSJ-V","90msp-RKSJ-H","90msp-RKSJ-V","90pv-RKSJ-H","90pv-RKSJ-V","Add-H","Add-RKSJ-H","Add-RKSJ-V","Add-V","Adobe-CNS1-0","Adobe-CNS1-1","Adobe-CNS1-2","Adobe-CNS1-3","Adobe-CNS1-4","Adobe-CNS1-5","Adobe-CNS1-6","Adobe-GB1-0","Adobe-GB1-1","Adobe-GB1-2","Adobe-GB1-3","Adobe-GB1-4","Adobe-GB1-5","Adobe-Japan1-0","Adobe-Japan1-1","Adobe-Japan1-2","Adobe-Japan1-3","Adobe-Japan1-4","Adobe-Japan1-5","Adobe-Japan1-6","Adobe-Korea1-0","Adobe-Korea1-1","Adobe-Korea1-2","B5-H","B5-V","B5pc-H","B5pc-V","CNS-EUC-H","CNS-EUC-V","CNS1-H","CNS1-V","CNS2-H","CNS2-V","ETHK-B5-H","ETHK-B5-V","ETen-B5-H","ETen-B5-V","ETenms-B5-H","ETenms-B5-V","EUC-H","EUC-V","Ext-H","Ext-RKSJ-H","Ext-RKSJ-V","Ext-V","GB-EUC-H","GB-EUC-V","GB-H","GB-V","GBK-EUC-H","GBK-EUC-V","GBK2K-H","GBK2K-V","GBKp-EUC-H","GBKp-EUC-V","GBT-EUC-H","GBT-EUC-V","GBT-H","GBT-V","GBTpc-EUC-H","GBTpc-EUC-V","GBpc-EUC-H","GBpc-EUC-V","H","HKdla-B5-H","HKdla-B5-V","HKdlb-B5-H","HKdlb-B5-V","HKgccs-B5-H","HKgccs-B5-V","HKm314-B5-H","HKm314-B5-V","HKm471-B5-H","HKm471-B5-V","HKscs-B5-H","HKscs-B5-V","Hankaku","Hiragana","KSC-EUC-H","KSC-EUC-V","KSC-H","KSC-Johab-H","KSC-Johab-V","KSC-V","KSCms-UHC-H","KSCms-UHC-HW-H","KSCms-UHC-HW-V","KSCms-UHC-V","KSCpc-EUC-H","KSCpc-EUC-V","Katakana","NWP-H","NWP-V","RKSJ-H","RKSJ-V","Roman","UniCNS-UCS2-H","UniCNS-UCS2-V","UniCNS-UTF16-H","UniCNS-UTF16-V","UniCNS-UTF32-H","UniCNS-UTF32-V","UniCNS-UTF8-H","UniCNS-UTF8-V","UniGB-UCS2-H","UniGB-UCS2-V","UniGB-UTF16-H","UniGB-UTF16-V","UniGB-UTF32-H","UniGB-UTF32-V","UniGB-UTF8-H","UniGB-UTF8-V","UniJIS-UCS2-H","UniJIS-UCS2-HW-H","UniJIS-UCS2-HW-V","UniJIS-UCS2-V","UniJIS-UTF16-H","UniJIS-UTF16-V","UniJIS-UTF32-H","UniJIS-UTF32-V","UniJIS-UTF8-H","UniJIS-UTF8-V","UniJIS2004-UTF16-H","UniJIS2004-UTF16-V","UniJIS2004-UTF32-H","UniJIS2004-UTF32-V","UniJIS2004-UTF8-H","UniJIS2004-UTF8-V","UniJISPro-UCS2-HW-V","UniJISPro-UCS2-V","UniJISPro-UTF8-V","UniJISX0213-UTF32-H","UniJISX0213-UTF32-V","UniJISX02132004-UTF32-H","UniJISX02132004-UTF32-V","UniKS-UCS2-H","UniKS-UCS2-V","UniKS-UTF16-H","UniKS-UTF16-V","UniKS-UTF32-H","UniKS-UTF32-V","UniKS-UTF8-H","UniKS-UTF8-V","V","WP-Symbol"],sr=2**24-1;class CMap{constructor(e=!1){this.codespaceRanges=[[],[],[],[]];this.numCodespaceRanges=0;this._map=[];this.name="";this.vertical=!1;this.useCMap=null;this.builtInCMap=e}addCodespaceRange(e,t,a){this.codespaceRanges[e-1].push(t,a);this.numCodespaceRanges++}mapCidRange(e,t,a){if(t-e>sr)throw new Error("mapCidRange - ignoring data above MAX_MAP_RANGE.");for(;e<=t;)this._map[e++]=a++}mapBfRange(e,t,a){if(t-e>sr)throw new Error("mapBfRange - ignoring data above MAX_MAP_RANGE.");const r=a.length-1;for(;e<=t;){this._map[e++]=a;const t=a.charCodeAt(r)+1;t>255?a=a.substring(0,r-1)+String.fromCharCode(a.charCodeAt(r-1)+1)+"\0":a=a.substring(0,r)+String.fromCharCode(t)}}mapBfRangeToArray(e,t,a){if(t-e>sr)throw new Error("mapBfRangeToArray - ignoring data above MAX_MAP_RANGE.");const r=a.length;let i=0;for(;e<=t&&i>>0;const s=i[n];for(let e=0,t=s.length;e=t&&r<=i){a.charcode=r;a.length=n+1;return}}}a.charcode=0;a.length=1}getCharCodeLength(e){const t=this.codespaceRanges;for(let a=0,r=t.length;a=i&&e<=n)return a+1}}return 1}get length(){return this._map.length}get isIdentityCMap(){if("Identity-H"!==this.name&&"Identity-V"!==this.name)return!1;if(65536!==this._map.length)return!1;for(let e=0;e<65536;e++)if(this._map[e]!==e)return!1;return!0}}class IdentityCMap extends CMap{constructor(e,t){super();this.vertical=e;this.addCodespaceRange(t,0,65535)}mapCidRange(e,t,a){unreachable("should not call mapCidRange")}mapBfRange(e,t,a){unreachable("should not call mapBfRange")}mapBfRangeToArray(e,t,a){unreachable("should not call mapBfRangeToArray")}mapOne(e,t){unreachable("should not call mapCidOne")}lookup(e){return Number.isInteger(e)&&e<=65535?e:void 0}contains(e){return Number.isInteger(e)&&e<=65535}forEach(e){for(let t=0;t<=65535;t++)e(t,t)}charCodeOf(e){return Number.isInteger(e)&&e<=65535?e:-1}getMap(){const e=new Array(65536);for(let t=0;t<=65535;t++)e[t]=t;return e}get length(){return 65536}get isIdentityCMap(){unreachable("should not access .isIdentityCMap")}}function strToInt(e){let t=0;for(let a=0;a>>0}function expectString(e){if("string"!=typeof e)throw new FormatError("Malformed CMap: expected string.")}function expectInt(e){if(!Number.isInteger(e))throw new FormatError("Malformed CMap: expected int.")}function parseBfChar(e,t){for(;;){let a=t.getObj();if(a===sa)break;if(isCmd(a,"endbfchar"))return;expectString(a);const r=strToInt(a);a=t.getObj();expectString(a);const i=a;e.mapOne(r,i)}}function parseBfRange(e,t){for(;;){let a=t.getObj();if(a===sa)break;if(isCmd(a,"endbfrange"))return;expectString(a);const r=strToInt(a);a=t.getObj();expectString(a);const i=strToInt(a);a=t.getObj();if(Number.isInteger(a)||"string"==typeof a){const t=Number.isInteger(a)?String.fromCharCode(a):a;e.mapBfRange(r,i,t)}else{if(!isCmd(a,"["))break;{a=t.getObj();const n=[];for(;!isCmd(a,"]")&&a!==sa;){n.push(a);a=t.getObj()}e.mapBfRangeToArray(r,i,n)}}}throw new FormatError("Invalid bf range.")}function parseCidChar(e,t){for(;;){let a=t.getObj();if(a===sa)break;if(isCmd(a,"endcidchar"))return;expectString(a);const r=strToInt(a);a=t.getObj();expectInt(a);const i=a;e.mapOne(r,i)}}function parseCidRange(e,t){for(;;){let a=t.getObj();if(a===sa)break;if(isCmd(a,"endcidrange"))return;expectString(a);const r=strToInt(a);a=t.getObj();expectString(a);const i=strToInt(a);a=t.getObj();expectInt(a);const n=a;e.mapCidRange(r,i,n)}}function parseCodespaceRange(e,t){for(;;){let a=t.getObj();if(a===sa)break;if(isCmd(a,"endcodespacerange"))return;if("string"!=typeof a)break;const r=strToInt(a);a=t.getObj();if("string"!=typeof a)break;const i=strToInt(a);e.addCodespaceRange(a.length,r,i)}throw new FormatError("Invalid codespace range.")}function parseWMode(e,t){const a=t.getObj();Number.isInteger(a)&&(e.vertical=!!a)}function parseCMapName(e,t){const a=t.getObj();a instanceof Name&&(e.name=a.name)}async function parseCMap(e,t,a,r){let i,n;e:for(;;)try{const a=t.getObj();if(a===sa)break;if(a instanceof Name){"WMode"===a.name?parseWMode(e,t):"CMapName"===a.name&&parseCMapName(e,t);i=a}else if(a instanceof Cmd)switch(a.cmd){case"endcmap":break e;case"usecmap":i instanceof Name&&(n=i.name);break;case"begincodespacerange":parseCodespaceRange(e,t);break;case"beginbfchar":parseBfChar(e,t);break;case"begincidchar":parseCidChar(e,t);break;case"beginbfrange":parseBfRange(e,t);break;case"begincidrange":parseCidRange(e,t)}}catch(e){if(e instanceof MissingDataException)throw e;warn("Invalid cMap data: "+e);continue}!r&&n&&(r=n);return r?extendCMap(e,a,r):e}async function extendCMap(e,t,a){e.useCMap=await createBuiltInCMap(a,t);if(0===e.numCodespaceRanges){const t=e.useCMap.codespaceRanges;for(let a=0;aextendCMap(i,t,e));const n=new Lexer(new Stream(a));return parseCMap(i,n,t,null)}class CMapFactory{static async create({encoding:e,fetchBuiltInCMap:t,useCMap:a}){if(e instanceof Name)return createBuiltInCMap(e.name,t);if(e instanceof BaseStream){if(e.isAsync){const t=await e.asyncGetBytes();t&&(e=new Stream(t,0,t.length,e.dict))}const r=await parseCMap(new CMap,new Lexer(e),t,a);return r.isIdentityCMap?createBuiltInCMap(r.name,t):r}throw new Error("Encoding required.")}}const or=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclamsmall","Hungarumlautsmall","","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","","asuperior","bsuperior","centsuperior","dsuperior","esuperior","","","","isuperior","","","lsuperior","msuperior","nsuperior","osuperior","","","rsuperior","ssuperior","tsuperior","","ff","fi","fl","ffi","ffl","parenleftinferior","","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdownsmall","centoldstyle","Lslashsmall","","","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","","Dotaccentsmall","","","Macronsmall","","","figuredash","hypheninferior","","","Ogoneksmall","Ringsmall","Cedillasmall","","","","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","","","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall"],cr=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclamsmall","Hungarumlautsmall","centoldstyle","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","","threequartersemdash","","questionsmall","","","","","Ethsmall","","","onequarter","onehalf","threequarters","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","","","","","","","ff","fi","fl","ffi","ffl","parenleftinferior","","parenrightinferior","Circumflexsmall","hypheninferior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","","","asuperior","centsuperior","","","","","Aacutesmall","Agravesmall","Acircumflexsmall","Adieresissmall","Atildesmall","Aringsmall","Ccedillasmall","Eacutesmall","Egravesmall","Ecircumflexsmall","Edieresissmall","Iacutesmall","Igravesmall","Icircumflexsmall","Idieresissmall","Ntildesmall","Oacutesmall","Ogravesmall","Ocircumflexsmall","Odieresissmall","Otildesmall","Uacutesmall","Ugravesmall","Ucircumflexsmall","Udieresissmall","","eightsuperior","fourinferior","threeinferior","sixinferior","eightinferior","seveninferior","Scaronsmall","","centinferior","twoinferior","","Dieresissmall","","Caronsmall","osuperior","fiveinferior","","commainferior","periodinferior","Yacutesmall","","dollarinferior","","","Thornsmall","","nineinferior","zeroinferior","Zcaronsmall","AEsmall","Oslashsmall","questiondownsmall","oneinferior","Lslashsmall","","","","","","","Cedillasmall","","","","","","OEsmall","figuredash","hyphensuperior","","","","","exclamdownsmall","","Ydieresissmall","","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","ninesuperior","zerosuperior","","esuperior","rsuperior","tsuperior","","","isuperior","ssuperior","dsuperior","","","","","","lsuperior","Ogoneksmall","Brevesmall","Macronsmall","bsuperior","nsuperior","msuperior","commasuperior","periodsuperior","Dotaccentsmall","Ringsmall","","","",""],lr=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","grave","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","","Adieresis","Aring","Ccedilla","Eacute","Ntilde","Odieresis","Udieresis","aacute","agrave","acircumflex","adieresis","atilde","aring","ccedilla","eacute","egrave","ecircumflex","edieresis","iacute","igrave","icircumflex","idieresis","ntilde","oacute","ograve","ocircumflex","odieresis","otilde","uacute","ugrave","ucircumflex","udieresis","dagger","degree","cent","sterling","section","bullet","paragraph","germandbls","registered","copyright","trademark","acute","dieresis","notequal","AE","Oslash","infinity","plusminus","lessequal","greaterequal","yen","mu","partialdiff","summation","product","pi","integral","ordfeminine","ordmasculine","Omega","ae","oslash","questiondown","exclamdown","logicalnot","radical","florin","approxequal","Delta","guillemotleft","guillemotright","ellipsis","space","Agrave","Atilde","Otilde","OE","oe","endash","emdash","quotedblleft","quotedblright","quoteleft","quoteright","divide","lozenge","ydieresis","Ydieresis","fraction","currency","guilsinglleft","guilsinglright","fi","fl","daggerdbl","periodcentered","quotesinglbase","quotedblbase","perthousand","Acircumflex","Ecircumflex","Aacute","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Oacute","Ocircumflex","apple","Ograve","Uacute","Ucircumflex","Ugrave","dotlessi","circumflex","tilde","macron","breve","dotaccent","ring","cedilla","hungarumlaut","ogonek","caron"],hr=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","","endash","dagger","daggerdbl","periodcentered","","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","","questiondown","","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","","ring","cedilla","","hungarumlaut","ogonek","caron","emdash","","","","","","","","","","","","","","","","","AE","","ordfeminine","","","","","Lslash","Oslash","OE","ordmasculine","","","","","","ae","","","","dotlessi","","","lslash","oslash","oe","germandbls","","","",""],ur=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","grave","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","bullet","Euro","bullet","quotesinglbase","florin","quotedblbase","ellipsis","dagger","daggerdbl","circumflex","perthousand","Scaron","guilsinglleft","OE","bullet","Zcaron","bullet","bullet","quoteleft","quoteright","quotedblleft","quotedblright","bullet","endash","emdash","tilde","trademark","scaron","guilsinglright","oe","bullet","zcaron","Ydieresis","space","exclamdown","cent","sterling","currency","yen","brokenbar","section","dieresis","copyright","ordfeminine","guillemotleft","logicalnot","hyphen","registered","macron","degree","plusminus","twosuperior","threesuperior","acute","mu","paragraph","periodcentered","cedilla","onesuperior","ordmasculine","guillemotright","onequarter","onehalf","threequarters","questiondown","Agrave","Aacute","Acircumflex","Atilde","Adieresis","Aring","AE","Ccedilla","Egrave","Eacute","Ecircumflex","Edieresis","Igrave","Iacute","Icircumflex","Idieresis","Eth","Ntilde","Ograve","Oacute","Ocircumflex","Otilde","Odieresis","multiply","Oslash","Ugrave","Uacute","Ucircumflex","Udieresis","Yacute","Thorn","germandbls","agrave","aacute","acircumflex","atilde","adieresis","aring","ae","ccedilla","egrave","eacute","ecircumflex","edieresis","igrave","iacute","icircumflex","idieresis","eth","ntilde","ograve","oacute","ocircumflex","otilde","odieresis","divide","oslash","ugrave","uacute","ucircumflex","udieresis","yacute","thorn","ydieresis"],dr=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","universal","numbersign","existential","percent","ampersand","suchthat","parenleft","parenright","asteriskmath","plus","comma","minus","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","congruent","Alpha","Beta","Chi","Delta","Epsilon","Phi","Gamma","Eta","Iota","theta1","Kappa","Lambda","Mu","Nu","Omicron","Pi","Theta","Rho","Sigma","Tau","Upsilon","sigma1","Omega","Xi","Psi","Zeta","bracketleft","therefore","bracketright","perpendicular","underscore","radicalex","alpha","beta","chi","delta","epsilon","phi","gamma","eta","iota","phi1","kappa","lambda","mu","nu","omicron","pi","theta","rho","sigma","tau","upsilon","omega1","omega","xi","psi","zeta","braceleft","bar","braceright","similar","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Euro","Upsilon1","minute","lessequal","fraction","infinity","florin","club","diamond","heart","spade","arrowboth","arrowleft","arrowup","arrowright","arrowdown","degree","plusminus","second","greaterequal","multiply","proportional","partialdiff","bullet","divide","notequal","equivalence","approxequal","ellipsis","arrowvertex","arrowhorizex","carriagereturn","aleph","Ifraktur","Rfraktur","weierstrass","circlemultiply","circleplus","emptyset","intersection","union","propersuperset","reflexsuperset","notsubset","propersubset","reflexsubset","element","notelement","angle","gradient","registerserif","copyrightserif","trademarkserif","product","radical","dotmath","logicalnot","logicaland","logicalor","arrowdblboth","arrowdblleft","arrowdblup","arrowdblright","arrowdbldown","lozenge","angleleft","registersans","copyrightsans","trademarksans","summation","parenlefttp","parenleftex","parenleftbt","bracketlefttp","bracketleftex","bracketleftbt","bracelefttp","braceleftmid","braceleftbt","braceex","","angleright","integral","integraltp","integralex","integralbt","parenrighttp","parenrightex","parenrightbt","bracketrighttp","bracketrightex","bracketrightbt","bracerighttp","bracerightmid","bracerightbt",""],fr=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","a1","a2","a202","a3","a4","a5","a119","a118","a117","a11","a12","a13","a14","a15","a16","a105","a17","a18","a19","a20","a21","a22","a23","a24","a25","a26","a27","a28","a6","a7","a8","a9","a10","a29","a30","a31","a32","a33","a34","a35","a36","a37","a38","a39","a40","a41","a42","a43","a44","a45","a46","a47","a48","a49","a50","a51","a52","a53","a54","a55","a56","a57","a58","a59","a60","a61","a62","a63","a64","a65","a66","a67","a68","a69","a70","a71","a72","a73","a74","a203","a75","a204","a76","a77","a78","a79","a81","a82","a83","a84","a97","a98","a99","a100","","a89","a90","a93","a94","a91","a92","a205","a85","a206","a86","a87","a88","a95","a96","","","","","","","","","","","","","","","","","","","","a101","a102","a103","a104","a106","a107","a108","a112","a111","a110","a109","a120","a121","a122","a123","a124","a125","a126","a127","a128","a129","a130","a131","a132","a133","a134","a135","a136","a137","a138","a139","a140","a141","a142","a143","a144","a145","a146","a147","a148","a149","a150","a151","a152","a153","a154","a155","a156","a157","a158","a159","a160","a161","a163","a164","a196","a165","a192","a166","a167","a168","a169","a170","a171","a172","a173","a162","a174","a175","a176","a177","a178","a179","a193","a180","a199","a181","a200","a182","","a201","a183","a184","a197","a185","a194","a198","a186","a195","a187","a188","a189","a190","a191",""];function getEncoding(e){switch(e){case"WinAnsiEncoding":return ur;case"StandardEncoding":return hr;case"MacRomanEncoding":return lr;case"SymbolSetEncoding":return dr;case"ZapfDingbatsEncoding":return fr;case"ExpertEncoding":return or;case"MacExpertEncoding":return cr;default:return null}}const gr=getLookupTableFactory(function(e){e.A=65;e.AE=198;e.AEacute=508;e.AEmacron=482;e.AEsmall=63462;e.Aacute=193;e.Aacutesmall=63457;e.Abreve=258;e.Abreveacute=7854;e.Abrevecyrillic=1232;e.Abrevedotbelow=7862;e.Abrevegrave=7856;e.Abrevehookabove=7858;e.Abrevetilde=7860;e.Acaron=461;e.Acircle=9398;e.Acircumflex=194;e.Acircumflexacute=7844;e.Acircumflexdotbelow=7852;e.Acircumflexgrave=7846;e.Acircumflexhookabove=7848;e.Acircumflexsmall=63458;e.Acircumflextilde=7850;e.Acute=63177;e.Acutesmall=63412;e.Acyrillic=1040;e.Adblgrave=512;e.Adieresis=196;e.Adieresiscyrillic=1234;e.Adieresismacron=478;e.Adieresissmall=63460;e.Adotbelow=7840;e.Adotmacron=480;e.Agrave=192;e.Agravesmall=63456;e.Ahookabove=7842;e.Aiecyrillic=1236;e.Ainvertedbreve=514;e.Alpha=913;e.Alphatonos=902;e.Amacron=256;e.Amonospace=65313;e.Aogonek=260;e.Aring=197;e.Aringacute=506;e.Aringbelow=7680;e.Aringsmall=63461;e.Asmall=63329;e.Atilde=195;e.Atildesmall=63459;e.Aybarmenian=1329;e.B=66;e.Bcircle=9399;e.Bdotaccent=7682;e.Bdotbelow=7684;e.Becyrillic=1041;e.Benarmenian=1330;e.Beta=914;e.Bhook=385;e.Blinebelow=7686;e.Bmonospace=65314;e.Brevesmall=63220;e.Bsmall=63330;e.Btopbar=386;e.C=67;e.Caarmenian=1342;e.Cacute=262;e.Caron=63178;e.Caronsmall=63221;e.Ccaron=268;e.Ccedilla=199;e.Ccedillaacute=7688;e.Ccedillasmall=63463;e.Ccircle=9400;e.Ccircumflex=264;e.Cdot=266;e.Cdotaccent=266;e.Cedillasmall=63416;e.Chaarmenian=1353;e.Cheabkhasiancyrillic=1212;e.Checyrillic=1063;e.Chedescenderabkhasiancyrillic=1214;e.Chedescendercyrillic=1206;e.Chedieresiscyrillic=1268;e.Cheharmenian=1347;e.Chekhakassiancyrillic=1227;e.Cheverticalstrokecyrillic=1208;e.Chi=935;e.Chook=391;e.Circumflexsmall=63222;e.Cmonospace=65315;e.Coarmenian=1361;e.Csmall=63331;e.D=68;e.DZ=497;e.DZcaron=452;e.Daarmenian=1332;e.Dafrican=393;e.Dcaron=270;e.Dcedilla=7696;e.Dcircle=9401;e.Dcircumflexbelow=7698;e.Dcroat=272;e.Ddotaccent=7690;e.Ddotbelow=7692;e.Decyrillic=1044;e.Deicoptic=1006;e.Delta=8710;e.Deltagreek=916;e.Dhook=394;e.Dieresis=63179;e.DieresisAcute=63180;e.DieresisGrave=63181;e.Dieresissmall=63400;e.Digammagreek=988;e.Djecyrillic=1026;e.Dlinebelow=7694;e.Dmonospace=65316;e.Dotaccentsmall=63223;e.Dslash=272;e.Dsmall=63332;e.Dtopbar=395;e.Dz=498;e.Dzcaron=453;e.Dzeabkhasiancyrillic=1248;e.Dzecyrillic=1029;e.Dzhecyrillic=1039;e.E=69;e.Eacute=201;e.Eacutesmall=63465;e.Ebreve=276;e.Ecaron=282;e.Ecedillabreve=7708;e.Echarmenian=1333;e.Ecircle=9402;e.Ecircumflex=202;e.Ecircumflexacute=7870;e.Ecircumflexbelow=7704;e.Ecircumflexdotbelow=7878;e.Ecircumflexgrave=7872;e.Ecircumflexhookabove=7874;e.Ecircumflexsmall=63466;e.Ecircumflextilde=7876;e.Ecyrillic=1028;e.Edblgrave=516;e.Edieresis=203;e.Edieresissmall=63467;e.Edot=278;e.Edotaccent=278;e.Edotbelow=7864;e.Efcyrillic=1060;e.Egrave=200;e.Egravesmall=63464;e.Eharmenian=1335;e.Ehookabove=7866;e.Eightroman=8551;e.Einvertedbreve=518;e.Eiotifiedcyrillic=1124;e.Elcyrillic=1051;e.Elevenroman=8554;e.Emacron=274;e.Emacronacute=7702;e.Emacrongrave=7700;e.Emcyrillic=1052;e.Emonospace=65317;e.Encyrillic=1053;e.Endescendercyrillic=1186;e.Eng=330;e.Enghecyrillic=1188;e.Enhookcyrillic=1223;e.Eogonek=280;e.Eopen=400;e.Epsilon=917;e.Epsilontonos=904;e.Ercyrillic=1056;e.Ereversed=398;e.Ereversedcyrillic=1069;e.Escyrillic=1057;e.Esdescendercyrillic=1194;e.Esh=425;e.Esmall=63333;e.Eta=919;e.Etarmenian=1336;e.Etatonos=905;e.Eth=208;e.Ethsmall=63472;e.Etilde=7868;e.Etildebelow=7706;e.Euro=8364;e.Ezh=439;e.Ezhcaron=494;e.Ezhreversed=440;e.F=70;e.Fcircle=9403;e.Fdotaccent=7710;e.Feharmenian=1366;e.Feicoptic=996;e.Fhook=401;e.Fitacyrillic=1138;e.Fiveroman=8548;e.Fmonospace=65318;e.Fourroman=8547;e.Fsmall=63334;e.G=71;e.GBsquare=13191;e.Gacute=500;e.Gamma=915;e.Gammaafrican=404;e.Gangiacoptic=1002;e.Gbreve=286;e.Gcaron=486;e.Gcedilla=290;e.Gcircle=9404;e.Gcircumflex=284;e.Gcommaaccent=290;e.Gdot=288;e.Gdotaccent=288;e.Gecyrillic=1043;e.Ghadarmenian=1346;e.Ghemiddlehookcyrillic=1172;e.Ghestrokecyrillic=1170;e.Gheupturncyrillic=1168;e.Ghook=403;e.Gimarmenian=1331;e.Gjecyrillic=1027;e.Gmacron=7712;e.Gmonospace=65319;e.Grave=63182;e.Gravesmall=63328;e.Gsmall=63335;e.Gsmallhook=667;e.Gstroke=484;e.H=72;e.H18533=9679;e.H18543=9642;e.H18551=9643;e.H22073=9633;e.HPsquare=13259;e.Haabkhasiancyrillic=1192;e.Hadescendercyrillic=1202;e.Hardsigncyrillic=1066;e.Hbar=294;e.Hbrevebelow=7722;e.Hcedilla=7720;e.Hcircle=9405;e.Hcircumflex=292;e.Hdieresis=7718;e.Hdotaccent=7714;e.Hdotbelow=7716;e.Hmonospace=65320;e.Hoarmenian=1344;e.Horicoptic=1e3;e.Hsmall=63336;e.Hungarumlaut=63183;e.Hungarumlautsmall=63224;e.Hzsquare=13200;e.I=73;e.IAcyrillic=1071;e.IJ=306;e.IUcyrillic=1070;e.Iacute=205;e.Iacutesmall=63469;e.Ibreve=300;e.Icaron=463;e.Icircle=9406;e.Icircumflex=206;e.Icircumflexsmall=63470;e.Icyrillic=1030;e.Idblgrave=520;e.Idieresis=207;e.Idieresisacute=7726;e.Idieresiscyrillic=1252;e.Idieresissmall=63471;e.Idot=304;e.Idotaccent=304;e.Idotbelow=7882;e.Iebrevecyrillic=1238;e.Iecyrillic=1045;e.Ifraktur=8465;e.Igrave=204;e.Igravesmall=63468;e.Ihookabove=7880;e.Iicyrillic=1048;e.Iinvertedbreve=522;e.Iishortcyrillic=1049;e.Imacron=298;e.Imacroncyrillic=1250;e.Imonospace=65321;e.Iniarmenian=1339;e.Iocyrillic=1025;e.Iogonek=302;e.Iota=921;e.Iotaafrican=406;e.Iotadieresis=938;e.Iotatonos=906;e.Ismall=63337;e.Istroke=407;e.Itilde=296;e.Itildebelow=7724;e.Izhitsacyrillic=1140;e.Izhitsadblgravecyrillic=1142;e.J=74;e.Jaarmenian=1345;e.Jcircle=9407;e.Jcircumflex=308;e.Jecyrillic=1032;e.Jheharmenian=1355;e.Jmonospace=65322;e.Jsmall=63338;e.K=75;e.KBsquare=13189;e.KKsquare=13261;e.Kabashkircyrillic=1184;e.Kacute=7728;e.Kacyrillic=1050;e.Kadescendercyrillic=1178;e.Kahookcyrillic=1219;e.Kappa=922;e.Kastrokecyrillic=1182;e.Kaverticalstrokecyrillic=1180;e.Kcaron=488;e.Kcedilla=310;e.Kcircle=9408;e.Kcommaaccent=310;e.Kdotbelow=7730;e.Keharmenian=1364;e.Kenarmenian=1343;e.Khacyrillic=1061;e.Kheicoptic=998;e.Khook=408;e.Kjecyrillic=1036;e.Klinebelow=7732;e.Kmonospace=65323;e.Koppacyrillic=1152;e.Koppagreek=990;e.Ksicyrillic=1134;e.Ksmall=63339;e.L=76;e.LJ=455;e.LL=63167;e.Lacute=313;e.Lambda=923;e.Lcaron=317;e.Lcedilla=315;e.Lcircle=9409;e.Lcircumflexbelow=7740;e.Lcommaaccent=315;e.Ldot=319;e.Ldotaccent=319;e.Ldotbelow=7734;e.Ldotbelowmacron=7736;e.Liwnarmenian=1340;e.Lj=456;e.Ljecyrillic=1033;e.Llinebelow=7738;e.Lmonospace=65324;e.Lslash=321;e.Lslashsmall=63225;e.Lsmall=63340;e.M=77;e.MBsquare=13190;e.Macron=63184;e.Macronsmall=63407;e.Macute=7742;e.Mcircle=9410;e.Mdotaccent=7744;e.Mdotbelow=7746;e.Menarmenian=1348;e.Mmonospace=65325;e.Msmall=63341;e.Mturned=412;e.Mu=924;e.N=78;e.NJ=458;e.Nacute=323;e.Ncaron=327;e.Ncedilla=325;e.Ncircle=9411;e.Ncircumflexbelow=7754;e.Ncommaaccent=325;e.Ndotaccent=7748;e.Ndotbelow=7750;e.Nhookleft=413;e.Nineroman=8552;e.Nj=459;e.Njecyrillic=1034;e.Nlinebelow=7752;e.Nmonospace=65326;e.Nowarmenian=1350;e.Nsmall=63342;e.Ntilde=209;e.Ntildesmall=63473;e.Nu=925;e.O=79;e.OE=338;e.OEsmall=63226;e.Oacute=211;e.Oacutesmall=63475;e.Obarredcyrillic=1256;e.Obarreddieresiscyrillic=1258;e.Obreve=334;e.Ocaron=465;e.Ocenteredtilde=415;e.Ocircle=9412;e.Ocircumflex=212;e.Ocircumflexacute=7888;e.Ocircumflexdotbelow=7896;e.Ocircumflexgrave=7890;e.Ocircumflexhookabove=7892;e.Ocircumflexsmall=63476;e.Ocircumflextilde=7894;e.Ocyrillic=1054;e.Odblacute=336;e.Odblgrave=524;e.Odieresis=214;e.Odieresiscyrillic=1254;e.Odieresissmall=63478;e.Odotbelow=7884;e.Ogoneksmall=63227;e.Ograve=210;e.Ogravesmall=63474;e.Oharmenian=1365;e.Ohm=8486;e.Ohookabove=7886;e.Ohorn=416;e.Ohornacute=7898;e.Ohorndotbelow=7906;e.Ohorngrave=7900;e.Ohornhookabove=7902;e.Ohorntilde=7904;e.Ohungarumlaut=336;e.Oi=418;e.Oinvertedbreve=526;e.Omacron=332;e.Omacronacute=7762;e.Omacrongrave=7760;e.Omega=8486;e.Omegacyrillic=1120;e.Omegagreek=937;e.Omegaroundcyrillic=1146;e.Omegatitlocyrillic=1148;e.Omegatonos=911;e.Omicron=927;e.Omicrontonos=908;e.Omonospace=65327;e.Oneroman=8544;e.Oogonek=490;e.Oogonekmacron=492;e.Oopen=390;e.Oslash=216;e.Oslashacute=510;e.Oslashsmall=63480;e.Osmall=63343;e.Ostrokeacute=510;e.Otcyrillic=1150;e.Otilde=213;e.Otildeacute=7756;e.Otildedieresis=7758;e.Otildesmall=63477;e.P=80;e.Pacute=7764;e.Pcircle=9413;e.Pdotaccent=7766;e.Pecyrillic=1055;e.Peharmenian=1354;e.Pemiddlehookcyrillic=1190;e.Phi=934;e.Phook=420;e.Pi=928;e.Piwrarmenian=1363;e.Pmonospace=65328;e.Psi=936;e.Psicyrillic=1136;e.Psmall=63344;e.Q=81;e.Qcircle=9414;e.Qmonospace=65329;e.Qsmall=63345;e.R=82;e.Raarmenian=1356;e.Racute=340;e.Rcaron=344;e.Rcedilla=342;e.Rcircle=9415;e.Rcommaaccent=342;e.Rdblgrave=528;e.Rdotaccent=7768;e.Rdotbelow=7770;e.Rdotbelowmacron=7772;e.Reharmenian=1360;e.Rfraktur=8476;e.Rho=929;e.Ringsmall=63228;e.Rinvertedbreve=530;e.Rlinebelow=7774;e.Rmonospace=65330;e.Rsmall=63346;e.Rsmallinverted=641;e.Rsmallinvertedsuperior=694;e.S=83;e.SF010000=9484;e.SF020000=9492;e.SF030000=9488;e.SF040000=9496;e.SF050000=9532;e.SF060000=9516;e.SF070000=9524;e.SF080000=9500;e.SF090000=9508;e.SF100000=9472;e.SF110000=9474;e.SF190000=9569;e.SF200000=9570;e.SF210000=9558;e.SF220000=9557;e.SF230000=9571;e.SF240000=9553;e.SF250000=9559;e.SF260000=9565;e.SF270000=9564;e.SF280000=9563;e.SF360000=9566;e.SF370000=9567;e.SF380000=9562;e.SF390000=9556;e.SF400000=9577;e.SF410000=9574;e.SF420000=9568;e.SF430000=9552;e.SF440000=9580;e.SF450000=9575;e.SF460000=9576;e.SF470000=9572;e.SF480000=9573;e.SF490000=9561;e.SF500000=9560;e.SF510000=9554;e.SF520000=9555;e.SF530000=9579;e.SF540000=9578;e.Sacute=346;e.Sacutedotaccent=7780;e.Sampigreek=992;e.Scaron=352;e.Scarondotaccent=7782;e.Scaronsmall=63229;e.Scedilla=350;e.Schwa=399;e.Schwacyrillic=1240;e.Schwadieresiscyrillic=1242;e.Scircle=9416;e.Scircumflex=348;e.Scommaaccent=536;e.Sdotaccent=7776;e.Sdotbelow=7778;e.Sdotbelowdotaccent=7784;e.Seharmenian=1357;e.Sevenroman=8550;e.Shaarmenian=1351;e.Shacyrillic=1064;e.Shchacyrillic=1065;e.Sheicoptic=994;e.Shhacyrillic=1210;e.Shimacoptic=1004;e.Sigma=931;e.Sixroman=8549;e.Smonospace=65331;e.Softsigncyrillic=1068;e.Ssmall=63347;e.Stigmagreek=986;e.T=84;e.Tau=932;e.Tbar=358;e.Tcaron=356;e.Tcedilla=354;e.Tcircle=9417;e.Tcircumflexbelow=7792;e.Tcommaaccent=354;e.Tdotaccent=7786;e.Tdotbelow=7788;e.Tecyrillic=1058;e.Tedescendercyrillic=1196;e.Tenroman=8553;e.Tetsecyrillic=1204;e.Theta=920;e.Thook=428;e.Thorn=222;e.Thornsmall=63486;e.Threeroman=8546;e.Tildesmall=63230;e.Tiwnarmenian=1359;e.Tlinebelow=7790;e.Tmonospace=65332;e.Toarmenian=1337;e.Tonefive=444;e.Tonesix=388;e.Tonetwo=423;e.Tretroflexhook=430;e.Tsecyrillic=1062;e.Tshecyrillic=1035;e.Tsmall=63348;e.Twelveroman=8555;e.Tworoman=8545;e.U=85;e.Uacute=218;e.Uacutesmall=63482;e.Ubreve=364;e.Ucaron=467;e.Ucircle=9418;e.Ucircumflex=219;e.Ucircumflexbelow=7798;e.Ucircumflexsmall=63483;e.Ucyrillic=1059;e.Udblacute=368;e.Udblgrave=532;e.Udieresis=220;e.Udieresisacute=471;e.Udieresisbelow=7794;e.Udieresiscaron=473;e.Udieresiscyrillic=1264;e.Udieresisgrave=475;e.Udieresismacron=469;e.Udieresissmall=63484;e.Udotbelow=7908;e.Ugrave=217;e.Ugravesmall=63481;e.Uhookabove=7910;e.Uhorn=431;e.Uhornacute=7912;e.Uhorndotbelow=7920;e.Uhorngrave=7914;e.Uhornhookabove=7916;e.Uhorntilde=7918;e.Uhungarumlaut=368;e.Uhungarumlautcyrillic=1266;e.Uinvertedbreve=534;e.Ukcyrillic=1144;e.Umacron=362;e.Umacroncyrillic=1262;e.Umacrondieresis=7802;e.Umonospace=65333;e.Uogonek=370;e.Upsilon=933;e.Upsilon1=978;e.Upsilonacutehooksymbolgreek=979;e.Upsilonafrican=433;e.Upsilondieresis=939;e.Upsilondieresishooksymbolgreek=980;e.Upsilonhooksymbol=978;e.Upsilontonos=910;e.Uring=366;e.Ushortcyrillic=1038;e.Usmall=63349;e.Ustraightcyrillic=1198;e.Ustraightstrokecyrillic=1200;e.Utilde=360;e.Utildeacute=7800;e.Utildebelow=7796;e.V=86;e.Vcircle=9419;e.Vdotbelow=7806;e.Vecyrillic=1042;e.Vewarmenian=1358;e.Vhook=434;e.Vmonospace=65334;e.Voarmenian=1352;e.Vsmall=63350;e.Vtilde=7804;e.W=87;e.Wacute=7810;e.Wcircle=9420;e.Wcircumflex=372;e.Wdieresis=7812;e.Wdotaccent=7814;e.Wdotbelow=7816;e.Wgrave=7808;e.Wmonospace=65335;e.Wsmall=63351;e.X=88;e.Xcircle=9421;e.Xdieresis=7820;e.Xdotaccent=7818;e.Xeharmenian=1341;e.Xi=926;e.Xmonospace=65336;e.Xsmall=63352;e.Y=89;e.Yacute=221;e.Yacutesmall=63485;e.Yatcyrillic=1122;e.Ycircle=9422;e.Ycircumflex=374;e.Ydieresis=376;e.Ydieresissmall=63487;e.Ydotaccent=7822;e.Ydotbelow=7924;e.Yericyrillic=1067;e.Yerudieresiscyrillic=1272;e.Ygrave=7922;e.Yhook=435;e.Yhookabove=7926;e.Yiarmenian=1349;e.Yicyrillic=1031;e.Yiwnarmenian=1362;e.Ymonospace=65337;e.Ysmall=63353;e.Ytilde=7928;e.Yusbigcyrillic=1130;e.Yusbigiotifiedcyrillic=1132;e.Yuslittlecyrillic=1126;e.Yuslittleiotifiedcyrillic=1128;e.Z=90;e.Zaarmenian=1334;e.Zacute=377;e.Zcaron=381;e.Zcaronsmall=63231;e.Zcircle=9423;e.Zcircumflex=7824;e.Zdot=379;e.Zdotaccent=379;e.Zdotbelow=7826;e.Zecyrillic=1047;e.Zedescendercyrillic=1176;e.Zedieresiscyrillic=1246;e.Zeta=918;e.Zhearmenian=1338;e.Zhebrevecyrillic=1217;e.Zhecyrillic=1046;e.Zhedescendercyrillic=1174;e.Zhedieresiscyrillic=1244;e.Zlinebelow=7828;e.Zmonospace=65338;e.Zsmall=63354;e.Zstroke=437;e.a=97;e.aabengali=2438;e.aacute=225;e.aadeva=2310;e.aagujarati=2694;e.aagurmukhi=2566;e.aamatragurmukhi=2622;e.aarusquare=13059;e.aavowelsignbengali=2494;e.aavowelsigndeva=2366;e.aavowelsigngujarati=2750;e.abbreviationmarkarmenian=1375;e.abbreviationsigndeva=2416;e.abengali=2437;e.abopomofo=12570;e.abreve=259;e.abreveacute=7855;e.abrevecyrillic=1233;e.abrevedotbelow=7863;e.abrevegrave=7857;e.abrevehookabove=7859;e.abrevetilde=7861;e.acaron=462;e.acircle=9424;e.acircumflex=226;e.acircumflexacute=7845;e.acircumflexdotbelow=7853;e.acircumflexgrave=7847;e.acircumflexhookabove=7849;e.acircumflextilde=7851;e.acute=180;e.acutebelowcmb=791;e.acutecmb=769;e.acutecomb=769;e.acutedeva=2388;e.acutelowmod=719;e.acutetonecmb=833;e.acyrillic=1072;e.adblgrave=513;e.addakgurmukhi=2673;e.adeva=2309;e.adieresis=228;e.adieresiscyrillic=1235;e.adieresismacron=479;e.adotbelow=7841;e.adotmacron=481;e.ae=230;e.aeacute=509;e.aekorean=12624;e.aemacron=483;e.afii00208=8213;e.afii08941=8356;e.afii10017=1040;e.afii10018=1041;e.afii10019=1042;e.afii10020=1043;e.afii10021=1044;e.afii10022=1045;e.afii10023=1025;e.afii10024=1046;e.afii10025=1047;e.afii10026=1048;e.afii10027=1049;e.afii10028=1050;e.afii10029=1051;e.afii10030=1052;e.afii10031=1053;e.afii10032=1054;e.afii10033=1055;e.afii10034=1056;e.afii10035=1057;e.afii10036=1058;e.afii10037=1059;e.afii10038=1060;e.afii10039=1061;e.afii10040=1062;e.afii10041=1063;e.afii10042=1064;e.afii10043=1065;e.afii10044=1066;e.afii10045=1067;e.afii10046=1068;e.afii10047=1069;e.afii10048=1070;e.afii10049=1071;e.afii10050=1168;e.afii10051=1026;e.afii10052=1027;e.afii10053=1028;e.afii10054=1029;e.afii10055=1030;e.afii10056=1031;e.afii10057=1032;e.afii10058=1033;e.afii10059=1034;e.afii10060=1035;e.afii10061=1036;e.afii10062=1038;e.afii10063=63172;e.afii10064=63173;e.afii10065=1072;e.afii10066=1073;e.afii10067=1074;e.afii10068=1075;e.afii10069=1076;e.afii10070=1077;e.afii10071=1105;e.afii10072=1078;e.afii10073=1079;e.afii10074=1080;e.afii10075=1081;e.afii10076=1082;e.afii10077=1083;e.afii10078=1084;e.afii10079=1085;e.afii10080=1086;e.afii10081=1087;e.afii10082=1088;e.afii10083=1089;e.afii10084=1090;e.afii10085=1091;e.afii10086=1092;e.afii10087=1093;e.afii10088=1094;e.afii10089=1095;e.afii10090=1096;e.afii10091=1097;e.afii10092=1098;e.afii10093=1099;e.afii10094=1100;e.afii10095=1101;e.afii10096=1102;e.afii10097=1103;e.afii10098=1169;e.afii10099=1106;e.afii10100=1107;e.afii10101=1108;e.afii10102=1109;e.afii10103=1110;e.afii10104=1111;e.afii10105=1112;e.afii10106=1113;e.afii10107=1114;e.afii10108=1115;e.afii10109=1116;e.afii10110=1118;e.afii10145=1039;e.afii10146=1122;e.afii10147=1138;e.afii10148=1140;e.afii10192=63174;e.afii10193=1119;e.afii10194=1123;e.afii10195=1139;e.afii10196=1141;e.afii10831=63175;e.afii10832=63176;e.afii10846=1241;e.afii299=8206;e.afii300=8207;e.afii301=8205;e.afii57381=1642;e.afii57388=1548;e.afii57392=1632;e.afii57393=1633;e.afii57394=1634;e.afii57395=1635;e.afii57396=1636;e.afii57397=1637;e.afii57398=1638;e.afii57399=1639;e.afii57400=1640;e.afii57401=1641;e.afii57403=1563;e.afii57407=1567;e.afii57409=1569;e.afii57410=1570;e.afii57411=1571;e.afii57412=1572;e.afii57413=1573;e.afii57414=1574;e.afii57415=1575;e.afii57416=1576;e.afii57417=1577;e.afii57418=1578;e.afii57419=1579;e.afii57420=1580;e.afii57421=1581;e.afii57422=1582;e.afii57423=1583;e.afii57424=1584;e.afii57425=1585;e.afii57426=1586;e.afii57427=1587;e.afii57428=1588;e.afii57429=1589;e.afii57430=1590;e.afii57431=1591;e.afii57432=1592;e.afii57433=1593;e.afii57434=1594;e.afii57440=1600;e.afii57441=1601;e.afii57442=1602;e.afii57443=1603;e.afii57444=1604;e.afii57445=1605;e.afii57446=1606;e.afii57448=1608;e.afii57449=1609;e.afii57450=1610;e.afii57451=1611;e.afii57452=1612;e.afii57453=1613;e.afii57454=1614;e.afii57455=1615;e.afii57456=1616;e.afii57457=1617;e.afii57458=1618;e.afii57470=1607;e.afii57505=1700;e.afii57506=1662;e.afii57507=1670;e.afii57508=1688;e.afii57509=1711;e.afii57511=1657;e.afii57512=1672;e.afii57513=1681;e.afii57514=1722;e.afii57519=1746;e.afii57534=1749;e.afii57636=8362;e.afii57645=1470;e.afii57658=1475;e.afii57664=1488;e.afii57665=1489;e.afii57666=1490;e.afii57667=1491;e.afii57668=1492;e.afii57669=1493;e.afii57670=1494;e.afii57671=1495;e.afii57672=1496;e.afii57673=1497;e.afii57674=1498;e.afii57675=1499;e.afii57676=1500;e.afii57677=1501;e.afii57678=1502;e.afii57679=1503;e.afii57680=1504;e.afii57681=1505;e.afii57682=1506;e.afii57683=1507;e.afii57684=1508;e.afii57685=1509;e.afii57686=1510;e.afii57687=1511;e.afii57688=1512;e.afii57689=1513;e.afii57690=1514;e.afii57694=64298;e.afii57695=64299;e.afii57700=64331;e.afii57705=64287;e.afii57716=1520;e.afii57717=1521;e.afii57718=1522;e.afii57723=64309;e.afii57793=1460;e.afii57794=1461;e.afii57795=1462;e.afii57796=1467;e.afii57797=1464;e.afii57798=1463;e.afii57799=1456;e.afii57800=1458;e.afii57801=1457;e.afii57802=1459;e.afii57803=1474;e.afii57804=1473;e.afii57806=1465;e.afii57807=1468;e.afii57839=1469;e.afii57841=1471;e.afii57842=1472;e.afii57929=700;e.afii61248=8453;e.afii61289=8467;e.afii61352=8470;e.afii61573=8236;e.afii61574=8237;e.afii61575=8238;e.afii61664=8204;e.afii63167=1645;e.afii64937=701;e.agrave=224;e.agujarati=2693;e.agurmukhi=2565;e.ahiragana=12354;e.ahookabove=7843;e.aibengali=2448;e.aibopomofo=12574;e.aideva=2320;e.aiecyrillic=1237;e.aigujarati=2704;e.aigurmukhi=2576;e.aimatragurmukhi=2632;e.ainarabic=1593;e.ainfinalarabic=65226;e.aininitialarabic=65227;e.ainmedialarabic=65228;e.ainvertedbreve=515;e.aivowelsignbengali=2504;e.aivowelsigndeva=2376;e.aivowelsigngujarati=2760;e.akatakana=12450;e.akatakanahalfwidth=65393;e.akorean=12623;e.alef=1488;e.alefarabic=1575;e.alefdageshhebrew=64304;e.aleffinalarabic=65166;e.alefhamzaabovearabic=1571;e.alefhamzaabovefinalarabic=65156;e.alefhamzabelowarabic=1573;e.alefhamzabelowfinalarabic=65160;e.alefhebrew=1488;e.aleflamedhebrew=64335;e.alefmaddaabovearabic=1570;e.alefmaddaabovefinalarabic=65154;e.alefmaksuraarabic=1609;e.alefmaksurafinalarabic=65264;e.alefmaksurainitialarabic=65267;e.alefmaksuramedialarabic=65268;e.alefpatahhebrew=64302;e.alefqamatshebrew=64303;e.aleph=8501;e.allequal=8780;e.alpha=945;e.alphatonos=940;e.amacron=257;e.amonospace=65345;e.ampersand=38;e.ampersandmonospace=65286;e.ampersandsmall=63270;e.amsquare=13250;e.anbopomofo=12578;e.angbopomofo=12580;e.angbracketleft=12296;e.angbracketright=12297;e.angkhankhuthai=3674;e.angle=8736;e.anglebracketleft=12296;e.anglebracketleftvertical=65087;e.anglebracketright=12297;e.anglebracketrightvertical=65088;e.angleleft=9001;e.angleright=9002;e.angstrom=8491;e.anoteleia=903;e.anudattadeva=2386;e.anusvarabengali=2434;e.anusvaradeva=2306;e.anusvaragujarati=2690;e.aogonek=261;e.apaatosquare=13056;e.aparen=9372;e.apostrophearmenian=1370;e.apostrophemod=700;e.apple=63743;e.approaches=8784;e.approxequal=8776;e.approxequalorimage=8786;e.approximatelyequal=8773;e.araeaekorean=12686;e.araeakorean=12685;e.arc=8978;e.arighthalfring=7834;e.aring=229;e.aringacute=507;e.aringbelow=7681;e.arrowboth=8596;e.arrowdashdown=8675;e.arrowdashleft=8672;e.arrowdashright=8674;e.arrowdashup=8673;e.arrowdblboth=8660;e.arrowdbldown=8659;e.arrowdblleft=8656;e.arrowdblright=8658;e.arrowdblup=8657;e.arrowdown=8595;e.arrowdownleft=8601;e.arrowdownright=8600;e.arrowdownwhite=8681;e.arrowheaddownmod=709;e.arrowheadleftmod=706;e.arrowheadrightmod=707;e.arrowheadupmod=708;e.arrowhorizex=63719;e.arrowleft=8592;e.arrowleftdbl=8656;e.arrowleftdblstroke=8653;e.arrowleftoverright=8646;e.arrowleftwhite=8678;e.arrowright=8594;e.arrowrightdblstroke=8655;e.arrowrightheavy=10142;e.arrowrightoverleft=8644;e.arrowrightwhite=8680;e.arrowtableft=8676;e.arrowtabright=8677;e.arrowup=8593;e.arrowupdn=8597;e.arrowupdnbse=8616;e.arrowupdownbase=8616;e.arrowupleft=8598;e.arrowupleftofdown=8645;e.arrowupright=8599;e.arrowupwhite=8679;e.arrowvertex=63718;e.asciicircum=94;e.asciicircummonospace=65342;e.asciitilde=126;e.asciitildemonospace=65374;e.ascript=593;e.ascriptturned=594;e.asmallhiragana=12353;e.asmallkatakana=12449;e.asmallkatakanahalfwidth=65383;e.asterisk=42;e.asteriskaltonearabic=1645;e.asteriskarabic=1645;e.asteriskmath=8727;e.asteriskmonospace=65290;e.asterisksmall=65121;e.asterism=8258;e.asuperior=63209;e.asymptoticallyequal=8771;e.at=64;e.atilde=227;e.atmonospace=65312;e.atsmall=65131;e.aturned=592;e.aubengali=2452;e.aubopomofo=12576;e.audeva=2324;e.augujarati=2708;e.augurmukhi=2580;e.aulengthmarkbengali=2519;e.aumatragurmukhi=2636;e.auvowelsignbengali=2508;e.auvowelsigndeva=2380;e.auvowelsigngujarati=2764;e.avagrahadeva=2365;e.aybarmenian=1377;e.ayin=1506;e.ayinaltonehebrew=64288;e.ayinhebrew=1506;e.b=98;e.babengali=2476;e.backslash=92;e.backslashmonospace=65340;e.badeva=2348;e.bagujarati=2732;e.bagurmukhi=2604;e.bahiragana=12400;e.bahtthai=3647;e.bakatakana=12496;e.bar=124;e.barmonospace=65372;e.bbopomofo=12549;e.bcircle=9425;e.bdotaccent=7683;e.bdotbelow=7685;e.beamedsixteenthnotes=9836;e.because=8757;e.becyrillic=1073;e.beharabic=1576;e.behfinalarabic=65168;e.behinitialarabic=65169;e.behiragana=12409;e.behmedialarabic=65170;e.behmeeminitialarabic=64671;e.behmeemisolatedarabic=64520;e.behnoonfinalarabic=64621;e.bekatakana=12505;e.benarmenian=1378;e.bet=1489;e.beta=946;e.betasymbolgreek=976;e.betdagesh=64305;e.betdageshhebrew=64305;e.bethebrew=1489;e.betrafehebrew=64332;e.bhabengali=2477;e.bhadeva=2349;e.bhagujarati=2733;e.bhagurmukhi=2605;e.bhook=595;e.bihiragana=12403;e.bikatakana=12499;e.bilabialclick=664;e.bindigurmukhi=2562;e.birusquare=13105;e.blackcircle=9679;e.blackdiamond=9670;e.blackdownpointingtriangle=9660;e.blackleftpointingpointer=9668;e.blackleftpointingtriangle=9664;e.blacklenticularbracketleft=12304;e.blacklenticularbracketleftvertical=65083;e.blacklenticularbracketright=12305;e.blacklenticularbracketrightvertical=65084;e.blacklowerlefttriangle=9699;e.blacklowerrighttriangle=9698;e.blackrectangle=9644;e.blackrightpointingpointer=9658;e.blackrightpointingtriangle=9654;e.blacksmallsquare=9642;e.blacksmilingface=9787;e.blacksquare=9632;e.blackstar=9733;e.blackupperlefttriangle=9700;e.blackupperrighttriangle=9701;e.blackuppointingsmalltriangle=9652;e.blackuppointingtriangle=9650;e.blank=9251;e.blinebelow=7687;e.block=9608;e.bmonospace=65346;e.bobaimaithai=3610;e.bohiragana=12412;e.bokatakana=12508;e.bparen=9373;e.bqsquare=13251;e.braceex=63732;e.braceleft=123;e.braceleftbt=63731;e.braceleftmid=63730;e.braceleftmonospace=65371;e.braceleftsmall=65115;e.bracelefttp=63729;e.braceleftvertical=65079;e.braceright=125;e.bracerightbt=63742;e.bracerightmid=63741;e.bracerightmonospace=65373;e.bracerightsmall=65116;e.bracerighttp=63740;e.bracerightvertical=65080;e.bracketleft=91;e.bracketleftbt=63728;e.bracketleftex=63727;e.bracketleftmonospace=65339;e.bracketlefttp=63726;e.bracketright=93;e.bracketrightbt=63739;e.bracketrightex=63738;e.bracketrightmonospace=65341;e.bracketrighttp=63737;e.breve=728;e.brevebelowcmb=814;e.brevecmb=774;e.breveinvertedbelowcmb=815;e.breveinvertedcmb=785;e.breveinverteddoublecmb=865;e.bridgebelowcmb=810;e.bridgeinvertedbelowcmb=826;e.brokenbar=166;e.bstroke=384;e.bsuperior=63210;e.btopbar=387;e.buhiragana=12406;e.bukatakana=12502;e.bullet=8226;e.bulletinverse=9688;e.bulletoperator=8729;e.bullseye=9678;e.c=99;e.caarmenian=1390;e.cabengali=2458;e.cacute=263;e.cadeva=2330;e.cagujarati=2714;e.cagurmukhi=2586;e.calsquare=13192;e.candrabindubengali=2433;e.candrabinducmb=784;e.candrabindudeva=2305;e.candrabindugujarati=2689;e.capslock=8682;e.careof=8453;e.caron=711;e.caronbelowcmb=812;e.caroncmb=780;e.carriagereturn=8629;e.cbopomofo=12568;e.ccaron=269;e.ccedilla=231;e.ccedillaacute=7689;e.ccircle=9426;e.ccircumflex=265;e.ccurl=597;e.cdot=267;e.cdotaccent=267;e.cdsquare=13253;e.cedilla=184;e.cedillacmb=807;e.cent=162;e.centigrade=8451;e.centinferior=63199;e.centmonospace=65504;e.centoldstyle=63394;e.centsuperior=63200;e.chaarmenian=1401;e.chabengali=2459;e.chadeva=2331;e.chagujarati=2715;e.chagurmukhi=2587;e.chbopomofo=12564;e.cheabkhasiancyrillic=1213;e.checkmark=10003;e.checyrillic=1095;e.chedescenderabkhasiancyrillic=1215;e.chedescendercyrillic=1207;e.chedieresiscyrillic=1269;e.cheharmenian=1395;e.chekhakassiancyrillic=1228;e.cheverticalstrokecyrillic=1209;e.chi=967;e.chieuchacirclekorean=12919;e.chieuchaparenkorean=12823;e.chieuchcirclekorean=12905;e.chieuchkorean=12618;e.chieuchparenkorean=12809;e.chochangthai=3594;e.chochanthai=3592;e.chochingthai=3593;e.chochoethai=3596;e.chook=392;e.cieucacirclekorean=12918;e.cieucaparenkorean=12822;e.cieuccirclekorean=12904;e.cieuckorean=12616;e.cieucparenkorean=12808;e.cieucuparenkorean=12828;e.circle=9675;e.circlecopyrt=169;e.circlemultiply=8855;e.circleot=8857;e.circleplus=8853;e.circlepostalmark=12342;e.circlewithlefthalfblack=9680;e.circlewithrighthalfblack=9681;e.circumflex=710;e.circumflexbelowcmb=813;e.circumflexcmb=770;e.clear=8999;e.clickalveolar=450;e.clickdental=448;e.clicklateral=449;e.clickretroflex=451;e.club=9827;e.clubsuitblack=9827;e.clubsuitwhite=9831;e.cmcubedsquare=13220;e.cmonospace=65347;e.cmsquaredsquare=13216;e.coarmenian=1409;e.colon=58;e.colonmonetary=8353;e.colonmonospace=65306;e.colonsign=8353;e.colonsmall=65109;e.colontriangularhalfmod=721;e.colontriangularmod=720;e.comma=44;e.commaabovecmb=787;e.commaaboverightcmb=789;e.commaaccent=63171;e.commaarabic=1548;e.commaarmenian=1373;e.commainferior=63201;e.commamonospace=65292;e.commareversedabovecmb=788;e.commareversedmod=701;e.commasmall=65104;e.commasuperior=63202;e.commaturnedabovecmb=786;e.commaturnedmod=699;e.compass=9788;e.congruent=8773;e.contourintegral=8750;e.control=8963;e.controlACK=6;e.controlBEL=7;e.controlBS=8;e.controlCAN=24;e.controlCR=13;e.controlDC1=17;e.controlDC2=18;e.controlDC3=19;e.controlDC4=20;e.controlDEL=127;e.controlDLE=16;e.controlEM=25;e.controlENQ=5;e.controlEOT=4;e.controlESC=27;e.controlETB=23;e.controlETX=3;e.controlFF=12;e.controlFS=28;e.controlGS=29;e.controlHT=9;e.controlLF=10;e.controlNAK=21;e.controlNULL=0;e.controlRS=30;e.controlSI=15;e.controlSO=14;e.controlSOT=2;e.controlSTX=1;e.controlSUB=26;e.controlSYN=22;e.controlUS=31;e.controlVT=11;e.copyright=169;e.copyrightsans=63721;e.copyrightserif=63193;e.cornerbracketleft=12300;e.cornerbracketlefthalfwidth=65378;e.cornerbracketleftvertical=65089;e.cornerbracketright=12301;e.cornerbracketrighthalfwidth=65379;e.cornerbracketrightvertical=65090;e.corporationsquare=13183;e.cosquare=13255;e.coverkgsquare=13254;e.cparen=9374;e.cruzeiro=8354;e.cstretched=663;e.curlyand=8911;e.curlyor=8910;e.currency=164;e.cyrBreve=63185;e.cyrFlex=63186;e.cyrbreve=63188;e.cyrflex=63189;e.d=100;e.daarmenian=1380;e.dabengali=2470;e.dadarabic=1590;e.dadeva=2342;e.dadfinalarabic=65214;e.dadinitialarabic=65215;e.dadmedialarabic=65216;e.dagesh=1468;e.dageshhebrew=1468;e.dagger=8224;e.daggerdbl=8225;e.dagujarati=2726;e.dagurmukhi=2598;e.dahiragana=12384;e.dakatakana=12480;e.dalarabic=1583;e.dalet=1491;e.daletdagesh=64307;e.daletdageshhebrew=64307;e.dalethebrew=1491;e.dalfinalarabic=65194;e.dammaarabic=1615;e.dammalowarabic=1615;e.dammatanaltonearabic=1612;e.dammatanarabic=1612;e.danda=2404;e.dargahebrew=1447;e.dargalefthebrew=1447;e.dasiapneumatacyrilliccmb=1157;e.dblGrave=63187;e.dblanglebracketleft=12298;e.dblanglebracketleftvertical=65085;e.dblanglebracketright=12299;e.dblanglebracketrightvertical=65086;e.dblarchinvertedbelowcmb=811;e.dblarrowleft=8660;e.dblarrowright=8658;e.dbldanda=2405;e.dblgrave=63190;e.dblgravecmb=783;e.dblintegral=8748;e.dbllowline=8215;e.dbllowlinecmb=819;e.dbloverlinecmb=831;e.dblprimemod=698;e.dblverticalbar=8214;e.dblverticallineabovecmb=782;e.dbopomofo=12553;e.dbsquare=13256;e.dcaron=271;e.dcedilla=7697;e.dcircle=9427;e.dcircumflexbelow=7699;e.dcroat=273;e.ddabengali=2465;e.ddadeva=2337;e.ddagujarati=2721;e.ddagurmukhi=2593;e.ddalarabic=1672;e.ddalfinalarabic=64393;e.dddhadeva=2396;e.ddhabengali=2466;e.ddhadeva=2338;e.ddhagujarati=2722;e.ddhagurmukhi=2594;e.ddotaccent=7691;e.ddotbelow=7693;e.decimalseparatorarabic=1643;e.decimalseparatorpersian=1643;e.decyrillic=1076;e.degree=176;e.dehihebrew=1453;e.dehiragana=12391;e.deicoptic=1007;e.dekatakana=12487;e.deleteleft=9003;e.deleteright=8998;e.delta=948;e.deltaturned=397;e.denominatorminusonenumeratorbengali=2552;e.dezh=676;e.dhabengali=2471;e.dhadeva=2343;e.dhagujarati=2727;e.dhagurmukhi=2599;e.dhook=599;e.dialytikatonos=901;e.dialytikatonoscmb=836;e.diamond=9830;e.diamondsuitwhite=9826;e.dieresis=168;e.dieresisacute=63191;e.dieresisbelowcmb=804;e.dieresiscmb=776;e.dieresisgrave=63192;e.dieresistonos=901;e.dihiragana=12386;e.dikatakana=12482;e.dittomark=12291;e.divide=247;e.divides=8739;e.divisionslash=8725;e.djecyrillic=1106;e.dkshade=9619;e.dlinebelow=7695;e.dlsquare=13207;e.dmacron=273;e.dmonospace=65348;e.dnblock=9604;e.dochadathai=3598;e.dodekthai=3604;e.dohiragana=12393;e.dokatakana=12489;e.dollar=36;e.dollarinferior=63203;e.dollarmonospace=65284;e.dollaroldstyle=63268;e.dollarsmall=65129;e.dollarsuperior=63204;e.dong=8363;e.dorusquare=13094;e.dotaccent=729;e.dotaccentcmb=775;e.dotbelowcmb=803;e.dotbelowcomb=803;e.dotkatakana=12539;e.dotlessi=305;e.dotlessj=63166;e.dotlessjstrokehook=644;e.dotmath=8901;e.dottedcircle=9676;e.doubleyodpatah=64287;e.doubleyodpatahhebrew=64287;e.downtackbelowcmb=798;e.downtackmod=725;e.dparen=9375;e.dsuperior=63211;e.dtail=598;e.dtopbar=396;e.duhiragana=12389;e.dukatakana=12485;e.dz=499;e.dzaltone=675;e.dzcaron=454;e.dzcurl=677;e.dzeabkhasiancyrillic=1249;e.dzecyrillic=1109;e.dzhecyrillic=1119;e.e=101;e.eacute=233;e.earth=9793;e.ebengali=2447;e.ebopomofo=12572;e.ebreve=277;e.ecandradeva=2317;e.ecandragujarati=2701;e.ecandravowelsigndeva=2373;e.ecandravowelsigngujarati=2757;e.ecaron=283;e.ecedillabreve=7709;e.echarmenian=1381;e.echyiwnarmenian=1415;e.ecircle=9428;e.ecircumflex=234;e.ecircumflexacute=7871;e.ecircumflexbelow=7705;e.ecircumflexdotbelow=7879;e.ecircumflexgrave=7873;e.ecircumflexhookabove=7875;e.ecircumflextilde=7877;e.ecyrillic=1108;e.edblgrave=517;e.edeva=2319;e.edieresis=235;e.edot=279;e.edotaccent=279;e.edotbelow=7865;e.eegurmukhi=2575;e.eematragurmukhi=2631;e.efcyrillic=1092;e.egrave=232;e.egujarati=2703;e.eharmenian=1383;e.ehbopomofo=12573;e.ehiragana=12360;e.ehookabove=7867;e.eibopomofo=12575;e.eight=56;e.eightarabic=1640;e.eightbengali=2542;e.eightcircle=9319;e.eightcircleinversesansserif=10129;e.eightdeva=2414;e.eighteencircle=9329;e.eighteenparen=9349;e.eighteenperiod=9369;e.eightgujarati=2798;e.eightgurmukhi=2670;e.eighthackarabic=1640;e.eighthangzhou=12328;e.eighthnotebeamed=9835;e.eightideographicparen=12839;e.eightinferior=8328;e.eightmonospace=65304;e.eightoldstyle=63288;e.eightparen=9339;e.eightperiod=9359;e.eightpersian=1784;e.eightroman=8567;e.eightsuperior=8312;e.eightthai=3672;e.einvertedbreve=519;e.eiotifiedcyrillic=1125;e.ekatakana=12456;e.ekatakanahalfwidth=65396;e.ekonkargurmukhi=2676;e.ekorean=12628;e.elcyrillic=1083;e.element=8712;e.elevencircle=9322;e.elevenparen=9342;e.elevenperiod=9362;e.elevenroman=8570;e.ellipsis=8230;e.ellipsisvertical=8942;e.emacron=275;e.emacronacute=7703;e.emacrongrave=7701;e.emcyrillic=1084;e.emdash=8212;e.emdashvertical=65073;e.emonospace=65349;e.emphasismarkarmenian=1371;e.emptyset=8709;e.enbopomofo=12579;e.encyrillic=1085;e.endash=8211;e.endashvertical=65074;e.endescendercyrillic=1187;e.eng=331;e.engbopomofo=12581;e.enghecyrillic=1189;e.enhookcyrillic=1224;e.enspace=8194;e.eogonek=281;e.eokorean=12627;e.eopen=603;e.eopenclosed=666;e.eopenreversed=604;e.eopenreversedclosed=606;e.eopenreversedhook=605;e.eparen=9376;e.epsilon=949;e.epsilontonos=941;e.equal=61;e.equalmonospace=65309;e.equalsmall=65126;e.equalsuperior=8316;e.equivalence=8801;e.erbopomofo=12582;e.ercyrillic=1088;e.ereversed=600;e.ereversedcyrillic=1101;e.escyrillic=1089;e.esdescendercyrillic=1195;e.esh=643;e.eshcurl=646;e.eshortdeva=2318;e.eshortvowelsigndeva=2374;e.eshreversedloop=426;e.eshsquatreversed=645;e.esmallhiragana=12359;e.esmallkatakana=12455;e.esmallkatakanahalfwidth=65386;e.estimated=8494;e.esuperior=63212;e.eta=951;e.etarmenian=1384;e.etatonos=942;e.eth=240;e.etilde=7869;e.etildebelow=7707;e.etnahtafoukhhebrew=1425;e.etnahtafoukhlefthebrew=1425;e.etnahtahebrew=1425;e.etnahtalefthebrew=1425;e.eturned=477;e.eukorean=12641;e.euro=8364;e.evowelsignbengali=2503;e.evowelsigndeva=2375;e.evowelsigngujarati=2759;e.exclam=33;e.exclamarmenian=1372;e.exclamdbl=8252;e.exclamdown=161;e.exclamdownsmall=63393;e.exclammonospace=65281;e.exclamsmall=63265;e.existential=8707;e.ezh=658;e.ezhcaron=495;e.ezhcurl=659;e.ezhreversed=441;e.ezhtail=442;e.f=102;e.fadeva=2398;e.fagurmukhi=2654;e.fahrenheit=8457;e.fathaarabic=1614;e.fathalowarabic=1614;e.fathatanarabic=1611;e.fbopomofo=12552;e.fcircle=9429;e.fdotaccent=7711;e.feharabic=1601;e.feharmenian=1414;e.fehfinalarabic=65234;e.fehinitialarabic=65235;e.fehmedialarabic=65236;e.feicoptic=997;e.female=9792;e.ff=64256;e.f_f=64256;e.ffi=64259;e.f_f_i=64259;e.ffl=64260;e.f_f_l=64260;e.fi=64257;e.f_i=64257;e.fifteencircle=9326;e.fifteenparen=9346;e.fifteenperiod=9366;e.figuredash=8210;e.filledbox=9632;e.filledrect=9644;e.finalkaf=1498;e.finalkafdagesh=64314;e.finalkafdageshhebrew=64314;e.finalkafhebrew=1498;e.finalmem=1501;e.finalmemhebrew=1501;e.finalnun=1503;e.finalnunhebrew=1503;e.finalpe=1507;e.finalpehebrew=1507;e.finaltsadi=1509;e.finaltsadihebrew=1509;e.firsttonechinese=713;e.fisheye=9673;e.fitacyrillic=1139;e.five=53;e.fivearabic=1637;e.fivebengali=2539;e.fivecircle=9316;e.fivecircleinversesansserif=10126;e.fivedeva=2411;e.fiveeighths=8541;e.fivegujarati=2795;e.fivegurmukhi=2667;e.fivehackarabic=1637;e.fivehangzhou=12325;e.fiveideographicparen=12836;e.fiveinferior=8325;e.fivemonospace=65301;e.fiveoldstyle=63285;e.fiveparen=9336;e.fiveperiod=9356;e.fivepersian=1781;e.fiveroman=8564;e.fivesuperior=8309;e.fivethai=3669;e.fl=64258;e.f_l=64258;e.florin=402;e.fmonospace=65350;e.fmsquare=13209;e.fofanthai=3615;e.fofathai=3613;e.fongmanthai=3663;e.forall=8704;e.four=52;e.fourarabic=1636;e.fourbengali=2538;e.fourcircle=9315;e.fourcircleinversesansserif=10125;e.fourdeva=2410;e.fourgujarati=2794;e.fourgurmukhi=2666;e.fourhackarabic=1636;e.fourhangzhou=12324;e.fourideographicparen=12835;e.fourinferior=8324;e.fourmonospace=65300;e.fournumeratorbengali=2551;e.fouroldstyle=63284;e.fourparen=9335;e.fourperiod=9355;e.fourpersian=1780;e.fourroman=8563;e.foursuperior=8308;e.fourteencircle=9325;e.fourteenparen=9345;e.fourteenperiod=9365;e.fourthai=3668;e.fourthtonechinese=715;e.fparen=9377;e.fraction=8260;e.franc=8355;e.g=103;e.gabengali=2455;e.gacute=501;e.gadeva=2327;e.gafarabic=1711;e.gaffinalarabic=64403;e.gafinitialarabic=64404;e.gafmedialarabic=64405;e.gagujarati=2711;e.gagurmukhi=2583;e.gahiragana=12364;e.gakatakana=12460;e.gamma=947;e.gammalatinsmall=611;e.gammasuperior=736;e.gangiacoptic=1003;e.gbopomofo=12557;e.gbreve=287;e.gcaron=487;e.gcedilla=291;e.gcircle=9430;e.gcircumflex=285;e.gcommaaccent=291;e.gdot=289;e.gdotaccent=289;e.gecyrillic=1075;e.gehiragana=12370;e.gekatakana=12466;e.geometricallyequal=8785;e.gereshaccenthebrew=1436;e.gereshhebrew=1523;e.gereshmuqdamhebrew=1437;e.germandbls=223;e.gershayimaccenthebrew=1438;e.gershayimhebrew=1524;e.getamark=12307;e.ghabengali=2456;e.ghadarmenian=1394;e.ghadeva=2328;e.ghagujarati=2712;e.ghagurmukhi=2584;e.ghainarabic=1594;e.ghainfinalarabic=65230;e.ghaininitialarabic=65231;e.ghainmedialarabic=65232;e.ghemiddlehookcyrillic=1173;e.ghestrokecyrillic=1171;e.gheupturncyrillic=1169;e.ghhadeva=2394;e.ghhagurmukhi=2650;e.ghook=608;e.ghzsquare=13203;e.gihiragana=12366;e.gikatakana=12462;e.gimarmenian=1379;e.gimel=1490;e.gimeldagesh=64306;e.gimeldageshhebrew=64306;e.gimelhebrew=1490;e.gjecyrillic=1107;e.glottalinvertedstroke=446;e.glottalstop=660;e.glottalstopinverted=662;e.glottalstopmod=704;e.glottalstopreversed=661;e.glottalstopreversedmod=705;e.glottalstopreversedsuperior=740;e.glottalstopstroke=673;e.glottalstopstrokereversed=674;e.gmacron=7713;e.gmonospace=65351;e.gohiragana=12372;e.gokatakana=12468;e.gparen=9378;e.gpasquare=13228;e.gradient=8711;e.grave=96;e.gravebelowcmb=790;e.gravecmb=768;e.gravecomb=768;e.gravedeva=2387;e.gravelowmod=718;e.gravemonospace=65344;e.gravetonecmb=832;e.greater=62;e.greaterequal=8805;e.greaterequalorless=8923;e.greatermonospace=65310;e.greaterorequivalent=8819;e.greaterorless=8823;e.greateroverequal=8807;e.greatersmall=65125;e.gscript=609;e.gstroke=485;e.guhiragana=12368;e.guillemotleft=171;e.guillemotright=187;e.guilsinglleft=8249;e.guilsinglright=8250;e.gukatakana=12464;e.guramusquare=13080;e.gysquare=13257;e.h=104;e.haabkhasiancyrillic=1193;e.haaltonearabic=1729;e.habengali=2489;e.hadescendercyrillic=1203;e.hadeva=2361;e.hagujarati=2745;e.hagurmukhi=2617;e.haharabic=1581;e.hahfinalarabic=65186;e.hahinitialarabic=65187;e.hahiragana=12399;e.hahmedialarabic=65188;e.haitusquare=13098;e.hakatakana=12495;e.hakatakanahalfwidth=65418;e.halantgurmukhi=2637;e.hamzaarabic=1569;e.hamzalowarabic=1569;e.hangulfiller=12644;e.hardsigncyrillic=1098;e.harpoonleftbarbup=8636;e.harpoonrightbarbup=8640;e.hasquare=13258;e.hatafpatah=1458;e.hatafpatah16=1458;e.hatafpatah23=1458;e.hatafpatah2f=1458;e.hatafpatahhebrew=1458;e.hatafpatahnarrowhebrew=1458;e.hatafpatahquarterhebrew=1458;e.hatafpatahwidehebrew=1458;e.hatafqamats=1459;e.hatafqamats1b=1459;e.hatafqamats28=1459;e.hatafqamats34=1459;e.hatafqamatshebrew=1459;e.hatafqamatsnarrowhebrew=1459;e.hatafqamatsquarterhebrew=1459;e.hatafqamatswidehebrew=1459;e.hatafsegol=1457;e.hatafsegol17=1457;e.hatafsegol24=1457;e.hatafsegol30=1457;e.hatafsegolhebrew=1457;e.hatafsegolnarrowhebrew=1457;e.hatafsegolquarterhebrew=1457;e.hatafsegolwidehebrew=1457;e.hbar=295;e.hbopomofo=12559;e.hbrevebelow=7723;e.hcedilla=7721;e.hcircle=9431;e.hcircumflex=293;e.hdieresis=7719;e.hdotaccent=7715;e.hdotbelow=7717;e.he=1492;e.heart=9829;e.heartsuitblack=9829;e.heartsuitwhite=9825;e.hedagesh=64308;e.hedageshhebrew=64308;e.hehaltonearabic=1729;e.heharabic=1607;e.hehebrew=1492;e.hehfinalaltonearabic=64423;e.hehfinalalttwoarabic=65258;e.hehfinalarabic=65258;e.hehhamzaabovefinalarabic=64421;e.hehhamzaaboveisolatedarabic=64420;e.hehinitialaltonearabic=64424;e.hehinitialarabic=65259;e.hehiragana=12408;e.hehmedialaltonearabic=64425;e.hehmedialarabic=65260;e.heiseierasquare=13179;e.hekatakana=12504;e.hekatakanahalfwidth=65421;e.hekutaarusquare=13110;e.henghook=615;e.herutusquare=13113;e.het=1495;e.hethebrew=1495;e.hhook=614;e.hhooksuperior=689;e.hieuhacirclekorean=12923;e.hieuhaparenkorean=12827;e.hieuhcirclekorean=12909;e.hieuhkorean=12622;e.hieuhparenkorean=12813;e.hihiragana=12402;e.hikatakana=12498;e.hikatakanahalfwidth=65419;e.hiriq=1460;e.hiriq14=1460;e.hiriq21=1460;e.hiriq2d=1460;e.hiriqhebrew=1460;e.hiriqnarrowhebrew=1460;e.hiriqquarterhebrew=1460;e.hiriqwidehebrew=1460;e.hlinebelow=7830;e.hmonospace=65352;e.hoarmenian=1392;e.hohipthai=3627;e.hohiragana=12411;e.hokatakana=12507;e.hokatakanahalfwidth=65422;e.holam=1465;e.holam19=1465;e.holam26=1465;e.holam32=1465;e.holamhebrew=1465;e.holamnarrowhebrew=1465;e.holamquarterhebrew=1465;e.holamwidehebrew=1465;e.honokhukthai=3630;e.hookabovecomb=777;e.hookcmb=777;e.hookpalatalizedbelowcmb=801;e.hookretroflexbelowcmb=802;e.hoonsquare=13122;e.horicoptic=1001;e.horizontalbar=8213;e.horncmb=795;e.hotsprings=9832;e.house=8962;e.hparen=9379;e.hsuperior=688;e.hturned=613;e.huhiragana=12405;e.huiitosquare=13107;e.hukatakana=12501;e.hukatakanahalfwidth=65420;e.hungarumlaut=733;e.hungarumlautcmb=779;e.hv=405;e.hyphen=45;e.hypheninferior=63205;e.hyphenmonospace=65293;e.hyphensmall=65123;e.hyphensuperior=63206;e.hyphentwo=8208;e.i=105;e.iacute=237;e.iacyrillic=1103;e.ibengali=2439;e.ibopomofo=12583;e.ibreve=301;e.icaron=464;e.icircle=9432;e.icircumflex=238;e.icyrillic=1110;e.idblgrave=521;e.ideographearthcircle=12943;e.ideographfirecircle=12939;e.ideographicallianceparen=12863;e.ideographiccallparen=12858;e.ideographiccentrecircle=12965;e.ideographicclose=12294;e.ideographiccomma=12289;e.ideographiccommaleft=65380;e.ideographiccongratulationparen=12855;e.ideographiccorrectcircle=12963;e.ideographicearthparen=12847;e.ideographicenterpriseparen=12861;e.ideographicexcellentcircle=12957;e.ideographicfestivalparen=12864;e.ideographicfinancialcircle=12950;e.ideographicfinancialparen=12854;e.ideographicfireparen=12843;e.ideographichaveparen=12850;e.ideographichighcircle=12964;e.ideographiciterationmark=12293;e.ideographiclaborcircle=12952;e.ideographiclaborparen=12856;e.ideographicleftcircle=12967;e.ideographiclowcircle=12966;e.ideographicmedicinecircle=12969;e.ideographicmetalparen=12846;e.ideographicmoonparen=12842;e.ideographicnameparen=12852;e.ideographicperiod=12290;e.ideographicprintcircle=12958;e.ideographicreachparen=12867;e.ideographicrepresentparen=12857;e.ideographicresourceparen=12862;e.ideographicrightcircle=12968;e.ideographicsecretcircle=12953;e.ideographicselfparen=12866;e.ideographicsocietyparen=12851;e.ideographicspace=12288;e.ideographicspecialparen=12853;e.ideographicstockparen=12849;e.ideographicstudyparen=12859;e.ideographicsunparen=12848;e.ideographicsuperviseparen=12860;e.ideographicwaterparen=12844;e.ideographicwoodparen=12845;e.ideographiczero=12295;e.ideographmetalcircle=12942;e.ideographmooncircle=12938;e.ideographnamecircle=12948;e.ideographsuncircle=12944;e.ideographwatercircle=12940;e.ideographwoodcircle=12941;e.ideva=2311;e.idieresis=239;e.idieresisacute=7727;e.idieresiscyrillic=1253;e.idotbelow=7883;e.iebrevecyrillic=1239;e.iecyrillic=1077;e.ieungacirclekorean=12917;e.ieungaparenkorean=12821;e.ieungcirclekorean=12903;e.ieungkorean=12615;e.ieungparenkorean=12807;e.igrave=236;e.igujarati=2695;e.igurmukhi=2567;e.ihiragana=12356;e.ihookabove=7881;e.iibengali=2440;e.iicyrillic=1080;e.iideva=2312;e.iigujarati=2696;e.iigurmukhi=2568;e.iimatragurmukhi=2624;e.iinvertedbreve=523;e.iishortcyrillic=1081;e.iivowelsignbengali=2496;e.iivowelsigndeva=2368;e.iivowelsigngujarati=2752;e.ij=307;e.ikatakana=12452;e.ikatakanahalfwidth=65394;e.ikorean=12643;e.ilde=732;e.iluyhebrew=1452;e.imacron=299;e.imacroncyrillic=1251;e.imageorapproximatelyequal=8787;e.imatragurmukhi=2623;e.imonospace=65353;e.increment=8710;e.infinity=8734;e.iniarmenian=1387;e.integral=8747;e.integralbottom=8993;e.integralbt=8993;e.integralex=63733;e.integraltop=8992;e.integraltp=8992;e.intersection=8745;e.intisquare=13061;e.invbullet=9688;e.invcircle=9689;e.invsmileface=9787;e.iocyrillic=1105;e.iogonek=303;e.iota=953;e.iotadieresis=970;e.iotadieresistonos=912;e.iotalatin=617;e.iotatonos=943;e.iparen=9380;e.irigurmukhi=2674;e.ismallhiragana=12355;e.ismallkatakana=12451;e.ismallkatakanahalfwidth=65384;e.issharbengali=2554;e.istroke=616;e.isuperior=63213;e.iterationhiragana=12445;e.iterationkatakana=12541;e.itilde=297;e.itildebelow=7725;e.iubopomofo=12585;e.iucyrillic=1102;e.ivowelsignbengali=2495;e.ivowelsigndeva=2367;e.ivowelsigngujarati=2751;e.izhitsacyrillic=1141;e.izhitsadblgravecyrillic=1143;e.j=106;e.jaarmenian=1393;e.jabengali=2460;e.jadeva=2332;e.jagujarati=2716;e.jagurmukhi=2588;e.jbopomofo=12560;e.jcaron=496;e.jcircle=9433;e.jcircumflex=309;e.jcrossedtail=669;e.jdotlessstroke=607;e.jecyrillic=1112;e.jeemarabic=1580;e.jeemfinalarabic=65182;e.jeeminitialarabic=65183;e.jeemmedialarabic=65184;e.jeharabic=1688;e.jehfinalarabic=64395;e.jhabengali=2461;e.jhadeva=2333;e.jhagujarati=2717;e.jhagurmukhi=2589;e.jheharmenian=1403;e.jis=12292;e.jmonospace=65354;e.jparen=9381;e.jsuperior=690;e.k=107;e.kabashkircyrillic=1185;e.kabengali=2453;e.kacute=7729;e.kacyrillic=1082;e.kadescendercyrillic=1179;e.kadeva=2325;e.kaf=1499;e.kafarabic=1603;e.kafdagesh=64315;e.kafdageshhebrew=64315;e.kaffinalarabic=65242;e.kafhebrew=1499;e.kafinitialarabic=65243;e.kafmedialarabic=65244;e.kafrafehebrew=64333;e.kagujarati=2709;e.kagurmukhi=2581;e.kahiragana=12363;e.kahookcyrillic=1220;e.kakatakana=12459;e.kakatakanahalfwidth=65398;e.kappa=954;e.kappasymbolgreek=1008;e.kapyeounmieumkorean=12657;e.kapyeounphieuphkorean=12676;e.kapyeounpieupkorean=12664;e.kapyeounssangpieupkorean=12665;e.karoriisquare=13069;e.kashidaautoarabic=1600;e.kashidaautonosidebearingarabic=1600;e.kasmallkatakana=12533;e.kasquare=13188;e.kasraarabic=1616;e.kasratanarabic=1613;e.kastrokecyrillic=1183;e.katahiraprolongmarkhalfwidth=65392;e.kaverticalstrokecyrillic=1181;e.kbopomofo=12558;e.kcalsquare=13193;e.kcaron=489;e.kcedilla=311;e.kcircle=9434;e.kcommaaccent=311;e.kdotbelow=7731;e.keharmenian=1412;e.kehiragana=12369;e.kekatakana=12465;e.kekatakanahalfwidth=65401;e.kenarmenian=1391;e.kesmallkatakana=12534;e.kgreenlandic=312;e.khabengali=2454;e.khacyrillic=1093;e.khadeva=2326;e.khagujarati=2710;e.khagurmukhi=2582;e.khaharabic=1582;e.khahfinalarabic=65190;e.khahinitialarabic=65191;e.khahmedialarabic=65192;e.kheicoptic=999;e.khhadeva=2393;e.khhagurmukhi=2649;e.khieukhacirclekorean=12920;e.khieukhaparenkorean=12824;e.khieukhcirclekorean=12906;e.khieukhkorean=12619;e.khieukhparenkorean=12810;e.khokhaithai=3586;e.khokhonthai=3589;e.khokhuatthai=3587;e.khokhwaithai=3588;e.khomutthai=3675;e.khook=409;e.khorakhangthai=3590;e.khzsquare=13201;e.kihiragana=12365;e.kikatakana=12461;e.kikatakanahalfwidth=65399;e.kiroguramusquare=13077;e.kiromeetorusquare=13078;e.kirosquare=13076;e.kiyeokacirclekorean=12910;e.kiyeokaparenkorean=12814;e.kiyeokcirclekorean=12896;e.kiyeokkorean=12593;e.kiyeokparenkorean=12800;e.kiyeoksioskorean=12595;e.kjecyrillic=1116;e.klinebelow=7733;e.klsquare=13208;e.kmcubedsquare=13222;e.kmonospace=65355;e.kmsquaredsquare=13218;e.kohiragana=12371;e.kohmsquare=13248;e.kokaithai=3585;e.kokatakana=12467;e.kokatakanahalfwidth=65402;e.kooposquare=13086;e.koppacyrillic=1153;e.koreanstandardsymbol=12927;e.koroniscmb=835;e.kparen=9382;e.kpasquare=13226;e.ksicyrillic=1135;e.ktsquare=13263;e.kturned=670;e.kuhiragana=12367;e.kukatakana=12463;e.kukatakanahalfwidth=65400;e.kvsquare=13240;e.kwsquare=13246;e.l=108;e.labengali=2482;e.lacute=314;e.ladeva=2354;e.lagujarati=2738;e.lagurmukhi=2610;e.lakkhangyaothai=3653;e.lamaleffinalarabic=65276;e.lamalefhamzaabovefinalarabic=65272;e.lamalefhamzaaboveisolatedarabic=65271;e.lamalefhamzabelowfinalarabic=65274;e.lamalefhamzabelowisolatedarabic=65273;e.lamalefisolatedarabic=65275;e.lamalefmaddaabovefinalarabic=65270;e.lamalefmaddaaboveisolatedarabic=65269;e.lamarabic=1604;e.lambda=955;e.lambdastroke=411;e.lamed=1500;e.lameddagesh=64316;e.lameddageshhebrew=64316;e.lamedhebrew=1500;e.lamfinalarabic=65246;e.lamhahinitialarabic=64714;e.laminitialarabic=65247;e.lamjeeminitialarabic=64713;e.lamkhahinitialarabic=64715;e.lamlamhehisolatedarabic=65010;e.lammedialarabic=65248;e.lammeemhahinitialarabic=64904;e.lammeeminitialarabic=64716;e.largecircle=9711;e.lbar=410;e.lbelt=620;e.lbopomofo=12556;e.lcaron=318;e.lcedilla=316;e.lcircle=9435;e.lcircumflexbelow=7741;e.lcommaaccent=316;e.ldot=320;e.ldotaccent=320;e.ldotbelow=7735;e.ldotbelowmacron=7737;e.leftangleabovecmb=794;e.lefttackbelowcmb=792;e.less=60;e.lessequal=8804;e.lessequalorgreater=8922;e.lessmonospace=65308;e.lessorequivalent=8818;e.lessorgreater=8822;e.lessoverequal=8806;e.lesssmall=65124;e.lezh=622;e.lfblock=9612;e.lhookretroflex=621;e.lira=8356;e.liwnarmenian=1388;e.lj=457;e.ljecyrillic=1113;e.ll=63168;e.lladeva=2355;e.llagujarati=2739;e.llinebelow=7739;e.llladeva=2356;e.llvocalicbengali=2529;e.llvocalicdeva=2401;e.llvocalicvowelsignbengali=2531;e.llvocalicvowelsigndeva=2403;e.lmiddletilde=619;e.lmonospace=65356;e.lmsquare=13264;e.lochulathai=3628;e.logicaland=8743;e.logicalnot=172;e.logicalnotreversed=8976;e.logicalor=8744;e.lolingthai=3621;e.longs=383;e.lowlinecenterline=65102;e.lowlinecmb=818;e.lowlinedashed=65101;e.lozenge=9674;e.lparen=9383;e.lslash=322;e.lsquare=8467;e.lsuperior=63214;e.ltshade=9617;e.luthai=3622;e.lvocalicbengali=2444;e.lvocalicdeva=2316;e.lvocalicvowelsignbengali=2530;e.lvocalicvowelsigndeva=2402;e.lxsquare=13267;e.m=109;e.mabengali=2478;e.macron=175;e.macronbelowcmb=817;e.macroncmb=772;e.macronlowmod=717;e.macronmonospace=65507;e.macute=7743;e.madeva=2350;e.magujarati=2734;e.magurmukhi=2606;e.mahapakhhebrew=1444;e.mahapakhlefthebrew=1444;e.mahiragana=12414;e.maichattawalowleftthai=63637;e.maichattawalowrightthai=63636;e.maichattawathai=3659;e.maichattawaupperleftthai=63635;e.maieklowleftthai=63628;e.maieklowrightthai=63627;e.maiekthai=3656;e.maiekupperleftthai=63626;e.maihanakatleftthai=63620;e.maihanakatthai=3633;e.maitaikhuleftthai=63625;e.maitaikhuthai=3655;e.maitholowleftthai=63631;e.maitholowrightthai=63630;e.maithothai=3657;e.maithoupperleftthai=63629;e.maitrilowleftthai=63634;e.maitrilowrightthai=63633;e.maitrithai=3658;e.maitriupperleftthai=63632;e.maiyamokthai=3654;e.makatakana=12510;e.makatakanahalfwidth=65423;e.male=9794;e.mansyonsquare=13127;e.maqafhebrew=1470;e.mars=9794;e.masoracirclehebrew=1455;e.masquare=13187;e.mbopomofo=12551;e.mbsquare=13268;e.mcircle=9436;e.mcubedsquare=13221;e.mdotaccent=7745;e.mdotbelow=7747;e.meemarabic=1605;e.meemfinalarabic=65250;e.meeminitialarabic=65251;e.meemmedialarabic=65252;e.meemmeeminitialarabic=64721;e.meemmeemisolatedarabic=64584;e.meetorusquare=13133;e.mehiragana=12417;e.meizierasquare=13182;e.mekatakana=12513;e.mekatakanahalfwidth=65426;e.mem=1502;e.memdagesh=64318;e.memdageshhebrew=64318;e.memhebrew=1502;e.menarmenian=1396;e.merkhahebrew=1445;e.merkhakefulahebrew=1446;e.merkhakefulalefthebrew=1446;e.merkhalefthebrew=1445;e.mhook=625;e.mhzsquare=13202;e.middledotkatakanahalfwidth=65381;e.middot=183;e.mieumacirclekorean=12914;e.mieumaparenkorean=12818;e.mieumcirclekorean=12900;e.mieumkorean=12609;e.mieumpansioskorean=12656;e.mieumparenkorean=12804;e.mieumpieupkorean=12654;e.mieumsioskorean=12655;e.mihiragana=12415;e.mikatakana=12511;e.mikatakanahalfwidth=65424;e.minus=8722;e.minusbelowcmb=800;e.minuscircle=8854;e.minusmod=727;e.minusplus=8723;e.minute=8242;e.miribaarusquare=13130;e.mirisquare=13129;e.mlonglegturned=624;e.mlsquare=13206;e.mmcubedsquare=13219;e.mmonospace=65357;e.mmsquaredsquare=13215;e.mohiragana=12418;e.mohmsquare=13249;e.mokatakana=12514;e.mokatakanahalfwidth=65427;e.molsquare=13270;e.momathai=3617;e.moverssquare=13223;e.moverssquaredsquare=13224;e.mparen=9384;e.mpasquare=13227;e.mssquare=13235;e.msuperior=63215;e.mturned=623;e.mu=181;e.mu1=181;e.muasquare=13186;e.muchgreater=8811;e.muchless=8810;e.mufsquare=13196;e.mugreek=956;e.mugsquare=13197;e.muhiragana=12416;e.mukatakana=12512;e.mukatakanahalfwidth=65425;e.mulsquare=13205;e.multiply=215;e.mumsquare=13211;e.munahhebrew=1443;e.munahlefthebrew=1443;e.musicalnote=9834;e.musicalnotedbl=9835;e.musicflatsign=9837;e.musicsharpsign=9839;e.mussquare=13234;e.muvsquare=13238;e.muwsquare=13244;e.mvmegasquare=13241;e.mvsquare=13239;e.mwmegasquare=13247;e.mwsquare=13245;e.n=110;e.nabengali=2472;e.nabla=8711;e.nacute=324;e.nadeva=2344;e.nagujarati=2728;e.nagurmukhi=2600;e.nahiragana=12394;e.nakatakana=12490;e.nakatakanahalfwidth=65413;e.napostrophe=329;e.nasquare=13185;e.nbopomofo=12555;e.nbspace=160;e.ncaron=328;e.ncedilla=326;e.ncircle=9437;e.ncircumflexbelow=7755;e.ncommaaccent=326;e.ndotaccent=7749;e.ndotbelow=7751;e.nehiragana=12397;e.nekatakana=12493;e.nekatakanahalfwidth=65416;e.newsheqelsign=8362;e.nfsquare=13195;e.ngabengali=2457;e.ngadeva=2329;e.ngagujarati=2713;e.ngagurmukhi=2585;e.ngonguthai=3591;e.nhiragana=12435;e.nhookleft=626;e.nhookretroflex=627;e.nieunacirclekorean=12911;e.nieunaparenkorean=12815;e.nieuncieuckorean=12597;e.nieuncirclekorean=12897;e.nieunhieuhkorean=12598;e.nieunkorean=12596;e.nieunpansioskorean=12648;e.nieunparenkorean=12801;e.nieunsioskorean=12647;e.nieuntikeutkorean=12646;e.nihiragana=12395;e.nikatakana=12491;e.nikatakanahalfwidth=65414;e.nikhahitleftthai=63641;e.nikhahitthai=3661;e.nine=57;e.ninearabic=1641;e.ninebengali=2543;e.ninecircle=9320;e.ninecircleinversesansserif=10130;e.ninedeva=2415;e.ninegujarati=2799;e.ninegurmukhi=2671;e.ninehackarabic=1641;e.ninehangzhou=12329;e.nineideographicparen=12840;e.nineinferior=8329;e.ninemonospace=65305;e.nineoldstyle=63289;e.nineparen=9340;e.nineperiod=9360;e.ninepersian=1785;e.nineroman=8568;e.ninesuperior=8313;e.nineteencircle=9330;e.nineteenparen=9350;e.nineteenperiod=9370;e.ninethai=3673;e.nj=460;e.njecyrillic=1114;e.nkatakana=12531;e.nkatakanahalfwidth=65437;e.nlegrightlong=414;e.nlinebelow=7753;e.nmonospace=65358;e.nmsquare=13210;e.nnabengali=2467;e.nnadeva=2339;e.nnagujarati=2723;e.nnagurmukhi=2595;e.nnnadeva=2345;e.nohiragana=12398;e.nokatakana=12494;e.nokatakanahalfwidth=65417;e.nonbreakingspace=160;e.nonenthai=3603;e.nonuthai=3609;e.noonarabic=1606;e.noonfinalarabic=65254;e.noonghunnaarabic=1722;e.noonghunnafinalarabic=64415;e.nooninitialarabic=65255;e.noonjeeminitialarabic=64722;e.noonjeemisolatedarabic=64587;e.noonmedialarabic=65256;e.noonmeeminitialarabic=64725;e.noonmeemisolatedarabic=64590;e.noonnoonfinalarabic=64653;e.notcontains=8716;e.notelement=8713;e.notelementof=8713;e.notequal=8800;e.notgreater=8815;e.notgreaternorequal=8817;e.notgreaternorless=8825;e.notidentical=8802;e.notless=8814;e.notlessnorequal=8816;e.notparallel=8742;e.notprecedes=8832;e.notsubset=8836;e.notsucceeds=8833;e.notsuperset=8837;e.nowarmenian=1398;e.nparen=9385;e.nssquare=13233;e.nsuperior=8319;e.ntilde=241;e.nu=957;e.nuhiragana=12396;e.nukatakana=12492;e.nukatakanahalfwidth=65415;e.nuktabengali=2492;e.nuktadeva=2364;e.nuktagujarati=2748;e.nuktagurmukhi=2620;e.numbersign=35;e.numbersignmonospace=65283;e.numbersignsmall=65119;e.numeralsigngreek=884;e.numeralsignlowergreek=885;e.numero=8470;e.nun=1504;e.nundagesh=64320;e.nundageshhebrew=64320;e.nunhebrew=1504;e.nvsquare=13237;e.nwsquare=13243;e.nyabengali=2462;e.nyadeva=2334;e.nyagujarati=2718;e.nyagurmukhi=2590;e.o=111;e.oacute=243;e.oangthai=3629;e.obarred=629;e.obarredcyrillic=1257;e.obarreddieresiscyrillic=1259;e.obengali=2451;e.obopomofo=12571;e.obreve=335;e.ocandradeva=2321;e.ocandragujarati=2705;e.ocandravowelsigndeva=2377;e.ocandravowelsigngujarati=2761;e.ocaron=466;e.ocircle=9438;e.ocircumflex=244;e.ocircumflexacute=7889;e.ocircumflexdotbelow=7897;e.ocircumflexgrave=7891;e.ocircumflexhookabove=7893;e.ocircumflextilde=7895;e.ocyrillic=1086;e.odblacute=337;e.odblgrave=525;e.odeva=2323;e.odieresis=246;e.odieresiscyrillic=1255;e.odotbelow=7885;e.oe=339;e.oekorean=12634;e.ogonek=731;e.ogonekcmb=808;e.ograve=242;e.ogujarati=2707;e.oharmenian=1413;e.ohiragana=12362;e.ohookabove=7887;e.ohorn=417;e.ohornacute=7899;e.ohorndotbelow=7907;e.ohorngrave=7901;e.ohornhookabove=7903;e.ohorntilde=7905;e.ohungarumlaut=337;e.oi=419;e.oinvertedbreve=527;e.okatakana=12458;e.okatakanahalfwidth=65397;e.okorean=12631;e.olehebrew=1451;e.omacron=333;e.omacronacute=7763;e.omacrongrave=7761;e.omdeva=2384;e.omega=969;e.omega1=982;e.omegacyrillic=1121;e.omegalatinclosed=631;e.omegaroundcyrillic=1147;e.omegatitlocyrillic=1149;e.omegatonos=974;e.omgujarati=2768;e.omicron=959;e.omicrontonos=972;e.omonospace=65359;e.one=49;e.onearabic=1633;e.onebengali=2535;e.onecircle=9312;e.onecircleinversesansserif=10122;e.onedeva=2407;e.onedotenleader=8228;e.oneeighth=8539;e.onefitted=63196;e.onegujarati=2791;e.onegurmukhi=2663;e.onehackarabic=1633;e.onehalf=189;e.onehangzhou=12321;e.oneideographicparen=12832;e.oneinferior=8321;e.onemonospace=65297;e.onenumeratorbengali=2548;e.oneoldstyle=63281;e.oneparen=9332;e.oneperiod=9352;e.onepersian=1777;e.onequarter=188;e.oneroman=8560;e.onesuperior=185;e.onethai=3665;e.onethird=8531;e.oogonek=491;e.oogonekmacron=493;e.oogurmukhi=2579;e.oomatragurmukhi=2635;e.oopen=596;e.oparen=9386;e.openbullet=9702;e.option=8997;e.ordfeminine=170;e.ordmasculine=186;e.orthogonal=8735;e.oshortdeva=2322;e.oshortvowelsigndeva=2378;e.oslash=248;e.oslashacute=511;e.osmallhiragana=12361;e.osmallkatakana=12457;e.osmallkatakanahalfwidth=65387;e.ostrokeacute=511;e.osuperior=63216;e.otcyrillic=1151;e.otilde=245;e.otildeacute=7757;e.otildedieresis=7759;e.oubopomofo=12577;e.overline=8254;e.overlinecenterline=65098;e.overlinecmb=773;e.overlinedashed=65097;e.overlinedblwavy=65100;e.overlinewavy=65099;e.overscore=175;e.ovowelsignbengali=2507;e.ovowelsigndeva=2379;e.ovowelsigngujarati=2763;e.p=112;e.paampssquare=13184;e.paasentosquare=13099;e.pabengali=2474;e.pacute=7765;e.padeva=2346;e.pagedown=8671;e.pageup=8670;e.pagujarati=2730;e.pagurmukhi=2602;e.pahiragana=12401;e.paiyannoithai=3631;e.pakatakana=12497;e.palatalizationcyrilliccmb=1156;e.palochkacyrillic=1216;e.pansioskorean=12671;e.paragraph=182;e.parallel=8741;e.parenleft=40;e.parenleftaltonearabic=64830;e.parenleftbt=63725;e.parenleftex=63724;e.parenleftinferior=8333;e.parenleftmonospace=65288;e.parenleftsmall=65113;e.parenleftsuperior=8317;e.parenlefttp=63723;e.parenleftvertical=65077;e.parenright=41;e.parenrightaltonearabic=64831;e.parenrightbt=63736;e.parenrightex=63735;e.parenrightinferior=8334;e.parenrightmonospace=65289;e.parenrightsmall=65114;e.parenrightsuperior=8318;e.parenrighttp=63734;e.parenrightvertical=65078;e.partialdiff=8706;e.paseqhebrew=1472;e.pashtahebrew=1433;e.pasquare=13225;e.patah=1463;e.patah11=1463;e.patah1d=1463;e.patah2a=1463;e.patahhebrew=1463;e.patahnarrowhebrew=1463;e.patahquarterhebrew=1463;e.patahwidehebrew=1463;e.pazerhebrew=1441;e.pbopomofo=12550;e.pcircle=9439;e.pdotaccent=7767;e.pe=1508;e.pecyrillic=1087;e.pedagesh=64324;e.pedageshhebrew=64324;e.peezisquare=13115;e.pefinaldageshhebrew=64323;e.peharabic=1662;e.peharmenian=1402;e.pehebrew=1508;e.pehfinalarabic=64343;e.pehinitialarabic=64344;e.pehiragana=12410;e.pehmedialarabic=64345;e.pekatakana=12506;e.pemiddlehookcyrillic=1191;e.perafehebrew=64334;e.percent=37;e.percentarabic=1642;e.percentmonospace=65285;e.percentsmall=65130;e.period=46;e.periodarmenian=1417;e.periodcentered=183;e.periodhalfwidth=65377;e.periodinferior=63207;e.periodmonospace=65294;e.periodsmall=65106;e.periodsuperior=63208;e.perispomenigreekcmb=834;e.perpendicular=8869;e.perthousand=8240;e.peseta=8359;e.pfsquare=13194;e.phabengali=2475;e.phadeva=2347;e.phagujarati=2731;e.phagurmukhi=2603;e.phi=966;e.phi1=981;e.phieuphacirclekorean=12922;e.phieuphaparenkorean=12826;e.phieuphcirclekorean=12908;e.phieuphkorean=12621;e.phieuphparenkorean=12812;e.philatin=632;e.phinthuthai=3642;e.phisymbolgreek=981;e.phook=421;e.phophanthai=3614;e.phophungthai=3612;e.phosamphaothai=3616;e.pi=960;e.pieupacirclekorean=12915;e.pieupaparenkorean=12819;e.pieupcieuckorean=12662;e.pieupcirclekorean=12901;e.pieupkiyeokkorean=12658;e.pieupkorean=12610;e.pieupparenkorean=12805;e.pieupsioskiyeokkorean=12660;e.pieupsioskorean=12612;e.pieupsiostikeutkorean=12661;e.pieupthieuthkorean=12663;e.pieuptikeutkorean=12659;e.pihiragana=12404;e.pikatakana=12500;e.pisymbolgreek=982;e.piwrarmenian=1411;e.planckover2pi=8463;e.planckover2pi1=8463;e.plus=43;e.plusbelowcmb=799;e.pluscircle=8853;e.plusminus=177;e.plusmod=726;e.plusmonospace=65291;e.plussmall=65122;e.plussuperior=8314;e.pmonospace=65360;e.pmsquare=13272;e.pohiragana=12413;e.pointingindexdownwhite=9759;e.pointingindexleftwhite=9756;e.pointingindexrightwhite=9758;e.pointingindexupwhite=9757;e.pokatakana=12509;e.poplathai=3611;e.postalmark=12306;e.postalmarkface=12320;e.pparen=9387;e.precedes=8826;e.prescription=8478;e.primemod=697;e.primereversed=8245;e.product=8719;e.projective=8965;e.prolongedkana=12540;e.propellor=8984;e.propersubset=8834;e.propersuperset=8835;e.proportion=8759;e.proportional=8733;e.psi=968;e.psicyrillic=1137;e.psilipneumatacyrilliccmb=1158;e.pssquare=13232;e.puhiragana=12407;e.pukatakana=12503;e.pvsquare=13236;e.pwsquare=13242;e.q=113;e.qadeva=2392;e.qadmahebrew=1448;e.qafarabic=1602;e.qaffinalarabic=65238;e.qafinitialarabic=65239;e.qafmedialarabic=65240;e.qamats=1464;e.qamats10=1464;e.qamats1a=1464;e.qamats1c=1464;e.qamats27=1464;e.qamats29=1464;e.qamats33=1464;e.qamatsde=1464;e.qamatshebrew=1464;e.qamatsnarrowhebrew=1464;e.qamatsqatanhebrew=1464;e.qamatsqatannarrowhebrew=1464;e.qamatsqatanquarterhebrew=1464;e.qamatsqatanwidehebrew=1464;e.qamatsquarterhebrew=1464;e.qamatswidehebrew=1464;e.qarneyparahebrew=1439;e.qbopomofo=12561;e.qcircle=9440;e.qhook=672;e.qmonospace=65361;e.qof=1511;e.qofdagesh=64327;e.qofdageshhebrew=64327;e.qofhebrew=1511;e.qparen=9388;e.quarternote=9833;e.qubuts=1467;e.qubuts18=1467;e.qubuts25=1467;e.qubuts31=1467;e.qubutshebrew=1467;e.qubutsnarrowhebrew=1467;e.qubutsquarterhebrew=1467;e.qubutswidehebrew=1467;e.question=63;e.questionarabic=1567;e.questionarmenian=1374;e.questiondown=191;e.questiondownsmall=63423;e.questiongreek=894;e.questionmonospace=65311;e.questionsmall=63295;e.quotedbl=34;e.quotedblbase=8222;e.quotedblleft=8220;e.quotedblmonospace=65282;e.quotedblprime=12318;e.quotedblprimereversed=12317;e.quotedblright=8221;e.quoteleft=8216;e.quoteleftreversed=8219;e.quotereversed=8219;e.quoteright=8217;e.quoterightn=329;e.quotesinglbase=8218;e.quotesingle=39;e.quotesinglemonospace=65287;e.r=114;e.raarmenian=1404;e.rabengali=2480;e.racute=341;e.radeva=2352;e.radical=8730;e.radicalex=63717;e.radoverssquare=13230;e.radoverssquaredsquare=13231;e.radsquare=13229;e.rafe=1471;e.rafehebrew=1471;e.ragujarati=2736;e.ragurmukhi=2608;e.rahiragana=12425;e.rakatakana=12521;e.rakatakanahalfwidth=65431;e.ralowerdiagonalbengali=2545;e.ramiddlediagonalbengali=2544;e.ramshorn=612;e.ratio=8758;e.rbopomofo=12566;e.rcaron=345;e.rcedilla=343;e.rcircle=9441;e.rcommaaccent=343;e.rdblgrave=529;e.rdotaccent=7769;e.rdotbelow=7771;e.rdotbelowmacron=7773;e.referencemark=8251;e.reflexsubset=8838;e.reflexsuperset=8839;e.registered=174;e.registersans=63720;e.registerserif=63194;e.reharabic=1585;e.reharmenian=1408;e.rehfinalarabic=65198;e.rehiragana=12428;e.rekatakana=12524;e.rekatakanahalfwidth=65434;e.resh=1512;e.reshdageshhebrew=64328;e.reshhebrew=1512;e.reversedtilde=8765;e.reviahebrew=1431;e.reviamugrashhebrew=1431;e.revlogicalnot=8976;e.rfishhook=638;e.rfishhookreversed=639;e.rhabengali=2525;e.rhadeva=2397;e.rho=961;e.rhook=637;e.rhookturned=635;e.rhookturnedsuperior=693;e.rhosymbolgreek=1009;e.rhotichookmod=734;e.rieulacirclekorean=12913;e.rieulaparenkorean=12817;e.rieulcirclekorean=12899;e.rieulhieuhkorean=12608;e.rieulkiyeokkorean=12602;e.rieulkiyeoksioskorean=12649;e.rieulkorean=12601;e.rieulmieumkorean=12603;e.rieulpansioskorean=12652;e.rieulparenkorean=12803;e.rieulphieuphkorean=12607;e.rieulpieupkorean=12604;e.rieulpieupsioskorean=12651;e.rieulsioskorean=12605;e.rieulthieuthkorean=12606;e.rieultikeutkorean=12650;e.rieulyeorinhieuhkorean=12653;e.rightangle=8735;e.righttackbelowcmb=793;e.righttriangle=8895;e.rihiragana=12426;e.rikatakana=12522;e.rikatakanahalfwidth=65432;e.ring=730;e.ringbelowcmb=805;e.ringcmb=778;e.ringhalfleft=703;e.ringhalfleftarmenian=1369;e.ringhalfleftbelowcmb=796;e.ringhalfleftcentered=723;e.ringhalfright=702;e.ringhalfrightbelowcmb=825;e.ringhalfrightcentered=722;e.rinvertedbreve=531;e.rittorusquare=13137;e.rlinebelow=7775;e.rlongleg=636;e.rlonglegturned=634;e.rmonospace=65362;e.rohiragana=12429;e.rokatakana=12525;e.rokatakanahalfwidth=65435;e.roruathai=3619;e.rparen=9389;e.rrabengali=2524;e.rradeva=2353;e.rragurmukhi=2652;e.rreharabic=1681;e.rrehfinalarabic=64397;e.rrvocalicbengali=2528;e.rrvocalicdeva=2400;e.rrvocalicgujarati=2784;e.rrvocalicvowelsignbengali=2500;e.rrvocalicvowelsigndeva=2372;e.rrvocalicvowelsigngujarati=2756;e.rsuperior=63217;e.rtblock=9616;e.rturned=633;e.rturnedsuperior=692;e.ruhiragana=12427;e.rukatakana=12523;e.rukatakanahalfwidth=65433;e.rupeemarkbengali=2546;e.rupeesignbengali=2547;e.rupiah=63197;e.ruthai=3620;e.rvocalicbengali=2443;e.rvocalicdeva=2315;e.rvocalicgujarati=2699;e.rvocalicvowelsignbengali=2499;e.rvocalicvowelsigndeva=2371;e.rvocalicvowelsigngujarati=2755;e.s=115;e.sabengali=2488;e.sacute=347;e.sacutedotaccent=7781;e.sadarabic=1589;e.sadeva=2360;e.sadfinalarabic=65210;e.sadinitialarabic=65211;e.sadmedialarabic=65212;e.sagujarati=2744;e.sagurmukhi=2616;e.sahiragana=12373;e.sakatakana=12469;e.sakatakanahalfwidth=65403;e.sallallahoualayhewasallamarabic=65018;e.samekh=1505;e.samekhdagesh=64321;e.samekhdageshhebrew=64321;e.samekhhebrew=1505;e.saraaathai=3634;e.saraaethai=3649;e.saraaimaimalaithai=3652;e.saraaimaimuanthai=3651;e.saraamthai=3635;e.saraathai=3632;e.saraethai=3648;e.saraiileftthai=63622;e.saraiithai=3637;e.saraileftthai=63621;e.saraithai=3636;e.saraothai=3650;e.saraueeleftthai=63624;e.saraueethai=3639;e.saraueleftthai=63623;e.sarauethai=3638;e.sarauthai=3640;e.sarauuthai=3641;e.sbopomofo=12569;e.scaron=353;e.scarondotaccent=7783;e.scedilla=351;e.schwa=601;e.schwacyrillic=1241;e.schwadieresiscyrillic=1243;e.schwahook=602;e.scircle=9442;e.scircumflex=349;e.scommaaccent=537;e.sdotaccent=7777;e.sdotbelow=7779;e.sdotbelowdotaccent=7785;e.seagullbelowcmb=828;e.second=8243;e.secondtonechinese=714;e.section=167;e.seenarabic=1587;e.seenfinalarabic=65202;e.seeninitialarabic=65203;e.seenmedialarabic=65204;e.segol=1462;e.segol13=1462;e.segol1f=1462;e.segol2c=1462;e.segolhebrew=1462;e.segolnarrowhebrew=1462;e.segolquarterhebrew=1462;e.segoltahebrew=1426;e.segolwidehebrew=1462;e.seharmenian=1405;e.sehiragana=12379;e.sekatakana=12475;e.sekatakanahalfwidth=65406;e.semicolon=59;e.semicolonarabic=1563;e.semicolonmonospace=65307;e.semicolonsmall=65108;e.semivoicedmarkkana=12444;e.semivoicedmarkkanahalfwidth=65439;e.sentisquare=13090;e.sentosquare=13091;e.seven=55;e.sevenarabic=1639;e.sevenbengali=2541;e.sevencircle=9318;e.sevencircleinversesansserif=10128;e.sevendeva=2413;e.seveneighths=8542;e.sevengujarati=2797;e.sevengurmukhi=2669;e.sevenhackarabic=1639;e.sevenhangzhou=12327;e.sevenideographicparen=12838;e.seveninferior=8327;e.sevenmonospace=65303;e.sevenoldstyle=63287;e.sevenparen=9338;e.sevenperiod=9358;e.sevenpersian=1783;e.sevenroman=8566;e.sevensuperior=8311;e.seventeencircle=9328;e.seventeenparen=9348;e.seventeenperiod=9368;e.seventhai=3671;e.sfthyphen=173;e.shaarmenian=1399;e.shabengali=2486;e.shacyrillic=1096;e.shaddaarabic=1617;e.shaddadammaarabic=64609;e.shaddadammatanarabic=64606;e.shaddafathaarabic=64608;e.shaddakasraarabic=64610;e.shaddakasratanarabic=64607;e.shade=9618;e.shadedark=9619;e.shadelight=9617;e.shademedium=9618;e.shadeva=2358;e.shagujarati=2742;e.shagurmukhi=2614;e.shalshelethebrew=1427;e.shbopomofo=12565;e.shchacyrillic=1097;e.sheenarabic=1588;e.sheenfinalarabic=65206;e.sheeninitialarabic=65207;e.sheenmedialarabic=65208;e.sheicoptic=995;e.sheqel=8362;e.sheqelhebrew=8362;e.sheva=1456;e.sheva115=1456;e.sheva15=1456;e.sheva22=1456;e.sheva2e=1456;e.shevahebrew=1456;e.shevanarrowhebrew=1456;e.shevaquarterhebrew=1456;e.shevawidehebrew=1456;e.shhacyrillic=1211;e.shimacoptic=1005;e.shin=1513;e.shindagesh=64329;e.shindageshhebrew=64329;e.shindageshshindot=64300;e.shindageshshindothebrew=64300;e.shindageshsindot=64301;e.shindageshsindothebrew=64301;e.shindothebrew=1473;e.shinhebrew=1513;e.shinshindot=64298;e.shinshindothebrew=64298;e.shinsindot=64299;e.shinsindothebrew=64299;e.shook=642;e.sigma=963;e.sigma1=962;e.sigmafinal=962;e.sigmalunatesymbolgreek=1010;e.sihiragana=12375;e.sikatakana=12471;e.sikatakanahalfwidth=65404;e.siluqhebrew=1469;e.siluqlefthebrew=1469;e.similar=8764;e.sindothebrew=1474;e.siosacirclekorean=12916;e.siosaparenkorean=12820;e.sioscieuckorean=12670;e.sioscirclekorean=12902;e.sioskiyeokkorean=12666;e.sioskorean=12613;e.siosnieunkorean=12667;e.siosparenkorean=12806;e.siospieupkorean=12669;e.siostikeutkorean=12668;e.six=54;e.sixarabic=1638;e.sixbengali=2540;e.sixcircle=9317;e.sixcircleinversesansserif=10127;e.sixdeva=2412;e.sixgujarati=2796;e.sixgurmukhi=2668;e.sixhackarabic=1638;e.sixhangzhou=12326;e.sixideographicparen=12837;e.sixinferior=8326;e.sixmonospace=65302;e.sixoldstyle=63286;e.sixparen=9337;e.sixperiod=9357;e.sixpersian=1782;e.sixroman=8565;e.sixsuperior=8310;e.sixteencircle=9327;e.sixteencurrencydenominatorbengali=2553;e.sixteenparen=9347;e.sixteenperiod=9367;e.sixthai=3670;e.slash=47;e.slashmonospace=65295;e.slong=383;e.slongdotaccent=7835;e.smileface=9786;e.smonospace=65363;e.sofpasuqhebrew=1475;e.softhyphen=173;e.softsigncyrillic=1100;e.sohiragana=12381;e.sokatakana=12477;e.sokatakanahalfwidth=65407;e.soliduslongoverlaycmb=824;e.solidusshortoverlaycmb=823;e.sorusithai=3625;e.sosalathai=3624;e.sosothai=3595;e.sosuathai=3626;e.space=32;e.spacehackarabic=32;e.spade=9824;e.spadesuitblack=9824;e.spadesuitwhite=9828;e.sparen=9390;e.squarebelowcmb=827;e.squarecc=13252;e.squarecm=13213;e.squarediagonalcrosshatchfill=9641;e.squarehorizontalfill=9636;e.squarekg=13199;e.squarekm=13214;e.squarekmcapital=13262;e.squareln=13265;e.squarelog=13266;e.squaremg=13198;e.squaremil=13269;e.squaremm=13212;e.squaremsquared=13217;e.squareorthogonalcrosshatchfill=9638;e.squareupperlefttolowerrightfill=9639;e.squareupperrighttolowerleftfill=9640;e.squareverticalfill=9637;e.squarewhitewithsmallblack=9635;e.srsquare=13275;e.ssabengali=2487;e.ssadeva=2359;e.ssagujarati=2743;e.ssangcieuckorean=12617;e.ssanghieuhkorean=12677;e.ssangieungkorean=12672;e.ssangkiyeokkorean=12594;e.ssangnieunkorean=12645;e.ssangpieupkorean=12611;e.ssangsioskorean=12614;e.ssangtikeutkorean=12600;e.ssuperior=63218;e.sterling=163;e.sterlingmonospace=65505;e.strokelongoverlaycmb=822;e.strokeshortoverlaycmb=821;e.subset=8834;e.subsetnotequal=8842;e.subsetorequal=8838;e.succeeds=8827;e.suchthat=8715;e.suhiragana=12377;e.sukatakana=12473;e.sukatakanahalfwidth=65405;e.sukunarabic=1618;e.summation=8721;e.sun=9788;e.superset=8835;e.supersetnotequal=8843;e.supersetorequal=8839;e.svsquare=13276;e.syouwaerasquare=13180;e.t=116;e.tabengali=2468;e.tackdown=8868;e.tackleft=8867;e.tadeva=2340;e.tagujarati=2724;e.tagurmukhi=2596;e.taharabic=1591;e.tahfinalarabic=65218;e.tahinitialarabic=65219;e.tahiragana=12383;e.tahmedialarabic=65220;e.taisyouerasquare=13181;e.takatakana=12479;e.takatakanahalfwidth=65408;e.tatweelarabic=1600;e.tau=964;e.tav=1514;e.tavdages=64330;e.tavdagesh=64330;e.tavdageshhebrew=64330;e.tavhebrew=1514;e.tbar=359;e.tbopomofo=12554;e.tcaron=357;e.tccurl=680;e.tcedilla=355;e.tcheharabic=1670;e.tchehfinalarabic=64379;e.tchehinitialarabic=64380;e.tchehmedialarabic=64381;e.tcircle=9443;e.tcircumflexbelow=7793;e.tcommaaccent=355;e.tdieresis=7831;e.tdotaccent=7787;e.tdotbelow=7789;e.tecyrillic=1090;e.tedescendercyrillic=1197;e.teharabic=1578;e.tehfinalarabic=65174;e.tehhahinitialarabic=64674;e.tehhahisolatedarabic=64524;e.tehinitialarabic=65175;e.tehiragana=12390;e.tehjeeminitialarabic=64673;e.tehjeemisolatedarabic=64523;e.tehmarbutaarabic=1577;e.tehmarbutafinalarabic=65172;e.tehmedialarabic=65176;e.tehmeeminitialarabic=64676;e.tehmeemisolatedarabic=64526;e.tehnoonfinalarabic=64627;e.tekatakana=12486;e.tekatakanahalfwidth=65411;e.telephone=8481;e.telephoneblack=9742;e.telishagedolahebrew=1440;e.telishaqetanahebrew=1449;e.tencircle=9321;e.tenideographicparen=12841;e.tenparen=9341;e.tenperiod=9361;e.tenroman=8569;e.tesh=679;e.tet=1496;e.tetdagesh=64312;e.tetdageshhebrew=64312;e.tethebrew=1496;e.tetsecyrillic=1205;e.tevirhebrew=1435;e.tevirlefthebrew=1435;e.thabengali=2469;e.thadeva=2341;e.thagujarati=2725;e.thagurmukhi=2597;e.thalarabic=1584;e.thalfinalarabic=65196;e.thanthakhatlowleftthai=63640;e.thanthakhatlowrightthai=63639;e.thanthakhatthai=3660;e.thanthakhatupperleftthai=63638;e.theharabic=1579;e.thehfinalarabic=65178;e.thehinitialarabic=65179;e.thehmedialarabic=65180;e.thereexists=8707;e.therefore=8756;e.theta=952;e.theta1=977;e.thetasymbolgreek=977;e.thieuthacirclekorean=12921;e.thieuthaparenkorean=12825;e.thieuthcirclekorean=12907;e.thieuthkorean=12620;e.thieuthparenkorean=12811;e.thirteencircle=9324;e.thirteenparen=9344;e.thirteenperiod=9364;e.thonangmonthothai=3601;e.thook=429;e.thophuthaothai=3602;e.thorn=254;e.thothahanthai=3607;e.thothanthai=3600;e.thothongthai=3608;e.thothungthai=3606;e.thousandcyrillic=1154;e.thousandsseparatorarabic=1644;e.thousandsseparatorpersian=1644;e.three=51;e.threearabic=1635;e.threebengali=2537;e.threecircle=9314;e.threecircleinversesansserif=10124;e.threedeva=2409;e.threeeighths=8540;e.threegujarati=2793;e.threegurmukhi=2665;e.threehackarabic=1635;e.threehangzhou=12323;e.threeideographicparen=12834;e.threeinferior=8323;e.threemonospace=65299;e.threenumeratorbengali=2550;e.threeoldstyle=63283;e.threeparen=9334;e.threeperiod=9354;e.threepersian=1779;e.threequarters=190;e.threequartersemdash=63198;e.threeroman=8562;e.threesuperior=179;e.threethai=3667;e.thzsquare=13204;e.tihiragana=12385;e.tikatakana=12481;e.tikatakanahalfwidth=65409;e.tikeutacirclekorean=12912;e.tikeutaparenkorean=12816;e.tikeutcirclekorean=12898;e.tikeutkorean=12599;e.tikeutparenkorean=12802;e.tilde=732;e.tildebelowcmb=816;e.tildecmb=771;e.tildecomb=771;e.tildedoublecmb=864;e.tildeoperator=8764;e.tildeoverlaycmb=820;e.tildeverticalcmb=830;e.timescircle=8855;e.tipehahebrew=1430;e.tipehalefthebrew=1430;e.tippigurmukhi=2672;e.titlocyrilliccmb=1155;e.tiwnarmenian=1407;e.tlinebelow=7791;e.tmonospace=65364;e.toarmenian=1385;e.tohiragana=12392;e.tokatakana=12488;e.tokatakanahalfwidth=65412;e.tonebarextrahighmod=741;e.tonebarextralowmod=745;e.tonebarhighmod=742;e.tonebarlowmod=744;e.tonebarmidmod=743;e.tonefive=445;e.tonesix=389;e.tonetwo=424;e.tonos=900;e.tonsquare=13095;e.topatakthai=3599;e.tortoiseshellbracketleft=12308;e.tortoiseshellbracketleftsmall=65117;e.tortoiseshellbracketleftvertical=65081;e.tortoiseshellbracketright=12309;e.tortoiseshellbracketrightsmall=65118;e.tortoiseshellbracketrightvertical=65082;e.totaothai=3605;e.tpalatalhook=427;e.tparen=9391;e.trademark=8482;e.trademarksans=63722;e.trademarkserif=63195;e.tretroflexhook=648;e.triagdn=9660;e.triaglf=9668;e.triagrt=9658;e.triagup=9650;e.ts=678;e.tsadi=1510;e.tsadidagesh=64326;e.tsadidageshhebrew=64326;e.tsadihebrew=1510;e.tsecyrillic=1094;e.tsere=1461;e.tsere12=1461;e.tsere1e=1461;e.tsere2b=1461;e.tserehebrew=1461;e.tserenarrowhebrew=1461;e.tserequarterhebrew=1461;e.tserewidehebrew=1461;e.tshecyrillic=1115;e.tsuperior=63219;e.ttabengali=2463;e.ttadeva=2335;e.ttagujarati=2719;e.ttagurmukhi=2591;e.tteharabic=1657;e.ttehfinalarabic=64359;e.ttehinitialarabic=64360;e.ttehmedialarabic=64361;e.tthabengali=2464;e.tthadeva=2336;e.tthagujarati=2720;e.tthagurmukhi=2592;e.tturned=647;e.tuhiragana=12388;e.tukatakana=12484;e.tukatakanahalfwidth=65410;e.tusmallhiragana=12387;e.tusmallkatakana=12483;e.tusmallkatakanahalfwidth=65391;e.twelvecircle=9323;e.twelveparen=9343;e.twelveperiod=9363;e.twelveroman=8571;e.twentycircle=9331;e.twentyhangzhou=21316;e.twentyparen=9351;e.twentyperiod=9371;e.two=50;e.twoarabic=1634;e.twobengali=2536;e.twocircle=9313;e.twocircleinversesansserif=10123;e.twodeva=2408;e.twodotenleader=8229;e.twodotleader=8229;e.twodotleadervertical=65072;e.twogujarati=2792;e.twogurmukhi=2664;e.twohackarabic=1634;e.twohangzhou=12322;e.twoideographicparen=12833;e.twoinferior=8322;e.twomonospace=65298;e.twonumeratorbengali=2549;e.twooldstyle=63282;e.twoparen=9333;e.twoperiod=9353;e.twopersian=1778;e.tworoman=8561;e.twostroke=443;e.twosuperior=178;e.twothai=3666;e.twothirds=8532;e.u=117;e.uacute=250;e.ubar=649;e.ubengali=2441;e.ubopomofo=12584;e.ubreve=365;e.ucaron=468;e.ucircle=9444;e.ucircumflex=251;e.ucircumflexbelow=7799;e.ucyrillic=1091;e.udattadeva=2385;e.udblacute=369;e.udblgrave=533;e.udeva=2313;e.udieresis=252;e.udieresisacute=472;e.udieresisbelow=7795;e.udieresiscaron=474;e.udieresiscyrillic=1265;e.udieresisgrave=476;e.udieresismacron=470;e.udotbelow=7909;e.ugrave=249;e.ugujarati=2697;e.ugurmukhi=2569;e.uhiragana=12358;e.uhookabove=7911;e.uhorn=432;e.uhornacute=7913;e.uhorndotbelow=7921;e.uhorngrave=7915;e.uhornhookabove=7917;e.uhorntilde=7919;e.uhungarumlaut=369;e.uhungarumlautcyrillic=1267;e.uinvertedbreve=535;e.ukatakana=12454;e.ukatakanahalfwidth=65395;e.ukcyrillic=1145;e.ukorean=12636;e.umacron=363;e.umacroncyrillic=1263;e.umacrondieresis=7803;e.umatragurmukhi=2625;e.umonospace=65365;e.underscore=95;e.underscoredbl=8215;e.underscoremonospace=65343;e.underscorevertical=65075;e.underscorewavy=65103;e.union=8746;e.universal=8704;e.uogonek=371;e.uparen=9392;e.upblock=9600;e.upperdothebrew=1476;e.upsilon=965;e.upsilondieresis=971;e.upsilondieresistonos=944;e.upsilonlatin=650;e.upsilontonos=973;e.uptackbelowcmb=797;e.uptackmod=724;e.uragurmukhi=2675;e.uring=367;e.ushortcyrillic=1118;e.usmallhiragana=12357;e.usmallkatakana=12453;e.usmallkatakanahalfwidth=65385;e.ustraightcyrillic=1199;e.ustraightstrokecyrillic=1201;e.utilde=361;e.utildeacute=7801;e.utildebelow=7797;e.uubengali=2442;e.uudeva=2314;e.uugujarati=2698;e.uugurmukhi=2570;e.uumatragurmukhi=2626;e.uuvowelsignbengali=2498;e.uuvowelsigndeva=2370;e.uuvowelsigngujarati=2754;e.uvowelsignbengali=2497;e.uvowelsigndeva=2369;e.uvowelsigngujarati=2753;e.v=118;e.vadeva=2357;e.vagujarati=2741;e.vagurmukhi=2613;e.vakatakana=12535;e.vav=1493;e.vavdagesh=64309;e.vavdagesh65=64309;e.vavdageshhebrew=64309;e.vavhebrew=1493;e.vavholam=64331;e.vavholamhebrew=64331;e.vavvavhebrew=1520;e.vavyodhebrew=1521;e.vcircle=9445;e.vdotbelow=7807;e.vecyrillic=1074;e.veharabic=1700;e.vehfinalarabic=64363;e.vehinitialarabic=64364;e.vehmedialarabic=64365;e.vekatakana=12537;e.venus=9792;e.verticalbar=124;e.verticallineabovecmb=781;e.verticallinebelowcmb=809;e.verticallinelowmod=716;e.verticallinemod=712;e.vewarmenian=1406;e.vhook=651;e.vikatakana=12536;e.viramabengali=2509;e.viramadeva=2381;e.viramagujarati=2765;e.visargabengali=2435;e.visargadeva=2307;e.visargagujarati=2691;e.vmonospace=65366;e.voarmenian=1400;e.voicediterationhiragana=12446;e.voicediterationkatakana=12542;e.voicedmarkkana=12443;e.voicedmarkkanahalfwidth=65438;e.vokatakana=12538;e.vparen=9393;e.vtilde=7805;e.vturned=652;e.vuhiragana=12436;e.vukatakana=12532;e.w=119;e.wacute=7811;e.waekorean=12633;e.wahiragana=12431;e.wakatakana=12527;e.wakatakanahalfwidth=65436;e.wakorean=12632;e.wasmallhiragana=12430;e.wasmallkatakana=12526;e.wattosquare=13143;e.wavedash=12316;e.wavyunderscorevertical=65076;e.wawarabic=1608;e.wawfinalarabic=65262;e.wawhamzaabovearabic=1572;e.wawhamzaabovefinalarabic=65158;e.wbsquare=13277;e.wcircle=9446;e.wcircumflex=373;e.wdieresis=7813;e.wdotaccent=7815;e.wdotbelow=7817;e.wehiragana=12433;e.weierstrass=8472;e.wekatakana=12529;e.wekorean=12638;e.weokorean=12637;e.wgrave=7809;e.whitebullet=9702;e.whitecircle=9675;e.whitecircleinverse=9689;e.whitecornerbracketleft=12302;e.whitecornerbracketleftvertical=65091;e.whitecornerbracketright=12303;e.whitecornerbracketrightvertical=65092;e.whitediamond=9671;e.whitediamondcontainingblacksmalldiamond=9672;e.whitedownpointingsmalltriangle=9663;e.whitedownpointingtriangle=9661;e.whiteleftpointingsmalltriangle=9667;e.whiteleftpointingtriangle=9665;e.whitelenticularbracketleft=12310;e.whitelenticularbracketright=12311;e.whiterightpointingsmalltriangle=9657;e.whiterightpointingtriangle=9655;e.whitesmallsquare=9643;e.whitesmilingface=9786;e.whitesquare=9633;e.whitestar=9734;e.whitetelephone=9743;e.whitetortoiseshellbracketleft=12312;e.whitetortoiseshellbracketright=12313;e.whiteuppointingsmalltriangle=9653;e.whiteuppointingtriangle=9651;e.wihiragana=12432;e.wikatakana=12528;e.wikorean=12639;e.wmonospace=65367;e.wohiragana=12434;e.wokatakana=12530;e.wokatakanahalfwidth=65382;e.won=8361;e.wonmonospace=65510;e.wowaenthai=3623;e.wparen=9394;e.wring=7832;e.wsuperior=695;e.wturned=653;e.wynn=447;e.x=120;e.xabovecmb=829;e.xbopomofo=12562;e.xcircle=9447;e.xdieresis=7821;e.xdotaccent=7819;e.xeharmenian=1389;e.xi=958;e.xmonospace=65368;e.xparen=9395;e.xsuperior=739;e.y=121;e.yaadosquare=13134;e.yabengali=2479;e.yacute=253;e.yadeva=2351;e.yaekorean=12626;e.yagujarati=2735;e.yagurmukhi=2607;e.yahiragana=12420;e.yakatakana=12516;e.yakatakanahalfwidth=65428;e.yakorean=12625;e.yamakkanthai=3662;e.yasmallhiragana=12419;e.yasmallkatakana=12515;e.yasmallkatakanahalfwidth=65388;e.yatcyrillic=1123;e.ycircle=9448;e.ycircumflex=375;e.ydieresis=255;e.ydotaccent=7823;e.ydotbelow=7925;e.yeharabic=1610;e.yehbarreearabic=1746;e.yehbarreefinalarabic=64431;e.yehfinalarabic=65266;e.yehhamzaabovearabic=1574;e.yehhamzaabovefinalarabic=65162;e.yehhamzaaboveinitialarabic=65163;e.yehhamzaabovemedialarabic=65164;e.yehinitialarabic=65267;e.yehmedialarabic=65268;e.yehmeeminitialarabic=64733;e.yehmeemisolatedarabic=64600;e.yehnoonfinalarabic=64660;e.yehthreedotsbelowarabic=1745;e.yekorean=12630;e.yen=165;e.yenmonospace=65509;e.yeokorean=12629;e.yeorinhieuhkorean=12678;e.yerahbenyomohebrew=1450;e.yerahbenyomolefthebrew=1450;e.yericyrillic=1099;e.yerudieresiscyrillic=1273;e.yesieungkorean=12673;e.yesieungpansioskorean=12675;e.yesieungsioskorean=12674;e.yetivhebrew=1434;e.ygrave=7923;e.yhook=436;e.yhookabove=7927;e.yiarmenian=1397;e.yicyrillic=1111;e.yikorean=12642;e.yinyang=9775;e.yiwnarmenian=1410;e.ymonospace=65369;e.yod=1497;e.yoddagesh=64313;e.yoddageshhebrew=64313;e.yodhebrew=1497;e.yodyodhebrew=1522;e.yodyodpatahhebrew=64287;e.yohiragana=12424;e.yoikorean=12681;e.yokatakana=12520;e.yokatakanahalfwidth=65430;e.yokorean=12635;e.yosmallhiragana=12423;e.yosmallkatakana=12519;e.yosmallkatakanahalfwidth=65390;e.yotgreek=1011;e.yoyaekorean=12680;e.yoyakorean=12679;e.yoyakthai=3618;e.yoyingthai=3597;e.yparen=9396;e.ypogegrammeni=890;e.ypogegrammenigreekcmb=837;e.yr=422;e.yring=7833;e.ysuperior=696;e.ytilde=7929;e.yturned=654;e.yuhiragana=12422;e.yuikorean=12684;e.yukatakana=12518;e.yukatakanahalfwidth=65429;e.yukorean=12640;e.yusbigcyrillic=1131;e.yusbigiotifiedcyrillic=1133;e.yuslittlecyrillic=1127;e.yuslittleiotifiedcyrillic=1129;e.yusmallhiragana=12421;e.yusmallkatakana=12517;e.yusmallkatakanahalfwidth=65389;e.yuyekorean=12683;e.yuyeokorean=12682;e.yyabengali=2527;e.yyadeva=2399;e.z=122;e.zaarmenian=1382;e.zacute=378;e.zadeva=2395;e.zagurmukhi=2651;e.zaharabic=1592;e.zahfinalarabic=65222;e.zahinitialarabic=65223;e.zahiragana=12374;e.zahmedialarabic=65224;e.zainarabic=1586;e.zainfinalarabic=65200;e.zakatakana=12470;e.zaqefgadolhebrew=1429;e.zaqefqatanhebrew=1428;e.zarqahebrew=1432;e.zayin=1494;e.zayindagesh=64310;e.zayindageshhebrew=64310;e.zayinhebrew=1494;e.zbopomofo=12567;e.zcaron=382;e.zcircle=9449;e.zcircumflex=7825;e.zcurl=657;e.zdot=380;e.zdotaccent=380;e.zdotbelow=7827;e.zecyrillic=1079;e.zedescendercyrillic=1177;e.zedieresiscyrillic=1247;e.zehiragana=12380;e.zekatakana=12476;e.zero=48;e.zeroarabic=1632;e.zerobengali=2534;e.zerodeva=2406;e.zerogujarati=2790;e.zerogurmukhi=2662;e.zerohackarabic=1632;e.zeroinferior=8320;e.zeromonospace=65296;e.zerooldstyle=63280;e.zeropersian=1776;e.zerosuperior=8304;e.zerothai=3664;e.zerowidthjoiner=65279;e.zerowidthnonjoiner=8204;e.zerowidthspace=8203;e.zeta=950;e.zhbopomofo=12563;e.zhearmenian=1386;e.zhebrevecyrillic=1218;e.zhecyrillic=1078;e.zhedescendercyrillic=1175;e.zhedieresiscyrillic=1245;e.zihiragana=12376;e.zikatakana=12472;e.zinorhebrew=1454;e.zlinebelow=7829;e.zmonospace=65370;e.zohiragana=12382;e.zokatakana=12478;e.zparen=9397;e.zretroflexhook=656;e.zstroke=438;e.zuhiragana=12378;e.zukatakana=12474;e[".notdef"]=0;e.angbracketleftbig=9001;e.angbracketleftBig=9001;e.angbracketleftbigg=9001;e.angbracketleftBigg=9001;e.angbracketrightBig=9002;e.angbracketrightbig=9002;e.angbracketrightBigg=9002;e.angbracketrightbigg=9002;e.arrowhookleft=8618;e.arrowhookright=8617;e.arrowlefttophalf=8636;e.arrowleftbothalf=8637;e.arrownortheast=8599;e.arrownorthwest=8598;e.arrowrighttophalf=8640;e.arrowrightbothalf=8641;e.arrowsoutheast=8600;e.arrowsouthwest=8601;e.backslashbig=8726;e.backslashBig=8726;e.backslashBigg=8726;e.backslashbigg=8726;e.bardbl=8214;e.bracehtipdownleft=65079;e.bracehtipdownright=65079;e.bracehtipupleft=65080;e.bracehtipupright=65080;e.braceleftBig=123;e.braceleftbig=123;e.braceleftbigg=123;e.braceleftBigg=123;e.bracerightBig=125;e.bracerightbig=125;e.bracerightbigg=125;e.bracerightBigg=125;e.bracketleftbig=91;e.bracketleftBig=91;e.bracketleftbigg=91;e.bracketleftBigg=91;e.bracketrightBig=93;e.bracketrightbig=93;e.bracketrightbigg=93;e.bracketrightBigg=93;e.ceilingleftbig=8968;e.ceilingleftBig=8968;e.ceilingleftBigg=8968;e.ceilingleftbigg=8968;e.ceilingrightbig=8969;e.ceilingrightBig=8969;e.ceilingrightbigg=8969;e.ceilingrightBigg=8969;e.circledotdisplay=8857;e.circledottext=8857;e.circlemultiplydisplay=8855;e.circlemultiplytext=8855;e.circleplusdisplay=8853;e.circleplustext=8853;e.contintegraldisplay=8750;e.contintegraltext=8750;e.coproductdisplay=8720;e.coproducttext=8720;e.floorleftBig=8970;e.floorleftbig=8970;e.floorleftbigg=8970;e.floorleftBigg=8970;e.floorrightbig=8971;e.floorrightBig=8971;e.floorrightBigg=8971;e.floorrightbigg=8971;e.hatwide=770;e.hatwider=770;e.hatwidest=770;e.intercal=7488;e.integraldisplay=8747;e.integraltext=8747;e.intersectiondisplay=8898;e.intersectiontext=8898;e.logicalanddisplay=8743;e.logicalandtext=8743;e.logicalordisplay=8744;e.logicalortext=8744;e.parenleftBig=40;e.parenleftbig=40;e.parenleftBigg=40;e.parenleftbigg=40;e.parenrightBig=41;e.parenrightbig=41;e.parenrightBigg=41;e.parenrightbigg=41;e.prime=8242;e.productdisplay=8719;e.producttext=8719;e.radicalbig=8730;e.radicalBig=8730;e.radicalBigg=8730;e.radicalbigg=8730;e.radicalbt=8730;e.radicaltp=8730;e.radicalvertex=8730;e.slashbig=47;e.slashBig=47;e.slashBigg=47;e.slashbigg=47;e.summationdisplay=8721;e.summationtext=8721;e.tildewide=732;e.tildewider=732;e.tildewidest=732;e.uniondisplay=8899;e.unionmultidisplay=8846;e.unionmultitext=8846;e.unionsqdisplay=8852;e.unionsqtext=8852;e.uniontext=8899;e.vextenddouble=8741;e.vextendsingle=8739}),pr=getLookupTableFactory(function(e){e.space=32;e.a1=9985;e.a2=9986;e.a202=9987;e.a3=9988;e.a4=9742;e.a5=9990;e.a119=9991;e.a118=9992;e.a117=9993;e.a11=9755;e.a12=9758;e.a13=9996;e.a14=9997;e.a15=9998;e.a16=9999;e.a105=1e4;e.a17=10001;e.a18=10002;e.a19=10003;e.a20=10004;e.a21=10005;e.a22=10006;e.a23=10007;e.a24=10008;e.a25=10009;e.a26=10010;e.a27=10011;e.a28=10012;e.a6=10013;e.a7=10014;e.a8=10015;e.a9=10016;e.a10=10017;e.a29=10018;e.a30=10019;e.a31=10020;e.a32=10021;e.a33=10022;e.a34=10023;e.a35=9733;e.a36=10025;e.a37=10026;e.a38=10027;e.a39=10028;e.a40=10029;e.a41=10030;e.a42=10031;e.a43=10032;e.a44=10033;e.a45=10034;e.a46=10035;e.a47=10036;e.a48=10037;e.a49=10038;e.a50=10039;e.a51=10040;e.a52=10041;e.a53=10042;e.a54=10043;e.a55=10044;e.a56=10045;e.a57=10046;e.a58=10047;e.a59=10048;e.a60=10049;e.a61=10050;e.a62=10051;e.a63=10052;e.a64=10053;e.a65=10054;e.a66=10055;e.a67=10056;e.a68=10057;e.a69=10058;e.a70=10059;e.a71=9679;e.a72=10061;e.a73=9632;e.a74=10063;e.a203=10064;e.a75=10065;e.a204=10066;e.a76=9650;e.a77=9660;e.a78=9670;e.a79=10070;e.a81=9687;e.a82=10072;e.a83=10073;e.a84=10074;e.a97=10075;e.a98=10076;e.a99=10077;e.a100=10078;e.a101=10081;e.a102=10082;e.a103=10083;e.a104=10084;e.a106=10085;e.a107=10086;e.a108=10087;e.a112=9827;e.a111=9830;e.a110=9829;e.a109=9824;e.a120=9312;e.a121=9313;e.a122=9314;e.a123=9315;e.a124=9316;e.a125=9317;e.a126=9318;e.a127=9319;e.a128=9320;e.a129=9321;e.a130=10102;e.a131=10103;e.a132=10104;e.a133=10105;e.a134=10106;e.a135=10107;e.a136=10108;e.a137=10109;e.a138=10110;e.a139=10111;e.a140=10112;e.a141=10113;e.a142=10114;e.a143=10115;e.a144=10116;e.a145=10117;e.a146=10118;e.a147=10119;e.a148=10120;e.a149=10121;e.a150=10122;e.a151=10123;e.a152=10124;e.a153=10125;e.a154=10126;e.a155=10127;e.a156=10128;e.a157=10129;e.a158=10130;e.a159=10131;e.a160=10132;e.a161=8594;e.a163=8596;e.a164=8597;e.a196=10136;e.a165=10137;e.a192=10138;e.a166=10139;e.a167=10140;e.a168=10141;e.a169=10142;e.a170=10143;e.a171=10144;e.a172=10145;e.a173=10146;e.a162=10147;e.a174=10148;e.a175=10149;e.a176=10150;e.a177=10151;e.a178=10152;e.a179=10153;e.a193=10154;e.a180=10155;e.a199=10156;e.a181=10157;e.a200=10158;e.a182=10159;e.a201=10161;e.a183=10162;e.a184=10163;e.a197=10164;e.a185=10165;e.a194=10166;e.a198=10167;e.a186=10168;e.a195=10169;e.a187=10170;e.a188=10171;e.a189=10172;e.a190=10173;e.a191=10174;e.a89=10088;e.a90=10089;e.a93=10090;e.a94=10091;e.a91=10092;e.a92=10093;e.a205=10094;e.a85=10095;e.a206=10096;e.a86=10097;e.a87=10098;e.a88=10099;e.a95=10100;e.a96=10101;e[".notdef"]=0}),mr=getLookupTableFactory(function(e){e[63721]=169;e[63193]=169;e[63720]=174;e[63194]=174;e[63722]=8482;e[63195]=8482;e[63729]=9127;e[63730]=9128;e[63731]=9129;e[63740]=9131;e[63741]=9132;e[63742]=9133;e[63726]=9121;e[63727]=9122;e[63728]=9123;e[63737]=9124;e[63738]=9125;e[63739]=9126;e[63723]=9115;e[63724]=9116;e[63725]=9117;e[63734]=9118;e[63735]=9119;e[63736]=9120});function getUnicodeForGlyph(e,t){let a=t[e];if(void 0!==a)return a;if(!e)return-1;if("u"===e[0]){const t=e.length;let r;if(7===t&&"n"===e[1]&&"i"===e[2])r=e.substring(3);else{if(!(t>=5&&t<=7))return-1;r=e.substring(1)}if(r===r.toUpperCase()){a=parseInt(r,16);if(a>=0)return a}}return-1}const br=[[0,127],[128,255],[256,383],[384,591],[592,687,7424,7551,7552,7615],[688,767,42752,42783],[768,879,7616,7679],[880,1023],[11392,11519],[1024,1279,1280,1327,11744,11775,42560,42655],[1328,1423],[1424,1535],[42240,42559],[1536,1791,1872,1919],[1984,2047],[2304,2431],[2432,2559],[2560,2687],[2688,2815],[2816,2943],[2944,3071],[3072,3199],[3200,3327],[3328,3455],[3584,3711],[3712,3839],[4256,4351,11520,11567],[6912,7039],[4352,4607],[7680,7935,11360,11391,42784,43007],[7936,8191],[8192,8303,11776,11903],[8304,8351],[8352,8399],[8400,8447],[8448,8527],[8528,8591],[8592,8703,10224,10239,10496,10623,11008,11263],[8704,8959,10752,11007,10176,10223,10624,10751],[8960,9215],[9216,9279],[9280,9311],[9312,9471],[9472,9599],[9600,9631],[9632,9727],[9728,9983],[9984,10175],[12288,12351],[12352,12447],[12448,12543,12784,12799],[12544,12591,12704,12735],[12592,12687],[43072,43135],[12800,13055],[13056,13311],[44032,55215],[55296,57343],[67840,67871],[19968,40959,11904,12031,12032,12255,12272,12287,13312,19903,131072,173791,12688,12703],[57344,63743],[12736,12783,63744,64255,194560,195103],[64256,64335],[64336,65023],[65056,65071],[65040,65055],[65104,65135],[65136,65279],[65280,65519],[65520,65535],[3840,4095],[1792,1871],[1920,1983],[3456,3583],[4096,4255],[4608,4991,4992,5023,11648,11743],[5024,5119],[5120,5759],[5760,5791],[5792,5887],[6016,6143],[6144,6319],[10240,10495],[40960,42127],[5888,5919,5920,5951,5952,5983,5984,6015],[66304,66351],[66352,66383],[66560,66639],[118784,119039,119040,119295,119296,119375],[119808,120831],[1044480,1048573],[65024,65039,917760,917999],[917504,917631],[6400,6479],[6480,6527],[6528,6623],[6656,6687],[11264,11359],[11568,11647],[19904,19967],[43008,43055],[65536,65663,65664,65791,65792,65855],[65856,65935],[66432,66463],[66464,66527],[66640,66687],[66688,66735],[67584,67647],[68096,68191],[119552,119647],[73728,74751,74752,74879],[119648,119679],[7040,7103],[7168,7247],[7248,7295],[43136,43231],[43264,43311],[43312,43359],[43520,43615],[65936,65999],[66e3,66047],[66208,66271,66176,66207,67872,67903],[127024,127135,126976,127023]];function getUnicodeRangeFor(e,t=-1){if(-1!==t){const a=br[t];for(let r=0,i=a.length;r=a[r]&&e<=a[r+1])return t}for(let t=0,a=br.length;t=a[r]&&e<=a[r+1])return t}return-1}const yr=new RegExp("^(\\s)|(\\p{Mn})|(\\p{Cf})$","u"),wr=new Map;const Sr=!0,xr=1,Ar=2,kr=4,Cr=32,vr=[".notdef",".null","nonmarkingreturn","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","grave","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","Adieresis","Aring","Ccedilla","Eacute","Ntilde","Odieresis","Udieresis","aacute","agrave","acircumflex","adieresis","atilde","aring","ccedilla","eacute","egrave","ecircumflex","edieresis","iacute","igrave","icircumflex","idieresis","ntilde","oacute","ograve","ocircumflex","odieresis","otilde","uacute","ugrave","ucircumflex","udieresis","dagger","degree","cent","sterling","section","bullet","paragraph","germandbls","registered","copyright","trademark","acute","dieresis","notequal","AE","Oslash","infinity","plusminus","lessequal","greaterequal","yen","mu","partialdiff","summation","product","pi","integral","ordfeminine","ordmasculine","Omega","ae","oslash","questiondown","exclamdown","logicalnot","radical","florin","approxequal","Delta","guillemotleft","guillemotright","ellipsis","nonbreakingspace","Agrave","Atilde","Otilde","OE","oe","endash","emdash","quotedblleft","quotedblright","quoteleft","quoteright","divide","lozenge","ydieresis","Ydieresis","fraction","currency","guilsinglleft","guilsinglright","fi","fl","daggerdbl","periodcentered","quotesinglbase","quotedblbase","perthousand","Acircumflex","Ecircumflex","Aacute","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Oacute","Ocircumflex","apple","Ograve","Uacute","Ucircumflex","Ugrave","dotlessi","circumflex","tilde","macron","breve","dotaccent","ring","cedilla","hungarumlaut","ogonek","caron","Lslash","lslash","Scaron","scaron","Zcaron","zcaron","brokenbar","Eth","eth","Yacute","yacute","Thorn","thorn","minus","multiply","onesuperior","twosuperior","threesuperior","onehalf","onequarter","threequarters","franc","Gbreve","gbreve","Idotaccent","Scedilla","scedilla","Cacute","cacute","Ccaron","ccaron","dcroat"];function recoverGlyphName(e,t){if(void 0!==t[e])return e;const a=getUnicodeForGlyph(e,t);if(-1!==a)for(const e in t)if(t[e]===a)return e;info("Unable to recover a standard glyph name for: "+e);return e}function type1FontGlyphMapping(e,t,a){const r=Object.create(null);let i,n,s;const o=!!(e.flags&kr);if(e.isInternalFont){s=t;for(n=0;n=0?i:0}}else if(e.baseEncodingName){s=getEncoding(e.baseEncodingName);for(n=0;n=0?i:0}}else if(o)for(n in t)r[n]=t[n];else{s=hr;for(n=0;n=0?i:0}}const c=e.differences;let l;if(c)for(n in c){const e=c[n];i=a.indexOf(e);if(-1===i){l||(l=gr());const t=recoverGlyphName(e,l);t!==e&&(i=a.indexOf(t))}r[n]=i>=0?i:0}return r}function normalizeFontName(e){return e.replaceAll(/[,_]/g,"-").replaceAll(/\s/g,"")}const Fr=getLookupTableFactory(e=>{e[8211]=65074;e[8212]=65073;e[8229]=65072;e[8230]=65049;e[12289]=65041;e[12290]=65042;e[12296]=65087;e[12297]=65088;e[12298]=65085;e[12299]=65086;e[12300]=65089;e[12301]=65090;e[12302]=65091;e[12303]=65092;e[12304]=65083;e[12305]=65084;e[12308]=65081;e[12309]=65082;e[12310]=65047;e[12311]=65048;e[65103]=65076;e[65281]=65045;e[65288]=65077;e[65289]=65078;e[65292]=65040;e[65306]=65043;e[65307]=65044;e[65311]=65046;e[65339]=65095;e[65341]=65096;e[65343]=65075;e[65371]=65079;e[65373]=65080});const Ir=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron"],Tr=[".notdef","space","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","fi","fl","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall"],Or=[".notdef","space","dollaroldstyle","dollarsuperior","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","fi","fl","ffi","ffl","parenleftinferior","parenrightinferior","hyphensuperior","colonmonetary","onefitted","rupiah","centoldstyle","figuredash","hypheninferior","onequarter","onehalf","threequarters","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior"],Dr=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall","001.000","001.001","001.002","001.003","Black","Bold","Book","Light","Medium","Regular","Roman","Semibold"],Mr=391,Rr=[null,{id:"hstem",min:2,stackClearing:!0,stem:!0},null,{id:"vstem",min:2,stackClearing:!0,stem:!0},{id:"vmoveto",min:1,stackClearing:!0},{id:"rlineto",min:2,resetStack:!0},{id:"hlineto",min:1,resetStack:!0},{id:"vlineto",min:1,resetStack:!0},{id:"rrcurveto",min:6,resetStack:!0},null,{id:"callsubr",min:1},{id:"return",min:0},null,null,{id:"endchar",min:0,stackClearing:!0},null,null,null,{id:"hstemhm",min:2,stackClearing:!0,stem:!0},{id:"hintmask",min:0,stackClearing:!0},{id:"cntrmask",min:0,stackClearing:!0},{id:"rmoveto",min:2,stackClearing:!0},{id:"hmoveto",min:1,stackClearing:!0},{id:"vstemhm",min:2,stackClearing:!0,stem:!0},{id:"rcurveline",min:8,resetStack:!0},{id:"rlinecurve",min:8,resetStack:!0},{id:"vvcurveto",min:4,resetStack:!0},{id:"hhcurveto",min:4,resetStack:!0},null,{id:"callgsubr",min:1},{id:"vhcurveto",min:4,resetStack:!0},{id:"hvcurveto",min:4,resetStack:!0}],Nr=[null,null,null,{id:"and",min:2,stackDelta:-1},{id:"or",min:2,stackDelta:-1},{id:"not",min:1,stackDelta:0},null,null,null,{id:"abs",min:1,stackDelta:0},{id:"add",min:2,stackDelta:-1,stackFn(e,t){e[t-2]=e[t-2]+e[t-1]}},{id:"sub",min:2,stackDelta:-1,stackFn(e,t){e[t-2]=e[t-2]-e[t-1]}},{id:"div",min:2,stackDelta:-1,stackFn(e,t){e[t-2]=e[t-2]/e[t-1]}},null,{id:"neg",min:1,stackDelta:0,stackFn(e,t){e[t-1]=-e[t-1]}},{id:"eq",min:2,stackDelta:-1},null,null,{id:"drop",min:1,stackDelta:-1},null,{id:"put",min:2,stackDelta:-2},{id:"get",min:1,stackDelta:0},{id:"ifelse",min:4,stackDelta:-3},{id:"random",min:0,stackDelta:1},{id:"mul",min:2,stackDelta:-1,stackFn(e,t){e[t-2]=e[t-2]*e[t-1]}},null,{id:"sqrt",min:1,stackDelta:0},{id:"dup",min:1,stackDelta:1},{id:"exch",min:2,stackDelta:0},{id:"index",min:2,stackDelta:0},{id:"roll",min:3,stackDelta:-2},null,null,null,{id:"hflex",min:7,resetStack:!0},{id:"flex",min:13,resetStack:!0},{id:"hflex1",min:9,resetStack:!0},{id:"flex1",min:11,resetStack:!0}];class CFFParser{constructor(e,t,a){this.bytes=e.getBytes();this.properties=t;this.seacAnalysisEnabled=!!a}parse(){const e=this.properties,t=new CFF;this.cff=t;const a=this.parseHeader(),r=this.parseIndex(a.endPos),i=this.parseIndex(r.endPos),n=this.parseIndex(i.endPos),s=this.parseIndex(n.endPos),o=this.parseDict(i.obj.get(0)),c=this.createDict(CFFTopDict,o,t.strings);t.header=a.obj;t.names=this.parseNameIndex(r.obj);t.strings=this.parseStringIndex(n.obj);t.topDict=c;t.globalSubrIndex=s.obj;this.parsePrivateDict(t.topDict);t.isCIDFont=c.hasName("ROS");const l=c.getByName("CharStrings"),h=this.parseIndex(l).obj;t.charStringCount=h.count;const u=c.getByName("FontMatrix");u&&(e.fontMatrix=u);const d=c.getByName("FontBBox");if(d){e.ascent=Math.max(d[3],d[1]);e.descent=Math.min(d[1],d[3]);e.ascentScaled=!0}let f,g;if(t.isCIDFont){const e=this.parseIndex(c.getByName("FDArray")).obj;for(let a=0,r=e.count;a=t)throw new FormatError("Invalid CFF header");if(0!==a){info("cff data is shifted");e=e.subarray(a);this.bytes=e}const r=e[0],i=e[1],n=e[2],s=e[3];return{obj:new CFFHeader(r,i,n,s),endPos:n}}parseDict(e){let t=0;function parseOperand(){let a=e[t++];if(30===a)return function parseFloatOperand(){let a="";const r=15,i=["0","1","2","3","4","5","6","7","8","9",".","E","E-",null,"-"],n=e.length;for(;t>4,o=15&n;if(s===r)break;a+=i[s];if(o===r)break;a+=i[o]}return parseFloat(a)}();if(28===a){a=readInt16(e,t);t+=2;return a}if(29===a){a=e[t++];a=a<<8|e[t++];a=a<<8|e[t++];a=a<<8|e[t++];return a}if(a>=32&&a<=246)return a-139;if(a>=247&&a<=250)return 256*(a-247)+e[t++]+108;if(a>=251&&a<=254)return-256*(a-251)-e[t++]-108;warn('CFFParser_parseDict: "'+a+'" is a reserved command.');return NaN}let a=[];const r=[];t=0;const i=e.length;for(;t10)return!1;let i=e.stackSize;const n=e.stack;let s=t.length;for(let o=0;o=4){i-=4;if(this.seacAnalysisEnabled){e.seac=n.slice(i,i+4);return!1}}l=Rr[c]}else if(c>=32&&c<=246){n[i]=c-139;i++}else if(c>=247&&c<=254){n[i]=c<251?(c-247<<8)+t[o]+108:-(c-251<<8)-t[o]-108;o++;i++}else if(255===c){n[i]=(t[o]<<24|t[o+1]<<16|t[o+2]<<8|t[o+3])/65536;o+=4;i++}else if(19===c||20===c){e.hints+=i>>1;if(0===e.hints){t.copyWithin(o-1,o,-1);o-=1;s-=1;continue}o+=e.hints+7>>3;i%=2;l=Rr[c]}else{if(10===c||29===c){const t=10===c?a:r;if(!t){l=Rr[c];warn("Missing subrsIndex for "+l.id);return!1}let s=32768;t.count<1240?s=107:t.count<33900&&(s=1131);const o=n[--i]+s;if(o<0||o>=t.count||isNaN(o)){l=Rr[c];warn("Out of bounds subrIndex for "+l.id);return!1}e.stackSize=i;e.callDepth++;if(!this.parseCharString(e,t.get(o),a,r))return!1;e.callDepth--;i=e.stackSize;continue}if(11===c){e.stackSize=i;return!0}if(0===c&&o===t.length){t[o-1]=14;l=Rr[14]}else{if(9===c){t.copyWithin(o-1,o,-1);o-=1;s-=1;continue}l=Rr[c]}}if(l){if(l.stem){e.hints+=i>>1;if(3===c||23===c)e.hasVStems=!0;else if(e.hasVStems&&(1===c||18===c)){warn("CFF stem hints are in wrong order");t[o-1]=1===c?3:23}}if(i=2&&l.stem?i%=2:i>1&&warn("Found too many parameters for stack-clearing command");i>0&&(e.width=n[i-1])}if("stackDelta"in l){"stackFn"in l&&l.stackFn(n,i);i+=l.stackDelta}else(l.stackClearing||l.resetStack)&&(i=0)}}s=i.length){warn("Invalid fd index for glyph index.");u=!1}if(u){f=i[e].privateDict;d=f.subrsIndex}}else t&&(d=t);u&&(u=this.parseCharString(h,c,d,a));if(null!==h.width){const e=f.getByName("nominalWidthX");o[l]=e+h.width}else{const e=f.getByName("defaultWidthX");o[l]=e}null!==h.seac&&(s[l]=h.seac);u||e.set(l,new Uint8Array([14]))}return{charStrings:e,seacs:s,widths:o}}emptyPrivateDictionary(e){const t=this.createDict(CFFPrivateDict,[],e.strings);e.setByKey(18,[0,0]);e.privateDict=t}parsePrivateDict(e){if(!e.hasName("Private")){this.emptyPrivateDictionary(e);return}const t=e.getByName("Private");if(!Array.isArray(t)||2!==t.length){e.removeByName("Private");return}const a=t[0],r=t[1];if(0===a||r>=this.bytes.length){this.emptyPrivateDictionary(e);return}const i=r+a,n=this.bytes.subarray(r,i),s=this.parseDict(n),o=this.createDict(CFFPrivateDict,s,e.strings);e.privateDict=o;0===o.getByName("ExpansionFactor")&&o.setByName("ExpansionFactor",.06);if(!o.getByName("Subrs"))return;const c=o.getByName("Subrs"),l=r+c;if(0===c||l>=this.bytes.length){this.emptyPrivateDictionary(e);return}const h=this.parseIndex(l);o.subrsIndex=h.obj}parseCharsets(e,t,a,r){if(0===e)return new CFFCharset(!0,Lr.ISO_ADOBE,Ir);if(1===e)return new CFFCharset(!0,Lr.EXPERT,Tr);if(2===e)return new CFFCharset(!0,Lr.EXPERT_SUBSET,Or);const i=this.bytes,n=e,s=i[e++],o=[r?0:".notdef"];let c,l,h;t-=1;switch(s){case 0:for(h=0;h=65535){warn("Not enough space in charstrings to duplicate first glyph.");return}const e=this.charStrings.get(0);this.charStrings.add(e);this.isCIDFont&&this.fdSelect.fdSelect.push(this.fdSelect.fdSelect[0])}hasGlyphId(e){if(e<0||e>=this.charStrings.count)return!1;return this.charStrings.get(e).length>0}}class CFFHeader{constructor(e,t,a,r){this.major=e;this.minor=t;this.hdrSize=a;this.offSize=r}}class CFFStrings{constructor(){this.strings=[]}get(e){return e>=0&&e<=390?Dr[e]:e-Mr<=this.strings.length?this.strings[e-Mr]:Dr[0]}getSID(e){let t=Dr.indexOf(e);if(-1!==t)return t;t=this.strings.indexOf(e);return-1!==t?t+Mr:-1}add(e){this.strings.push(e)}get count(){return this.strings.length}}class CFFIndex{constructor(){this.objects=[];this.length=0}add(e){this.length+=e.length;this.objects.push(e)}set(e,t){this.length+=t.length-this.objects[e].length;this.objects[e]=t}get(e){return this.objects[e]}get count(){return this.objects.length}}class CFFDict{constructor(e,t){this.keyToNameMap=e.keyToNameMap;this.nameToKeyMap=e.nameToKeyMap;this.defaults=e.defaults;this.types=e.types;this.opcodes=e.opcodes;this.order=e.order;this.strings=t;this.values=Object.create(null)}setByKey(e,t){if(!(e in this.keyToNameMap))return!1;if(0===t.length)return!0;for(const a of t)if(isNaN(a)){warn(`Invalid CFFDict value: "${t}" for key "${e}".`);return!0}const a=this.types[e];"num"!==a&&"sid"!==a&&"offset"!==a||(t=t[0]);this.values[e]=t;return!0}setByName(e,t){if(!(e in this.nameToKeyMap))throw new FormatError(`Invalid dictionary name "${e}"`);this.values[this.nameToKeyMap[e]]=t}hasName(e){return this.nameToKeyMap[e]in this.values}getByName(e){if(!(e in this.nameToKeyMap))throw new FormatError(`Invalid dictionary name ${e}"`);const t=this.nameToKeyMap[e];return t in this.values?this.values[t]:this.defaults[t]}removeByName(e){delete this.values[this.nameToKeyMap[e]]}static createTables(e){const t={keyToNameMap:{},nameToKeyMap:{},defaults:{},types:{},opcodes:{},order:[]};for(const a of e){const e=Array.isArray(a[0])?(a[0][0]<<8)+a[0][1]:a[0];t.keyToNameMap[e]=a[1];t.nameToKeyMap[a[1]]=e;t.types[e]=a[2];t.defaults[e]=a[3];t.opcodes[e]=Array.isArray(a[0])?a[0]:[a[0]];t.order.push(e)}return t}}const Pr=[[[12,30],"ROS",["sid","sid","num"],null],[[12,20],"SyntheticBase","num",null],[0,"version","sid",null],[1,"Notice","sid",null],[[12,0],"Copyright","sid",null],[2,"FullName","sid",null],[3,"FamilyName","sid",null],[4,"Weight","sid",null],[[12,1],"isFixedPitch","num",0],[[12,2],"ItalicAngle","num",0],[[12,3],"UnderlinePosition","num",-100],[[12,4],"UnderlineThickness","num",50],[[12,5],"PaintType","num",0],[[12,6],"CharstringType","num",2],[[12,7],"FontMatrix",["num","num","num","num","num","num"],[.001,0,0,.001,0,0]],[13,"UniqueID","num",null],[5,"FontBBox",["num","num","num","num"],[0,0,0,0]],[[12,8],"StrokeWidth","num",0],[14,"XUID","array",null],[15,"charset","offset",0],[16,"Encoding","offset",0],[17,"CharStrings","offset",0],[18,"Private",["offset","offset"],null],[[12,21],"PostScript","sid",null],[[12,22],"BaseFontName","sid",null],[[12,23],"BaseFontBlend","delta",null],[[12,31],"CIDFontVersion","num",0],[[12,32],"CIDFontRevision","num",0],[[12,33],"CIDFontType","num",0],[[12,34],"CIDCount","num",8720],[[12,35],"UIDBase","num",null],[[12,37],"FDSelect","offset",null],[[12,36],"FDArray","offset",null],[[12,38],"FontName","sid",null]];class CFFTopDict extends CFFDict{static get tables(){return shadow(this,"tables",this.createTables(Pr))}constructor(e){super(CFFTopDict.tables,e);this.privateDict=null}}const Er=[[6,"BlueValues","delta",null],[7,"OtherBlues","delta",null],[8,"FamilyBlues","delta",null],[9,"FamilyOtherBlues","delta",null],[[12,9],"BlueScale","num",.039625],[[12,10],"BlueShift","num",7],[[12,11],"BlueFuzz","num",1],[10,"StdHW","num",null],[11,"StdVW","num",null],[[12,12],"StemSnapH","delta",null],[[12,13],"StemSnapV","delta",null],[[12,14],"ForceBold","num",0],[[12,17],"LanguageGroup","num",0],[[12,18],"ExpansionFactor","num",.06],[[12,19],"initialRandomSeed","num",0],[20,"defaultWidthX","num",0],[21,"nominalWidthX","num",0],[19,"Subrs","offset",null]];class CFFPrivateDict extends CFFDict{static get tables(){return shadow(this,"tables",this.createTables(Er))}constructor(e){super(CFFPrivateDict.tables,e);this.subrsIndex=null}}const Lr={ISO_ADOBE:0,EXPERT:1,EXPERT_SUBSET:2};class CFFCharset{constructor(e,t,a,r){this.predefined=e;this.format=t;this.charset=a;this.raw=r}}class CFFEncoding{constructor(e,t,a,r){this.predefined=e;this.format=t;this.encoding=a;this.raw=r}}class CFFFDSelect{constructor(e,t){this.format=e;this.fdSelect=t}getFDIndex(e){return e<0||e>=this.fdSelect.length?-1:this.fdSelect[e]}}class CFFOffsetTracker{constructor(){this.offsets=Object.create(null)}isTracking(e){return e in this.offsets}track(e,t){if(e in this.offsets)throw new FormatError(`Already tracking location of ${e}`);this.offsets[e]=t}offset(e){for(const t in this.offsets)this.offsets[t]+=e}setEntryLocation(e,t,a){if(!(e in this.offsets))throw new FormatError(`Not tracking location of ${e}`);const r=a.data,i=this.offsets[e];for(let e=0,a=t.length;e>24&255;r[s]=l>>16&255;r[o]=l>>8&255;r[c]=255&l}}}class CFFCompiler{constructor(e){this.cff=e}compile(){const e=this.cff,t={data:[],length:0,add(e){try{this.data.push(...e)}catch{this.data=this.data.concat(e)}this.length=this.data.length}},a=this.compileHeader(e.header);t.add(a);const r=this.compileNameIndex(e.names);t.add(r);if(e.isCIDFont&&e.topDict.hasName("FontMatrix")){const t=e.topDict.getByName("FontMatrix");e.topDict.removeByName("FontMatrix");for(const a of e.fdArray){let e=t.slice(0);a.hasName("FontMatrix")&&(e=Util.transform(e,a.getByName("FontMatrix")));a.setByName("FontMatrix",e)}}const i=e.topDict.getByName("XUID");i?.length>16&&e.topDict.removeByName("XUID");e.topDict.setByName("charset",0);let n=this.compileTopDicts([e.topDict],t.length,e.isCIDFont);t.add(n.output);const s=n.trackers[0],o=this.compileStringIndex(e.strings.strings);t.add(o);const c=this.compileIndex(e.globalSubrIndex);t.add(c);if(e.encoding&&e.topDict.hasName("Encoding"))if(e.encoding.predefined)s.setEntryLocation("Encoding",[e.encoding.format],t);else{const a=this.compileEncoding(e.encoding);s.setEntryLocation("Encoding",[t.length],t);t.add(a)}const l=this.compileCharset(e.charset,e.charStrings.count,e.strings,e.isCIDFont);s.setEntryLocation("charset",[t.length],t);t.add(l);const h=this.compileCharStrings(e.charStrings);s.setEntryLocation("CharStrings",[t.length],t);t.add(h);if(e.isCIDFont){s.setEntryLocation("FDSelect",[t.length],t);const a=this.compileFDSelect(e.fdSelect);t.add(a);n=this.compileTopDicts(e.fdArray,t.length,!0);s.setEntryLocation("FDArray",[t.length],t);t.add(n.output);const r=n.trackers;this.compilePrivateDicts(e.fdArray,r,t)}this.compilePrivateDicts([e.topDict],[s],t);t.add([0]);return t.data}encodeNumber(e){return Number.isInteger(e)?this.encodeInteger(e):this.encodeFloat(e)}static get EncodeFloatRegExp(){return shadow(this,"EncodeFloatRegExp",/\.(\d*?)(?:9{5,20}|0{5,20})\d{0,2}(?:e(.+)|$)/)}encodeFloat(e){let t=e.toString();const a=CFFCompiler.EncodeFloatRegExp.exec(t);if(a){const r=parseFloat("1e"+((a[2]?+a[2]:0)+a[1].length));t=(Math.round(e*r)/r).toString()}let r,i,n="";for(r=0,i=t.length;r=-107&&e<=107?[e+139]:e>=108&&e<=1131?[247+((e-=108)>>8),255&e]:e>=-1131&&e<=-108?[251+((e=-e-108)>>8),255&e]:e>=-32768&&e<=32767?[28,e>>8&255,255&e]:[29,e>>24&255,e>>16&255,e>>8&255,255&e];return t}compileHeader(e){return[e.major,e.minor,4,e.offSize]}compileNameIndex(e){const t=new CFFIndex;for(const a of e){const e=Math.min(a.length,127);let r=new Array(e);for(let t=0;t"~"||"["===e||"]"===e||"("===e||")"===e||"{"===e||"}"===e||"<"===e||">"===e||"/"===e||"%"===e)&&(e="_");r[t]=e}r=r.join("");""===r&&(r="Bad_Font_Name");t.add(stringToBytes(r))}return this.compileIndex(t)}compileTopDicts(e,t,a){const r=[];let i=new CFFIndex;for(const n of e){if(a){n.removeByName("CIDFontVersion");n.removeByName("CIDFontRevision");n.removeByName("CIDFontType");n.removeByName("CIDCount");n.removeByName("UIDBase")}const e=new CFFOffsetTracker,s=this.compileDict(n,e);r.push(e);i.add(s);e.offset(t)}i=this.compileIndex(i,r);return{trackers:r,output:i}}compilePrivateDicts(e,t,a){for(let r=0,i=e.length;r>8&255,255&e])}else{i=new Uint8Array(1+2*n);i[0]=0;let t=0;const r=e.charset.length;let s=!1;for(let n=1;n>8&255;i[n+1]=255&o}}return this.compileTypedArray(i)}compileEncoding(e){return this.compileTypedArray(e.raw)}compileFDSelect(e){const t=e.format;let a,r;switch(t){case 0:a=new Uint8Array(1+e.fdSelect.length);a[0]=t;for(r=0;r>8&255,255&i,n];for(r=1;r>8&255,255&r,t);n=t}}const o=(s.length-3)/3;s[1]=o>>8&255;s[2]=255&o;s.push(r>>8&255,255&r);a=new Uint8Array(s)}return this.compileTypedArray(a)}compileTypedArray(e){return Array.from(e)}compileIndex(e,t=[]){const a=e.objects,r=a.length;if(0===r)return[0,0];const i=[r>>8&255,255&r];let n,s,o=1;for(n=0;n>8&255,255&c):3===s?i.push(c>>16&255,c>>8&255,255&c):i.push(c>>>24&255,c>>16&255,c>>8&255,255&c);a[n]&&(c+=a[n].length)}for(n=0;n=this.firstChar&&e<=this.lastChar?e:-1}amend(e){unreachable("Should not call amend()")}}class CFFFont{constructor(e,t){this.properties=t;const a=new CFFParser(e,t,Sr);this.cff=a.parse();this.cff.duplicateFirstGlyph();const r=new CFFCompiler(this.cff);this.seacs=this.cff.seacs;try{this.data=r.compile()}catch{warn("Failed to compile font "+t.loadedName);this.data=e}this._createBuiltInEncoding()}get numGlyphs(){return this.cff.charStrings.count}getCharset(){return this.cff.charset.charset}getGlyphMapping(){const e=this.cff,t=this.properties,{cidToGidMap:a,cMap:r}=t,i=e.charset.charset;let n,s;if(t.composite){let t,o;if(a?.length>0){t=Object.create(null);for(let e=0,r=a.length;e=0){const r=a[t];r&&(i[e]=r)}}i.length>0&&(this.properties.builtInEncoding=i)}}function getFloat214(e,t){return readInt16(e,t)/16384}function getSubroutineBias(e){const t=e.length;let a=32768;t<1240?a=107:t<33900&&(a=1131);return a}function parseCmap(e,t,a){const r=1===readUint16(e,t+2)?readUint32(e,t+8):readUint32(e,t+16),i=readUint16(e,t+r);let n,s,o;if(4===i){readUint16(e,t+r+2);const a=readUint16(e,t+r+6)>>1;s=t+r+14;n=[];for(o=0;o>1;a0;)h.push({flags:n})}for(a=0;a>1;y=!0;break;case 4:s+=i.pop();moveTo(n,s);y=!0;break;case 5:for(;i.length>0;){n+=i.shift();s+=i.shift();lineTo(n,s)}break;case 6:for(;i.length>0;){n+=i.shift();lineTo(n,s);if(0===i.length)break;s+=i.shift();lineTo(n,s)}break;case 7:for(;i.length>0;){s+=i.shift();lineTo(n,s);if(0===i.length)break;n+=i.shift();lineTo(n,s)}break;case 8:for(;i.length>0;){l=n+i.shift();u=s+i.shift();h=l+i.shift();d=u+i.shift();n=h+i.shift();s=d+i.shift();bezierCurveTo(l,u,h,d,n,s)}break;case 10:m=i.pop();b=null;if(a.isCFFCIDFont){const e=a.fdSelect.getFDIndex(r);if(e>=0&&eMath.abs(s-t)?n+=i.shift():s+=i.shift();bezierCurveTo(l,u,h,d,n,s);break;default:throw new FormatError(`unknown operator: 12 ${w}`)}break;case 14:if(i.length>=4){const e=i.pop(),r=i.pop();s=i.pop();n=i.pop();t.save();t.translate(n,s);let o=lookupCmap(a.cmap,String.fromCharCode(a.glyphNameMap[hr[e]]));compileCharString(a.glyphs[o.glyphId],t,a,o.glyphId);t.restore();o=lookupCmap(a.cmap,String.fromCharCode(a.glyphNameMap[hr[r]]));compileCharString(a.glyphs[o.glyphId],t,a,o.glyphId)}return;case 19:case 20:o+=i.length>>1;c+=o+7>>3;y=!0;break;case 21:s+=i.pop();n+=i.pop();moveTo(n,s);y=!0;break;case 22:n+=i.pop();moveTo(n,s);y=!0;break;case 24:for(;i.length>2;){l=n+i.shift();u=s+i.shift();h=l+i.shift();d=u+i.shift();n=h+i.shift();s=d+i.shift();bezierCurveTo(l,u,h,d,n,s)}n+=i.shift();s+=i.shift();lineTo(n,s);break;case 25:for(;i.length>6;){n+=i.shift();s+=i.shift();lineTo(n,s)}l=n+i.shift();u=s+i.shift();h=l+i.shift();d=u+i.shift();n=h+i.shift();s=d+i.shift();bezierCurveTo(l,u,h,d,n,s);break;case 26:i.length%2&&(n+=i.shift());for(;i.length>0;){l=n;u=s+i.shift();h=l+i.shift();d=u+i.shift();n=h;s=d+i.shift();bezierCurveTo(l,u,h,d,n,s)}break;case 27:i.length%2&&(s+=i.shift());for(;i.length>0;){l=n+i.shift();u=s;h=l+i.shift();d=u+i.shift();n=h+i.shift();s=d;bezierCurveTo(l,u,h,d,n,s)}break;case 28:i.push(readInt16(e,c));c+=2;break;case 29:m=i.pop()+a.gsubrsBias;b=a.gsubrs[m];b&&parse(b);break;case 30:for(;i.length>0;){l=n;u=s+i.shift();h=l+i.shift();d=u+i.shift();n=h+i.shift();s=d+(1===i.length?i.shift():0);bezierCurveTo(l,u,h,d,n,s);if(0===i.length)break;l=n+i.shift();u=s;h=l+i.shift();d=u+i.shift();s=d+i.shift();n=h+(1===i.length?i.shift():0);bezierCurveTo(l,u,h,d,n,s)}break;case 31:for(;i.length>0;){l=n+i.shift();u=s;h=l+i.shift();d=u+i.shift();s=d+i.shift();n=h+(1===i.length?i.shift():0);bezierCurveTo(l,u,h,d,n,s);if(0===i.length)break;l=n;u=s+i.shift();h=l+i.shift();d=u+i.shift();n=h+i.shift();s=d+(1===i.length?i.shift():0);bezierCurveTo(l,u,h,d,n,s)}break;default:if(w<32)throw new FormatError(`unknown operator: ${w}`);if(w<247)i.push(w-139);else if(w<251)i.push(256*(w-247)+e[c++]+108);else if(w<255)i.push(256*-(w-251)-e[c++]-108);else{i.push((e[c]<<24|e[c+1]<<16|e[c+2]<<8|e[c+3])/65536);c+=4}}y&&(i.length=0)}}(e)}class Commands{cmds=[];transformStack=[];currentTransform=[1,0,0,1,0,0];add(e,t){if(t){const{currentTransform:a}=this;for(let e=0,r=t.length;e=0&&e2*readUint16(e,t)}const n=[];let s=i(t,0);for(let a=r;ae.getSize()+3&-4))}write(){const e=this.getSize(),t=new DataView(new ArrayBuffer(e)),a=e>131070,r=a?4:2,i=new DataView(new ArrayBuffer((this.glyphs.length+1)*r));a?i.setUint32(0,0):i.setUint16(0,0);let n=0,s=0;for(const e of this.glyphs){n+=e.write(n,t);n=n+3&-4;s+=r;a?i.setUint32(s,n):i.setUint16(s,n>>1)}return{isLocationLong:a,loca:new Uint8Array(i.buffer),glyf:new Uint8Array(t.buffer)}}scale(e){for(let t=0,a=this.glyphs.length;te.getSize()));return this.header.getSize()+e}write(e,t){if(!this.header)return 0;const a=e;e+=this.header.write(e,t);if(this.simple)e+=this.simple.write(e,t);else for(const a of this.composites)e+=a.write(e,t);return e-a}scale(e){if(!this.header)return;const t=(this.header.xMin+this.header.xMax)/2;this.header.scale(t,e);if(this.simple)this.simple.scale(t,e);else for(const a of this.composites)a.scale(t,e)}}class GlyphHeader{constructor({numberOfContours:e,xMin:t,yMin:a,xMax:r,yMax:i}){this.numberOfContours=e;this.xMin=t;this.yMin=a;this.xMax=r;this.yMax=i}static parse(e,t){return[10,new GlyphHeader({numberOfContours:t.getInt16(e),xMin:t.getInt16(e+2),yMin:t.getInt16(e+4),xMax:t.getInt16(e+6),yMax:t.getInt16(e+8)})]}getSize(){return 10}write(e,t){t.setInt16(e,this.numberOfContours);t.setInt16(e+2,this.xMin);t.setInt16(e+4,this.yMin);t.setInt16(e+6,this.xMax);t.setInt16(e+8,this.yMax);return 10}scale(e,t){this.xMin=Math.round(e+(this.xMin-e)*t);this.xMax=Math.round(e+(this.xMax-e)*t)}}class Contour{constructor({flags:e,xCoordinates:t,yCoordinates:a}){this.xCoordinates=t;this.yCoordinates=a;this.flags=e}}class SimpleGlyph{constructor({contours:e,instructions:t}){this.contours=e;this.instructions=t}static parse(e,t,a){const r=[];for(let i=0;i255?e+=2:o>0&&(e+=1);t=n;o=Math.abs(s-a);o>255?e+=2:o>0&&(e+=1);a=s}}return e}write(e,t){const a=e,r=[],i=[],n=[];let s=0,o=0;for(const a of this.contours){for(let e=0,t=a.xCoordinates.length;e=0?18:2;r.push(e)}else r.push(l)}s=c;const h=a.yCoordinates[e];l=h-o;if(0===l){t|=32;i.push(0)}else{const e=Math.abs(l);if(e<=255){t|=l>=0?36:4;i.push(e)}else i.push(l)}o=h;n.push(t)}t.setUint16(e,r.length-1);e+=2}t.setUint16(e,this.instructions.length);e+=2;if(this.instructions.length){new Uint8Array(t.buffer,0,t.buffer.byteLength).set(this.instructions,e);e+=this.instructions.length}for(const a of n)t.setUint8(e++,a);for(let a=0,i=r.length;a=-128&&this.argument1<=127&&this.argument2>=-128&&this.argument2<=127||(e+=2):this.argument1>=0&&this.argument1<=255&&this.argument2>=0&&this.argument2<=255||(e+=2);return e}write(e,t){const a=e;2&this.flags?this.argument1>=-128&&this.argument1<=127&&this.argument2>=-128&&this.argument2<=127||(this.flags|=1):this.argument1>=0&&this.argument1<=255&&this.argument2>=0&&this.argument2<=255||(this.flags|=1);t.setUint16(e,this.flags);t.setUint16(e+2,this.glyphIndex);e+=4;if(1&this.flags){if(2&this.flags){t.setInt16(e,this.argument1);t.setInt16(e+2,this.argument2)}else{t.setUint16(e,this.argument1);t.setUint16(e+2,this.argument2)}e+=4}else{t.setUint8(e,this.argument1);t.setUint8(e+1,this.argument2);e+=2}if(256&this.flags){t.setUint16(e,this.instructions.length);e+=2;if(this.instructions.length){new Uint8Array(t.buffer,0,t.buffer.byteLength).set(this.instructions,e);e+=this.instructions.length}}return e-a}scale(e,t){}}function writeInt16(e,t,a){e[t]=a>>8&255;e[t+1]=255&a}function writeInt32(e,t,a){e[t]=a>>24&255;e[t+1]=a>>16&255;e[t+2]=a>>8&255;e[t+3]=255&a}function writeData(e,t,a){if(a instanceof Uint8Array)e.set(a,t);else if("string"==typeof a)for(let r=0,i=a.length;ra;){a<<=1;r++}const i=a*t;return{range:i,entry:r,rangeShift:t*e-i}}toArray(){let e=this.sfnt;const t=this.tables,a=Object.keys(t);a.sort();const r=a.length;let i,n,s,o,c,l=12+16*r;const h=[l];for(i=0;i>>0;h.push(l)}const u=new Uint8Array(l);for(i=0;i>>0}writeInt32(u,l+4,e);writeInt32(u,l+8,h[i]);writeInt32(u,l+12,t[c].length);l+=16}return u}addTable(e,t){if(e in this.tables)throw new Error("Table "+e+" already exists");this.tables[e]=t}}const Vr=[4],Kr=[5],Jr=[6],Yr=[7],Zr=[8],Qr=[12,35],ei=[14],ti=[21],ai=[22],ri=[30],ii=[31];class Type1CharString{constructor(){this.width=0;this.lsb=0;this.flexing=!1;this.output=[];this.stack=[]}convert(e,t,a){const r=e.length;let i,n,s,o=!1;for(let c=0;cr)return!0;const i=r-e;for(let e=i;e>8&255,255&t);else{t=65536*t|0;this.output.push(255,t>>24&255,t>>16&255,t>>8&255,255&t)}}this.output.push(...t);a?this.stack.splice(i,e):this.stack.length=0;return!1}}function isHexDigit(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function decrypt(e,t,a){if(a>=e.length)return new Uint8Array(0);let r,i,n=0|t;for(r=0;r>8;n=52845*(t+n)+22719&65535}return o}function isSpecial(e){return 47===e||91===e||93===e||123===e||125===e||40===e||41===e}class Type1Parser{constructor(e,t,a){if(t){const t=e.getBytes(),a=!((isHexDigit(t[0])||isWhiteSpace(t[0]))&&isHexDigit(t[1])&&isHexDigit(t[2])&&isHexDigit(t[3])&&isHexDigit(t[4])&&isHexDigit(t[5])&&isHexDigit(t[6])&&isHexDigit(t[7]));e=new Stream(a?decrypt(t,55665,4):function decryptAscii(e,t,a){let r=0|t;const i=e.length,n=new Uint8Array(i>>>1);let s,o;for(s=0,o=0;s>8;r=52845*(e+r)+22719&65535}}return n.slice(a,o)}(t,55665,4))}this.seacAnalysisEnabled=!!a;this.stream=e;this.nextChar()}readNumberArray(){this.getToken();const e=[];for(;;){const t=this.getToken();if(null===t||"]"===t||"}"===t)break;e.push(parseFloat(t||0))}return e}readNumber(){const e=this.getToken();return parseFloat(e||0)}readInt(){const e=this.getToken();return 0|parseInt(e||0,10)}readBoolean(){return"true"===this.getToken()?1:0}nextChar(){return this.currentChar=this.stream.getByte()}prevChar(){this.stream.skip(-2);return this.currentChar=this.stream.getByte()}getToken(){let e=!1,t=this.currentChar;for(;;){if(-1===t)return null;if(e)10!==t&&13!==t||(e=!1);else if(37===t)e=!0;else if(!isWhiteSpace(t))break;t=this.nextChar()}if(isSpecial(t)){this.nextChar();return String.fromCharCode(t)}let a="";do{a+=String.fromCharCode(t);t=this.nextChar()}while(t>=0&&!isWhiteSpace(t)&&!isSpecial(t));return a}readCharStrings(e,t){return-1===t?e:decrypt(e,4330,t)}extractFontProgram(e){const t=this.stream,a=[],r=[],i=Object.create(null);i.lenIV=4;const n={subrs:[],charstrings:[],properties:{privateData:i}};let s,o,c,l;for(;null!==(s=this.getToken());)if("/"===s){s=this.getToken();switch(s){case"CharStrings":this.getToken();this.getToken();this.getToken();this.getToken();for(;;){s=this.getToken();if(null===s||"end"===s)break;if("/"!==s)continue;const e=this.getToken();o=this.readInt();this.getToken();c=o>0?t.getBytes(o):new Uint8Array(0);l=n.properties.privateData.lenIV;const a=this.readCharStrings(c,l);this.nextChar();s=this.getToken();"noaccess"===s?this.getToken():"/"===s&&this.prevChar();r.push({glyph:e,encoded:a})}break;case"Subrs":this.readInt();this.getToken();for(;"dup"===this.getToken();){const e=this.readInt();o=this.readInt();this.getToken();c=o>0?t.getBytes(o):new Uint8Array(0);l=n.properties.privateData.lenIV;const r=this.readCharStrings(c,l);this.nextChar();s=this.getToken();"noaccess"===s&&this.getToken();a[e]=r}break;case"BlueValues":case"OtherBlues":case"FamilyBlues":case"FamilyOtherBlues":const e=this.readNumberArray();e.length>0&&e.length,0;break;case"StemSnapH":case"StemSnapV":n.properties.privateData[s]=this.readNumberArray();break;case"StdHW":case"StdVW":n.properties.privateData[s]=this.readNumberArray()[0];break;case"BlueShift":case"lenIV":case"BlueFuzz":case"BlueScale":case"LanguageGroup":n.properties.privateData[s]=this.readNumber();break;case"ExpansionFactor":n.properties.privateData[s]=this.readNumber()||.06;break;case"ForceBold":n.properties.privateData[s]=this.readBoolean()}}for(const{encoded:t,glyph:i}of r){const r=new Type1CharString,s=r.convert(t,a,this.seacAnalysisEnabled);let o=r.output;s&&(o=[14]);const c={glyphName:i,charstring:o,width:r.width,lsb:r.lsb,seac:r.seac};".notdef"===i?n.charstrings.unshift(c):n.charstrings.push(c);if(e.builtInEncoding){const t=e.builtInEncoding.indexOf(i);t>-1&&void 0===e.widths[t]&&t>=e.firstChar&&t<=e.lastChar&&(e.widths[t]=r.width)}}return n}extractFontHeader(e){let t;for(;null!==(t=this.getToken());)if("/"===t){t=this.getToken();switch(t){case"FontMatrix":const a=this.readNumberArray();e.fontMatrix=a;break;case"Encoding":const r=this.getToken();let i;if(/^\d+$/.test(r)){i=[];const e=0|parseInt(r,10);this.getToken();for(let a=0;a=i){s+=a;for(;s=0&&(r[e]=i)}}return type1FontGlyphMapping(e,r,a)}hasGlyphId(e){if(e<0||e>=this.numGlyphs)return!1;if(0===e)return!0;return this.charstrings[e-1].charstring.length>0}getSeacs(e){const t=[];for(let a=0,r=e.length;a0;e--)t[e]-=t[e-1];f.setByName(e,t)}n.topDict.privateDict=f;const p=new CFFIndex;for(h=0,u=r.length;h0&&e.toUnicode.amend(t)}class fonts_Glyph{constructor(e,t,a,r,i,n,s,o,c){this.originalCharCode=e;this.fontChar=t;this.unicode=a;this.accent=r;this.width=i;this.vmetric=n;this.operatorListId=s;this.isSpace=o;this.isInFont=c}get category(){return shadow(this,"category",function getCharUnicodeCategory(e){const t=wr.get(e);if(t)return t;const a=e.match(yr),r={isWhitespace:!!a?.[1],isZeroWidthDiacritic:!!a?.[2],isInvisibleFormatMark:!!a?.[3]};wr.set(e,r);return r}(this.unicode),!0)}}function int16(e,t){return(e<<8)+t}function writeSignedInt16(e,t,a){e[t+1]=a;e[t]=a>>>8}function signedInt16(e,t){const a=(e<<8)+t;return 32768&a?a-65536:a}function string16(e){return String.fromCharCode(e>>8&255,255&e)}function safeString16(e){e>32767?e=32767:e<-32768&&(e=-32768);return String.fromCharCode(e>>8&255,255&e)}function isTrueTypeCollectionFile(e){return"ttcf"===bytesToString(e.peekBytes(4))}function getFontFileType(e,{type:t,subtype:a,composite:r}){let i,n;if(function isTrueTypeFile(e){const t=e.peekBytes(4);return 65536===readUint32(t,0)||"true"===bytesToString(t)}(e)||isTrueTypeCollectionFile(e))i=r?"CIDFontType2":"TrueType";else if(function isOpenTypeFile(e){return"OTTO"===bytesToString(e.peekBytes(4))}(e))i=r?"CIDFontType2":"OpenType";else if(function isType1File(e){const t=e.peekBytes(2);return 37===t[0]&&33===t[1]||128===t[0]&&1===t[1]}(e))i=r?"CIDFontType0":"MMType1"===t?"MMType1":"Type1";else if(function isCFFFile(e){const t=e.peekBytes(4);return t[0]>=1&&t[3]>=1&&t[3]<=4}(e))if(r){i="CIDFontType0";n="CIDFontType0C"}else{i="MMType1"===t?"MMType1":"Type1";n="Type1C"}else{warn("getFontFileType: Unable to detect correct font file Type/Subtype.");i=t;n=a}return[i,n]}function applyStandardFontGlyphMap(e,t){for(const a in t)e[+a]=t[a]}function buildToFontChar(e,t,a){const r=[];let i;for(let a=0,n=e.length;ani[0][0]<=e&&e<=ni[0][1]||ni[1][0]<=e&&e<=ni[1][1];let u=null;for(const d in e){let f=e[d];if(!t(f))continue;if(l>h){c++;if(c>=ni.length){warn("Ran out of space in font private use area.");break}l=ni[c][0];h=ni[c][1]}const g=l++;0===f&&(f=a);let p=r.get(d);if("string"==typeof p)if(1===p.length)p=p.codePointAt(0);else{if(!u){u=new Map;for(let e=64256;e<=64335;e++){const t=String.fromCharCode(e).normalize("NFKD");t.length>1&&u.set(t,e)}}p=u.get(p)||p.codePointAt(0)}if(p&&!isInPrivateArea(p)&&!o.has(f)){n.set(p,f);o.add(f)}i[g]=f;s[d]=g}return{toFontChar:s,charCodeToGlyphId:i,toUnicodeExtraMap:n,nextAvailableFontCharCode:l}}function createCmapTable(e,t,a){const r=function getRanges(e,t,a){const r=[];for(const t in e)e[t]>=a||r.push({fontCharCode:0|t,glyphId:e[t]});if(t)for(const[e,i]of t)i>=a||r.push({fontCharCode:e,glyphId:i});0===r.length&&r.push({fontCharCode:0,glyphId:0});r.sort((e,t)=>e.fontCharCode-t.fontCharCode);const i=[],n=r.length;for(let e=0;e65535?2:1;let n,s,o,c,l="\0\0"+string16(i)+"\0\0"+string32(4+8*i);for(n=r.length-1;n>=0&&!(r[n][0]<=65535);--n);const h=n+1;r[n][0]<65535&&65535===r[n][1]&&(r[n][1]=65534);const u=r[n][1]<65535?1:0,d=h+u,f=OpenTypeFileBuilder.getSearchParams(d,2);let g,p,m,b,y="",w="",S="",x="",k="",C=0;for(n=0,s=h;n0){w+="ÿÿ";y+="ÿÿ";S+="\0";x+="\0\0"}const v="\0\0"+string16(2*d)+string16(f.range)+string16(f.entry)+string16(f.rangeShift)+w+"\0\0"+y+S+x+k;let F="",T="";if(i>1){l+="\0\0\n"+string32(4+8*i+4+v.length);F="";for(n=0,s=r.length;ne||!o)&&(o=e);c 123 are reserved for internal usage");s|=1<65535&&(c=65535)}else{o=0;c=255}const h=e.bbox||[0,0,0,0],u=a.unitsPerEm||(e.fontMatrix?1/Math.max(...e.fontMatrix.slice(0,4).map(Math.abs)):1e3),d=e.ascentScaled?1:u/si,f=a.ascent||Math.round(d*(e.ascent||h[3]));let g=a.descent||Math.round(d*(e.descent||h[1]));g>0&&e.descent>0&&h[1]<0&&(g=-g);const p=a.yMax||f,m=-a.yMin||-g;return"\0$ô\0\0\0Š»\0\0\0ŒŠ»\0\0ß\x001\0\0\0\0"+String.fromCharCode(e.fixedPitch?9:0)+"\0\0\0\0\0\0"+string32(r)+string32(i)+string32(n)+string32(s)+"*21*"+string16(e.italicAngle?1:0)+string16(o||e.firstChar)+string16(c||e.lastChar)+string16(f)+string16(g)+"\0d"+string16(p)+string16(m)+"\0\0\0\0\0\0\0\0"+string16(e.xHeight)+string16(e.capHeight)+string16(0)+string16(o||e.firstChar)+"\0"}function createPostTable(e){return"\0\0\0"+string32(Math.floor(65536*e.italicAngle))+"\0\0\0\0"+string32(e.fixedPitch?1:0)+"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}function createPostscriptName(e){return e.replaceAll(/[^\x21-\x7E]|[[\](){}<>/%]/g,"").slice(0,63)}function createNameTable(e,t){t||(t=[[],[]]);const a=[t[0][0]||"Original licence",t[0][1]||e,t[0][2]||"Unknown",t[0][3]||"uniqueID",t[0][4]||e,t[0][5]||"Version 0.11",t[0][6]||createPostscriptName(e),t[0][7]||"Unknown",t[0][8]||"Unknown",t[0][9]||"Unknown"],r=[];let i,n,s,o,c;for(i=0,n=a.length;i0;if((s||o)&&"CIDFontType2"===a&&this.cidEncoding.startsWith("Identity-")){const a=e.cidToGidMap,r=[];applyStandardFontGlyphMap(r,Hr());/Arial-?Black/i.test(t)?applyStandardFontGlyphMap(r,Wr()):/Calibri/i.test(t)&&applyStandardFontGlyphMap(r,Gr());if(a){for(const e in r){const t=r[e];void 0!==a[t]&&(r[+e]=a[t])}a.length!==this.toUnicode.length&&e.hasIncludedToUnicodeMap&&this.toUnicode instanceof IdentityToUnicodeMap&&this.toUnicode.forEach(function(e,t){const i=r[e];void 0===a[i]&&(r[+e]=t)})}this.toUnicode instanceof IdentityToUnicodeMap||this.toUnicode.forEach(function(e,t){r[+e]=t});this.toFontChar=r;this.toUnicode=new ToUnicodeMap(r)}else if(/Symbol/i.test(r))this.toFontChar=buildToFontChar(dr,gr(),this.differences);else if(/Dingbats/i.test(r))this.toFontChar=buildToFontChar(fr,pr(),this.differences);else if(s||o){const e=buildToFontChar(this.defaultEncoding,gr(),this.differences);"CIDFontType2"!==a||this.cidEncoding.startsWith("Identity-")||this.toUnicode instanceof IdentityToUnicodeMap||this.toUnicode.forEach(function(t,a){e[+t]=a});this.toFontChar=e}else{const e=gr(),a=[];this.toUnicode.forEach((t,r)=>{if(!this.composite){const a=getUnicodeForGlyph(this.differences[t]||this.defaultEncoding[t],e);-1!==a&&(r=a)}a[+t]=r});this.composite&&this.toUnicode instanceof IdentityToUnicodeMap&&/Tahoma|Verdana/i.test(t)&&applyStandardFontGlyphMap(a,Hr());this.toFontChar=a}amendFallbackToUnicode(e);this.loadedName=r.split("-",1)[0]}checkAndRepair(e,t,a){const r=["OS/2","cmap","head","hhea","hmtx","maxp","name","post","loca","glyf","fpgm","prep","cvt ","CFF "];function readTables(e,t){const a=Object.create(null);a["OS/2"]=null;a.cmap=null;a.head=null;a.hhea=null;a.hmtx=null;a.maxp=null;a.name=null;a.post=null;for(let i=0;i>>0,r=e.getInt32()>>>0,i=e.getInt32()>>>0,n=e.pos;e.pos=e.start||0;e.skip(r);const s=e.getBytes(i);e.pos=n;if("head"===t){s[8]=s[9]=s[10]=s[11]=0;s[17]|=32}return{tag:t,checksum:a,length:i,offset:r,data:s}}function readOpenTypeHeader(e){return{version:e.getString(4),numTables:e.getUint16(),searchRange:e.getUint16(),entrySelector:e.getUint16(),rangeShift:e.getUint16()}}function sanitizeGlyph(e,t,a,r,i,n){const s={length:0,sizeOfInstructions:0};if(t<0||t>=e.length||a>e.length||a-t<=12)return s;const o=e.subarray(t,a),c=signedInt16(o[2],o[3]),l=signedInt16(o[4],o[5]),h=signedInt16(o[6],o[7]),u=signedInt16(o[8],o[9]);if(c>h){writeSignedInt16(o,2,h);writeSignedInt16(o,6,c)}if(l>u){writeSignedInt16(o,4,u);writeSignedInt16(o,8,l)}const d=signedInt16(o[0],o[1]);if(d<0){if(d<-1)return s;r.set(o,i);s.length=o.length;return s}let f,g=10,p=0;for(f=0;fo.length)return s;if(!n&&b>0){r.set(o.subarray(0,m),i);r.set([0,0],i+m);r.set(o.subarray(y,S),i+m+2);S-=b;o.length-S>3&&(S=S+3&-4);s.length=S;return s}if(o.length-S>3){S=S+3&-4;r.set(o.subarray(0,S),i);s.length=S;return s}r.set(o,i);s.length=o.length;return s}function readNameTable(e){const a=(t.start||0)+e.offset;t.pos=a;const r=[[],[]],i=[],n=e.length,s=a+n;if(0!==t.getUint16()||n<6)return[r,i];const o=t.getUint16(),c=t.getUint16();let l,h;for(l=0;ls)continue;t.pos=n;const o=e.name;if(e.encoding){let a="";for(let r=0,i=e.length;r0&&(l+=e-1)}}else{if(m||y){warn("TT: nested FDEFs not allowed");p=!0}m=!0;u=l;s=d.pop();t.functionsDefined[s]={data:c,i:l}}else if(!m&&!y){s=d.at(-1);if(isNaN(s))info("TT: CALL empty stack (or invalid entry).");else{t.functionsUsed[s]=!0;if(s in t.functionsStackDeltas){const e=d.length+t.functionsStackDeltas[s];if(e<0){warn("TT: CALL invalid functions stack delta.");t.hintsValid=!1;return}d.length=e}else if(s in t.functionsDefined&&!g.includes(s)){f.push({data:c,i:l,stackTop:d.length-1});g.push(s);o=t.functionsDefined[s];if(!o){warn("TT: CALL non-existent function");t.hintsValid=!1;return}c=o.data;l=o.i}}}if(!m&&!y){let t=0;e<=142?t=i[e]:e>=192&&e<=223?t=-1:e>=224&&(t=-2);if(e>=113&&e<=117){r=d.pop();isNaN(r)||(t=2*-r)}for(;t<0&&d.length>0;){d.pop();t++}for(;t>0;){d.push(NaN);t--}}}t.tooComplexToFollowFunctions=p;const w=[c];l>c.length&&w.push(new Uint8Array(l-c.length));if(u>h){warn("TT: complementing a missing function tail");w.push(new Uint8Array([34,45]))}!function foldTTTable(e,t){if(t.length>1){let a,r,i=0;for(a=0,r=t.length;a>>0,n=[];for(let t=0;t>>0);const s={ttcTag:t,majorVersion:a,minorVersion:r,numFonts:i,offsetTable:n};switch(a){case 1:return s;case 2:s.dsigTag=e.getInt32()>>>0;s.dsigLength=e.getInt32()>>>0;s.dsigOffset=e.getInt32()>>>0;return s}throw new FormatError(`Invalid TrueType Collection majorVersion: ${a}.`)}(e),i=t.split("+");let n;for(let s=0;s=32))throw new FormatError('"maxp" table has a wrong version number');l=65536}!function writeUint32(e,t,a){e[t+3]=255&a;e[t+2]=a>>>8;e[t+1]=a>>>16;e[t]=a>>>24}(s.maxp.data,0,l)}let u=int16(s.head.data[50],s.head.data[51]);if(s.loca){const e=u?4*(h+1):2*(h+1);if(s.loca.length!==e){warn("Incorrect 'loca' table length -- attempting to fix it.");const a=Object.values(s).filter(Boolean).sort((e,t)=>e.offset-t.offset),r=a.indexOf(s.loca),i=a[r+1]||null;if(i&&s.loca.offset+e>8&255;o[a+1]=255&r;writeSignedInt16(o,a+2,Math.round(e[t]*signedInt16(o[a+2],o[a+3])))}}let d=h+1,f=!0;if(d>65535){f=!1;d=h;warn("Not enough space in glyfs to duplicate first glyph.")}let g=0,p=0;if(l>=65536&&s.maxp.length>=32){t.pos+=8;if(t.getUint16()>2){s.maxp.data[14]=0;s.maxp.data[15]=2}t.pos+=4;g=t.getUint16();t.pos+=4;p=t.getUint16()}s.maxp.data[4]=d>>8;s.maxp.data[5]=255&d;const m=function sanitizeTTPrograms(e,t,a,r){const i={functionsDefined:[],functionsUsed:[],functionsStackDeltas:[],tooComplexToFollowFunctions:!1,hintsValid:!0};e&&sanitizeTTProgram(e,i);t&&sanitizeTTProgram(t,i);e&&function checkInvalidFunctions(e,t){if(!e.tooComplexToFollowFunctions)if(e.functionsDefined.length>t){warn("TT: more functions defined than expected");e.hintsValid=!1}else for(let a=0,r=e.functionsUsed.length;at){warn("TT: invalid function id: "+a);e.hintsValid=!1;return}if(e.functionsUsed[a]&&!e.functionsDefined[a]){warn("TT: undefined function: "+a);e.hintsValid=!1;return}}}(i,r);if(a&&1&a.length){const e=new Uint8Array(a.length+1);e.set(a.data);a.data=e}return i.hintsValid}(s.fpgm,s.prep,s["cvt "],g);if(!m){delete s.fpgm;delete s.prep;delete s["cvt "]}!function sanitizeMetrics(e,t,a,r,i,n){if(!t){a&&(a.data=null);return}e.pos=(e.start||0)+t.offset;e.pos+=4;e.pos+=2;e.pos+=2;e.pos+=2;e.pos+=2;e.pos+=2;e.pos+=2;e.pos+=2;e.pos+=2;e.pos+=2;const s=e.getUint16();e.pos+=8;e.pos+=2;let o=e.getUint16();if(0!==s){if(!(2&int16(r.data[44],r.data[45]))){t.data[22]=0;t.data[23]=0}}if(o>i){info(`The numOfMetrics (${o}) should not be greater than the numGlyphs (${i}).`);o=i;t.data[34]=(65280&o)>>8;t.data[35]=255&o}const c=i-o-(a.length-4*o>>1);if(c>0){const e=new Uint8Array(a.length+2*c);e.set(a.data);if(n){e[a.length]=a.data[2];e[a.length+1]=a.data[3]}a.data=e}}(t,s.hhea,s.hmtx,s.head,d,f);if(!s.head)throw new FormatError('Required "head" table is not found');!function sanitizeHead(e,t,a){const r=e.data,i=function int32(e,t,a,r){return(e<<24)+(t<<16)+(a<<8)+r}(r[0],r[1],r[2],r[3]);if(i>>16!=1){info("Attempting to fix invalid version in head table: "+i);r[0]=0;r[1]=1;r[2]=0;r[3]=0}const n=int16(r[50],r[51]);if(n<0||n>1){info("Attempting to fix invalid indexToLocFormat in head table: "+n);const e=t+1;if(a===e<<1){r[50]=0;r[51]=0}else{if(a!==e<<2)throw new FormatError("Could not fix indexToLocFormat: "+n);r[50]=0;r[51]=1}}}(s.head,h,o?s.loca.length:0);let b=Object.create(null);if(o){const e=function sanitizeGlyphLocations(e,t,a,r,i,n,s){let o,c,l;if(r){o=4;c=function fontItemDecodeLong(e,t){return e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3]};l=function fontItemEncodeLong(e,t,a){e[t]=a>>>24&255;e[t+1]=a>>16&255;e[t+2]=a>>8&255;e[t+3]=255&a}}else{o=2;c=function fontItemDecode(e,t){return e[t]<<9|e[t+1]<<1};l=function fontItemEncode(e,t,a){e[t]=a>>9&255;e[t+1]=a>>1&255}}const h=n?a+1:a,u=o*(1+h),d=new Uint8Array(u);d.set(e.data.subarray(0,u));e.data=d;const f=t.data,g=f.length,p=new Uint8Array(g);let m,b;const y=[];for(m=0,b=0;mg&&(e=g);y.push({index:m,offset:e,endOffset:0})}y.sort((e,t)=>e.offset-t.offset);for(m=0;me.index-t.index);for(m=0;ms&&(s=e.sizeOfInstructions);x+=t;l(d,b,x)}if(0===x){const e=new Uint8Array([0,1,0,0,0,0,0,0,0,0,0,0,0,0,49,0]);for(m=0,b=o;ma+x)t.data=p.subarray(0,a+x);else{t.data=new Uint8Array(a+x);t.data.set(p.subarray(0,x))}t.data.set(p.subarray(0,a),x);l(e.data,d.length-o,x+a)}else t.data=p.subarray(0,x);return{missingGlyphs:S,maxSizeOfInstructions:s}}(s.loca,s.glyf,h,u,m,f,p);b=e.missingGlyphs;if(l>=65536&&s.maxp.length>=32){s.maxp.data[26]=e.maxSizeOfInstructions>>8;s.maxp.data[27]=255&e.maxSizeOfInstructions}}if(!s.hhea)throw new FormatError('Required "hhea" table is not found');if(0===s.hhea.data[10]&&0===s.hhea.data[11]){s.hhea.data[10]=255;s.hhea.data[11]=255}const y={unitsPerEm:int16(s.head.data[18],s.head.data[19]),yMax:signedInt16(s.head.data[42],s.head.data[43]),yMin:signedInt16(s.head.data[38],s.head.data[39]),ascent:signedInt16(s.hhea.data[4],s.hhea.data[5]),descent:signedInt16(s.hhea.data[6],s.hhea.data[7]),lineGap:signedInt16(s.hhea.data[8],s.hhea.data[9])};this.ascent=y.ascent/y.unitsPerEm;this.descent=y.descent/y.unitsPerEm;this.lineGap=y.lineGap/y.unitsPerEm;if(this.cssFontInfo?.lineHeight){this.lineHeight=this.cssFontInfo.metrics.lineHeight;this.lineGap=this.cssFontInfo.metrics.lineGap}else this.lineHeight=this.ascent-this.descent+this.lineGap;s.post&&function readPostScriptTable(e,a,r){const i=(t.start||0)+e.offset;t.pos=i;const n=i+e.length,s=t.getInt32();t.skip(28);let o,c,l=!0;switch(s){case 65536:o=vr;break;case 131072:const e=t.getUint16();if(e!==r){l=!1;break}const i=[];for(c=0;c=32768){l=!1;break}i.push(e)}if(!l)break;const h=[],u=[];for(;t.pos65535)throw new FormatError("Max size of CID is 65,535");let i=-1;t?i=r:void 0!==e[r]&&(i=e[r]);i>=0&&i>>0;let h=!1;if(o?.platformId!==i||o?.encodingId!==n){if(0!==i||0!==n&&1!==n&&3!==n)if(1===i&&0===n)h=!0;else if(3!==i||1!==n||!r&&o){if(a&&3===i&&0===n){h=!0;let a=!0;if(e>3;e.push(r);a=Math.max(r,a)}const r=[];for(let e=0;e<=a;e++)r.push({firstCode:t.getUint16(),entryCount:t.getUint16(),idDelta:signedInt16(t.getByte(),t.getByte()),idRangePos:t.pos+t.getUint16()});for(let a=0;a<256;a++)if(0===e[a]){t.pos=r[0].idRangePos+2*a;f=t.getUint16();u.push({charCode:a,glyphId:f})}else{const i=r[e[a]];for(d=0;d>1;t.skip(6);const a=[];let r;for(r=0;r>1)-(e-r);i.offsetIndex=s;o=Math.max(o,s+i.end-i.start+1)}else i.offsetIndex=-1}const c=[];for(d=0;d>>0;for(d=0;d>>0,a=t.getInt32()>>>0;let r=t.getInt32()>>>0;for(let t=e;t<=a;t++)u.push({charCode:t,glyphId:r++})}}}u.sort((e,t)=>e.charCode-t.charCode);const g=[],p=new Set;for(const e of u){const{charCode:t}=e;if(!p.has(t)){p.add(t);g.push(e)}}return{platformId:o.platformId,encodingId:o.encodingId,mappings:g,hasShortCmap:h}}(s.cmap,t,this.isSymbolicFont,a.hasEncoding),r=e.platformId,i=e.encodingId,n=e.mappings;let o=[],c=!1;!a.hasEncoding||"MacRomanEncoding"!==a.baseEncodingName&&"WinAnsiEncoding"!==a.baseEncodingName||(o=getEncoding(a.baseEncodingName));if(a.hasEncoding&&!this.isSymbolicFont&&(3===r&&1===i||1===r&&0===i)){const e=gr();for(let t=0;t<256;t++){let s;s=void 0!==this.differences[t]?this.differences[t]:o.length&&""!==o[t]?o[t]:hr[t];if(!s)continue;const c=recoverGlyphName(s,e);let l;3===r&&1===i?l=e[c]:1===r&&0===i&&(l=lr.indexOf(c));if(void 0===l){if(!a.glyphNames&&a.hasIncludedToUnicodeMap&&!(this.toUnicode instanceof IdentityToUnicodeMap)){const e=this.toUnicode.get(t);e&&(l=e.codePointAt(0))}if(void 0===l)continue}for(const e of n)if(e.charCode===l){w[t]=e.glyphId;break}}}else if(0===r){for(const e of n)w[e.charCode]=e.glyphId;c=!0}else if(3===r&&0===i)for(const e of n){let t=e.charCode;t>=61440&&t<=61695&&(t&=255);w[t]=e.glyphId}else for(const e of n)w[e.charCode]=e.glyphId;if(a.glyphNames&&(o.length||this.differences.length))for(let e=0;e<256;++e){if(!c&&void 0!==w[e])continue;const t=this.differences[e]||o[e];if(!t)continue;const r=a.glyphNames.indexOf(t);r>0&&hasGlyph(r)&&(w[e]=r)}}0===w.length&&(w[0]=0);let S=d-1;f||(S=0);if(!a.cssFontInfo){const e=adjustMapping(w,hasGlyph,S,this.toUnicode);this.toFontChar=e.toFontChar;s.cmap={tag:"cmap",data:createCmapTable(e.charCodeToGlyphId,e.toUnicodeExtraMap,d)};s["OS/2"]&&function validateOS2Table(e,t){t.pos=(t.start||0)+e.offset;const a=t.getUint16();t.skip(60);const r=t.getUint16();if(a<4&&768&r)return!1;if(t.getUint16()>t.getUint16())return!1;t.skip(6);if(0===t.getUint16())return!1;e.data[8]=e.data[9]=0;return!0}(s["OS/2"],t)||(s["OS/2"]={tag:"OS/2",data:createOS2Table(a,e.charCodeToGlyphId,y)})}if(s.name){const[t,r]=readNameTable(s.name);s.name.data=createNameTable(e,t);this.psName=t[0][6]||null;a.composite||function adjustTrueTypeToUnicode(e,t,a){if(e.isInternalFont)return;if(e.hasIncludedToUnicodeMap)return;if(e.hasEncoding)return;if(e.toUnicode instanceof IdentityToUnicodeMap)return;if(!t)return;if(0===a.length)return;if(e.defaultEncoding===ur)return;for(const e of a)if(!isWinNameRecord(e))return;const r=ur,i=[],n=gr();for(const e in r){const t=r[e];if(""===t)continue;const a=n[t];void 0!==a&&(i[e]=String.fromCharCode(a))}i.length>0&&e.toUnicode.amend(i)}(a,this.isSymbolicFont,r)}else s.name={tag:"name",data:createNameTable(this.name)};const x=new OpenTypeFileBuilder(n.version);for(const e in s)x.addTable(e,s[e].data);return x.toArray()}convert(e,a,r){r.fixedPitch=!1;r.builtInEncoding&&function adjustType1ToUnicode(e,t){if(e.isInternalFont)return;if(e.hasIncludedToUnicodeMap)return;if(t===e.defaultEncoding)return;if(e.toUnicode instanceof IdentityToUnicodeMap)return;const a=[],r=gr();for(const i in t){if(e.hasEncoding&&(e.baseEncodingName||void 0!==e.differences[i]))continue;const n=getUnicodeForGlyph(t[i],r);-1!==n&&(a[i]=String.fromCharCode(n))}a.length>0&&e.toUnicode.amend(a)}(r,r.builtInEncoding);let i=1;a instanceof CFFFont&&(i=a.numGlyphs-1);const n=a.getGlyphMapping(r);let s=null,o=n,c=null;if(!r.cssFontInfo){s=adjustMapping(n,a.hasGlyphId.bind(a),i,this.toUnicode);this.toFontChar=s.toFontChar;o=s.charCodeToGlyphId;c=s.toUnicodeExtraMap}const l=a.numGlyphs;function getCharCodes(e,t){let a=null;for(const r in e)t===e[r]&&(a||=[]).push(0|r);return a}function createCharCode(e,t){for(const a in e)if(t===e[a])return 0|a;s.charCodeToGlyphId[s.nextAvailableFontCharCode]=t;return s.nextAvailableFontCharCode++}const h=a.seacs;if(s&&h?.length){const e=r.fontMatrix||t,i=a.getCharset(),o=Object.create(null);for(let t in h){t|=0;const a=h[t],r=hr[a[2]],c=hr[a[3]],l=i.indexOf(r),u=i.indexOf(c);if(l<0||u<0)continue;const d={x:a[0]*e[0]+a[1]*e[2]+e[4],y:a[0]*e[1]+a[1]*e[3]+e[5]},f=getCharCodes(n,t);if(f)for(const e of f){const t=s.charCodeToGlyphId,a=createCharCode(t,l),r=createCharCode(t,u);o[e]={baseFontCharCode:a,accentFontCharCode:r,accentOffset:d}}}r.seacMap=o}const u=r.fontMatrix?1/Math.max(...r.fontMatrix.slice(0,4).map(Math.abs)):1e3,d=new OpenTypeFileBuilder("OTTO");d.addTable("CFF ",a.data);d.addTable("OS/2",createOS2Table(r,o));d.addTable("cmap",createCmapTable(o,c,l));d.addTable("head","\0\0\0\0\0\0\0\0\0\0_<õ\0\0"+safeString16(u)+"\0\0\0\0ž\v~'\0\0\0\0ž\v~'\0\0"+safeString16(r.descent)+"ÿ"+safeString16(r.ascent)+string16(r.italicAngle?2:0)+"\0\0\0\0\0\0\0");d.addTable("hhea","\0\0\0"+safeString16(r.ascent)+safeString16(r.descent)+"\0\0ÿÿ\0\0\0\0\0\0"+safeString16(r.capHeight)+safeString16(Math.tan(r.italicAngle)*r.xHeight)+"\0\0\0\0\0\0\0\0\0\0\0\0"+string16(l));d.addTable("hmtx",function fontFieldsHmtx(){const e=a.charstrings,t=a.cff?a.cff.widths:null;let r="\0\0\0\0";for(let a=1,i=l;a=65520&&e<=65535?0:e>=62976&&e<=63743?mr()[e]||e:173===e?45:e}(a)}this.isType3Font&&(i=a);let h=null;if(this.seacMap?.[e]){l=!0;const t=this.seacMap[e];a=t.baseFontCharCode;h={fontChar:String.fromCodePoint(t.accentFontCharCode),offset:t.accentOffset}}let u="";"number"==typeof a&&(a<=1114111?u=String.fromCodePoint(a):warn(`charToGlyph - invalid fontCharCode: ${a}`));if(this.missingFile&&this.vertical&&1===u.length){const e=Fr()[u.charCodeAt(0)];e&&(u=c=String.fromCharCode(e))}n=new fonts_Glyph(e,u,c,h,r,o,i,t,l);return this._glyphCache[e]=n}charsToGlyphs(e){let t=this._charsCache[e];if(t)return t;t=[];if(this.cMap){const a=Object.create(null),r=e.length;let i=0;for(;it.length%2==1,r=this.toUnicode instanceof IdentityToUnicodeMap?e=>this.toUnicode.charCodeOf(e):e=>this.toUnicode.charCodeOf(String.fromCodePoint(e));for(let i=0,n=e.length;i55295&&(n<57344||n>65533)&&i++;if(this.toUnicode){const e=r(n);if(-1!==e){if(hasCurrentBufErrors()){t.push(a.join(""));a.length=0}for(let t=(this.cMap?this.cMap.getCharCodeLength(e):1)-1;t>=0;t--)a.push(String.fromCharCode(e>>8*t&255));continue}}if(!hasCurrentBufErrors()){t.push(a.join(""));a.length=0}a.push(String.fromCodePoint(n))}t.push(a.join(""));return t}}class ErrorFont{constructor(e){this.error=e;this.loadedName="g_font_error";this.missingFile=!0}charsToGlyphs(){return[]}encodeString(e){return[e]}exportData(){return{error:this.error}}}class CssFontInfo{#R;#W;#G;static strings=["fontFamily","fontWeight","italicAngle"];static write(e){const t=new TextEncoder,a={};let r=0;for(const i of CssFontInfo.strings){const n=t.encode(e[i]);a[i]=n;r+=4+n.length}const i=new ArrayBuffer(r),n=new Uint8Array(i),s=new DataView(i);let o=0;for(const e of CssFontInfo.strings){const t=a[e],r=t.length;s.setUint32(o,r);n.set(t,o+4);o+=4+r}assert(o===i.byteLength,"CssFontInfo.write: Buffer overflow");return i}constructor(e){this.#R=e;this.#W=new DataView(this.#R);this.#G=new TextDecoder}#$(e){assert(e>a&3;return 0===r?void 0:2===r}get black(){return this.#Z(0)}get bold(){return this.#Z(1)}get disableFontFace(){return this.#Z(2)}get fontExtraProperties(){return this.#Z(3)}get isInvalidPDFjsFont(){return this.#Z(4)}get isType3Font(){return this.#Z(5)}get italic(){return this.#Z(6)}get missingFile(){return this.#Z(7)}get remeasure(){return this.#Z(8)}get vertical(){return this.#Z(9)}#Q(e){assert(e0){let e=l[0],a=l[0],r=l[1],i=l[1];for(let t=0;tn?n:e;r=r>s?s:r;a=a"boolean"==typeof e)})(f,2)&&([u,d]=f);if(!(this.shadingType!==hi||u&&d)){const[e,t,a,r,i,n]=this.coordsArr,s=Math.hypot(e-r,t-i);a<=n+s&&n<=a+s&&warn("Unsupported radial gradient.")}this.extendStart=u;this.extendEnd=d;const g=e.getRaw("Function"),p=r.create(g,!0),m=(l-c)/840,b=this.colorStops=[];if(c>=l||m<=0){info("Bad shading domain.");return}const y=new Float32Array(o.numComps),w=new Float32Array(1);let S=0;w[0]=c;p(w,0,y,0);const x=new Uint8ClampedArray(3);o.getRgb(y,0,x);let[k,C,v]=x;b.push([0,Util.makeHexColor(k,C,v)]);let F=1;w[0]=c+m;p(w,0,y,0);o.getRgb(y,0,x);let[T,O,D]=x,M=T-k+1,R=O-C+1,N=D-v+1,E=T-k-1,L=O-C-1,_=D-v-1;for(let e=2;e<840;e++){w[0]=c+e*m;p(w,0,y,0);o.getRgb(y,0,x);const[t,a,r]=x,i=e-S;M=Math.min(M,(t-k+1)/i);R=Math.min(R,(a-C+1)/i);N=Math.min(N,(r-v+1)/i);E=Math.max(E,(t-k-1)/i);L=Math.max(L,(a-C-1)/i);_=Math.max(_,(r-v-1)/i);if(!(E<=M&&L<=R&&_<=N)){const e=Util.makeHexColor(T,O,D);b.push([F/840,e]);M=t-T+1;R=a-O+1;N=r-D+1;E=t-T-1;L=a-O-1;_=r-D-1;S=F;k=T;C=O;v=D}F=e;T=t;O=a;D=r}b.push([1,Util.makeHexColor(T,O,D)]);let U="transparent";e.has("Background")&&(U=o.getRgbHex(e.get("Background"),0));if(!u){b.unshift([0,U]);b[1][0]+=BaseShading.SMALL_NUMBER}if(!d){b.at(-1)[0]-=BaseShading.SMALL_NUMBER;b.push([1,U])}this.colorStops=b}getIR(){const{coordsArr:e,shadingType:t}=this;let a,r,i,n,s;if(t===li){r=[e[0],e[1]];i=[e[2],e[3]];n=null;s=null;a="axial"}else if(t===hi){r=[e[0],e[1]];i=[e[3],e[4]];n=e[2];s=e[5];a="radial"}else unreachable(`getPattern type unknown: ${t}`);return["RadialAxial",a,this.bbox,this.colorStops,r,i,n,s]}}class MeshStreamReader{constructor(e,t){this.stream=e;this.context=t;this.buffer=0;this.bufferLength=0;const a=t.numComps;this.tmpCompsBuf=new Float32Array(a);const r=t.colorSpace.numComps;this.tmpCsCompsBuf=t.colorFn?new Float32Array(r):this.tmpCompsBuf}get hasData(){if(this.stream.end)return this.stream.pos0)return!0;const e=this.stream.getByte();if(e<0)return!1;this.buffer=e;this.bufferLength=8;return!0}readBits(e){const{stream:t}=this;let{buffer:a,bufferLength:r}=this;if(32===e){if(0===r)return t.getInt32()>>>0;a=a<<24|t.getByte()<<16|t.getByte()<<8|t.getByte();const e=t.getByte();this.buffer=e&(1<>r)>>>0}if(8===e&&0===r)return t.getByte();for(;r>r}align(){this.buffer=0;this.bufferLength=0}readFlag(){return this.readBits(this.context.bitsPerFlag)}readCoordinate(){const{bitsPerCoordinate:e,decode:t}=this.context,a=this.readBits(e),r=this.readBits(e),i=e<32?1/((1<n?n:e;t=t>s?s:t;a=ae*i[t]):a;let s,o=-2;const c=[];for(const[e,t]of r.map((e,t)=>[e,t]).sort(([e],[t])=>e-t))if(-1!==e)if(e===o+1){s.push(n[t]);o+=1}else{o=e;s=[n[t]];c.push(e,s)}return c}(e),a=new Dict(null);a.set("BaseFont",Name.get(e));a.set("Type",Name.get("Font"));a.set("Subtype",Name.get("CIDFontType2"));a.set("Encoding",Name.get("Identity-H"));a.set("CIDToGIDMap",Name.get("Identity"));a.set("W",t);a.set("FirstChar",t[0]);a.set("LastChar",t.at(-2)+t.at(-1).length-1);const r=new Dict(null);a.set("FontDescriptor",r);const i=new Dict(null);i.set("Ordering","Identity");i.set("Registry","Adobe");i.set("Supplement",0);a.set("CIDSystemInfo",i);return a}class PostScriptParser{constructor(e){this.lexer=e;this.operators=[];this.token=null;this.prev=null}nextToken(){this.prev=this.token;this.token=this.lexer.getToken()}accept(e){if(this.token.type===e){this.nextToken();return!0}return!1}expect(e){if(this.accept(e))return!0;throw new FormatError(`Unexpected symbol: found ${this.token.type} expected ${e}.`)}parse(){this.nextToken();this.expect(sn.LBRACE);this.parseBlock();this.expect(sn.RBRACE);return this.operators}parseBlock(){for(;;)if(this.accept(sn.NUMBER))this.operators.push(this.prev.value);else if(this.accept(sn.OPERATOR))this.operators.push(this.prev.value);else{if(!this.accept(sn.LBRACE))return;this.parseCondition()}}parseCondition(){const e=this.operators.length;this.operators.push(null,null);this.parseBlock();this.expect(sn.RBRACE);if(this.accept(sn.IF)){this.operators[e]=this.operators.length;this.operators[e+1]="jz"}else{if(!this.accept(sn.LBRACE))throw new FormatError("PS Function: error parsing conditional.");{const t=this.operators.length;this.operators.push(null,null);const a=this.operators.length;this.parseBlock();this.expect(sn.RBRACE);this.expect(sn.IFELSE);this.operators[t]=this.operators.length;this.operators[t+1]="j";this.operators[e]=a;this.operators[e+1]="jz"}}}}const sn={LBRACE:0,RBRACE:1,NUMBER:2,OPERATOR:3,IF:4,IFELSE:5};class PostScriptToken{static get opCache(){return shadow(this,"opCache",Object.create(null))}constructor(e,t){this.type=e;this.value=t}static getOperator(e){return PostScriptToken.opCache[e]||=new PostScriptToken(sn.OPERATOR,e)}static get LBRACE(){return shadow(this,"LBRACE",new PostScriptToken(sn.LBRACE,"{"))}static get RBRACE(){return shadow(this,"RBRACE",new PostScriptToken(sn.RBRACE,"}"))}static get IF(){return shadow(this,"IF",new PostScriptToken(sn.IF,"IF"))}static get IFELSE(){return shadow(this,"IFELSE",new PostScriptToken(sn.IFELSE,"IFELSE"))}}class PostScriptLexer{constructor(e){this.stream=e;this.nextChar();this.strBuf=[]}nextChar(){return this.currentChar=this.stream.getByte()}getToken(){let e=!1,t=this.currentChar;for(;;){if(t<0)return sa;if(e)10!==t&&13!==t||(e=!1);else if(37===t)e=!0;else if(!isWhiteSpace(t))break;t=this.nextChar()}switch(0|t){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 43:case 45:case 46:return new PostScriptToken(sn.NUMBER,this.getNumber());case 123:this.nextChar();return PostScriptToken.LBRACE;case 125:this.nextChar();return PostScriptToken.RBRACE}const a=this.strBuf;a.length=0;a[0]=String.fromCharCode(t);for(;(t=this.nextChar())>=0&&(t>=65&&t<=90||t>=97&&t<=122);)a.push(String.fromCharCode(t));const r=a.join("");switch(r.toLowerCase()){case"if":return PostScriptToken.IF;case"ifelse":return PostScriptToken.IFELSE;default:return PostScriptToken.getOperator(r)}}getNumber(){let e=this.currentChar;const t=this.strBuf;t.length=0;t[0]=String.fromCharCode(e);for(;(e=this.nextChar())>=0&&(e>=48&&e<=57||45===e||46===e);)t.push(String.fromCharCode(e));const a=parseFloat(t.join(""));if(isNaN(a))throw new FormatError(`Invalid floating point number: ${a}`);return a}}class BaseLocalCache{constructor(e){this._onlyRefs=!0===e?.onlyRefs;if(!this._onlyRefs){this._nameRefMap=new Map;this._imageMap=new Map}this._imageCache=new RefSetCache}getByName(e){this._onlyRefs&&unreachable("Should not call `getByName` method.");const t=this._nameRefMap.get(e);return t?this.getByRef(t):this._imageMap.get(e)||null}getByRef(e){return this._imageCache.get(e)||null}set(e,t,a){unreachable("Abstract method `set` called.")}}class LocalImageCache extends BaseLocalCache{set(e,t=null,a){if("string"!=typeof e)throw new Error('LocalImageCache.set - expected "name" argument.');if(t){if(this._imageCache.has(t))return;this._nameRefMap.set(e,t);this._imageCache.put(t,a)}else this._imageMap.has(e)||this._imageMap.set(e,a)}}class LocalColorSpaceCache extends BaseLocalCache{set(e=null,t=null,a){if("string"!=typeof e&&!t)throw new Error('LocalColorSpaceCache.set - expected "name" and/or "ref" argument.');if(t){if(this._imageCache.has(t))return;null!==e&&this._nameRefMap.set(e,t);this._imageCache.put(t,a)}else this._imageMap.has(e)||this._imageMap.set(e,a)}}class LocalFunctionCache extends BaseLocalCache{constructor(e){super({onlyRefs:!0})}set(e=null,t,a){if(!t)throw new Error('LocalFunctionCache.set - expected "ref" argument.');this._imageCache.has(t)||this._imageCache.put(t,a)}}class LocalGStateCache extends BaseLocalCache{set(e,t=null,a){if("string"!=typeof e)throw new Error('LocalGStateCache.set - expected "name" argument.');if(t){if(this._imageCache.has(t))return;this._nameRefMap.set(e,t);this._imageCache.put(t,a)}else this._imageMap.has(e)||this._imageMap.set(e,a)}}class LocalTilingPatternCache extends BaseLocalCache{constructor(e){super({onlyRefs:!0})}set(e=null,t,a){if(!t)throw new Error('LocalTilingPatternCache.set - expected "ref" argument.');this._imageCache.has(t)||this._imageCache.put(t,a)}}class RegionalImageCache extends BaseLocalCache{constructor(e){super({onlyRefs:!0})}set(e=null,t,a){if(!t)throw new Error('RegionalImageCache.set - expected "ref" argument.');this._imageCache.has(t)||this._imageCache.put(t,a)}}class GlobalColorSpaceCache extends BaseLocalCache{constructor(e){super({onlyRefs:!0})}set(e=null,t,a){if(!t)throw new Error('GlobalColorSpaceCache.set - expected "ref" argument.');this._imageCache.has(t)||this._imageCache.put(t,a)}clear(){this._imageCache.clear()}}class GlobalImageCache{static NUM_PAGES_THRESHOLD=2;static MIN_IMAGES_TO_CACHE=10;static MAX_BYTE_SIZE=5e7;#ce=new RefSet;constructor(){this._refCache=new RefSetCache;this._imageCache=new RefSetCache}get#le(){let e=0;for(const t of this._imageCache)e+=t.byteSize;return e}get#he(){return!(this._imageCache.size+e):null}class PDFFunction{static getSampleArray(e,t,a,r){let i,n,s=1;for(i=0,n=e.length;i>c)*h;l&=(1<0&&(d=n[u-1]);let f=a[1];u>1,c=r.length>>1,l=new PostScriptEvaluator(s),h=Object.create(null);let u=8192;const d=new Float32Array(c);return function constructPostScriptFn(e,t,a,r){let n,s,f="";const g=d;for(n=0;ne&&(s=e)}m[n]=s}if(u>0){u--;h[f]=m}a.set(m,r)}}}function isPDFFunction(e){let t;if(e instanceof Dict)t=e;else{if(!(e instanceof BaseStream))return!1;t=e.dict}return t.has("FunctionType")}class PostScriptStack{static MAX_STACK_SIZE=100;constructor(e){this.stack=e?Array.from(e):[]}push(e){if(this.stack.length>=PostScriptStack.MAX_STACK_SIZE)throw new Error("PostScript function stack overflow.");this.stack.push(e)}pop(){if(this.stack.length<=0)throw new Error("PostScript function stack underflow.");return this.stack.pop()}copy(e){if(this.stack.length+e>=PostScriptStack.MAX_STACK_SIZE)throw new Error("PostScript function stack overflow.");const t=this.stack;for(let a=t.length-e,r=e-1;r>=0;r--,a++)t.push(t[a])}index(e){this.push(this.stack[this.stack.length-e-1])}roll(e,t){const a=this.stack,r=a.length-e,i=a.length-1,n=r+(t-Math.floor(t/e)*e);for(let e=r,t=i;e0?t.push(s<>o);break;case"ceiling":s=t.pop();t.push(Math.ceil(s));break;case"copy":s=t.pop();t.copy(s);break;case"cos":s=t.pop();t.push(Math.cos(s%360/180*Math.PI));break;case"cvi":s=0|t.pop();t.push(s);break;case"cvr":break;case"div":o=t.pop();s=t.pop();t.push(s/o);break;case"dup":t.copy(1);break;case"eq":o=t.pop();s=t.pop();t.push(s===o);break;case"exch":t.roll(2,1);break;case"exp":o=t.pop();s=t.pop();t.push(s**o);break;case"false":t.push(!1);break;case"floor":s=t.pop();t.push(Math.floor(s));break;case"ge":o=t.pop();s=t.pop();t.push(s>=o);break;case"gt":o=t.pop();s=t.pop();t.push(s>o);break;case"idiv":o=t.pop();s=t.pop();t.push(s/o|0);break;case"index":s=t.pop();t.index(s);break;case"le":o=t.pop();s=t.pop();t.push(s<=o);break;case"ln":s=t.pop();t.push(Math.log(s));break;case"log":s=t.pop();t.push(Math.log10(s));break;case"lt":o=t.pop();s=t.pop();t.push(s=t?new AstLiteral(t):e.max<=t?e:new AstMin(e,t)}class PostScriptCompiler{compile(e,t,a){const r=[],i=[],n=t.length>>1,s=a.length>>1;let o,c,l,h,u,d,f,g,p=0;for(let e=0;et.min){o.unshift("Math.max(",n,", ");o.push(")")}if(s4){r=!0;t=0}else{r=!1;t=1}const c=[];for(n=0;n=0&&"ET"===hn[e];--e)hn[e]="EN";for(let e=n+1;e0&&(t=hn[n-1]);let a=u;e+1g&&isOdd(g)&&(m=g)}for(g=p;g>=m;--g){let e=-1;for(n=0,s=c.length;n=0){reverseValues(ln,e,n);e=-1}}else e<0&&(e=n);e>=0&&reverseValues(ln,e,c.length)}for(n=0,s=ln.length;n"!==e||(ln[n]="")}return createBidiText(ln.join(""),r)}const un={style:"normal",weight:"normal"},dn={style:"normal",weight:"bold"},fn={style:"italic",weight:"normal"},gn={style:"italic",weight:"bold"},pn=new Map([["Times-Roman",{local:["Times New Roman","Times-Roman","Times","Liberation Serif","Nimbus Roman","Nimbus Roman L","Tinos","Thorndale","TeX Gyre Termes","FreeSerif","Linux Libertine O","Libertinus Serif","PT Astra Serif","DejaVu Serif","Bitstream Vera Serif","Ubuntu"],style:un,ultimate:"serif"}],["Times-Bold",{alias:"Times-Roman",style:dn,ultimate:"serif"}],["Times-Italic",{alias:"Times-Roman",style:fn,ultimate:"serif"}],["Times-BoldItalic",{alias:"Times-Roman",style:gn,ultimate:"serif"}],["Helvetica",{local:["Helvetica","Helvetica Neue","Arial","Arial Nova","Liberation Sans","Arimo","Nimbus Sans","Nimbus Sans L","A030","TeX Gyre Heros","FreeSans","DejaVu Sans","Albany","Bitstream Vera Sans","Arial Unicode MS","Microsoft Sans Serif","Apple Symbols","Cantarell"],path:"LiberationSans-Regular.ttf",style:un,ultimate:"sans-serif"}],["Helvetica-Bold",{alias:"Helvetica",path:"LiberationSans-Bold.ttf",style:dn,ultimate:"sans-serif"}],["Helvetica-Oblique",{alias:"Helvetica",path:"LiberationSans-Italic.ttf",style:fn,ultimate:"sans-serif"}],["Helvetica-BoldOblique",{alias:"Helvetica",path:"LiberationSans-BoldItalic.ttf",style:gn,ultimate:"sans-serif"}],["Courier",{local:["Courier","Courier New","Liberation Mono","Nimbus Mono","Nimbus Mono L","Cousine","Cumberland","TeX Gyre Cursor","FreeMono","Linux Libertine Mono O","Libertinus Mono"],style:un,ultimate:"monospace"}],["Courier-Bold",{alias:"Courier",style:dn,ultimate:"monospace"}],["Courier-Oblique",{alias:"Courier",style:fn,ultimate:"monospace"}],["Courier-BoldOblique",{alias:"Courier",style:gn,ultimate:"monospace"}],["ArialBlack",{local:["Arial Black"],style:{style:"normal",weight:"900"},fallback:"Helvetica-Bold"}],["ArialBlack-Bold",{alias:"ArialBlack"}],["ArialBlack-Italic",{alias:"ArialBlack",style:{style:"italic",weight:"900"},fallback:"Helvetica-BoldOblique"}],["ArialBlack-BoldItalic",{alias:"ArialBlack-Italic"}],["ArialNarrow",{local:["Arial Narrow","Liberation Sans Narrow","Helvetica Condensed","Nimbus Sans Narrow","TeX Gyre Heros Cn"],style:un,fallback:"Helvetica"}],["ArialNarrow-Bold",{alias:"ArialNarrow",style:dn,fallback:"Helvetica-Bold"}],["ArialNarrow-Italic",{alias:"ArialNarrow",style:fn,fallback:"Helvetica-Oblique"}],["ArialNarrow-BoldItalic",{alias:"ArialNarrow",style:gn,fallback:"Helvetica-BoldOblique"}],["Calibri",{local:["Calibri","Carlito"],style:un,fallback:"Helvetica"}],["Calibri-Bold",{alias:"Calibri",style:dn,fallback:"Helvetica-Bold"}],["Calibri-Italic",{alias:"Calibri",style:fn,fallback:"Helvetica-Oblique"}],["Calibri-BoldItalic",{alias:"Calibri",style:gn,fallback:"Helvetica-BoldOblique"}],["Wingdings",{local:["Wingdings","URW Dingbats"],style:un}],["Wingdings-Regular",{alias:"Wingdings"}],["Wingdings-Bold",{alias:"Wingdings"}],["ËÎÌå",{local:["SimSun","SimSun Regular","NSimSun"],style:un,ultimate:"serif"}],["ºÚÌå",{local:["SimHei","SimHei Regular"],style:un,ultimate:"sans-serif"}],["¿¬Ìå",{local:["KaiTi","SimKai","SimKai Regular"],style:un,ultimate:"sans-serif"}],["·ÂËÎ",{local:["FangSong","SimFang","SimFang Regular"],style:un,ultimate:"serif"}],["¿¬Ìå_GB2312",{alias:"¿¬Ìå"}],["·ÂËÎ_GB2312",{alias:"·ÂËÎ"}],["Á¥Êé",{local:["SimLi","SimLi Regular"],style:un,ultimate:"serif"}],["ÐÂËÎ",{alias:"ËÎÌå"}]]),mn=new Map([["Arial-Black","ArialBlack"]]);function getFamilyName(e){const t=new Set(["thin","extralight","ultralight","demilight","semilight","light","book","regular","normal","medium","demibold","semibold","bold","extrabold","ultrabold","black","heavy","extrablack","ultrablack","roman","italic","oblique","ultracondensed","extracondensed","condensed","semicondensed","normal","semiexpanded","expanded","extraexpanded","ultraexpanded","bolditalic"]);return e.split(/[- ,+]+/g).filter(e=>!t.has(e.toLowerCase())).join(" ")}function generateFont({alias:e,local:t,path:a,fallback:r,style:i,ultimate:n},s,o,c=!0,l=!0,h=""){const u={style:null,ultimate:null};if(t){const e=h?` ${h}`:"";for(const a of t)s.push(`local(${a}${e})`)}if(e){const t=pn.get(e),n=h||function getStyleToAppend(e){switch(e){case dn:return"Bold";case fn:return"Italic";case gn:return"Bold Italic";default:if("bold"===e?.weight)return"Bold";if("italic"===e?.style)return"Italic"}return""}(i);Object.assign(u,generateFont(t,s,o,c&&!r,l&&!a,n))}i&&(u.style=i);n&&(u.ultimate=n);if(c&&r){const e=pn.get(r),{ultimate:t}=generateFont(e,s,o,c,l&&!a,h);u.ultimate||=t}l&&a&&o&&s.push(`url(${o}${a})`);return u}function getFontSubstitution(e,t,a,r,i,n){if(r.startsWith("InvalidPDFjsFont_"))return null;"TrueType"!==n&&"Type1"!==n||!/^[A-Z]{6}\+/.test(r)||(r=r.slice(7));const s=r=normalizeFontName(r);let o=e.get(s);if(o)return o;let c=pn.get(r);if(!c)for(const[e,t]of mn)if(r.startsWith(e)){r=`${t}${r.substring(e.length)}`;c=pn.get(r);break}let l=!1;if(!c){c=pn.get(i);l=!0}const h=`${t.getDocId()}_s${t.createFontId()}`;if(!c){if(!validateFontName(r)){warn(`Cannot substitute the font because of its name: ${r}`);e.set(s,null);return null}const t=/bold/gi.test(r),a=/oblique|italic/gi.test(r),i=t&&a&&gn||t&&dn||a&&fn||un;o={css:`"${getFamilyName(r)}",${h}`,guessFallback:!0,loadedName:h,baseFontName:r,src:`local(${r})`,style:i};e.set(s,o);return o}const u=[];l&&validateFontName(r)&&u.push(`local(${r})`);const{style:d,ultimate:f}=generateFont(c,u,a),g=null===f,p=g?"":`,${f}`;o={css:`"${getFamilyName(r)}",${h}${p}`,guessFallback:g,loadedName:h,baseFontName:r,src:u.join(","),style:d};e.set(s,o);return o}const bn=3285377520,yn=4294901760,wn=65535;class MurmurHash3_64{constructor(e){this.h1=e?4294967295&e:bn;this.h2=e?4294967295&e:bn}update(e){let t,a;if("string"==typeof e){t=new Uint8Array(2*e.length);a=0;for(let r=0,i=e.length;r>>8;t[a++]=255&i}}}else{if(!ArrayBuffer.isView(e))throw new Error("Invalid data format, must be a string or TypedArray.");t=e.slice();a=t.byteLength}const r=a>>2,i=a-4*r,n=new Uint32Array(t.buffer,0,r);let s=0,o=0,c=this.h1,l=this.h2;const h=3432918353,u=461845907,d=11601,f=13715;for(let e=0;e>>17;s=s*u&yn|s*f&wn;c^=s;c=c<<13|c>>>19;c=5*c+3864292196}else{o=n[e];o=o*h&yn|o*d&wn;o=o<<15|o>>>17;o=o*u&yn|o*f&wn;l^=o;l=l<<13|l>>>19;l=5*l+3864292196}s=0;switch(i){case 3:s^=t[4*r+2]<<16;case 2:s^=t[4*r+1]<<8;case 1:s^=t[4*r];s=s*h&yn|s*d&wn;s=s<<15|s>>>17;s=s*u&yn|s*f&wn;1&r?c^=s:l^=s}this.h1=c;this.h2=l}hexdigest(){let e=this.h1,t=this.h2;e^=t>>>1;e=3981806797*e&yn|36045*e&wn;t=4283543511*t&yn|(2950163797*(t<<16|e>>>16)&yn)>>>16;e^=t>>>1;e=444984403*e&yn|60499*e&wn;t=3301882366*t&yn|(3120437893*(t<<16|e>>>16)&yn)>>>16;e^=t>>>1;return(e>>>0).toString(16).padStart(8,"0")+(t>>>0).toString(16).padStart(8,"0")}}function resizeImageMask(e,t,a,r,i,n){const s=i*n;let o;o=t<=8?new Uint8Array(s):t<=16?new Uint16Array(s):new Uint32Array(s);const c=a/i,l=r/n;let h,u,d,f,g=0;const p=new Uint16Array(i),m=a;for(h=0;h0&&Number.isInteger(a.height)&&a.height>0&&(a.width!==f||a.height!==g)){warn("PDFImage - using the Width/Height of the image data, rather than the image dictionary.");f=a.width;g=a.height}else{const e="number"==typeof f&&f>0,t="number"==typeof g&&g>0;if(!e||!t){if(!a.fallbackDims)throw new FormatError(`Invalid image width: ${f} or height: ${g}`);warn("PDFImage - using the Width/Height of the parent image, for SMask/Mask data.");e||(f=a.fallbackDims.width);t||(g=a.fallbackDims.height)}}this.width=f;this.height=g;this.interpolate=h.get("I","Interpolate");this.imageMask=h.get("IM","ImageMask")||!1;this.matte=h.get("Matte")||!1;let p=a.bitsPerComponent;if(!p){p=h.get("BPC","BitsPerComponent");if(!p){if(!this.imageMask)throw new FormatError(`Bits per component missing in image: ${this.imageMask}`);p=1}}this.bpc=p;if(!this.imageMask){let i=h.getRaw("CS")||h.getRaw("ColorSpace");const n=!!i;if(n)this.jpxDecoderOptions?.smaskInData&&(i=Name.get("DeviceRGBA"));else if(this.jpxDecoderOptions)i=Name.get("DeviceRGBA");else switch(a.numComps){case 1:i=Name.get("DeviceGray");break;case 3:i=Name.get("DeviceRGB");break;case 4:i=Name.get("DeviceCMYK");break;default:throw new Error(`Images with ${a.numComps} color components not supported.`)}this.colorSpace=ColorSpaceUtils.parse({cs:i,xref:e,resources:r?t:null,pdfFunctionFactory:o,globalColorSpaceCache:c,localColorSpaceCache:l});this.numComps=this.colorSpace.numComps;if(this.jpxDecoderOptions){this.jpxDecoderOptions.numComponents=n?this.numComps:0;this.jpxDecoderOptions.isIndexedColormap="Indexed"===this.colorSpace.name}}this.decode=h.getArray("D","Decode");this.needsDecode=!1;if(this.decode&&(this.colorSpace&&!this.colorSpace.isDefaultDecode(this.decode,p)||s&&!ColorSpace.isDefaultDecode(this.decode,1))){this.needsDecode=!0;const e=(1<0,c=(r+7>>3)*i,l=await e.getImageData(c),h=1===r&&1===i&&o===(0===l.length||!!(128&l[0]));if(h)return{isSingleOpaquePixel:h};if(t){if(ImageResizer.needsToBeResized(r,i)){const e=new Uint8ClampedArray(r*i*4);convertBlackAndWhiteToRGBA({src:l,dest:e,width:r,height:i,nonBlackColor:0,inverseDecode:o});return ImageResizer.createImage({kind:O,data:e,width:r,height:i,interpolate:n})}const e=new OffscreenCanvas(r,i),t=e.getContext("2d"),a=t.createImageData(r,i);convertBlackAndWhiteToRGBA({src:l,dest:a.data,width:r,height:i,nonBlackColor:0,inverseDecode:o});t.putImageData(a,0,0);return{data:null,width:r,height:i,interpolate:n,bitmap:e.transferToImageBitmap()}}const u=l.byteLength;let d;if(e instanceof DecodeStream&&(!o||c===u))d=l;else if(o){d=new Uint8Array(c);d.set(l);d.fill(255,u)}else d=new Uint8Array(l);if(o)for(let e=0;e>7&1;s[d+1]=u>>6&1;s[d+2]=u>>5&1;s[d+3]=u>>4&1;s[d+4]=u>>3&1;s[d+5]=u>>2&1;s[d+6]=u>>1&1;s[d+7]=1&u;d+=8}if(d>=1}}}}else{let a=0;u=0;for(d=0,h=n;d>r;i<0?i=0:i>l&&(i=l);s[d]=i;u&=(1<s[r+1]){t=255;break}}o[h]=t}}}if(o)for(h=0,d=3,u=t*r;h>3,h=t&&ImageResizer.needsToBeResized(a,r);if(!this.smask&&!this.mask&&"DeviceRGBA"===this.colorSpace.name){i.kind=O;const e=i.data=await this.getImageBytes(o*s*4,{});return t?h?ImageResizer.createImage(i,!1):this.createBitmap(O,a,r,e):i}if(!e){let e;"DeviceGray"===this.colorSpace.name&&1===c?e=F:"DeviceRGB"!==this.colorSpace.name||8!==c||this.needsDecode||(e=T);if(e&&!this.smask&&!this.mask&&a===s&&r===o){const n=await this.#ue(s,o);if(n)return n;const c=await this.getImageBytes(o*l,{});if(t)return h?ImageResizer.createImage({data:c,kind:e,width:a,height:r,interpolate:this.interpolate},this.needsDecode):this.createBitmap(e,s,o,c);i.kind=e;i.data=c;if(this.needsDecode){assert(e===F,"PDFImage.createImageData: The image must be grayscale.");const t=i.data;for(let e=0,a=t.length;e>3,s=await this.getImageBytes(r*n,{internal:!0}),o=this.getComponents(s);let c,l;if(1===i){l=a*r;if(this.needsDecode)for(c=0;c0&&r[0].count++}class TimeSlotManager{static TIME_SLOT_DURATION_MS=20;static CHECK_TIME_EVERY=100;constructor(){this.reset()}check(){if(++this.checkedo){const e="Image exceeded maximum allowed size and was removed.";if(!c)throw new Error(e);warn(e);return}let g;h.has("OC")&&(g=await this.parseMarkedContentProps(h.get("OC"),e));let p,m,b;if(h.get("IM","ImageMask")||!1){p=await PDFImage.createMask({image:t,isOffscreenCanvasSupported:l&&!this.parsingType3Font});if(p.isSingleOpaquePixel){m=Xt;b=[];r.addImageOps(m,b,g);if(i){const e={fn:m,args:b,optionalContent:g};n.set(i,u,e);u&&this._regionalImageCache.set(null,u,e)}return}if(this.parsingType3Font){b=function compileType3Glyph({data:e,width:t,height:a}){if(t>1e3||a>1e3)return null;const r=new Uint8Array([0,2,4,0,1,0,5,4,8,10,0,8,0,2,1,0]),i=t+1,n=new Uint8Array(i*(a+1));let s,o,c;const l=t+7&-8,h=new Uint8Array(l*a);let u=0;for(const t of e){let e=128;for(;e>0;){h[u++]=t&e?0:255;e>>=1}}let d=0;u=0;if(0!==h[u]){n[0]=1;++d}for(o=1;o>2)+(h[u+1]?4:0)+(h[u-l+1]?8:0);if(r[e]){n[c+o]=r[e];++d}u++}if(h[u-l]!==h[u]){n[c+o]=h[u]?2:4;++d}if(d>1e3)return null}u=l*(a-1);c=s*i;if(0!==h[u]){n[c]=8;++d}for(o=1;o1e3)return null;const f=new Int32Array([0,i,-1,0,-i,0,0,0,1]),g=[],{a:p,b:m,c:b,d:y,e:w,f:S}=(new DOMMatrix).scaleSelf(1/t,-1/a).translateSelf(0,-a);for(s=0;d&&s<=a;s++){let e=s*i;const a=e+t;for(;e>4;n[e]&=l>>2|l<<2}r=e%i;o=e/i|0;g.push(zt,p*r+b*o+w,m*r+y*o+S);n[e]||--d}while(c!==e);--s}return[Gt,[new Float32Array(g)],new Float32Array([0,0,t,a])]}(p);if(b){r.addImageOps(qt,b,g);return}warn("Cannot compile Type3 glyph.");r.addImageOps(Nt,[p],g);return}const e=`mask_${this.idFactory.createObjId()}`;r.addDependency(e);p.dataLen=p.bitmap?p.width*p.height*4:p.data.length;this._sendImgData(e,p);m=Nt;b=[{data:e,width:p.width,height:p.height,interpolate:p.interpolate,count:1}];r.addImageOps(m,b,g);if(i){const t={objId:e,fn:m,args:b,optionalContent:g};n.set(i,u,t);u&&this._regionalImageCache.set(null,u,t)}return}const y=h.has("SMask")||h.has("Mask");if(a&&d+f<200&&!y){try{const i=new PDFImage({xref:this.xref,res:e,image:t,isInline:a,pdfFunctionFactory:this._pdfFunctionFactory,globalColorSpaceCache:this.globalColorSpaceCache,localColorSpaceCache:s});p=await i.createImageData(!0,!1);r.addImageOps(Lt,[p],g)}catch(e){const t=`Unable to decode inline image: "${e}".`;if(!c)throw new Error(t);warn(t)}return}let w=`img_${this.idFactory.createObjId()}`,S=!1,x=null;if(this.parsingType3Font)w=`${this.idFactory.getDocId()}_type3_${w}`;else if(i&&u){S=this.globalImageCache.shouldCache(u,this.pageIndex);if(S){assert(!a,"Cannot cache an inline image globally.");w=`${this.idFactory.getDocId()}_${w}`}}r.addDependency(w);m=Et;b=[w,d,f];r.addImageOps(m,b,g,y);if(S){x={objId:w,fn:m,args:b,optionalContent:g,hasMask:y,byteSize:0};if(this.globalImageCache.hasDecodeFailed(u)){this.globalImageCache.setData(u,x);this._sendImgData(w,null,S);return}if(d*f>25e4||y){const e=await this.handler.sendWithPromise("commonobj",[w,"CopyLocalImage",{imageRef:u}]);if(e){this.globalImageCache.setData(u,x);this.globalImageCache.addByteSize(u,e);return}}}PDFImage.buildImage({xref:this.xref,res:e,image:t,isInline:a,pdfFunctionFactory:this._pdfFunctionFactory,globalColorSpaceCache:this.globalColorSpaceCache,localColorSpaceCache:s}).then(async e=>{p=await e.createImageData(!1,l);p.dataLen=p.bitmap?p.width*p.height*4:p.data.length;p.ref=u;S&&this.globalImageCache.addByteSize(u,p.dataLen);return this._sendImgData(w,p,S)}).catch(e=>{warn(`Unable to decode image "${w}": "${e}".`);u&&this.globalImageCache.addDecodeFailed(u);return this._sendImgData(w,null,S)});if(i){const e={objId:w,fn:m,args:b,optionalContent:g,hasMask:y};n.set(i,u,e);if(u){this._regionalImageCache.set(null,u,e);if(S){assert(x,"The global cache-data must be available.");this.globalImageCache.setData(u,x)}}}}handleSMask(e,t,a,r,i,n,s){const o=e.get("G"),c={subtype:e.get("S").name,backdrop:e.get("BC")},l=e.get("TR");if(isPDFFunction(l)){const e=this._pdfFunctionFactory.create(l),t=new Uint8Array(256),a=new Float32Array(1);for(let r=0;r<256;r++){a[0]=r/255;e(a,0,a,0);t[r]=255*a[0]|0}c.transferMap=t}return this.buildFormXObject(t,o,c,a,r,i.state.clone({newPath:!0}),n,s)}handleTransferFunction(e){let t;if(Array.isArray(e))t=e;else{if(!isPDFFunction(e))return null;t=[e]}const a=[];let r=0,i=0;for(const e of t){const t=this.xref.fetchIfRef(e);r++;if(isName(t,"Identity")){a.push(null);continue}if(!isPDFFunction(t))return null;const n=this._pdfFunctionFactory.create(t),s=new Uint8Array(256),o=new Float32Array(1);for(let e=0;e<256;e++){o[0]=e/255;n(o,0,o,0);s[e]=255*o[0]|0}a.push(s);i++}return 1!==r&&4!==r||0===i?null:a}handleTilingType(e,t,a,r,i,n,s,o){const c=new OperatorList,l=Dict.merge({xref:this.xref,dictArray:[i.get("Resources"),a]});return this.getOperatorList({stream:r,task:s,resources:l,operatorList:c}).then(function(){const a=c.getIR(),r=getTilingPatternIR(a,i,t);n.addDependencies(c.dependencies);n.addOp(e,r);i.objId&&o.set(null,i.objId,{operatorListIR:a,dict:i})}).catch(e=>{if(!(e instanceof AbortException)){if(!this.options.ignoreErrors)throw e;warn(`handleTilingType - ignoring pattern: "${e}".`)}})}async handleSetFont(e,t,a,r,i,n,s=null,o=null){const c=t?.[0]instanceof Name?t[0].name:null,l=await this.loadFont(c,a,e,i,s,o);l.font.isType3Font&&r.addDependencies(l.type3Dependencies);n.font=l.font;l.send(this.handler);return l.loadedName}handleText(e,t){const a=t.font,r=a.charsToGlyphs(e);if(a.data){(!!(t.textRenderingMode&v)||"Pattern"===t.fillColorSpace.name||"Pattern"===t.strokeColorSpace.name||a.disableFontFace)&&PartialEvaluator.buildFontPaths(a,r,this.handler,this.options)}return r}ensureStateFont(e){if(e.font)return;const t=new FormatError("Missing setFont (Tf) operator before text rendering operator.");if(!this.options.ignoreErrors)throw t;warn(`ensureStateFont: "${t}".`)}async setGState({resources:e,gState:t,operatorList:a,cacheKey:r,task:i,stateManager:n,localGStateCache:s,localColorSpaceCache:o,seenRefs:c}){const l=t.objId;let h=!0;const u=[];let d=Promise.resolve();for(const[r,s]of t)switch(r){case"Type":break;case"LW":if("number"!=typeof s){warn(`Invalid LW (line width): ${s}`);break}u.push([r,Math.abs(s)]);break;case"LC":case"LJ":case"ML":case"D":case"RI":case"FL":case"CA":case"ca":u.push([r,s]);break;case"Font":h=!1;d=d.then(()=>this.handleSetFont(e,null,s[0],a,i,n.state).then(function(e){a.addDependency(e);u.push([r,[e,s[1]]])}));break;case"BM":u.push([r,normalizeBlendMode(s)]);break;case"SMask":if(isName(s,"None")){u.push([r,!1]);break}if(s instanceof Dict){h=!1;d=d.then(()=>this.handleSMask(s,e,a,i,n,o,c));u.push([r,!0])}else warn("Unsupported SMask type");break;case"TR":const t=this.handleTransferFunction(s);u.push([r,t]);break;case"OP":case"op":case"OPM":case"BG":case"BG2":case"UCR":case"UCR2":case"TR2":case"HT":case"SM":case"SA":case"AIS":case"TK":info("graphic state operator "+r);break;default:info("Unknown graphic state operator "+r)}await d;u.length>0&&a.addOp(be,[u]);h&&s.set(r,l,u)}loadFont(e,t,a,r,i=null,n=null){const errorFont=async()=>new TranslatedFont({loadedName:"g_font_error",font:new ErrorFont(`Font "${e}" is not available.`),dict:t});let s;if(t)t instanceof Ref&&(s=t);else{const t=a.get("Font");t&&(s=t.getRaw(e))}if(s){if(this.type3FontRefs?.has(s))return errorFont();if(this.fontCache.has(s))return this.fontCache.get(s);try{t=this.xref.fetchIfRef(s)}catch(e){warn(`loadFont - lookup failed: "${e}".`)}}if(!(t instanceof Dict)){if(!this.options.ignoreErrors&&!this.parsingType3Font){warn(`Font "${e}" is not available.`);return errorFont()}warn(`Font "${e}" is not available -- attempting to fallback to a default font.`);t=i||PartialEvaluator.fallbackFontDict}if(t.cacheKey&&this.fontCache.has(t.cacheKey))return this.fontCache.get(t.cacheKey);const{promise:o,resolve:c}=Promise.withResolvers();let l;try{l=this.preEvaluateFont(t);l.cssFontInfo=n}catch(e){warn(`loadFont - preEvaluateFont failed: "${e}".`);return errorFont()}const{descriptor:h,hash:u}=l,d=s instanceof Ref;let f;if(u&&h instanceof Dict){const e=h.fontAliases||=Object.create(null);if(e[u]){const t=e[u].aliasRef;if(d&&t&&this.fontCache.has(t)){this.fontCache.putAlias(s,t);return this.fontCache.get(s)}}else e[u]={fontID:this.idFactory.createFontId()};d&&(e[u].aliasRef=s);f=e[u].fontID}else f=this.idFactory.createFontId();assert(f?.startsWith("f"),'The "fontID" must be (correctly) defined.');if(d)this.fontCache.put(s,o);else{t.cacheKey=`cacheKey_${f}`;this.fontCache.put(t.cacheKey,o)}t.loadedName=`${this.idFactory.getDocId()}_${f}`;this.translateFont(l).then(async e=>{const i=new TranslatedFont({loadedName:t.loadedName,font:e,dict:t});if(e.isType3Font)try{await i.loadType3Data(this,a,r)}catch(e){throw new Error(`Type3 font load error: ${e}`)}c(i)}).catch(e=>{warn(`loadFont - translateFont failed: "${e}".`);c(new TranslatedFont({loadedName:t.loadedName,font:new ErrorFont(e?.message),dict:t}))});return o}buildPath(e,t,a){const{pathMinMax:r,pathBuffer:i}=a;switch(0|e){case Ie:{const e=a.currentPointX=t[0],n=a.currentPointY=t[1],s=t[2],o=t[3],c=e+s,l=n+o;0===s||0===o?i.push($t,e,n,zt,c,l,Jt):i.push($t,e,n,zt,c,n,zt,c,l,zt,e,l,Jt);Util.rectBoundingBox(e,n,c,l,r);break}case xe:{const e=a.currentPointX=t[0],n=a.currentPointY=t[1];i.push($t,e,n);Util.pointBoundingBox(e,n,r);break}case Ae:{const e=a.currentPointX=t[0],n=a.currentPointY=t[1];i.push(zt,e,n);Util.pointBoundingBox(e,n,r);break}case ke:{const e=a.currentPointX,n=a.currentPointY,[s,o,c,l,h,u]=t;a.currentPointX=h;a.currentPointY=u;i.push(Vt,s,o,c,l,h,u);Util.bezierBoundingBox(e,n,s,o,c,l,h,u,r);break}case Ce:{const e=a.currentPointX,n=a.currentPointY,[s,o,c,l]=t;a.currentPointX=c;a.currentPointY=l;i.push(Vt,e,n,s,o,c,l);Util.bezierBoundingBox(e,n,e,n,s,o,c,l,r);break}case ve:{const e=a.currentPointX,n=a.currentPointY,[s,o,c,l]=t;a.currentPointX=c;a.currentPointY=l;i.push(Vt,s,o,c,l,c,l);Util.bezierBoundingBox(e,n,s,o,c,l,c,l,r);break}case Fe:i.push(Jt)}}_getColorSpace(e,t,a){return ColorSpaceUtils.parse({cs:e,xref:this.xref,resources:t,pdfFunctionFactory:this._pdfFunctionFactory,globalColorSpaceCache:this.globalColorSpaceCache,localColorSpaceCache:a,asyncIfNotCached:!0})}async _handleColorSpace(e){try{return await e}catch(e){if(e instanceof AbortException)return null;if(this.options.ignoreErrors){warn(`_handleColorSpace - ignoring ColorSpace: "${e}".`);return null}throw e}}parseShading({shading:e,resources:t,localColorSpaceCache:a,localShadingPatternCache:r}){let i,n=r.get(e);if(n)return n;try{i=Pattern.parseShading(e,this.xref,t,this._pdfFunctionFactory,this.globalColorSpaceCache,a).getIR()}catch(t){if(t instanceof AbortException)return null;if(this.options.ignoreErrors){warn(`parseShading - ignoring shading: "${t}".`);r.set(e,null);return null}throw t}n=`pattern_${this.idFactory.createObjId()}`;this.parsingType3Font&&(n=`${this.idFactory.getDocId()}_type3_${n}`);r.set(e,n);if(this.parsingType3Font){const e=[],t=PatternInfo.write(i);e.push(t);this.handler.send("commonobj",[n,"Pattern",t],e)}else this.handler.send("obj",[n,this.pageIndex,"Pattern",i]);return n}handleColorN(e,t,a,r,i,n,s,o,c,l){const h=a.pop();if(h instanceof Name){const u=i.getRaw(h.name),d=u instanceof Ref&&c.getByRef(u);if(d)try{const i=r.base?r.base.getRgbHex(a,0):null,n=getTilingPatternIR(d.operatorListIR,d.dict,i);e.addOp(t,n);return}catch{}const f=this.xref.fetchIfRef(u);if(f){const i=f instanceof BaseStream?f.dict:f,h=i.get("PatternType");if(h===xn){const o=r.base?r.base.getRgbHex(a,0):null;return this.handleTilingType(t,o,n,f,i,e,s,c)}if(h===An){const a=i.get("Shading"),r=this.parseShading({shading:a,resources:n,localColorSpaceCache:o,localShadingPatternCache:l});if(r){const a=lookupMatrix(i.getArray("Matrix"),null);e.addOp(t,["Shading",r,a])}return}throw new FormatError(`Unknown PatternType: ${h}`)}}throw new FormatError(`Unknown PatternName: ${h}`)}_parseVisibilityExpression(e,t,a){if(++t>10){warn("Visibility expression is too deeply nested");return}const r=e.length,i=this.xref.fetchIfRef(e[0]);if(!(r<2)&&i instanceof Name){switch(i.name){case"And":case"Or":case"Not":a.push(i.name);break;default:warn(`Invalid operator ${i.name} in visibility expression`);return}for(let i=1;i0)return{type:"OCMD",expression:t}}const t=a.get("OCGs");if(Array.isArray(t)||t instanceof Dict){const e=[];if(Array.isArray(t))for(const a of t)e.push(a.toString());else e.push(t.objId);return{type:r,ids:e,policy:a.get("P")instanceof Name?a.get("P").name:null,expression:null}}if(t instanceof Ref)return{type:r,id:t.toString()}}return null}async getOperatorList({stream:e,task:t,resources:a,operatorList:r,initialState:i=null,fallbackFontDict:n=null,prevRefs:s=null}){if(e.isAsync){const t=await e.asyncGetBytes();t&&(e=new Stream(t,0,t.length,e.dict))}const o=e.dict?.objId,c=new RefSet(s);if(o){if(s?.has(o))throw new Error(`getOperatorList - ignoring circular reference: ${o}`);c.put(o)}a||=Dict.empty;i||=new EvalState;if(!r)throw new Error('getOperatorList: missing "operatorList" parameter');const l=this,h=this.xref,u=new LocalImageCache,d=new LocalColorSpaceCache,f=new LocalGStateCache,g=new LocalTilingPatternCache,p=new Map,m=a.get("XObject")||Dict.empty,b=a.get("Pattern")||Dict.empty,y=new StateManager(i),w=new EvaluatorPreprocessor(e,h,y),S=new TimeSlotManager;function closePendingRestoreOPS(e){for(let e=0,t=w.savedStatesDepth;e{y.state.fillColorSpace=e||ColorSpaceUtils.gray}));return}case it:{const t=l._getColorSpace(e[0],a,d);if(t instanceof ColorSpace){y.state.strokeColorSpace=t;continue}next(l._handleColorSpace(t).then(e=>{y.state.strokeColorSpace=e||ColorSpaceUtils.gray}));return}case ct:C=y.state.fillColorSpace;e=[C.getRgbHex(e,0)];i=ft;break;case st:C=y.state.strokeColorSpace;e=[C.getRgbHex(e,0)];i=dt;break;case ut:y.state.fillColorSpace=ColorSpaceUtils.gray;e=[ColorSpaceUtils.gray.getRgbHex(e,0)];i=ft;break;case ht:y.state.strokeColorSpace=ColorSpaceUtils.gray;e=[ColorSpaceUtils.gray.getRgbHex(e,0)];i=dt;break;case pt:y.state.fillColorSpace=ColorSpaceUtils.cmyk;e=[ColorSpaceUtils.cmyk.getRgbHex(e,0)];i=ft;break;case gt:y.state.strokeColorSpace=ColorSpaceUtils.cmyk;e=[ColorSpaceUtils.cmyk.getRgbHex(e,0)];i=dt;break;case ft:y.state.fillColorSpace=ColorSpaceUtils.rgb;e=[ColorSpaceUtils.rgb.getRgbHex(e,0)];break;case dt:y.state.strokeColorSpace=ColorSpaceUtils.rgb;e=[ColorSpaceUtils.rgb.getRgbHex(e,0)];break;case lt:C=y.state.patternFillColorSpace;if(!C){if(isNumberArray(e,null)){e=[ColorSpaceUtils.gray.getRgbHex(e,0)];i=ft;break}e=[];i=Wt;break}if("Pattern"===C.name){next(l.handleColorN(r,lt,e,C,b,a,t,d,g,p));return}e=[C.getRgbHex(e,0)];i=ft;break;case ot:C=y.state.patternStrokeColorSpace;if(!C){if(isNumberArray(e,null)){e=[ColorSpaceUtils.gray.getRgbHex(e,0)];i=dt;break}e=[];i=Ht;break}if("Pattern"===C.name){next(l.handleColorN(r,ot,e,C,b,a,t,d,g,p));return}e=[C.getRgbHex(e,0)];i=dt;break;case mt:let T;try{const t=a.get("Shading");if(!t)throw new FormatError("No shading resource found");T=t.get(e[0].name);if(!T)throw new FormatError("No shading object found")}catch(e){if(e instanceof AbortException)continue;if(l.options.ignoreErrors){warn(`getOperatorList - ignoring Shading: "${e}".`);continue}throw e}const O=l.parseShading({shading:T,resources:a,localColorSpaceCache:d,localShadingPatternCache:p});if(!O)continue;e=[O];i=mt;break;case be:F=e[0]instanceof Name;v=e[0].name;if(F){const t=f.getByName(v);if(t){t.length>0&&r.addOp(be,[t]);e=null;continue}}next(new Promise(function(e,i){if(!F)throw new FormatError("GState must be referred to by name.");const n=a.get("ExtGState");if(!(n instanceof Dict))throw new FormatError("ExtGState should be a dictionary.");const s=n.get(v);if(!(s instanceof Dict))throw new FormatError("GState should be a dictionary.");l.setGState({resources:a,gState:s,operatorList:r,cacheKey:v,task:t,stateManager:y,localGStateCache:f,localColorSpaceCache:d,seenRefs:c}).then(e,i)}).catch(function(e){if(!(e instanceof AbortException)){if(!l.options.ignoreErrors)throw e;warn(`getOperatorList - ignoring ExtGState: "${e}".`)}}));return;case he:{const[t]=e;if("number"!=typeof t){warn(`Invalid setLineWidth: ${t}`);continue}e[0]=Math.abs(t);break}case ge:{const t=e[1];if("number"!=typeof t){warn(`Invalid setDash: ${t}`);continue}const a=e[0];if(!Array.isArray(a)){warn(`Invalid setDash: ${a}`);continue}a.some(e=>"number"!=typeof e)&&(e[0]=a.filter(e=>"number"==typeof e));break}case xe:case Ae:case ke:case Ce:case ve:case Fe:case Ie:l.buildPath(i,e,y.state);continue;case Te:case Oe:case De:case Me:case Re:case Be:case Ne:case Pe:case Ee:{const{state:{pathBuffer:e,pathMinMax:t}}=y;i!==Oe&&i!==Ne&&i!==Pe||e.push(Jt);if(0===e.length)r.addOp(qt,[i,[null],null]);else{r.addOp(qt,[i,[new Float32Array(e)],t.slice()]);e.length=0;t.set([1/0,1/0,-1/0,-1/0],0)}continue}case Je:r.addOp(i,[new Float32Array(e)]);continue;case xt:case At:case Ft:case It:continue;case Ct:if(!(e[0]instanceof Name)){warn(`Expected name for beginMarkedContentProps arg0=${e[0]}`);r.addOp(Ct,["OC",null]);continue}if("OC"===e[0].name){next(l.parseMarkedContentProps(e[1],a).then(e=>{r.addOp(Ct,["OC",e])}).catch(e=>{if(!(e instanceof AbortException)){if(!l.options.ignoreErrors)throw e;warn(`getOperatorList - ignoring beginMarkedContentProps: "${e}".`);r.addOp(Ct,["OC",null])}}));return}e=[e[0].name,e[1]instanceof Dict?e[1].get("MCID"):null];break;default:if(null!==e){for(x=0,k=e.length;x{if(!(e instanceof AbortException)){if(!this.options.ignoreErrors)throw e;warn(`getOperatorList - ignoring errors during "${t.name}" task: "${e}".`);closePendingRestoreOPS()}})}async getTextContent({stream:e,task:a,resources:r,stateManager:i=null,includeMarkedContent:n=!1,sink:s,seenStyles:o=new Set,viewBox:c,lang:l=null,markedContentData:h=null,disableNormalization:u=!1,keepWhiteSpace:d=!1,prevRefs:f=null,intersector:g=null}){if(e.isAsync){const t=await e.asyncGetBytes();t&&(e=new Stream(t,0,t.length,e.dict))}const p=e.dict?.objId,m=new RefSet(f);if(p){if(f?.has(p))throw new Error(`getTextContent - ignoring circular reference: ${p}`);m.put(p)}r||=Dict.empty;i||=new StateManager(new TextState);n&&(h||={level:0});const b={items:[],styles:Object.create(null),lang:l},y={initialized:!1,str:[],totalWidth:0,totalHeight:0,width:0,height:0,vertical:!1,prevTransform:null,textAdvanceScale:0,spaceInFlowMin:0,spaceInFlowMax:0,trackingSpaceMin:1/0,negativeSpaceMax:-1/0,notASpace:-1/0,transform:null,fontName:null,hasEOL:!1},w=[" "," "];let S=0;function saveLastChar(e){const t=(S+1)%2,a=" "!==w[S]&&" "===w[t];w[S]=e;S=t;return!d&&a}function shouldAddWhitepsace(){return!d&&" "!==w[S]&&" "===w[(S+1)%2]}function resetLastChars(){w[0]=w[1]=" ";S=0}const x=this,k=this.xref,C=[];let v=null;const F=new LocalImageCache,T=new LocalGStateCache,O=new EvaluatorPreprocessor(e,k,i);let D;function pushWhitespace({width:e=0,height:t=0,transform:a=y.prevTransform,fontName:r=y.fontName}){g?.addExtraChar(" ");b.items.push({str:" ",dir:"ltr",width:e,height:t,transform:a,fontName:r,hasEOL:!1})}function getCurrentTextTransform(){const e=D.font,a=[D.fontSize*D.textHScale,0,0,D.fontSize,0,D.textRise];if(e.isType3Font&&(D.fontSize<=1||e.isCharBBox)&&!isArrayEqual(D.fontMatrix,t)){const t=e.bbox[3]-e.bbox[1];t>0&&(a[3]*=t*D.fontMatrix[3])}return Util.transform(D.ctm,Util.transform(D.textMatrix,a))}function ensureTextContentItem(){if(y.initialized)return y;const{font:e,loadedName:t}=D;if(!o.has(t)){o.add(t);b.styles[t]={fontFamily:e.fallbackName,ascent:e.ascent,descent:e.descent,vertical:e.vertical};if(x.options.fontExtraProperties&&e.systemFontInfo){const a=b.styles[t];a.fontSubstitution=e.systemFontInfo.css;a.fontSubstitutionLoadedName=e.systemFontInfo.loadedName}}y.fontName=t;const a=y.transform=getCurrentTextTransform();if(e.vertical){y.width=y.totalWidth=Math.hypot(a[0],a[1]);y.height=y.totalHeight=0;y.vertical=!0}else{y.width=y.totalWidth=0;y.height=y.totalHeight=Math.hypot(a[2],a[3]);y.vertical=!1}const r=Math.hypot(D.textLineMatrix[0],D.textLineMatrix[1]),i=Math.hypot(D.ctm[0],D.ctm[1]);y.textAdvanceScale=i*r;const{fontSize:n}=D;y.trackingSpaceMin=.102*n;y.notASpace=.03*n;y.negativeSpaceMax=-.2*n;y.spaceInFlowMin=.102*n;y.spaceInFlowMax=.6*n;y.hasEOL=!1;y.initialized=!0;return y}function updateAdvanceScale(){if(!y.initialized)return;const e=Math.hypot(D.textLineMatrix[0],D.textLineMatrix[1]),t=Math.hypot(D.ctm[0],D.ctm[1])*e;if(t!==y.textAdvanceScale){if(y.vertical){y.totalHeight+=y.height*y.textAdvanceScale;y.height=0}else{y.totalWidth+=y.width*y.textAdvanceScale;y.width=0}y.textAdvanceScale=t}}function runBidiTransform(e){let t=e.str.join("");u||(t=function normalizeUnicode(e){if(!ra){ra=/([\u00a0\u00b5\u037e\u0eb3\u2000-\u200a\u202f\u2126\ufb00-\ufb04\ufb06\ufb20-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufba1\ufba4-\ufba9\ufbae-\ufbb1\ufbd3-\ufbdc\ufbde-\ufbe7\ufbea-\ufbf8\ufbfc-\ufbfd\ufc00-\ufc5d\ufc64-\ufcf1\ufcf5-\ufd3d\ufd88\ufdf4\ufdfa-\ufdfb\ufe71\ufe77\ufe79\ufe7b\ufe7d]+)|(\ufb05+)/gu;ia=new Map([["ſt","ſt"]])}return e.replaceAll(ra,(e,t,a)=>t?t.normalize("NFKC"):ia.get(a))}(t));const a=bidi(t,-1,e.vertical);return{str:a.str,dir:a.dir,width:Math.abs(e.totalWidth),height:Math.abs(e.totalHeight),transform:e.transform,fontName:e.fontName,hasEOL:e.hasEOL}}async function handleSetFont(e,i){const n=await x.loadFont(e,i,r,a);D.loadedName=n.loadedName;D.font=n.font;D.fontMatrix=n.font.fontMatrix||t}function applyInverseRotation(e,t,a){const r=Math.hypot(a[0],a[1]);return[(a[0]*e+a[1]*t)/r,(a[2]*e+a[3]*t)/r]}function compareWithLastPosition(e){const t=getCurrentTextTransform();let a=t[4],r=t[5];if(D.font?.vertical){if(ac[2]||r+ec[3])return!1}else if(a+ec[2]||rc[3])return!1;if(!D.font||!y.prevTransform)return!0;let i=y.prevTransform[4],n=y.prevTransform[5];if(i===a&&n===r)return!0;let s=-1;t[0]&&0===t[1]&&0===t[2]?s=t[0]>0?0:180:t[1]&&0===t[0]&&0===t[3]&&(s=t[1]>0?90:270);switch(s){case 0:break;case 90:[a,r]=[r,a];[i,n]=[n,i];break;case 180:[a,r,i,n]=[-a,-r,-i,-n];break;case 270:[a,r]=[-r,-a];[i,n]=[-n,-i];break;default:[a,r]=applyInverseRotation(a,r,t);[i,n]=applyInverseRotation(i,n,y.prevTransform)}if(D.font.vertical){const e=(n-r)/y.textAdvanceScale,t=a-i,s=Math.sign(y.height);if(e.5*y.width){appendEOL();return!0}resetLastChars();flushTextContentItem();return!0}if(Math.abs(t)>y.width){appendEOL();return!0}e<=s*y.notASpace&&resetLastChars();if(e<=s*y.trackingSpaceMin)if(shouldAddWhitepsace()){resetLastChars();flushTextContentItem();pushWhitespace({height:Math.abs(e)})}else y.height+=e;else if(!addFakeSpaces(e,y.prevTransform,s))if(0===y.str.length){resetLastChars();pushWhitespace({height:Math.abs(e)})}else y.height+=e;Math.abs(t)>.25*y.width&&flushTextContentItem();return!0}const o=(a-i)/y.textAdvanceScale,l=r-n,h=Math.sign(y.width);if(o.5*y.height){appendEOL();return!0}resetLastChars();flushTextContentItem();return!0}if(Math.abs(l)>y.height){appendEOL();return!0}o<=h*y.notASpace&&resetLastChars();if(o<=h*y.trackingSpaceMin)if(shouldAddWhitepsace()){resetLastChars();flushTextContentItem();pushWhitespace({width:Math.abs(o)})}else y.width+=o;else if(!addFakeSpaces(o,y.prevTransform,h))if(0===y.str.length){resetLastChars();pushWhitespace({width:Math.abs(o)})}else y.width+=o;Math.abs(l)>.25*y.height&&flushTextContentItem();return!0}function buildTextContentItem({chars:e,extraSpacing:t}){const a=D.font;if(!e){const e=D.charSpacing+t;e&&(a.vertical?D.translateTextMatrix(0,-e):D.translateTextMatrix(e*D.textHScale,0));d&&compareWithLastPosition(0);return}const r=a.charsToGlyphs(e),i=D.fontMatrix[0]*D.fontSize;for(let e=0,n=r.length;e0){const e=C.join("");C.length=0;buildTextContentItem({chars:e,extraSpacing:0})}break;case Ze:if(!i.state.font){x.ensureStateFont(i.state);continue}buildTextContentItem({chars:w[0],extraSpacing:0});break;case et:if(!i.state.font){x.ensureStateFont(i.state);continue}D.carriageReturn();buildTextContentItem({chars:w[0],extraSpacing:0});break;case tt:if(!i.state.font){x.ensureStateFont(i.state);continue}D.wordSpacing=w[0];D.charSpacing=w[1];D.carriageReturn();buildTextContentItem({chars:w[2],extraSpacing:0});break;case St:flushTextContentItem();v??=r.get("XObject")||Dict.empty;y=w[0]instanceof Name;p=w[0].name;if(y&&F.getByName(p))break;next(new Promise(function(e,t){if(!y)throw new FormatError("XObject must be referred to by name.");let f=v.getRaw(p);if(f instanceof Ref){if(F.getByRef(f)){e();return}if(x.globalImageCache.getData(f,x.pageIndex)){e();return}f=k.fetch(f)}if(!(f instanceof BaseStream))throw new FormatError("XObject should be a stream");const{dict:g}=f,b=g.get("Subtype");if(!(b instanceof Name))throw new FormatError("XObject should have a Name subtype");if("Form"!==b.name){F.set(p,g.objId,!0);e();return}const w=i.state.clone(),S=new StateManager(w),C=lookupMatrix(g.getArray("Matrix"),null);C&&S.transform(C);const T=g.get("Resources");enqueueChunk();const O={enqueueInvoked:!1,enqueue(e,t){this.enqueueInvoked=!0;s.enqueue(e,t)},get desiredSize(){return s.desiredSize??0},get ready(){return s.ready}};x.getTextContent({stream:f,task:a,resources:T instanceof Dict?T:r,stateManager:S,includeMarkedContent:n,sink:s&&O,seenStyles:o,viewBox:c,lang:l,markedContentData:h,disableNormalization:u,keepWhiteSpace:d,prevRefs:m}).then(function(){O.enqueueInvoked||F.set(p,g.objId,!0);e()},t)}).catch(function(e){if(!(e instanceof AbortException)){if(!x.options.ignoreErrors)throw e;warn(`getTextContent - ignoring XObject: "${e}".`)}}));return;case be:y=w[0]instanceof Name;p=w[0].name;if(y&&T.getByName(p))break;next(new Promise(function(e,t){if(!y)throw new FormatError("GState must be referred to by name.");const a=r.get("ExtGState");if(!(a instanceof Dict))throw new FormatError("ExtGState should be a dictionary.");const i=a.get(p);if(!(i instanceof Dict))throw new FormatError("GState should be a dictionary.");const n=i.get("Font");if(n){flushTextContentItem();D.fontName=null;D.fontSize=n[1];handleSetFont(null,n[0]).then(e,t)}else{T.set(p,i.objId,!0);e()}}).catch(function(e){if(!(e instanceof AbortException)){if(!x.options.ignoreErrors)throw e;warn(`getTextContent - ignoring ExtGState: "${e}".`)}}));return;case kt:flushTextContentItem();if(n){h.level++;b.items.push({type:"beginMarkedContent",tag:w[0]instanceof Name?w[0].name:null})}break;case Ct:flushTextContentItem();if(n){h.level++;let e=null;w[1]instanceof Dict&&(e=w[1].get("MCID"));b.items.push({type:"beginMarkedContentProps",id:Number.isInteger(e)?`${x.idFactory.getPageObjId()}_mc${e}`:null,tag:w[0]instanceof Name?w[0].name:null})}break;case vt:flushTextContentItem();if(n){if(0===h.level)break;h.level--;b.items.push({type:"endMarkedContent"})}break;case we:!e||e.font===D.font&&e.fontSize===D.fontSize&&e.fontName===D.fontName||flushTextContentItem()}if(b.items.length>=(s?.desiredSize??1)){g=!0;break}}if(g)next(kn);else{flushTextContentItem();enqueueChunk();e()}}).catch(e=>{if(!(e instanceof AbortException)){if(!this.options.ignoreErrors)throw e;warn(`getTextContent - ignoring errors during "${a.name}" task: "${e}".`);flushTextContentItem();enqueueChunk()}})}async extractDataStructures(e,t){const a=this.xref;let r;const i=this.readToUnicode(t.toUnicode);if(t.composite){const a=e.get("CIDSystemInfo");a instanceof Dict&&!t.cidSystemInfo&&(t.cidSystemInfo={registry:stringToPDFString(a.get("Registry")),ordering:stringToPDFString(a.get("Ordering")),supplement:a.get("Supplement")});try{const t=e.get("CIDToGIDMap");t instanceof BaseStream&&(r=t.getBytes())}catch(e){if(!this.options.ignoreErrors)throw e;warn(`extractDataStructures - ignoring CIDToGIDMap data: "${e}".`)}}const n=[];let s,o=null;if(e.has("Encoding")){s=e.get("Encoding");if(s instanceof Dict){o=s.get("BaseEncoding");o=o instanceof Name?o.name:null;if(s.has("Differences")){const e=s.get("Differences");let t=0;for(const r of e){const e=a.fetchIfRef(r);if("number"==typeof e)t=e;else{if(!(e instanceof Name))throw new FormatError(`Invalid entry in 'Differences' array: ${e}`);n[t++]=e.name}}}}else if(s instanceof Name)o=s.name;else{const e="Encoding is not a Name nor a Dict";if(!this.options.ignoreErrors)throw new FormatError(e);warn(e)}"MacRomanEncoding"!==o&&"MacExpertEncoding"!==o&&"WinAnsiEncoding"!==o&&(o=null)}const c=!t.file||t.isInternalFont,l=qr()[t.name];o&&c&&l&&(o=null);if("WinAnsiEncoding"===o&&c&&t.name?.charCodeAt(0)>=183){const e=t.name;if(["ËÎÌå","ºÚÌå","¿¬Ìå","·ÂËÎ","¿¬Ìå_GB2312","·ÂËÎ_GB2312","Á¥Êé","ÐÂËÎ"].includes(e)){o=null;t.defaultEncoding="Adobe-GB1-UCS2";t.composite=!0;t.cidEncoding=Name.get("GBK-EUC-H");const e=await CMapFactory.create({encoding:t.cidEncoding,fetchBuiltInCMap:this._fetchBuiltInCMapBound,useCMap:null});t.cMap=e;t.vertical=t.cMap.vertical;t.cidSystemInfo={registry:"Adobe",ordering:"GB1",supplement:0}}}if(o)t.defaultEncoding=getEncoding(o);else{let e=!!(t.flags&kr);const a=!!(t.flags&Cr);if("TrueType"===t.type&&e&&a&&0!==n.length){t.flags&=~kr;e=!1}s=hr;"TrueType"!==t.type||a||(s=ur);if(e||l){s=lr;c&&(/Symbol/i.test(t.name)?s=dr:/Dingbats/i.test(t.name)?s=fr:/Wingdings/i.test(t.name)&&(s=ur))}t.defaultEncoding=s}t.differences=n;t.baseEncodingName=o;t.hasEncoding=!!o||n.length>0;t.dict=e;t.toUnicode=await i;const h=await this.buildToUnicode(t);t.toUnicode=h;r&&(t.cidToGidMap=this.readCidToGidMap(r,h));return t}_simpleFontToUnicode(e,t=!1){assert(!e.composite,"Must be a simple font.");const a=[],r=e.defaultEncoding.slice(),i=e.baseEncodingName,n=e.differences;for(const e in n){const t=n[e];".notdef"!==t&&(r[e]=t)}const s=gr();for(const n in r){let o=r[n];if(""===o)continue;let c=s[o];if(void 0!==c){a[n]=String.fromCharCode(c);continue}let l=0;switch(o[0]){case"G":3===o.length&&(l=parseInt(o.substring(1),16));break;case"g":5===o.length&&(l=parseInt(o.substring(1),16));break;case"C":case"c":if(o.length>=3&&o.length<=4){const a=o.substring(1);if(t){l=parseInt(a,16);break}l=+a;if(Number.isNaN(l)&&Number.isInteger(parseInt(a,16)))return this._simpleFontToUnicode(e,!0)}break;case"u":c=getUnicodeForGlyph(o,s);-1!==c&&(l=c);break;default:switch(o){case"f_h":case"f_t":case"T_h":a[n]=o.replaceAll("_","");continue}}if(l>0&&l<=1114111&&Number.isInteger(l)){if(i&&l===+n){const e=getEncoding(i);if(e&&(o=e[n])){a[n]=String.fromCharCode(s[o]);continue}}a[n]=String.fromCodePoint(l)}}return a}async buildToUnicode(e){e.hasIncludedToUnicodeMap=e.toUnicode?.length>0;if(e.hasIncludedToUnicodeMap){!e.composite&&e.hasEncoding&&(e.fallbackToUnicode=this._simpleFontToUnicode(e));return e.toUnicode}if(!e.composite)return new ToUnicodeMap(this._simpleFontToUnicode(e));if(e.composite&&(e.cMap.builtInCMap&&!(e.cMap instanceof IdentityCMap)||"Adobe"===e.cidSystemInfo?.registry&&("GB1"===e.cidSystemInfo.ordering||"CNS1"===e.cidSystemInfo.ordering||"Japan1"===e.cidSystemInfo.ordering||"Korea1"===e.cidSystemInfo.ordering))){const{registry:t,ordering:a}=e.cidSystemInfo,r=Name.get(`${t}-${a}-UCS2`),i=await CMapFactory.create({encoding:r,fetchBuiltInCMap:this._fetchBuiltInCMapBound,useCMap:null}),n=[],s=[];e.cMap.forEach(function(e,t){if(t>65535)throw new FormatError("Max size of CID is 65,535");const a=i.lookup(t);if(a){s.length=0;for(let e=0,t=a.length;e>1;(0!==i||t.has(n))&&(a[n]=i)}return a}extractWidths(e,t,a){const r=this.xref;let i=[],n=0;const s=[];let o;if(a.composite){const t=e.get("DW");n="number"==typeof t?Math.ceil(t):1e3;const c=e.get("W");if(Array.isArray(c))for(let e=0,t=c.length;e{const t=c.get(e),r=new OperatorList;return n.getOperatorList({stream:t,task:a,resources:l,operatorList:r}).then(()=>{switch(r.fnArray[0]){case rt:this.#ge(r,b);break;case at:b||this.#pe(r)}h[e]=r.getIR();for(const e of r.dependencies)i.add(e)}).catch(function(t){warn(`Type3 font resource "${e}" is not available.`);const a=new OperatorList;h[e]=a.getIR()})});this.#fe=o.then(()=>{r.charProcOperatorList=h;if(this._bbox){r.isCharBBox=!0;r.bbox=this._bbox}});return this.#fe}#ge(e,t=NaN){const a=Util.normalizeRect(e.argsArray[0].slice(2)),r=a[2]-a[0],i=a[3]-a[1],n=Math.hypot(r,i);if(0===r||0===i){e.fnArray.splice(0,1);e.argsArray.splice(0,1)}else if(0===t||Math.round(n/t)>=10){this._bbox??=[1/0,1/0,-1/0,-1/0];Util.rectBoundingBox(...a,this._bbox)}let s=0,o=e.length;for(;s=xe&&n<=Ee;if(i.variableArgs)o>s&&info(`Command ${r}: expected [0, ${s}] args, but received ${o} args.`);else{if(o!==s){const e=this.nonProcessedArgs;for(;o>s;){e.push(t.shift());o--}for(;oEvaluatorPreprocessor.MAX_INVALID_PATH_OPS)throw new FormatError(`Invalid ${e}`);warn(`Skipping ${e}`);null!==t&&(t.length=0);continue}}this.preprocessCommand(n,t);e.fn=n;e.args=t;return!0}if(a===sa)return!1;if(null!==a){null===t&&(t=[]);t.push(a);if(t.length>33)throw new FormatError("Too many arguments")}}}preprocessCommand(e,t){switch(0|e){case ye:this.stateManager.save();break;case we:this.stateManager.restore();break;case Se:this.stateManager.transform(t)}}}class DefaultAppearanceEvaluator extends EvaluatorPreprocessor{constructor(e){super(new StringStream(e))}parse(){const e={fn:0,args:[]},t={fontSize:0,fontName:"",fontColor:new Uint8ClampedArray(3)};try{for(;;){e.args.length=0;if(!this.read(e))break;if(0!==this.savedStatesDepth)continue;const{fn:a,args:r}=e;switch(0|a){case Ge:const[e,a]=r;e instanceof Name&&(t.fontName=e.name);"number"==typeof a&&a>0&&(t.fontSize=a);break;case ft:ColorSpaceUtils.rgb.getRgbItem(r,0,t.fontColor,0);break;case ut:ColorSpaceUtils.gray.getRgbItem(r,0,t.fontColor,0);break;case pt:ColorSpaceUtils.cmyk.getRgbItem(r,0,t.fontColor,0)}}}catch(e){warn(`parseDefaultAppearance - ignoring errors: "${e}".`)}return t}}function parseDefaultAppearance(e){return new DefaultAppearanceEvaluator(e).parse()}class AppearanceStreamEvaluator extends EvaluatorPreprocessor{constructor(e,t,a,r){super(e);this.stream=e;this.evaluatorOptions=t;this.xref=a;this.globalColorSpaceCache=r;this.resources=e.dict?.get("Resources")}parse(){const e={fn:0,args:[]};let t={scaleFactor:1,fontSize:0,fontName:"",fontColor:new Uint8ClampedArray(3),fillColorSpace:ColorSpaceUtils.gray},a=!1;const r=[];try{for(;;){e.args.length=0;if(a||!this.read(e))break;const{fn:i,args:n}=e;switch(0|i){case ye:r.push({scaleFactor:t.scaleFactor,fontSize:t.fontSize,fontName:t.fontName,fontColor:t.fontColor.slice(),fillColorSpace:t.fillColorSpace});break;case we:t=r.pop()||t;break;case Je:t.scaleFactor*=Math.hypot(n[0],n[1]);break;case Ge:const[e,i]=n;e instanceof Name&&(t.fontName=e.name);"number"==typeof i&&i>0&&(t.fontSize=i*t.scaleFactor);break;case nt:t.fillColorSpace=ColorSpaceUtils.parse({cs:n[0],xref:this.xref,resources:this.resources,pdfFunctionFactory:this._pdfFunctionFactory,globalColorSpaceCache:this.globalColorSpaceCache,localColorSpaceCache:this._localColorSpaceCache});break;case ct:t.fillColorSpace.getRgbItem(n,0,t.fontColor,0);break;case ft:ColorSpaceUtils.rgb.getRgbItem(n,0,t.fontColor,0);break;case ut:ColorSpaceUtils.gray.getRgbItem(n,0,t.fontColor,0);break;case pt:ColorSpaceUtils.cmyk.getRgbItem(n,0,t.fontColor,0);break;case Ze:case Qe:case et:case tt:a=!0}}}catch(e){warn(`parseAppearanceStream - ignoring errors: "${e}".`)}this.stream.reset();delete t.scaleFactor;delete t.fillColorSpace;return t}get _localColorSpaceCache(){return shadow(this,"_localColorSpaceCache",new LocalColorSpaceCache)}get _pdfFunctionFactory(){return shadow(this,"_pdfFunctionFactory",new PDFFunctionFactory({xref:this.xref,isEvalSupported:this.evaluatorOptions.isEvalSupported}))}}function getPdfColor(e,t){if(e[0]===e[1]&&e[1]===e[2]){return`${numberToString(e[0]/255)} ${t?"g":"G"}`}return Array.from(e,e=>numberToString(e/255)).join(" ")+" "+(t?"rg":"RG")}class FakeUnicodeFont{constructor(e,t){this.xref=e;this.widths=null;this.firstChar=1/0;this.lastChar=-1/0;this.fontFamily=t;const a=new OffscreenCanvas(1,1);this.ctxMeasure=a.getContext("2d",{willReadFrequently:!0});FakeUnicodeFont._fontNameId||(FakeUnicodeFont._fontNameId=1);this.fontName=Name.get(`InvalidPDFjsFont_${t}_${FakeUnicodeFont._fontNameId++}`)}get fontDescriptorRef(){if(!FakeUnicodeFont._fontDescriptorRef){const e=new Dict(this.xref);e.setIfName("Type","FontDescriptor");e.set("FontName",this.fontName);e.set("FontFamily","MyriadPro Regular");e.set("FontBBox",[0,0,0,0]);e.setIfName("FontStretch","Normal");e.set("FontWeight",400);e.set("ItalicAngle",0);FakeUnicodeFont._fontDescriptorRef=this.xref.getNewPersistentRef(e)}return FakeUnicodeFont._fontDescriptorRef}get descendantFontRef(){const e=new Dict(this.xref);e.set("BaseFont",this.fontName);e.setIfName("Type","Font");e.setIfName("Subtype","CIDFontType0");e.setIfName("CIDToGIDMap","Identity");e.set("FirstChar",this.firstChar);e.set("LastChar",this.lastChar);e.set("FontDescriptor",this.fontDescriptorRef);e.set("DW",1e3);const t=[],a=[...this.widths.entries()].sort();let r=null,i=null;for(const[e,n]of a)if(r)if(e===r+i.length)i.push(n);else{t.push(r,i);r=e;i=[n]}else{r=e;i=[n]}r&&t.push(r,i);e.set("W",t);const n=new Dict(this.xref);n.set("Ordering","Identity");n.set("Registry","Adobe");n.set("Supplement",0);e.set("CIDSystemInfo",n);return this.xref.getNewPersistentRef(e)}get baseFontRef(){const e=new Dict(this.xref);e.set("BaseFont",this.fontName);e.setIfName("Type","Font");e.setIfName("Subtype","Type0");e.setIfName("Encoding","Identity-H");e.set("DescendantFonts",[this.descendantFontRef]);e.setIfName("ToUnicode","Identity-H");return this.xref.getNewPersistentRef(e)}get resources(){const e=new Dict(this.xref),t=new Dict(this.xref);t.set(this.fontName.name,this.baseFontRef);e.set("Font",t);return e}_createContext(){this.widths=new Map;this.ctxMeasure.font=`1000px ${this.fontFamily}`;return this.ctxMeasure}createFontResources(e){const t=this._createContext();for(const a of e.split(/\r\n?|\n/))for(const e of a.split("")){const a=e.charCodeAt(0);if(this.widths.has(a))continue;const r=t.measureText(e),i=Math.ceil(r.width);this.widths.set(a,i);this.firstChar=Math.min(a,this.firstChar);this.lastChar=Math.max(a,this.lastChar)}return this.resources}static getFirstPositionInfo(e,t,i){const[n,s,o,c]=e;let l=o-n,h=c-s;t%180!=0&&([l,h]=[h,l]);const u=a*i;return{coords:[0,h+r*i-u],bbox:[0,0,l,h],matrix:0!==t?getRotationMatrix(t,h,u):void 0}}createAppearance(e,t,i,n,s,o){const c=this._createContext(),l=[];let h=-1/0;for(const t of e.split(/\r\n?|\n/)){l.push(t);const e=c.measureText(t).width;h=Math.max(h,e);for(const e of codePointIter(t)){const t=String.fromCodePoint(e);let a=this.widths.get(e);if(void 0===a){const r=c.measureText(t);a=Math.ceil(r.width);this.widths.set(e,a);this.firstChar=Math.min(e,this.firstChar);this.lastChar=Math.max(e,this.lastChar)}}}h*=n/1e3;const[u,d,f,g]=t;let p=f-u,m=g-d;i%180!=0&&([p,m]=[m,p]);let b=1;h>p&&(b=p/h);let y=1;const w=a*n,S=r*n,x=w*l.length;x>m&&(y=m/x);const k=n*Math.min(b,y),C=["q",`0 0 ${numberToString(p)} ${numberToString(m)} re W n`,"BT",`1 0 0 1 0 ${numberToString(m+S)} Tm 0 Tc ${getPdfColor(s,!0)}`,`/${this.fontName.name} ${numberToString(k)} Tf`],{resources:v}=this;if(1!==(o="number"==typeof o&&o>=0&&o<=1?o:1)){C.push("/R0 gs");const e=new Dict(this.xref),t=new Dict(this.xref);t.set("ca",o);t.set("CA",o);t.setIfName("Type","ExtGState");e.set("R0",t);v.set("ExtGState",e)}const F=numberToString(w);for(const e of l)C.push(`0 -${F} Td <${stringToUTF16HexString(e)}> Tj`);C.push("ET","Q");const T=C.join("\n"),O=new Dict(this.xref);O.setIfName("Subtype","Form");O.setIfName("Type","XObject");O.set("BBox",[0,0,p,m]);O.set("Length",T.length);O.set("Resources",v);if(i){const e=getRotationMatrix(i,p,m);O.set("Matrix",e)}const D=new StringStream(T);D.dict=O;return D}}const Cn=["m/d","m/d/yy","mm/dd/yy","mm/yy","d-mmm","d-mmm-yy","dd-mmm-yy","yy-mm-dd","mmm-yy","mmmm-yy","mmm d, yyyy","mmmm d, yyyy","m/d/yy h:MM tt","m/d/yy HH:MM"],vn=["HH:MM","h:MM tt","HH:MM:ss","h:MM:ss tt"];class NameOrNumberTree{constructor(e,t,a){this.root=e;this.xref=t;this._type=a}getAll(e=!1){const t=new Map;if(!this.root)return t;const a=this.xref,r=new RefSet;r.put(this.root);const i=[this.root];for(;i.length>0;){const n=a.fetchIfRef(i.shift());if(!(n instanceof Dict))continue;if(n.has("Kids")){const e=n.get("Kids");if(!Array.isArray(e))continue;for(const t of e){if(r.has(t))throw new FormatError(`Duplicate entry in "${this._type}" tree.`);i.push(t);r.put(t)}continue}const s=n.get(this._type);if(Array.isArray(s))for(let r=0,i=s.length;r10){warn(`Search depth limit reached for "${this._type}" tree.`);return null}const i=a.get("Kids");if(!Array.isArray(i))return null;let n=0,s=i.length-1;for(;n<=s;){const r=n+s>>1,o=t.fetchIfRef(i[r]),c=o.get("Limits");if(et.fetchIfRef(c[1]))){a=o;break}n=r+1}}if(n>s)return null}const i=a.get(this._type);if(Array.isArray(i)){let a=0,r=i.length-2;for(;a<=r;){const n=a+r>>1,s=n+(1&n),o=t.fetchIfRef(i[s]);if(eo))return i[s+1];a=s+2}}}return null}get(e){return this.xref.fetchIfRef(this.getRaw(e))}}class NameTree extends NameOrNumberTree{constructor(e,t){super(e,t,"Names")}}class NumberTree extends NameOrNumberTree{constructor(e,t){super(e,t,"Nums")}}function clearGlobalCaches(){!function clearPatternCaches(){pi=Object.create(null)}();!function clearPrimitiveCaches(){oa=Object.create(null);ca=Object.create(null);la=Object.create(null)}();!function clearUnicodeCaches(){wr.clear()}();JpxImage.cleanup()}function pickPlatformItem(e){if(e instanceof Dict)for(const t of["UF","F","Unix","Mac","DOS"])if(e.has(t))return e.get(t);return null}class FileSpec{#me=!1;constructor(e,t=!1){if(e instanceof Dict){this.root=e;e.has("FS")&&(this.fs=e.get("FS"));e.has("RF")&&warn("Related file specifications are not supported");t||(e.has("EF")?this.#me=!0:warn("Non-embedded file specifications are not supported"))}}get filename(){const e=pickPlatformItem(this.root);return e&&"string"==typeof e?stringToPDFString(e,!0).replaceAll("\\\\","\\").replaceAll("\\/","/").replaceAll("\\","/"):""}get content(){if(!this.#me)return null;const e=pickPlatformItem(this.root?.get("EF"));if(e instanceof BaseStream)return e.getBytes();warn("Embedded file specification points to non-existing/invalid content");return null}get description(){const e=this.root?.get("Desc");return e&&"string"==typeof e?stringToPDFString(e):""}get serializable(){const{filename:e,content:t,description:a}=this;return{rawFilename:e,filename:(r=e,r.substring(r.lastIndexOf("/")+1))||"unnamed",content:t,description:a};var r}}const Fn=0,In=-2,Tn=-3,On=-4,Dn=-5,Mn=-6,Rn=-9;function isWhitespace(e,t){const a=e[t];return" "===a||"\n"===a||"\r"===a||"\t"===a}class XMLParserBase{_resolveEntities(e){return e.replaceAll(/&([^;]+);/g,(e,t)=>{if("#x"===t.substring(0,2))return String.fromCodePoint(parseInt(t.substring(2),16));if("#"===t.substring(0,1))return String.fromCodePoint(parseInt(t.substring(1),10));switch(t){case"lt":return"<";case"gt":return">";case"amp":return"&";case"quot":return'"';case"apos":return"'"}return this.onResolveEntity(t)})}_parseContent(e,t){const a=[];let r=t;function skipWs(){for(;r"!==e[r]&&"/"!==e[r];)++r;const i=e.substring(t,r);skipWs();for(;r"!==e[r]&&"/"!==e[r]&&"?"!==e[r];){skipWs();let t="",i="";for(;r"!==e[a]&&"?"!==e[a]&&"/"!==e[a];)++a;const r=e.substring(t,a);!function skipWs(){for(;a"!==e[a+1]);)++a;return{name:r,value:e.substring(i,a),parsed:a-t}}parseXml(e){let t=0;for(;t",a);if(t<0){this.onError(Rn);return}this.onEndElement(e.substring(a,t));a=t+1;break;case"?":++a;const r=this._parseProcessingInstruction(e,a);if("?>"!==e.substring(a+r.parsed,a+r.parsed+2)){this.onError(Tn);return}this.onPi(r.name,r.value);a+=r.parsed+2;break;case"!":if("--"===e.substring(a+1,a+3)){t=e.indexOf("--\x3e",a+3);if(t<0){this.onError(Dn);return}this.onComment(e.substring(a+3,t));a=t+3}else if("[CDATA["===e.substring(a+1,a+8)){t=e.indexOf("]]>",a+8);if(t<0){this.onError(In);return}this.onCdata(e.substring(a+8,t));a=t+3}else{if("DOCTYPE"!==e.substring(a+1,a+8)){this.onError(Mn);return}{const r=e.indexOf("[",a+8);let i=!1;t=e.indexOf(">",a+8);if(t<0){this.onError(On);return}if(r>0&&t>r){t=e.indexOf("]>",a+8);if(t<0){this.onError(On);return}i=!0}const n=e.substring(a+8,t+(i?1:0));this.onDoctype(n);a=t+(i?2:1)}}break;default:const i=this._parseContent(e,a);if(null===i){this.onError(Mn);return}let n=!1;if("/>"===e.substring(a+i.parsed,a+i.parsed+2))n=!0;else if(">"!==e.substring(a+i.parsed,a+i.parsed+1)){this.onError(Rn);return}this.onBeginElement(i.name,i.attributes,n);a+=i.parsed+(n?2:1)}}else{for(;ae.textContent).join(""):this.nodeValue||""}get children(){return this.childNodes||[]}hasChildNodes(){return this.childNodes?.length>0}searchNode(e,t){if(t>=e.length)return this;const a=e[t];if(a.name.startsWith("#")&&t0){r.push([i,0]);i=i.childNodes[0]}else{if(0===r.length)return null;for(;0!==r.length;){const[e,t]=r.pop(),a=t+1;if(a");for(const t of this.childNodes)t.dump(e);e.push(``)}else this.nodeValue?e.push(`>${encodeToXmlString(this.nodeValue)}`):e.push("/>")}else e.push(encodeToXmlString(this.nodeValue))}}class SimpleXMLParser extends XMLParserBase{constructor({hasAttributes:e=!1,lowerCaseName:t=!1}){super();this._currentFragment=null;this._stack=null;this._errorCode=Fn;this._hasAttributes=e;this._lowerCaseName=t}parseFromString(e){this._currentFragment=[];this._stack=[];this._errorCode=Fn;this.parseXml(e);if(this._errorCode!==Fn)return;const[t]=this._currentFragment;return t?{documentElement:t}:void 0}onText(e){if(function isWhitespaceString(e){for(let t=0,a=e.length;t\\376\\377([^<]+)/g,function(e,t){const a=t.replaceAll(/\\([0-3])([0-7])([0-7])/g,function(e,t,a,r){return String.fromCharCode(64*t+8*a+1*r)}).replaceAll(/&(amp|apos|gt|lt|quot);/g,function(e,t){switch(t){case"amp":return"&";case"apos":return"'";case"gt":return">";case"lt":return"<";case"quot":return'"'}throw new Error(`_repair: ${t} isn't defined.`)}),r=[">"];for(let e=0,t=a.length;e=32&&t<127&&60!==t&&62!==t&&38!==t?r.push(String.fromCharCode(t)):r.push("&#x"+(65536+t).toString(16).substring(1)+";")}return r.join("")})}_getSequence(e){const t=e.nodeName;return"rdf:bag"!==t&&"rdf:seq"!==t&&"rdf:alt"!==t?null:e.childNodes.filter(e=>"rdf:li"===e.nodeName)}_parseArray(e){if(!e.hasChildNodes())return;const[t]=e.childNodes,a=this._getSequence(t)||[];this._metadataMap.set(e.nodeName,a.map(e=>e.textContent.trim()))}_parse(e){let t=e.documentElement;if("rdf:rdf"!==t.nodeName){t=t.firstChild;for(;t&&"rdf:rdf"!==t.nodeName;)t=t.nextSibling}if(t&&"rdf:rdf"===t.nodeName&&t.hasChildNodes())for(const e of t.childNodes)if("rdf:description"===e.nodeName)for(const t of e.childNodes){const e=t.nodeName;switch(e){case"#text":continue;case"dc:creator":case"dc:subject":this._parseArray(t);continue}this._metadataMap.set(e,t.textContent.trim())}}get serializable(){return{parsedData:this._metadataMap,rawData:this._data}}}const Bn=1,Nn=2,Pn=3,En=4,Ln=5;class StructTreeRoot{constructor(e,t,a){this.xref=e;this.dict=t;this.ref=a instanceof Ref?a:null;this.roleMap=new Map;this.structParentIds=null;this.kidRefToPosition=void 0;this.parentTree=null}getKidPosition(e){if(void 0===this.kidRefToPosition){const e=this.dict.get("K");if(Array.isArray(e)){const t=this.kidRefToPosition=new Map;for(let a=0,r=e.length;a=0||(e.parentTreeId=a++);s=!1}}if(s){for(const e of t.values())for(const t of e){delete t.parentTreeId;delete t.structTreeParent}return!1}return!0}async updateStructureTree({newAnnotationsByPage:e,pdfManager:t,changes:a}){const{ref:r,xref:i}=this,n=this.dict.clone(),s=new RefSetCache;s.put(r,n);let o,c=n.getRaw("ParentTree");if(c instanceof Ref)o=i.fetch(c);else{o=c;c=i.getNewTemporaryRef();n.set("ParentTree",c)}o=o.clone();s.put(c,o);let l=o.getRaw("Nums"),h=null;if(l instanceof Ref){h=l;l=i.fetch(h)}l=l.slice();h||o.set("Nums",l);const u=await StructTreeRoot.#ye({newAnnotationsByPage:e,structTreeRootRef:r,structTreeRoot:this,kids:null,nums:l,xref:i,pdfManager:t,changes:a,cache:s});if(-1!==u){n.set("ParentTreeNextKey",u);h&&s.put(h,l);for(const[e,t]of s.items())a.put(e,{data:t})}}static async#ye({newAnnotationsByPage:e,structTreeRootRef:t,structTreeRoot:a,kids:r,nums:i,xref:n,pdfManager:s,changes:o,cache:c}){const l=Name.get("OBJR");let h,u=-1;for(const[d,f]of e){const e=await s.getPage(d),{ref:g}=e,p=g instanceof Ref;for(const{accessibilityData:s,ref:m,parentTreeId:b,structTreeParent:y}of f){if(!s?.type)continue;const{structParent:f}=s;if(a&&Number.isInteger(f)&&f>=0){let t=(h||=new Map).get(d);if(void 0===t){t=new StructTreePage(a,e.pageDict).collectObjects(g);h.set(d,t)}const r=t?.get(f);if(r){const e=n.fetch(r).clone();StructTreeRoot.#Se(e,s);o.put(r,{data:e});continue}}u=Math.max(u,b);const w=n.getNewTemporaryRef(),S=new Dict(n);StructTreeRoot.#Se(S,s);await this.#xe({structTreeParent:y,tagDict:S,newTagRef:w,structTreeRootRef:t,fallbackKids:r,xref:n,cache:c});const x=new Dict(n);S.set("K",x);x.set("Type",l);p&&x.set("Pg",g);x.set("Obj",m);c.put(w,S);i.push(b,w)}}return u+1}static#Se(e,{type:t,title:a,lang:r,alt:i,expanded:n,actualText:s}){e.set("S",Name.get(t));a&&e.set("T",stringToAsciiOrUTF16BE(a));r&&e.set("Lang",stringToAsciiOrUTF16BE(r));i&&e.set("Alt",stringToAsciiOrUTF16BE(i));n&&e.set("E",stringToAsciiOrUTF16BE(n));s&&e.set("ActualText",stringToAsciiOrUTF16BE(s))}static#we({elements:e,xref:t,pageDict:a,numberTree:r}){const i=new Map;for(const t of e)if(t.structTreeParentId){const e=parseInt(t.structTreeParentId.split("_mc")[1],10);let a=i.get(e);if(!a){a=[];i.set(e,a)}a.push(t)}const n=a.get("StructParents");if(!Number.isInteger(n))return;const s=r.get(n),updateElement=(e,a,r)=>{const n=i.get(e);if(n){const e=a.getRaw("P"),i=t.fetchIfRef(e);if(e instanceof Ref&&i instanceof Dict){const e={ref:r,dict:a};for(const t of n)t.structTreeParent=e}return!0}return!1};for(const e of s){if(!(e instanceof Ref))continue;const a=t.fetch(e),r=a.get("K");if(Number.isInteger(r))updateElement(r,a,e);else if(Array.isArray(r))for(let i of r){i=t.fetchIfRef(i);if(Number.isInteger(i)&&updateElement(i,a,e))break;if(!(i instanceof Dict))continue;if(!isName(i.get("Type"),"MCR"))break;const r=i.get("MCID");if(Number.isInteger(r)&&updateElement(r,a,e))break}}}static async#xe({structTreeParent:e,tagDict:t,newTagRef:a,structTreeRootRef:r,fallbackKids:i,xref:n,cache:s}){let o,c=null;if(e){({ref:c}=e);o=e.dict.getRaw("P")||r}else o=r;t.set("P",o);const l=n.fetchIfRef(o);if(!l){i.push(a);return}let h=s.get(o);if(!h){h=l.clone();s.put(o,h)}const u=h.getRaw("K");let d=u instanceof Ref?s.get(u):null;if(!d){d=n.fetchIfRef(u);d=Array.isArray(d)?d.slice():[u];const e=n.getNewTemporaryRef();h.set("K",e);s.put(e,d)}const f=d.indexOf(c);d.splice(f>=0?f+1:d.length,0,a)}}class StructElementNode{constructor(e,t){this.tree=e;this.xref=e.xref;this.dict=t;this.kids=[];this.parseKids()}get role(){const e=this.dict.get("S"),t=e instanceof Name?e.name:"",{root:a}=this.tree;return a.roleMap.get(t)??t}get mathML(){let e=this.dict.get("AF")||[];Array.isArray(e)||(e=[e]);for(let t of e){t=this.xref.fetchIfRef(t);if(!(t instanceof Dict))continue;if(!isName(t.get("Type"),"Filespec"))continue;if(!isName(t.get("AFRelationship"),"Supplement"))continue;const e=t.get("EF");if(!(e instanceof Dict))continue;const a=e.get("UF")||e.get("F");if(a instanceof BaseStream&&(isName(a.dict.get("Type"),"EmbeddedFile")&&isName(a.dict.get("Subtype"),"application/mathml+xml")))return stringToUTF8String(a.getString())}const t=this.dict.get("A");if(t instanceof Dict){if(isName(t.get("O"),"MSFT_Office")){const e=t.get("MSFT_MathML");return e?stringToPDFString(e):null}}return null}parseKids(){let e=null;const t=this.dict.getRaw("Pg");t instanceof Ref&&(e=t.toString());const a=this.dict.get("K");if(Array.isArray(a))for(const t of a){const a=this.parseKid(e,this.xref.fetchIfRef(t));a&&this.kids.push(a)}else{const t=this.parseKid(e,a);t&&this.kids.push(t)}}parseKid(e,t){if(Number.isInteger(t))return this.tree.pageDict.objId!==e?null:new StructElement({type:Bn,mcid:t,pageObjId:e});if(!(t instanceof Dict))return null;const a=t.getRaw("Pg");a instanceof Ref&&(e=a.toString());const r=t.get("Type")instanceof Name?t.get("Type").name:null;if("MCR"===r){if(this.tree.pageDict.objId!==e)return null;const a=t.getRaw("Stm");return new StructElement({type:Nn,refObjId:a instanceof Ref?a.toString():null,pageObjId:e,mcid:t.get("MCID")})}if("OBJR"===r){if(this.tree.pageDict.objId!==e)return null;const a=t.getRaw("Obj");return new StructElement({type:Pn,refObjId:a instanceof Ref?a.toString():null,pageObjId:e})}return new StructElement({type:Ln,dict:t})}}class StructElement{constructor({type:e,dict:t=null,mcid:a=null,pageObjId:r=null,refObjId:i=null}){this.type=e;this.dict=t;this.mcid=a;this.pageObjId=r;this.refObjId=i;this.parentNode=null}}class StructTreePage{constructor(e,t){this.root=e;this.xref=e?.xref??null;this.rootDict=e?.dict??null;this.pageDict=t;this.nodes=[]}collectObjects(e){if(!(this.root&&this.rootDict&&e instanceof Ref))return null;const t=this.rootDict.get("ParentTree");if(!t)return null;const a=this.root.structParentIds?.get(e);if(!a)return null;const r=new Map,i=new NumberTree(t,this.xref);for(const[e]of a){const t=i.getRaw(e);t instanceof Ref&&r.set(e,t)}return r}parse(e){if(!(this.root&&this.rootDict&&e instanceof Ref))return;const{parentTree:t}=this.root;if(!t)return;const a=this.pageDict.get("StructParents"),r=this.root.structParentIds?.get(e);if(!Number.isInteger(a)&&!r)return;const i=new Map;if(Number.isInteger(a)){const e=t.get(a);if(Array.isArray(e))for(const t of e)t instanceof Ref&&this.addNode(this.xref.fetch(t),i)}if(r)for(const[e,a]of r){const r=t.get(e);if(r){const e=this.addNode(this.xref.fetchIfRef(r),i);1===e?.kids?.length&&e.kids[0].type===Pn&&(e.kids[0].type=a)}}}addNode(e,t,a=0){if(a>40){warn("StructTree MAX_DEPTH reached.");return null}if(!(e instanceof Dict))return null;if(t.has(e))return t.get(e);const r=new StructElementNode(this,e);t.set(e,r);switch(r.role){case"L":case"LBody":case"LI":case"Table":case"THead":case"TBody":case"TFoot":case"TR":for(const e of r.kids)e.type===Ln&&this.addNode(e.dict,t,a-1)}const i=e.get("P");if(!(i instanceof Dict)||isName(i.get("Type"),"StructTreeRoot")){this.addTopLevelNode(e,r)||t.delete(e);return r}const n=this.addNode(i,t,a+1);if(!n)return r;let s=!1;for(const t of n.kids)if(t.type===Ln&&t.dict===e){t.parentNode=r;s=!0}s||t.delete(e);return r}addTopLevelNode(e,t){const a=this.root.getKidPosition(e.objId);if(isNaN(a))return!1;-1!==a&&(this.nodes[a]=t);return!0}get serializable(){function nodeToSerializable(e,t,a=0){if(a>40){warn("StructTree too deep to be fully serialized.");return}const r=Object.create(null);r.role=e.role;r.children=[];t.children.push(r);let i=e.dict.get("Alt");"string"!=typeof i&&(i=e.dict.get("ActualText"));"string"==typeof i&&(r.alt=stringToPDFString(i));if("Formula"===r.role){const{mathML:t}=e;t&&(r.mathML=t)}const n=e.dict.get("A");if(n instanceof Dict){const e=lookupNormalRect(n.getArray("BBox"),null);if(e)r.bbox=e;else{const e=n.get("Width"),t=n.get("Height");"number"==typeof e&&e>0&&"number"==typeof t&&t>0&&(r.bbox=[0,0,e,t])}}const s=e.dict.get("Lang");"string"==typeof s&&(r.lang=stringToPDFString(s));for(const t of e.kids){const e=t.type===Ln?t.parentNode:null;e?nodeToSerializable(e,r,a+1):t.type===Bn||t.type===Nn?r.children.push({type:"content",id:`p${t.pageObjId}_mc${t.mcid}`}):t.type===Pn?r.children.push({type:"object",id:t.refObjId}):t.type===En&&r.children.push({type:"annotation",id:`pdfjs_internal_id_${t.refObjId}`})}}const e=Object.create(null);e.children=[];e.role="Root";for(const t of this.nodes)t&&nodeToSerializable(t,e);return e}}const _n=function _isValidExplicitDest(e,t,a){if(!Array.isArray(a)||a.length<2)return!1;const[r,i,...n]=a;if(!e(r)&&!Number.isInteger(r))return!1;if(!t(i))return!1;const s=n.length;let o=!0;switch(i.name){case"XYZ":if(s<2||s>3)return!1;break;case"Fit":case"FitB":return 0===s;case"FitH":case"FitBH":case"FitV":case"FitBV":if(s>1)return!1;break;case"FitR":if(4!==s)return!1;o=!1;break;default:return!1}for(const e of n)if(!("number"==typeof e||o&&null===e))return!1;return!0}.bind(null,e=>e instanceof Ref,isName);function fetchDest(e){e instanceof Dict&&(e=e.get("D"));return _n(e)?e:null}function fetchRemoteDest(e){let t=e.get("D");if(t){t instanceof Name&&(t=t.name);if("string"==typeof t)return stringToPDFString(t,!0);if(_n(t))return JSON.stringify(t)}return null}class Catalog{#Ae=null;#ke=null;builtInCMapCache=new Map;fontCache=new RefSetCache;globalColorSpaceCache=new GlobalColorSpaceCache;globalImageCache=new GlobalImageCache;nonBlendModesSet=new RefSet;pageDictCache=new RefSetCache;pageIndexCache=new RefSetCache;pageKidsCountCache=new RefSetCache;standardFontDataCache=new Map;systemFontCache=new Map;constructor(e,t){this.pdfManager=e;this.xref=t;this.#ke=t.getCatalogObj();if(!(this.#ke instanceof Dict))throw new FormatError("Catalog object is not a dictionary.");this.toplevelPagesDict}cloneDict(){return this.#ke.clone()}get version(){const e=this.#ke.get("Version");if(e instanceof Name){if(ua.test(e.name))return shadow(this,"version",e.name);warn(`Invalid PDF catalog version: ${e.name}`)}return shadow(this,"version",null)}get lang(){const e=this.#ke.get("Lang");return shadow(this,"lang",e&&"string"==typeof e?stringToPDFString(e):null)}get needsRendering(){const e=this.#ke.get("NeedsRendering");return shadow(this,"needsRendering","boolean"==typeof e&&e)}get collection(){let e=null;try{const t=this.#ke.get("Collection");t instanceof Dict&&t.size>0&&(e=t)}catch(e){if(e instanceof MissingDataException)throw e;info("Cannot fetch Collection entry; assuming no collection is present.")}return shadow(this,"collection",e)}get acroForm(){let e=null;try{const t=this.#ke.get("AcroForm");t instanceof Dict&&t.size>0&&(e=t)}catch(e){if(e instanceof MissingDataException)throw e;info("Cannot fetch AcroForm entry; assuming no forms are present.")}return shadow(this,"acroForm",e)}get acroFormRef(){const e=this.#ke.getRaw("AcroForm");return shadow(this,"acroFormRef",e instanceof Ref?e:null)}get metadata(){const e=this.#ke.getRaw("Metadata");if(!(e instanceof Ref))return shadow(this,"metadata",null);let t=null;try{const a=this.xref.fetch(e,!this.xref.encrypt?.encryptMetadata);if(a instanceof BaseStream&&a.dict instanceof Dict){const e=a.dict.get("Type"),r=a.dict.get("Subtype");if(isName(e,"Metadata")&&isName(r,"XML")){const e=stringToUTF8String(a.getString());e&&(t=new MetadataParser(e).serializable)}}}catch(e){if(e instanceof MissingDataException)throw e;info(`Skipping invalid Metadata: "${e}".`)}return shadow(this,"metadata",t)}get markInfo(){let e=null;try{e=this.#Ce()}catch(e){if(e instanceof MissingDataException)throw e;warn("Unable to read mark info.")}return shadow(this,"markInfo",e)}#Ce(){const e=this.#ke.get("MarkInfo");if(!(e instanceof Dict))return null;const t={Marked:!1,UserProperties:!1,Suspects:!1};for(const a in t){const r=e.get(a);"boolean"==typeof r&&(t[a]=r)}return t}get hasStructTree(){return this.#ke.has("StructTreeRoot")}get structTreeRoot(){let e=null;try{e=this.#ve()}catch(e){if(e instanceof MissingDataException)throw e;warn("Unable read to structTreeRoot info.")}return shadow(this,"structTreeRoot",e)}#ve(){const e=this.#ke.getRaw("StructTreeRoot"),t=this.xref.fetchIfRef(e);if(!(t instanceof Dict))return null;const a=new StructTreeRoot(this.xref,t,e);a.init();return a}get toplevelPagesDict(){const e=this.#ke.get("Pages");if(!(e instanceof Dict))throw new FormatError("Invalid top-level pages dictionary.");return shadow(this,"toplevelPagesDict",e)}get documentOutline(){let e=null;try{e=this.#Fe()}catch(e){if(e instanceof MissingDataException)throw e;warn("Unable to read document outline.")}return shadow(this,"documentOutline",e)}#Fe(){let e=this.#ke.get("Outlines");if(!(e instanceof Dict))return null;e=e.getRaw("First");if(!(e instanceof Ref))return null;const t={items:[]},a=[{obj:e,parent:t}],r=new RefSet;r.put(e);const i=this.xref,n=new Uint8ClampedArray(3);for(;a.length>0;){const t=a.shift(),s=i.fetchIfRef(t.obj);if(null===s)continue;s.has("Title")||warn("Invalid outline item encountered.");const o={url:null,dest:null,action:null};Catalog.parseDestDictionary({destDict:s,resultObj:o,docBaseUrl:this.baseUrl,docAttachments:this.attachments});const c=s.get("Title"),l=s.get("F")||0,h=s.getArray("C"),u=s.get("Count");let d=n;!isNumberArray(h,3)||0===h[0]&&0===h[1]&&0===h[2]||(d=ColorSpaceUtils.rgb.getRgb(h,0));const f={action:o.action,attachment:o.attachment,dest:o.dest,url:o.url,unsafeUrl:o.unsafeUrl,newWindow:o.newWindow,setOCGState:o.setOCGState,title:"string"==typeof c?stringToPDFString(c):"",color:d,count:Number.isInteger(u)?u:void 0,bold:!!(2&l),italic:!!(1&l),items:[]};t.parent.items.push(f);e=s.getRaw("First");if(e instanceof Ref&&!r.has(e)){a.push({obj:e,parent:f});r.put(e)}e=s.getRaw("Next");if(e instanceof Ref&&!r.has(e)){a.push({obj:e,parent:t.parent});r.put(e)}}return t.items.length>0?t.items:null}get permissions(){let e=null;try{e=this.#Ie()}catch(e){if(e instanceof MissingDataException)throw e;warn("Unable to read permissions.")}return shadow(this,"permissions",e)}#Ie(){const e=this.xref.trailer.get("Encrypt");if(!(e instanceof Dict))return null;let t=e.get("P");if("number"!=typeof t)return null;t+=2**32;const a=[];for(const e in w){const r=w[e];t&r&&a.push(r)}return a}get optionalContentConfig(){let e=null;try{const t=this.#ke.get("OCProperties");if(!t)return shadow(this,"optionalContentConfig",null);const a=t.get("D");if(!a)return shadow(this,"optionalContentConfig",null);const r=t.get("OCGs");if(!Array.isArray(r))return shadow(this,"optionalContentConfig",null);const i=new RefSetCache;for(const e of r)e instanceof Ref&&!i.has(e)&&i.put(e,this.#Te(e));e=this.#Oe(a,i)}catch(e){if(e instanceof MissingDataException)throw e;warn(`Unable to read optional content config: ${e}`)}return shadow(this,"optionalContentConfig",e)}#Te(e){const t=this.xref.fetch(e),a={id:e.toString(),name:null,intent:null,usage:{print:null,view:null},rbGroups:[]},r=t.get("Name");"string"==typeof r&&(a.name=stringToPDFString(r));let i=t.getArray("Intent");Array.isArray(i)||(i=[i]);i.every(e=>e instanceof Name)&&(a.intent=i.map(e=>e.name));const n=t.get("Usage");if(!(n instanceof Dict))return a;const s=a.usage,o=n.get("Print");if(o instanceof Dict){const e=o.get("PrintState");if(e instanceof Name)switch(e.name){case"ON":case"OFF":s.print={printState:e.name}}}const c=n.get("View");if(c instanceof Dict){const e=c.get("ViewState");if(e instanceof Name)switch(e.name){case"ON":case"OFF":s.view={viewState:e.name}}}return a}#Oe(e,t){function parseOnOff(e){const a=[];if(Array.isArray(e))for(const r of e)r instanceof Ref&&t.has(r)&&a.push(r.toString());return a}function parseOrder(e,a=0){if(!Array.isArray(e))return null;const i=[];for(const n of e){if(n instanceof Ref&&t.has(n)){r.put(n);i.push(n.toString());continue}const e=parseNestedOrder(n,a);e&&i.push(e)}if(a>0)return i;const n=[];for(const[e]of t.items())r.has(e)||n.push(e.toString());n.length&&i.push({name:null,order:n});return i}function parseNestedOrder(e,t){if(++t>i){warn("parseNestedOrder - reached MAX_NESTED_LEVELS.");return null}const r=a.fetchIfRef(e);if(!Array.isArray(r))return null;const n=a.fetchIfRef(r[0]);if("string"!=typeof n)return null;const s=parseOrder(r.slice(1),t);return s?.length?{name:stringToPDFString(n),order:s}:null}const a=this.xref,r=new RefSet,i=10;!function parseRBGroups(e){if(Array.isArray(e))for(const r of e){const e=a.fetchIfRef(r);if(!Array.isArray(e)||!e.length)continue;const i=new Set;for(const a of e)if(a instanceof Ref&&t.has(a)&&!i.has(a.toString())){i.add(a.toString());t.get(a).rbGroups.push(i)}}}(e.get("RBGroups"));return{name:"string"==typeof e.get("Name")?stringToPDFString(e.get("Name")):null,creator:"string"==typeof e.get("Creator")?stringToPDFString(e.get("Creator")):null,baseState:e.get("BaseState")instanceof Name?e.get("BaseState").name:null,on:parseOnOff(e.get("ON")),off:parseOnOff(e.get("OFF")),order:parseOrder(e.get("Order")),groups:[...t]}}setActualNumPages(e=null){this.#Ae=e}get hasActualNumPages(){return null!==this.#Ae}get _pagesCount(){const e=this.toplevelPagesDict.get("Count");if(!Number.isInteger(e))throw new FormatError("Page count in top-level pages dictionary is not an integer.");return shadow(this,"_pagesCount",e)}get numPages(){return this.#Ae??this._pagesCount}get destinations(){const e=this.#De(),t=Object.create(null);for(const a of e)if(a instanceof NameTree)for(const[e,r]of a.getAll()){const a=fetchDest(r);a&&(t[stringToPDFString(e,!0)]=a)}else if(a instanceof Dict)for(const[e,r]of a){const a=fetchDest(r);a&&(t[stringToPDFString(e,!0)]||=a)}return shadow(this,"destinations",t)}getDestination(e){if(this.hasOwnProperty("destinations"))return this.destinations[e]??null;const t=this.#De();for(const a of t)if(a instanceof NameTree||a instanceof Dict){const t=fetchDest(a.get(e));if(t)return t}if(t.length){const t=this.destinations[e];if(t)return t}return null}#De(){const e=this.#ke.get("Names"),t=[];e?.has("Dests")&&t.push(new NameTree(e.getRaw("Dests"),this.xref));this.#ke.has("Dests")&&t.push(this.#ke.get("Dests"));return t}get rawPageLabels(){const e=this.#ke.getRaw("PageLabels");if(!e)return null;return new NumberTree(e,this.xref).getAll()}get pageLabels(){let e=null;try{e=this.#Me()}catch(e){if(e instanceof MissingDataException)throw e;warn("Unable to read page labels.")}return shadow(this,"pageLabels",e)}#Me(){const e=this.rawPageLabels;if(!e)return null;const t=new Array(this.numPages);let a=null,r="",i="",n=1;for(let s=0,o=this.numPages;s=1))throw new FormatError("Invalid start in PageLabel dictionary.");n=e}else n=1}switch(a){case"D":i=n;break;case"R":case"r":i=toRomanNumerals(n,"r"===a);break;case"A":case"a":const e=26,t="a"===a?97:65,r=n-1;i=String.fromCharCode(t+r%e).repeat(Math.floor(r/e)+1);break;default:if(a)throw new FormatError(`Invalid style "${a}" in PageLabel dictionary.`);i=""}t[s]=r+i;n++}return t}get pageLayout(){const e=this.#ke.get("PageLayout");let t="";if(e instanceof Name)switch(e.name){case"SinglePage":case"OneColumn":case"TwoColumnLeft":case"TwoColumnRight":case"TwoPageLeft":case"TwoPageRight":t=e.name}return shadow(this,"pageLayout",t)}get pageMode(){const e=this.#ke.get("PageMode");let t="UseNone";if(e instanceof Name)switch(e.name){case"UseNone":case"UseOutlines":case"UseThumbs":case"FullScreen":case"UseOC":case"UseAttachments":t=e.name}return shadow(this,"pageMode",t)}get viewerPreferences(){const e=this.#ke.get("ViewerPreferences");if(!(e instanceof Dict))return shadow(this,"viewerPreferences",null);let t=null;for(const[a,r]of e){let e;switch(a){case"HideToolbar":case"HideMenubar":case"HideWindowUI":case"FitWindow":case"CenterWindow":case"DisplayDocTitle":case"PickTrayByPDFSize":"boolean"==typeof r&&(e=r);break;case"NonFullScreenPageMode":if(r instanceof Name)switch(r.name){case"UseNone":case"UseOutlines":case"UseThumbs":case"UseOC":e=r.name;break;default:e="UseNone"}break;case"Direction":if(r instanceof Name)switch(r.name){case"L2R":case"R2L":e=r.name;break;default:e="L2R"}break;case"ViewArea":case"ViewClip":case"PrintArea":case"PrintClip":if(r instanceof Name)switch(r.name){case"MediaBox":case"CropBox":case"BleedBox":case"TrimBox":case"ArtBox":e=r.name;break;default:e="CropBox"}break;case"PrintScaling":if(r instanceof Name)switch(r.name){case"None":case"AppDefault":e=r.name;break;default:e="AppDefault"}break;case"Duplex":if(r instanceof Name)switch(r.name){case"Simplex":case"DuplexFlipShortEdge":case"DuplexFlipLongEdge":e=r.name;break;default:e="None"}break;case"PrintPageRange":if(Array.isArray(r)&&r.length%2==0){r.every((e,t,a)=>Number.isInteger(e)&&e>0&&(0===t||e>=a[t-1])&&e<=this.numPages)&&(e=r)}break;case"NumCopies":Number.isInteger(r)&&r>0&&(e=r);break;default:warn(`Ignoring non-standard key in ViewerPreferences: ${a}.`);continue}if(void 0!==e){t??=Object.create(null);t[a]=e}else warn(`Bad value, for key "${a}", in ViewerPreferences: ${r}.`)}return shadow(this,"viewerPreferences",t)}get openAction(){const e=this.#ke.get("OpenAction"),t=Object.create(null);if(e instanceof Dict){const a=new Dict(this.xref);a.set("A",e);const r={url:null,dest:null,action:null};Catalog.parseDestDictionary({destDict:a,resultObj:r});Array.isArray(r.dest)?t.dest=r.dest:r.action&&(t.action=r.action)}else _n(e)&&(t.dest=e);return shadow(this,"openAction",objectSize(t)>0?t:null)}get attachments(){const e=this.#ke.get("Names");let t=null;if(e instanceof Dict&&e.has("EmbeddedFiles")){const a=new NameTree(e.getRaw("EmbeddedFiles"),this.xref);for(const[e,r]of a.getAll()){const a=new FileSpec(r);t??=Object.create(null);t[stringToPDFString(e,!0)]=a.serializable}}return shadow(this,"attachments",t)}get xfaImages(){const e=this.#ke.get("Names");let t=null;if(e instanceof Dict&&e.has("XFAImages")){const a=new NameTree(e.getRaw("XFAImages"),this.xref);for(const[e,r]of a.getAll())if(r instanceof BaseStream){t??=new Map;t.set(stringToPDFString(e,!0),r.getBytes())}}return shadow(this,"xfaImages",t)}#Re(){const e=this.#ke.get("Names");let t=null;function appendIfJavaScriptDict(e,a){if(!(a instanceof Dict))return;if(!isName(a.get("S"),"JavaScript"))return;let r=a.get("JS");if(r instanceof BaseStream)r=r.getString();else if("string"!=typeof r)return;r=stringToPDFString(r,!0).replaceAll("\0","");r&&(t||=new Map).set(e,r)}if(e instanceof Dict&&e.has("JavaScript")){const t=new NameTree(e.getRaw("JavaScript"),this.xref);for(const[e,a]of t.getAll())appendIfJavaScriptDict(stringToPDFString(e,!0),a)}const a=this.#ke.get("OpenAction");a&&appendIfJavaScriptDict("OpenAction",a);return t}get jsActions(){const e=this.#Re();let t=collectActions(this.xref,this.#ke,ne);if(e){t||=Object.create(null);for(const[a,r]of e)a in t?t[a].push(r):t[a]=[r]}return shadow(this,"jsActions",t)}async cleanup(e=!1){clearGlobalCaches();this.globalColorSpaceCache.clear();this.globalImageCache.clear(e);this.pageKidsCountCache.clear();this.pageIndexCache.clear();this.pageDictCache.clear();this.nonBlendModesSet.clear();for(const{dict:e}of await Promise.all(this.fontCache))delete e.cacheKey;this.fontCache.clear();this.builtInCMapCache.clear();this.standardFontDataCache.clear();this.systemFontCache.clear()}async getPageDict(e){const t=[this.toplevelPagesDict],a=new RefSet,r=this.#ke.getRaw("Pages");r instanceof Ref&&a.put(r);const i=this.xref,n=this.pageKidsCountCache,s=this.pageIndexCache,o=this.pageDictCache;let c=0;for(;t.length;){const r=t.pop();if(r instanceof Ref){const l=n.get(r);if(l>=0&&c+l<=e){c+=l;continue}if(a.has(r))throw new FormatError("Pages tree contains circular reference.");a.put(r);const h=await(o.get(r)||i.fetchAsync(r));if(h instanceof Dict){let t=h.getRaw("Type");t instanceof Ref&&(t=await i.fetchAsync(t));if(isName(t,"Page")||!h.has("Kids")){n.has(r)||n.put(r,1);s.has(r)||s.put(r,c);if(c===e)return[h,r];c++;continue}}t.push(h);continue}if(!(r instanceof Dict))throw new FormatError("Page dictionary kid reference points to wrong type of object.");const{objId:l}=r;let h=r.getRaw("Count");h instanceof Ref&&(h=await i.fetchAsync(h));if(Number.isInteger(h)&&h>=0){l&&!n.has(l)&&n.put(l,h);if(c+h<=e){c+=h;continue}}let u=r.getRaw("Kids");u instanceof Ref&&(u=await i.fetchAsync(u));if(!Array.isArray(u)){let t=r.getRaw("Type");t instanceof Ref&&(t=await i.fetchAsync(t));if(isName(t,"Page")||!r.has("Kids")){if(c===e)return[r,null];c++;continue}throw new FormatError("Page dictionary kids object is not an array.")}for(let e=u.length-1;e>=0;e--){const a=u[e];t.push(a);r===this.toplevelPagesDict&&a instanceof Ref&&!o.has(a)&&o.put(a,i.fetchAsync(a))}}throw new Error(`Page index ${e} not found.`)}async getAllPageDicts(e=!1){const{ignoreErrors:t}=this.pdfManager.evaluatorOptions,a=[{currentNode:this.toplevelPagesDict,posInKids:0}],r=new RefSet,i=this.#ke.getRaw("Pages");i instanceof Ref&&r.put(i);const n=new Map,s=this.xref,o=this.pageIndexCache;let c=0;function addPageDict(e,t){t&&!o.has(t)&&o.put(t,c);n.set(c++,[e,t])}function addPageError(a){if(a instanceof XRefEntryException&&!e)throw a;if(e&&t&&0===c){warn(`getAllPageDicts - Skipping invalid first page: "${a}".`);a=Dict.empty}n.set(c++,[a,null])}for(;a.length>0;){const e=a.at(-1),{currentNode:t,posInKids:i}=e;let n=t.getRaw("Kids");if(n instanceof Ref)try{n=await s.fetchAsync(n)}catch(e){addPageError(e);break}if(!Array.isArray(n)){addPageError(new FormatError("Page dictionary kids object is not an array."));break}if(i>=n.length){a.pop();continue}const o=n[i];let c;if(o instanceof Ref){if(r.has(o)){addPageError(new FormatError("Pages tree contains circular reference."));break}r.put(o);try{c=await s.fetchAsync(o)}catch(e){addPageError(e);break}}else c=o;if(!(c instanceof Dict)){addPageError(new FormatError("Page dictionary kid reference points to wrong type of object."));break}let l=c.getRaw("Type");if(l instanceof Ref)try{l=await s.fetchAsync(l)}catch(e){addPageError(e);break}isName(l,"Page")||!c.has("Kids")?addPageDict(c,o instanceof Ref?o:null):a.push({currentNode:c,posInKids:0});e.posInKids++}return n}getPageIndex(e){const t=this.pageIndexCache.get(e);if(void 0!==t)return Promise.resolve(t);const a=this.xref;let r=0;const next=t=>function pagesBeforeRef(t){let r,i=0;return a.fetchAsync(t).then(function(a){if(isRefsEqual(t,e)&&!isDict(a,"Page")&&!(a instanceof Dict&&!a.has("Type")&&a.has("Contents")))throw new FormatError("The reference does not point to a /Page dictionary.");if(!a)return null;if(!(a instanceof Dict))throw new FormatError("Node must be a dictionary.");r=a.getRaw("Parent");return a.getAsync("Parent")}).then(function(e){if(!e)return null;if(!(e instanceof Dict))throw new FormatError("Parent must be a dictionary.");return e.getAsync("Kids")}).then(function(e){if(!e)return null;const n=[];let s=!1;for(const r of e){if(!(r instanceof Ref))throw new FormatError("Kid must be a reference.");if(isRefsEqual(r,t)){s=!0;break}n.push(a.fetchAsync(r).then(function(e){if(!(e instanceof Dict))throw new FormatError("Kid node must be a dictionary.");e.has("Count")?i+=e.get("Count"):i++}))}if(!s)throw new FormatError("Kid reference not found in parent's kids.");return Promise.all(n).then(()=>[i,r])})}(t).then(t=>{if(!t){this.pageIndexCache.put(e,r);return r}const[a,i]=t;r+=a;return next(i)});return next(e)}get baseUrl(){const e=this.#ke.get("URI");if(e instanceof Dict){const t=e.get("Base");if("string"==typeof t){const e=createValidAbsoluteUrl(t,null,{tryConvertEncoding:!0});if(e)return shadow(this,"baseUrl",e.href)}}return shadow(this,"baseUrl",this.pdfManager.docBaseUrl)}static parseDestDictionary({destDict:e,resultObj:t,docBaseUrl:a=null,docAttachments:r=null}){if(!(e instanceof Dict)){warn("parseDestDictionary: `destDict` must be a dictionary.");return}let i,n,s=e.get("A");if(!(s instanceof Dict))if(e.has("Dest"))s=e.get("Dest");else{s=e.get("AA");s instanceof Dict&&(s.has("D")?s=s.get("D"):s.has("U")&&(s=s.get("U")))}if(s instanceof Dict){const e=s.get("S");if(!(e instanceof Name)){warn("parseDestDictionary: Invalid type in Action dictionary.");return}const a=e.name;switch(a){case"ResetForm":const e=s.get("Flags"),o=!(1&("number"==typeof e?e:0)),c=[],l=[];for(const e of s.get("Fields")||[])e instanceof Ref?l.push(e.toString()):"string"==typeof e&&c.push(stringToPDFString(e));t.resetForm={fields:c,refs:l,include:o};break;case"URI":i=s.get("URI");i instanceof Name&&(i="/"+i.name);break;case"GoTo":n=s.get("D");break;case"Launch":case"GoToR":const h=s.get("F");if(h instanceof Dict){const e=new FileSpec(h,!0);({rawFilename:i}=e.serializable)}else{if("string"!=typeof h)break;i=h}const u=fetchRemoteDest(s);u&&(i=i.split("#",1)[0]+"#"+u);const d=s.get("NewWindow");"boolean"==typeof d&&(t.newWindow=d);break;case"GoToE":const f=s.get("T");let g;if(r&&f instanceof Dict){const e=f.get("R"),t=f.get("N");isName(e,"C")&&"string"==typeof t&&(g=r[stringToPDFString(t,!0)])}if(g){t.attachment=g;const e=fetchRemoteDest(s);e&&(t.attachmentDest=e)}else warn('parseDestDictionary - unimplemented "GoToE" action.');break;case"Named":const p=s.get("N");p instanceof Name&&(t.action=p.name);break;case"SetOCGState":const m=s.get("State"),b=s.get("PreserveRB");if(!Array.isArray(m)||0===m.length)break;const y=[];for(const e of m)if(e instanceof Name)switch(e.name){case"ON":case"OFF":case"Toggle":y.push(e.name)}else e instanceof Ref&&y.push(e.toString());if(y.length!==m.length)break;t.setOCGState={state:y,preserveRB:"boolean"!=typeof b||b};break;case"JavaScript":const w=s.get("JS");let S;w instanceof BaseStream?S=w.getString():"string"==typeof w&&(S=w);const x=S&&recoverJsURL(stringToPDFString(S,!0));if(x){i=x.url;t.newWindow=x.newWindow;break}default:if("JavaScript"===a||"SubmitForm"===a)break;warn(`parseDestDictionary - unsupported action: "${a}".`)}}else e.has("Dest")&&(n=e.get("Dest"));if("string"==typeof i){const e=createValidAbsoluteUrl(i,a,{addDefaultProtocol:!0,tryConvertEncoding:!0});e&&(t.url=e.href);t.unsafeUrl=i}if(n){n instanceof Name&&(n=n.name);"string"==typeof n?t.dest=stringToPDFString(n,!0):_n(n)&&(t.dest=n)}}}function mayHaveChildren(e){return e instanceof Ref||e instanceof Dict||e instanceof BaseStream||Array.isArray(e)}function addChildren(e,t){if(e instanceof Dict)e=e.getRawValues();else if(e instanceof BaseStream)e=e.dict.getRawValues();else if(!Array.isArray(e))return;for(const a of e)mayHaveChildren(a)&&t.push(a)}class ObjectLoader{refSet=new RefSet;constructor(e,t,a){this.dict=e;this.keys=t;this.xref=a}async load(){const{keys:e,dict:t}=this,a=[];for(const r of e){const e=t.getRaw(r);void 0!==e&&a.push(e)}await this.#Be(a);this.refSet=null}async#Be(e){const t=[],a=[];for(;e.length;){let r=e.pop();if(r instanceof Ref){if(this.refSet.has(r))continue;try{this.refSet.put(r);r=this.xref.fetch(r)}catch(e){if(!(e instanceof MissingDataException)){warn(`ObjectLoader.#walk - requesting all data: "${e}".`);await this.xref.stream.manager.requestAllChunks();return}t.push(r);a.push({begin:e.begin,end:e.end})}}if(r instanceof BaseStream){const e=r.getBaseStreams();if(e){let i=!1;for(const t of e)if(!t.isDataLoaded){i=!0;a.push({begin:t.start,end:t.end})}i&&t.push(r)}}addChildren(r,e)}if(a.length){await this.xref.stream.manager.requestRanges(a);for(const e of t)e instanceof Ref&&this.refSet.remove(e);await this.#Be(t)}}static async load(e,t,a){if(a.stream.isDataLoaded)return;const r=new ObjectLoader(e,t,a);await r.load()}}const Un=Symbol(),jn=Symbol(),Xn=Symbol(),qn=Symbol(),Hn=Symbol(),Wn=Symbol(),Gn=Symbol(),$n=Symbol(),zn=Symbol(),Vn=Symbol("content"),Kn=Symbol("data"),Jn=Symbol(),Yn=Symbol("extra"),Zn=Symbol(),Qn=Symbol(),es=Symbol(),ts=Symbol(),as=Symbol(),rs=Symbol(),is=Symbol(),ns=Symbol(),ss=Symbol(),os=Symbol(),cs=Symbol(),ls=Symbol(),hs=Symbol(),us=Symbol(),ds=Symbol(),fs=Symbol(),gs=Symbol(),ps=Symbol(),ms=Symbol(),bs=Symbol(),ys=Symbol(),ws=Symbol(),Ss=Symbol(),xs=Symbol(),As=Symbol(),ks=Symbol(),Cs=Symbol(),vs=Symbol(),Fs=Symbol(),Is=Symbol(),Ts=Symbol(),Os=Symbol(),Ds=Symbol("namespaceId"),Ms=Symbol("nodeName"),Rs=Symbol(),Bs=Symbol(),Ns=Symbol(),Es=Symbol(),Ls=Symbol(),_s=Symbol(),Us=Symbol(),js=Symbol(),Xs=Symbol("root"),qs=Symbol(),Hs=Symbol(),Ws=Symbol(),Gs=Symbol(),$s=Symbol(),zs=Symbol(),Vs=Symbol(),Ks=Symbol(),Js=Symbol(),Ys=Symbol(),Zs=Symbol(),Qs=Symbol("uid"),eo=Symbol(),to={config:{id:0,check:e=>e.startsWith("http://www.xfa.org/schema/xci/")},connectionSet:{id:1,check:e=>e.startsWith("http://www.xfa.org/schema/xfa-connection-set/")},datasets:{id:2,check:e=>e.startsWith("http://www.xfa.org/schema/xfa-data/")},form:{id:3,check:e=>e.startsWith("http://www.xfa.org/schema/xfa-form/")},localeSet:{id:4,check:e=>e.startsWith("http://www.xfa.org/schema/xfa-locale-set/")},pdf:{id:5,check:e=>"http://ns.adobe.com/xdp/pdf/"===e},signature:{id:6,check:e=>"http://www.w3.org/2000/09/xmldsig#"===e},sourceSet:{id:7,check:e=>e.startsWith("http://www.xfa.org/schema/xfa-source-set/")},stylesheet:{id:8,check:e=>"http://www.w3.org/1999/XSL/Transform"===e},template:{id:9,check:e=>e.startsWith("http://www.xfa.org/schema/xfa-template/")},xdc:{id:10,check:e=>e.startsWith("http://www.xfa.org/schema/xdc/")},xdp:{id:11,check:e=>"http://ns.adobe.com/xdp/"===e},xfdf:{id:12,check:e=>"http://ns.adobe.com/xfdf/"===e},xhtml:{id:13,check:e=>"http://www.w3.org/1999/xhtml"===e},xmpmeta:{id:14,check:e=>"http://ns.adobe.com/xmpmeta/"===e}},ao={pt:e=>e,cm:e=>e/2.54*72,mm:e=>e/25.4*72,in:e=>72*e,px:e=>e},ro=/([+-]?\d+\.?\d*)(.*)/;function stripQuotes(e){return e.startsWith("'")||e.startsWith('"')?e.slice(1,-1):e}function getInteger({data:e,defaultValue:t,validate:a}){if(!e)return t;e=e.trim();const r=parseInt(e,10);return!isNaN(r)&&a(r)?r:t}function getFloat({data:e,defaultValue:t,validate:a}){if(!e)return t;e=e.trim();const r=parseFloat(e);return!isNaN(r)&&a(r)?r:t}function getKeyword({data:e,defaultValue:t,validate:a}){return e&&a(e=e.trim())?e:t}function getStringOption(e,t){return getKeyword({data:e,defaultValue:t[0],validate:e=>t.includes(e)})}function getMeasurement(e,t="0"){t||="0";if(!e)return getMeasurement(t);const a=e.trim().match(ro);if(!a)return getMeasurement(t);const[,r,i]=a,n=parseFloat(r);if(isNaN(n))return getMeasurement(t);if(0===n)return 0;const s=ao[i];return s?s(n):n}function getRatio(e){if(!e)return{num:1,den:1};const t=e.split(":",2).map(e=>parseFloat(e.trim())).filter(e=>!isNaN(e));1===t.length&&t.push(1);if(0===t.length)return{num:1,den:1};const[a,r]=t;return{num:a,den:r}}function getRelevant(e){return e?e.trim().split(/\s+/).map(e=>({excluded:"-"===e[0],viewname:e.substring(1)})):[]}class HTMLResult{static get FAILURE(){return shadow(this,"FAILURE",new HTMLResult(!1,null,null,null))}static get EMPTY(){return shadow(this,"EMPTY",new HTMLResult(!0,null,null,null))}constructor(e,t,a,r){this.success=e;this.html=t;this.bbox=a;this.breakNode=r}isBreak(){return!!this.breakNode}static breakNode(e){return new HTMLResult(!1,null,null,e)}static success(e,t=null){return new HTMLResult(!0,e,t,null)}}class FontFinder{constructor(e){this.fonts=new Map;this.cache=new Map;this.warned=new Set;this.defaultFont=null;this.add(e)}add(e,t=null){for(const t of e)this.addPdfFont(t);for(const e of this.fonts.values())e.regular||(e.regular=e.italic||e.bold||e.bolditalic);if(!t||0===t.size)return;const a=this.fonts.get("PdfJS-Fallback-PdfJS-XFA");for(const e of t)this.fonts.set(e,a)}addPdfFont(e){const t=e.cssFontInfo,a=t.fontFamily;let r=this.fonts.get(a);if(!r){r=Object.create(null);this.fonts.set(a,r);this.defaultFont||(this.defaultFont=r)}let i="";const n=parseFloat(t.fontWeight);0!==parseFloat(t.italicAngle)?i=n>=700?"bolditalic":"italic":n>=700&&(i="bold");if(!i){(e.name.includes("Bold")||e.psName?.includes("Bold"))&&(i="bold");(e.name.includes("Italic")||e.name.endsWith("It")||e.psName?.includes("Italic")||e.psName?.endsWith("It"))&&(i+="italic")}i||(i="regular");r[i]=e}getDefault(){return this.defaultFont}find(e,t=!0){let a=this.fonts.get(e)||this.cache.get(e);if(a)return a;const r=/,|-|_| |bolditalic|bold|italic|regular|it/gi;let i=e.replaceAll(r,"");a=this.fonts.get(i);if(a){this.cache.set(e,a);return a}i=i.toLowerCase();const n=[];for(const[e,t]of this.fonts.entries())e.replaceAll(r,"").toLowerCase().startsWith(i)&&n.push(t);if(0===n.length)for(const[,e]of this.fonts.entries())e.regular.name?.replaceAll(r,"").toLowerCase().startsWith(i)&&n.push(e);if(0===n.length){i=i.replaceAll(/psmt|mt/gi,"");for(const[e,t]of this.fonts.entries())e.replaceAll(r,"").toLowerCase().startsWith(i)&&n.push(t)}if(0===n.length)for(const e of this.fonts.values())e.regular.name?.replaceAll(r,"").toLowerCase().startsWith(i)&&n.push(e);if(n.length>=1){1!==n.length&&t&&warn(`XFA - Too many choices to guess the correct font: ${e}`);this.cache.set(e,n[0]);return n[0]}if(t&&!this.warned.has(e)){this.warned.add(e);warn(`XFA - Cannot find the font: ${e}`)}return null}}function selectFont(e,t){return"italic"===e.posture?"bold"===e.weight?t.bolditalic:t.italic:"bold"===e.weight?t.bold:t.regular}class text_FontInfo{constructor(e,t,a,r){this.lineHeight=a;this.paraMargin=t||{top:0,bottom:0,left:0,right:0};if(!e){[this.pdfFont,this.xfaFont]=this.defaultFont(r);return}this.xfaFont={typeface:e.typeface,posture:e.posture,weight:e.weight,size:e.size,letterSpacing:e.letterSpacing};const i=r.find(e.typeface);if(i){this.pdfFont=selectFont(e,i);this.pdfFont||([this.pdfFont,this.xfaFont]=this.defaultFont(r))}else[this.pdfFont,this.xfaFont]=this.defaultFont(r)}defaultFont(e){const t=e.find("Helvetica",!1)||e.find("Myriad Pro",!1)||e.find("Arial",!1)||e.getDefault();if(t?.regular){const e=t.regular;return[e,{typeface:e.cssFontInfo.fontFamily,posture:"normal",weight:"normal",size:10,letterSpacing:0}]}return[null,{typeface:"Courier",posture:"normal",weight:"normal",size:10,letterSpacing:0}]}}class FontSelector{constructor(e,t,a,r){this.fontFinder=r;this.stack=[new text_FontInfo(e,t,a,r)]}pushData(e,t,a){const r=this.stack.at(-1);for(const t of["typeface","posture","weight","size","letterSpacing"])e[t]||(e[t]=r.xfaFont[t]);for(const e of["top","bottom","left","right"])isNaN(t[e])&&(t[e]=r.paraMargin[e]);const i=new text_FontInfo(e,t,a||r.lineHeight,this.fontFinder);i.pdfFont||(i.pdfFont=r.pdfFont);this.stack.push(i)}popFont(){this.stack.pop()}topFont(){return this.stack.at(-1)}}class TextMeasure{constructor(e,t,a,r){this.glyphs=[];this.fontSelector=new FontSelector(e,t,a,r);this.extraHeight=0}pushData(e,t,a){this.fontSelector.pushData(e,t,a)}popFont(e){return this.fontSelector.popFont()}addPara(){const e=this.fontSelector.topFont();this.extraHeight+=e.paraMargin.top+e.paraMargin.bottom}addString(e){if(!e)return;const t=this.fontSelector.topFont(),a=t.xfaFont.size;if(t.pdfFont){const r=t.xfaFont.letterSpacing,i=t.pdfFont,n=i.lineHeight||1.2,s=t.lineHeight||Math.max(1.2,n)*a,o=n-(void 0===i.lineGap?.2:i.lineGap),c=Math.max(1,o)*a,l=a/1e3,h=i.defaultWidth||i.charsToGlyphs(" ")[0].width;for(const t of e.split(/[\u2029\n]/)){const e=i.encodeString(t).join(""),a=i.charsToGlyphs(e);for(const e of a){const t=e.width||h;this.glyphs.push([t*l+r,s,c,e.unicode,!1])}this.glyphs.push([0,0,0,"\n",!0])}this.glyphs.pop();return}for(const t of e.split(/[\u2029\n]/)){for(const e of t.split(""))this.glyphs.push([a,1.2*a,a,e,!1]);this.glyphs.push([0,0,0,"\n",!0])}this.glyphs.pop()}compute(e){let t=-1,a=0,r=0,i=0,n=0,s=0,o=!1,c=!0;for(let l=0,h=this.glyphs.length;le){r=Math.max(r,n);n=0;i+=s;s=m;t=-1;a=0;o=!0;c=!1}else{s=Math.max(m,s);a=n;n+=h;t=l}else if(n+h>e){i+=s;s=m;if(-1!==t){l=t;r=Math.max(r,a);n=0;t=-1;a=0}else{r=Math.max(r,n);n=h}o=!0;c=!1}else{n+=h;s=Math.max(m,s)}}r=Math.max(r,n);i+=s+this.extraHeight;return{width:1.02*r,height:i,isBroken:o}}}const io=/^[^.[]+/,no=/^[^\]]+/,so=0,oo=1,co=2,lo=3,ho=4,uo=new Map([["$data",(e,t)=>e.datasets?e.datasets.data:e],["$record",(e,t)=>(e.datasets?e.datasets.data:e)[ls]()[0]],["$template",(e,t)=>e.template],["$connectionSet",(e,t)=>e.connectionSet],["$form",(e,t)=>e.form],["$layout",(e,t)=>e.layout],["$host",(e,t)=>e.host],["$dataWindow",(e,t)=>e.dataWindow],["$event",(e,t)=>e.event],["!",(e,t)=>e.datasets],["$xfa",(e,t)=>e],["xfa",(e,t)=>e],["$",(e,t)=>t]]),fo=new WeakMap;function parseIndex(e){return"*"===(e=e.trim())?1/0:parseInt(e,10)||0}function parseExpression(e,t,a=!0){let r=e.match(io);if(!r)return null;let[i]=r;const n=[{name:i,cacheName:"."+i,index:0,js:null,formCalc:null,operator:so}];let s=i.length;for(;s0&&h.push(e)}if(0===h.length&&!o&&0===c){const a=t[fs]();if(!(t=a))return null;c=-1;e=[t];continue}e=isFinite(l)?h.filter(e=>le[l]):h.flat()}return 0===e.length?null:e}function createDataNode(e,t,a){const r=parseExpression(a);if(!r)return null;if(r.some(e=>e.operator===oo))return null;const i=uo.get(r[0].name);let n=0;if(i){e=i(e,t);n=1}else e=t||e;for(let t=r.length;ne[Vs]()).join("")}get[mo](){const e=Object.getPrototypeOf(this);if(!e._attributes){const t=e._attributes=new Set;for(const e of Object.getOwnPropertyNames(this)){if(null===this[e]||this[e]instanceof XFAObject||this[e]instanceof XFAObjectArray)break;t.add(e)}}return shadow(this,mo,e._attributes)}[ks](e){let t=this;for(;t;){if(t===e)return!0;t=t[fs]()}return!1}[fs](){return this[Io]}[ds](){return this[fs]()}[ls](e=null){return e?this[e]:this[bo]}[Jn](){const e=Object.create(null);this[Vn]&&(e.$content=this[Vn]);for(const t of Object.getOwnPropertyNames(this)){const a=this[t];null!==a&&(a instanceof XFAObject?e[t]=a[Jn]():a instanceof XFAObjectArray?a.isEmpty()||(e[t]=a.dump()):e[t]=a)}return e}[Zs](){return null}[Js](){return HTMLResult.EMPTY}*[hs](){for(const e of this[ls]())yield e}*[xo](e,t){for(const a of this[hs]())if(!e||t===e.has(a[Ms])){const e=this[as](),t=a[Js](e);t.success||(this[Yn].failingNode=a);yield t}}[Qn](){return null}[jn](e,t){this[Yn].children.push(e)}[as](){}[qn]({filter:e=null,include:t=!0}){if(this[Yn].generator){const e=this[as](),t=this[Yn].failingNode[Js](e);if(!t.success)return t;t.html&&this[jn](t.html,t.bbox);delete this[Yn].failingNode}else this[Yn].generator=this[xo](e,t);for(;;){const e=this[Yn].generator.next();if(e.done)break;const t=e.value;if(!t.success)return t;t.html&&this[jn](t.html,t.bbox)}this[Yn].generator=null;return HTMLResult.EMPTY}[Gs](e){this[Do]=new Set(Object.keys(e))}[ko](e){const t=this[mo],a=this[Do];return[...e].filter(e=>t.has(e)&&!a.has(e))}[qs](e,t=new Set){for(const a of this[bo])a[Oo](e,t)}[Oo](e,t){const a=this[Ao](e,t);a?this[go](a,e,t):this[qs](e,t)}[Ao](e,t){const{use:a,usehref:r}=this;if(!a&&!r)return null;let i=null,n=null,s=null,o=a;if(r){o=r;r.startsWith("#som(")&&r.endsWith(")")?n=r.slice(5,-1):r.startsWith(".#som(")&&r.endsWith(")")?n=r.slice(6,-1):r.startsWith("#")?s=r.slice(1):r.startsWith(".#")&&(s=r.slice(2))}else a.startsWith("#")?s=a.slice(1):n=a;this.use=this.usehref="";if(s)i=e.get(s);else{i=searchNode(e.get(Xs),this,n,!0,!1);i&&(i=i[0])}if(!i){warn(`XFA - Invalid prototype reference: ${o}.`);return null}if(i[Ms]!==this[Ms]){warn(`XFA - Incompatible prototype: ${i[Ms]} !== ${this[Ms]}.`);return null}if(t.has(i)){warn("XFA - Cycle detected in prototypes use.");return null}t.add(i);const c=i[Ao](e,t);c&&i[go](c,e,t);i[qs](e,t);t.delete(i);return i}[go](e,t,a){if(a.has(e)){warn("XFA - Cycle detected in prototypes use.");return}!this[Vn]&&e[Vn]&&(this[Vn]=e[Vn]);new Set(a).add(e);for(const t of this[ko](e[Do])){this[t]=e[t];this[Do]&&this[Do].add(t)}for(const r of Object.getOwnPropertyNames(this)){if(this[mo].has(r))continue;const i=this[r],n=e[r];if(i instanceof XFAObjectArray){for(const e of i[bo])e[Oo](t,a);for(let r=i[bo].length,s=n[bo].length;rXFAObject[yo](e)):"object"==typeof e&&null!==e?Object.assign({},e):e}[$n](){const e=Object.create(Object.getPrototypeOf(this));for(const t of Object.getOwnPropertySymbols(this))try{e[t]=this[t]}catch{shadow(e,t,this[t])}e[Qs]=`${e[Ms]}${Ro++}`;e[bo]=[];for(const t of Object.getOwnPropertyNames(this)){if(this[mo].has(t)){e[t]=XFAObject[yo](this[t]);continue}const a=this[t];e[t]=a instanceof XFAObjectArray?new XFAObjectArray(a[vo]):null}for(const t of this[bo]){const a=t[Ms],r=t[$n]();e[bo].push(r);r[Io]=e;null===e[a]?e[a]=r:e[a][bo].push(r)}return e}[ls](e=null){return e?this[bo].filter(t=>t[Ms]===e):this[bo]}[rs](e){return this[e]}[is](e,t,a=!0){return Array.from(this[ns](e,t,a))}*[ns](e,t,a=!0){if("parent"!==e){for(const a of this[bo]){a[Ms]===e&&(yield a);a.name===e&&(yield a);(t||a[Is]())&&(yield*a[ns](e,t,!1))}a&&this[mo].has(e)&&(yield new XFAAttribute(this,e,this[e]))}else yield this[Io]}}class XFAObjectArray{constructor(e=1/0){this[vo]=e;this[bo]=[]}get isXFAObject(){return!1}get isXFAObjectArray(){return!0}push(e){if(this[bo].length<=this[vo]){this[bo].push(e);return!0}warn(`XFA - node "${e[Ms]}" accepts no more than ${this[vo]} children`);return!1}isEmpty(){return 0===this[bo].length}dump(){return 1===this[bo].length?this[bo][0][Jn]():this[bo].map(e=>e[Jn]())}[$n](){const e=new XFAObjectArray(this[vo]);e[bo]=this[bo].map(e=>e[$n]());return e}get children(){return this[bo]}clear(){this[bo].length=0}}class XFAAttribute{constructor(e,t,a){this[Io]=e;this[Ms]=t;this[Vn]=a;this[zn]=!1;this[Qs]="attribute"+Ro++}[fs](){return this[Io]}[As](){return!0}[ss](){return this[Vn].trim()}[$s](e){e=e.value||"";this[Vn]=e.toString()}[Vs](){return this[Vn]}[ks](e){return this[Io]===e||this[Io][ks](e)}}class XmlObject extends XFAObject{constructor(e,t,a={}){super(e,t);this[Vn]="";this[wo]=null;if("#text"!==t){const e=new Map;this[po]=e;for(const[t,r]of Object.entries(a))e.set(t,new XFAAttribute(this,t,r));if(a.hasOwnProperty(Rs)){const e=a[Rs].xfa.dataNode;void 0!==e&&("dataGroup"===e?this[wo]=!1:"dataValue"===e&&(this[wo]=!0))}}this[zn]=!1}[Ys](e){const t=this[Ms];if("#text"===t){e.push(encodeToXmlString(this[Vn]));return}const a=utf8StringToString(t),r=this[Ds]===Bo?"xfa:":"";e.push(`<${r}${a}`);for(const[t,a]of this[po].entries()){const r=utf8StringToString(t);e.push(` ${r}="${encodeToXmlString(a[Vn])}"`)}null!==this[wo]&&(this[wo]?e.push(' xfa:dataNode="dataValue"'):e.push(' xfa:dataNode="dataGroup"'));if(this[Vn]||0!==this[bo].length){e.push(">");if(this[Vn])"string"==typeof this[Vn]?e.push(encodeToXmlString(this[Vn])):this[Vn][Ys](e);else for(const t of this[bo])t[Ys](e);e.push(``)}else e.push("/>")}[Bs](e){if(this[Vn]){const e=new XmlObject(this[Ds],"#text");this[Xn](e);e[Vn]=this[Vn];this[Vn]=""}this[Xn](e);return!0}[Es](e){this[Vn]+=e}[Zn](){if(this[Vn]&&this[bo].length>0){const e=new XmlObject(this[Ds],"#text");this[Xn](e);e[Vn]=this[Vn];delete this[Vn]}}[Js](){return"#text"===this[Ms]?HTMLResult.success({name:"#text",value:this[Vn]}):HTMLResult.EMPTY}[ls](e=null){return e?this[bo].filter(t=>t[Ms]===e):this[bo]}[ts](){return this[po]}[rs](e){const t=this[po].get(e);return void 0!==t?t:this[ls](e)}*[ns](e,t){const a=this[po].get(e);a&&(yield a);for(const a of this[bo]){a[Ms]===e&&(yield a);t&&(yield*a[ns](e,t))}}*[es](e,t){const a=this[po].get(e);!a||t&&a[zn]||(yield a);for(const a of this[bo])yield*a[es](e,t)}*[cs](e,t,a){for(const r of this[bo]){r[Ms]!==e||a&&r[zn]||(yield r);t&&(yield*r[cs](e,t,a))}}[As](){return null===this[wo]?0===this[bo].length||this[bo][0][Ds]===to.xhtml.id:this[wo]}[ss](){return null===this[wo]?0===this[bo].length?this[Vn].trim():this[bo][0][Ds]===to.xhtml.id?this[bo][0][Vs]().trim():null:this[Vn].trim()}[$s](e){e=e.value||"";this[Vn]=e.toString()}[Jn](e=!1){const t=Object.create(null);e&&(t.$ns=this[Ds]);this[Vn]&&(t.$content=this[Vn]);t.$name=this[Ms];t.children=[];for(const a of this[bo])t.children.push(a[Jn](e));t.attributes=Object.create(null);for(const[e,a]of this[po])t.attributes[e]=a[Vn];return t}}class ContentObject extends XFAObject{constructor(e,t){super(e,t);this[Vn]=""}[Es](e){this[Vn]+=e}[Zn](){}}class OptionObject extends ContentObject{constructor(e,t,a){super(e,t);this[Fo]=a}[Zn](){this[Vn]=getKeyword({data:this[Vn],defaultValue:this[Fo][0],validate:e=>this[Fo].includes(e)})}[Hn](e){super[Hn](e);delete this[Fo]}}class StringObject extends ContentObject{[Zn](){this[Vn]=this[Vn].trim()}}class IntegerObject extends ContentObject{constructor(e,t,a,r){super(e,t);this[So]=a;this[Mo]=r}[Zn](){this[Vn]=getInteger({data:this[Vn],defaultValue:this[So],validate:this[Mo]})}[Hn](e){super[Hn](e);delete this[So];delete this[Mo]}}class Option01 extends IntegerObject{constructor(e,t){super(e,t,0,e=>1===e)}}class Option10 extends IntegerObject{constructor(e,t){super(e,t,1,e=>0===e)}}function measureToString(e){return"string"==typeof e?"0px":Number.isInteger(e)?`${e}px`:`${e.toFixed(2)}px`}const No={anchorType(e,t){const a=e[ds]();if(a&&(!a.layout||"position"===a.layout)){"transform"in t||(t.transform="");switch(e.anchorType){case"bottomCenter":t.transform+="translate(-50%, -100%)";break;case"bottomLeft":t.transform+="translate(0,-100%)";break;case"bottomRight":t.transform+="translate(-100%,-100%)";break;case"middleCenter":t.transform+="translate(-50%,-50%)";break;case"middleLeft":t.transform+="translate(0,-50%)";break;case"middleRight":t.transform+="translate(-100%,-50%)";break;case"topCenter":t.transform+="translate(-50%,0)";break;case"topRight":t.transform+="translate(-100%,0)"}}},dimensions(e,t){const a=e[ds]();let r=e.w;const i=e.h;if(a.layout?.includes("row")){const t=a[Yn],i=e.colSpan;let n;if(-1===i){n=Math.sumPrecise(t.columnWidths.slice(t.currentColumn));t.currentColumn=0}else{n=Math.sumPrecise(t.columnWidths.slice(t.currentColumn,t.currentColumn+i));t.currentColumn=(t.currentColumn+e.colSpan)%t.columnWidths.length}isNaN(n)||(r=e.w=n)}t.width=""!==r?measureToString(r):"auto";t.height=""!==i?measureToString(i):"auto"},position(e,t){const a=e[ds]();if(!a?.layout||"position"===a.layout){t.position="absolute";t.left=measureToString(e.x);t.top=measureToString(e.y)}},rotate(e,t){if(e.rotate){"transform"in t||(t.transform="");t.transform+=`rotate(-${e.rotate}deg)`;t.transformOrigin="top left"}},presence(e,t){switch(e.presence){case"invisible":t.visibility="hidden";break;case"hidden":case"inactive":t.display="none"}},hAlign(e,t){if("para"===e[Ms])switch(e.hAlign){case"justifyAll":t.textAlign="justify-all";break;case"radix":t.textAlign="left";break;default:t.textAlign=e.hAlign}else switch(e.hAlign){case"left":t.alignSelf="start";break;case"center":t.alignSelf="center";break;case"right":t.alignSelf="end"}},margin(e,t){e.margin&&(t.margin=e.margin[Zs]().margin)}};function setMinMaxDimensions(e,t){if("position"===e[ds]().layout){e.minW>0&&(t.minWidth=measureToString(e.minW));e.maxW>0&&(t.maxWidth=measureToString(e.maxW));e.minH>0&&(t.minHeight=measureToString(e.minH));e.maxH>0&&(t.maxHeight=measureToString(e.maxH))}}function layoutText(e,t,a,r,i,n){const s=new TextMeasure(t,a,r,i);"string"==typeof e?s.addString(e):e[Ls](s);return s.compute(n)}function layoutNode(e,t){let a=null,r=null,i=!1;if((!e.w||!e.h)&&e.value){let n=0,s=0;if(e.margin){n=e.margin.leftInset+e.margin.rightInset;s=e.margin.topInset+e.margin.bottomInset}let o=null,c=null;if(e.para){c=Object.create(null);o=""===e.para.lineHeight?null:e.para.lineHeight;c.top=""===e.para.spaceAbove?0:e.para.spaceAbove;c.bottom=""===e.para.spaceBelow?0:e.para.spaceBelow;c.left=""===e.para.marginLeft?0:e.para.marginLeft;c.right=""===e.para.marginRight?0:e.para.marginRight}let l=e.font;if(!l){const t=e[gs]();let a=e[fs]();for(;a&&a!==t;){if(a.font){l=a.font;break}a=a[fs]()}}const h=(e.w||t.width)-n,u=e[ps].fontFinder;if(e.value.exData&&e.value.exData[Vn]&&"text/html"===e.value.exData.contentType){const t=layoutText(e.value.exData[Vn],l,c,o,u,h);r=t.width;a=t.height;i=t.isBroken}else{const t=e.value[Vs]();if(t){const e=layoutText(t,l,c,o,u,h);r=e.width;a=e.height;i=e.isBroken}}null===r||e.w||(r+=n);null===a||e.h||(a+=s)}return{w:r,h:a,isBroken:i}}function computeBbox(e,t,a){let r;if(""!==e.w&&""!==e.h)r=[e.x,e.y,e.w,e.h];else{if(!a)return null;let i=e.w;if(""===i){if(0===e.maxW){const t=e[ds]();i="position"===t.layout&&""!==t.w?0:e.minW}else i=Math.min(e.maxW,a.width);t.attributes.style.width=measureToString(i)}let n=e.h;if(""===n){if(0===e.maxH){const t=e[ds]();n="position"===t.layout&&""!==t.h?0:e.minH}else n=Math.min(e.maxH,a.height);t.attributes.style.height=measureToString(n)}r=[e.x,e.y,i,n]}return r}function fixDimensions(e){const t=e[ds]();if(t.layout?.includes("row")){const a=t[Yn],r=e.colSpan;let i;i=-1===r?Math.sumPrecise(a.columnWidths.slice(a.currentColumn)):Math.sumPrecise(a.columnWidths.slice(a.currentColumn,a.currentColumn+r));isNaN(i)||(e.w=i)}t.layout&&"position"!==t.layout&&(e.x=e.y=0);"table"===e.layout&&""===e.w&&Array.isArray(e.columnWidths)&&(e.w=Math.sumPrecise(e.columnWidths))}function layoutClass(e){switch(e.layout){case"position":default:return"xfaPosition";case"lr-tb":return"xfaLrTb";case"rl-row":return"xfaRlRow";case"rl-tb":return"xfaRlTb";case"row":return"xfaRow";case"table":return"xfaTable";case"tb":return"xfaTb"}}function toStyle(e,...t){const a=Object.create(null);for(const r of t){const t=e[r];if(null!==t)if(No.hasOwnProperty(r))No[r](e,a);else if(t instanceof XFAObject){const e=t[Zs]();e?Object.assign(a,e):warn(`(DEBUG) - XFA - style for ${r} not implemented yet`)}}return a}function createWrapper(e,t){const{attributes:a}=t,{style:r}=a,i={name:"div",attributes:{class:["xfaWrapper"],style:Object.create(null)},children:[]};a.class.push("xfaWrapped");if(e.border){const{widths:a,insets:n}=e.border[Yn];let s,o,c=n[0],l=n[3];const h=n[0]+n[2],u=n[1]+n[3];switch(e.border.hand){case"even":c-=a[0]/2;l-=a[3]/2;s=`calc(100% + ${(a[1]+a[3])/2-u}px)`;o=`calc(100% + ${(a[0]+a[2])/2-h}px)`;break;case"left":c-=a[0];l-=a[3];s=`calc(100% + ${a[1]+a[3]-u}px)`;o=`calc(100% + ${a[0]+a[2]-h}px)`;break;case"right":s=u?`calc(100% - ${u}px)`:"100%";o=h?`calc(100% - ${h}px)`:"100%"}const d=["xfaBorder"];isPrintOnly(e.border)&&d.push("xfaPrintOnly");const f={name:"div",attributes:{class:d,style:{top:`${c}px`,left:`${l}px`,width:s,height:o}},children:[]};for(const e of["border","borderWidth","borderColor","borderRadius","borderStyle"])if(void 0!==r[e]){f.attributes.style[e]=r[e];delete r[e]}i.children.push(f,t)}else i.children.push(t);for(const e of["background","backgroundClip","top","left","width","height","minWidth","minHeight","maxWidth","maxHeight","transform","transformOrigin","visibility"])if(void 0!==r[e]){i.attributes.style[e]=r[e];delete r[e]}i.attributes.style.position="absolute"===r.position?"absolute":"relative";delete r.position;if(r.alignSelf){i.attributes.style.alignSelf=r.alignSelf;delete r.alignSelf}return i}function fixTextIndent(e){const t=getMeasurement(e.textIndent,"0px");if(t>=0)return;const a="padding"+("left"===("right"===e.textAlign?"right":"left")?"Left":"Right"),r=getMeasurement(e[a],"0px");e[a]=r-t+"px"}function setAccess(e,t){switch(e.access){case"nonInteractive":t.push("xfaNonInteractive");break;case"readOnly":t.push("xfaReadOnly");break;case"protected":t.push("xfaDisabled")}}function isPrintOnly(e){return e.relevant.length>0&&!e.relevant[0].excluded&&"print"===e.relevant[0].viewname}function getCurrentPara(e){const t=e[gs]()[Yn].paraStack;return t.length?t.at(-1):null}function setPara(e,t,a){if(a.attributes.class?.includes("xfaRich")){if(t){""===e.h&&(t.height="auto");""===e.w&&(t.width="auto")}const r=getCurrentPara(e);if(r){const e=a.attributes.style;e.display="flex";e.flexDirection="column";switch(r.vAlign){case"top":e.justifyContent="start";break;case"bottom":e.justifyContent="end";break;case"middle":e.justifyContent="center"}const t=r[Zs]();for(const[a,r]of Object.entries(t))a in e||(e[a]=r)}}}function setFontFamily(e,t,a,r){if(!a){delete r.fontFamily;return}const i=stripQuotes(e.typeface);r.fontFamily=`"${i}"`;const n=a.find(i);if(n){const{fontFamily:a}=n.regular.cssFontInfo;a!==i&&(r.fontFamily=`"${a}"`);const s=getCurrentPara(t);if(s&&""!==s.lineHeight)return;if(r.lineHeight)return;const o=selectFont(e,n);o&&(r.lineHeight=Math.max(1.2,o.lineHeight))}}function fixURL(e){const t=createValidAbsoluteUrl(e,null,{addDefaultProtocol:!0,tryConvertEncoding:!0});return t?t.href:null}function createLine(e,t){return{name:"div",attributes:{class:["lr-tb"===e.layout?"xfaLr":"xfaRl"]},children:t}}function flushHTML(e){if(!e[Yn])return null;const t={name:"div",attributes:e[Yn].attributes,children:e[Yn].children};if(e[Yn].failingNode){const a=e[Yn].failingNode[Qn]();a&&(e.layout.endsWith("-tb")?t.children.push(createLine(e,[a])):t.children.push(a))}return 0===t.children.length?null:t}function addHTML(e,t,a){const r=e[Yn],i=r.availableSpace,[n,s,o,c]=a;switch(e.layout){case"position":r.width=Math.max(r.width,n+o);r.height=Math.max(r.height,s+c);r.children.push(t);break;case"lr-tb":case"rl-tb":if(!r.line||1===r.attempt){r.line=createLine(e,[]);r.children.push(r.line);r.numberInLine=0}r.numberInLine+=1;r.line.children.push(t);if(0===r.attempt){r.currentWidth+=o;r.height=Math.max(r.height,r.prevHeight+c)}else{r.currentWidth=o;r.prevHeight=r.height;r.height+=c;r.attempt=0}r.width=Math.max(r.width,r.currentWidth);break;case"rl-row":case"row":{r.children.push(t);r.width+=o;r.height=Math.max(r.height,c);const e=measureToString(r.height);for(const t of r.children)t.attributes.style.height=e;break}case"table":case"tb":r.width=MathClamp(o,r.width,i.width);r.height+=c;r.children.push(t)}}function getAvailableSpace(e){const t=e[Yn].availableSpace,a=e.margin?e.margin.topInset+e.margin.bottomInset:0,r=e.margin?e.margin.leftInset+e.margin.rightInset:0;switch(e.layout){case"lr-tb":case"rl-tb":return 0===e[Yn].attempt?{width:t.width-r-e[Yn].currentWidth,height:t.height-a-e[Yn].prevHeight}:{width:t.width-r,height:t.height-a-e[Yn].height};case"rl-row":case"row":return{width:Math.sumPrecise(e[Yn].columnWidths.slice(e[Yn].currentColumn)),height:t.height-r};case"table":case"tb":return{width:t.width-r,height:t.height-a-e[Yn].height};default:return t}}function checkDimensions(e,t){if(null===e[gs]()[Yn].firstUnsplittable)return!0;if(0===e.w||0===e.h)return!0;const a=e[ds](),r=a[Yn]?.attempt||0,[,i,n,s]=function getTransformedBBox(e){let t,a,r=""===e.w?NaN:e.w,i=""===e.h?NaN:e.h,[n,s]=[0,0];switch(e.anchorType||""){case"bottomCenter":[n,s]=[r/2,i];break;case"bottomLeft":[n,s]=[0,i];break;case"bottomRight":[n,s]=[r,i];break;case"middleCenter":[n,s]=[r/2,i/2];break;case"middleLeft":[n,s]=[0,i/2];break;case"middleRight":[n,s]=[r,i/2];break;case"topCenter":[n,s]=[r/2,0];break;case"topRight":[n,s]=[r,0]}switch(e.rotate||0){case 0:[t,a]=[-n,-s];break;case 90:[t,a]=[-s,n];[r,i]=[i,-r];break;case 180:[t,a]=[n,s];[r,i]=[-r,-i];break;case 270:[t,a]=[s,-n];[r,i]=[-i,r]}return[e.x+t+Math.min(0,r),e.y+a+Math.min(0,i),Math.abs(r),Math.abs(i)]}(e);switch(a.layout){case"lr-tb":case"rl-tb":return 0===r?e[gs]()[Yn].noLayoutFailure?""!==e.w?Math.round(n-t.width)<=2:t.width>2:!(""!==e.h&&Math.round(s-t.height)>2)&&(""!==e.w?Math.round(n-t.width)<=2||0===a[Yn].numberInLine&&t.height>2:t.width>2):!!e[gs]()[Yn].noLayoutFailure||!(""!==e.h&&Math.round(s-t.height)>2)&&((""===e.w||Math.round(n-t.width)<=2||!a[Fs]())&&t.height>2);case"table":case"tb":return!!e[gs]()[Yn].noLayoutFailure||(""===e.h||e[vs]()?(""===e.w||Math.round(n-t.width)<=2||!a[Fs]())&&t.height>2:Math.round(s-t.height)<=2);case"position":if(e[gs]()[Yn].noLayoutFailure)return!0;if(""===e.h||Math.round(s+i-t.height)<=2)return!0;return s+i>e[gs]()[Yn].currentContentArea.h;case"rl-row":case"row":return!!e[gs]()[Yn].noLayoutFailure||(""===e.h||Math.round(s-t.height)<=2);default:return!0}}const Po=to.template.id,Eo="http://www.w3.org/2000/svg",Lo=/^H(\d+)$/,_o=new Set(["image/gif","image/jpeg","image/jpg","image/pjpeg","image/png","image/apng","image/x-png","image/bmp","image/x-ms-bmp","image/tiff","image/tif","application/octet-stream"]),Uo=[[[66,77],"image/bmp"],[[255,216,255],"image/jpeg"],[[73,73,42,0],"image/tiff"],[[77,77,0,42],"image/tiff"],[[71,73,70,56,57,97],"image/gif"],[[137,80,78,71,13,10,26,10],"image/png"]];function getBorderDims(e){if(!e||!e.border)return{w:0,h:0};const t=e.border[os]();return t?{w:t.widths[0]+t.widths[2]+t.insets[0]+t.insets[2],h:t.widths[1]+t.widths[3]+t.insets[1]+t.insets[3]}:{w:0,h:0}}function hasMargin(e){return e.margin&&(e.margin.topInset||e.margin.rightInset||e.margin.bottomInset||e.margin.leftInset)}function _setValue(e,t){if(!e.value){const t=new Value({});e[Xn](t);e.value=t}e.value[$s](t)}function*getContainedChildren(e){for(const t of e[ls]())t instanceof SubformSet?yield*t[hs]():yield t}function isRequired(e){return"error"===e.validate?.nullTest}function setTabIndex(e){for(;e;){if(!e.traversal){e[zs]=e[fs]()[zs];return}if(e[zs])return;let t=null;for(const a of e.traversal[ls]())if("next"===a.operation){t=a;break}if(!t||!t.ref){e[zs]=e[fs]()[zs];return}const a=e[gs]();e[zs]=++a[zs];const r=a[Hs](t.ref,e);if(!r)return;e=r[0]}}function applyAssist(e,t){const a=e.assist;if(a){const e=a[Js]();e&&(t.title=e);const r=a.role.match(Lo);if(r){const e="heading",a=r[1];t.role=e;t["aria-level"]=a}}if("table"===e.layout)t.role="table";else if("row"===e.layout)t.role="row";else{const a=e[fs]();"row"===a.layout&&(t.role="TH"===a.assist?.role?"columnheader":"cell")}}function ariaLabel(e){if(!e.assist)return null;const t=e.assist;return t.speak&&""!==t.speak[Vn]?t.speak[Vn]:t.toolTip?t.toolTip[Vn]:null}function valueToHtml(e){return HTMLResult.success({name:"div",attributes:{class:["xfaRich"],style:Object.create(null)},children:[{name:"span",attributes:{style:Object.create(null)},value:e}]})}function setFirstUnsplittable(e){const t=e[gs]();if(null===t[Yn].firstUnsplittable){t[Yn].firstUnsplittable=e;t[Yn].noLayoutFailure=!0}}function unsetFirstUnsplittable(e){const t=e[gs]();t[Yn].firstUnsplittable===e&&(t[Yn].noLayoutFailure=!1)}function handleBreak(e){if(e[Yn])return!1;e[Yn]=Object.create(null);if("auto"===e.targetType)return!1;const t=e[gs]();let a=null;if(e.target){a=t[Hs](e.target,e[fs]());if(!a)return!1;a=a[0]}const{currentPageArea:r,currentContentArea:i}=t[Yn];if("pageArea"===e.targetType){a instanceof PageArea||(a=null);if(e.startNew){e[Yn].target=a||r;return!0}if(a&&a!==r){e[Yn].target=a;return!0}return!1}a instanceof ContentArea||(a=null);const n=a&&a[fs]();let s,o=n;if(e.startNew)if(a){const e=n.contentArea.children,t=e.indexOf(i),r=e.indexOf(a);-1!==t&&te;r[Yn].noLayoutFailure=!0;const s=t[Js](a);e[jn](s.html,s.bbox);r[Yn].noLayoutFailure=i;t[ds]=n}class AppearanceFilter extends StringObject{constructor(e){super(Po,"appearanceFilter");this.id=e.id||"";this.type=getStringOption(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||""}}class Arc extends XFAObject{constructor(e){super(Po,"arc",!0);this.circular=getInteger({data:e.circular,defaultValue:0,validate:e=>1===e});this.hand=getStringOption(e.hand,["even","left","right"]);this.id=e.id||"";this.startAngle=getFloat({data:e.startAngle,defaultValue:0,validate:e=>!0});this.sweepAngle=getFloat({data:e.sweepAngle,defaultValue:360,validate:e=>!0});this.use=e.use||"";this.usehref=e.usehref||"";this.edge=null;this.fill=null}[Js](){const e=this.edge||new Edge({}),t=e[Zs](),a=Object.create(null);"visible"===this.fill?.presence?Object.assign(a,this.fill[Zs]()):a.fill="transparent";a.strokeWidth=measureToString("visible"===e.presence?e.thickness:0);a.stroke=t.color;let r;const i={xmlns:Eo,style:{width:"100%",height:"100%",overflow:"visible"}};if(360===this.sweepAngle)r={name:"ellipse",attributes:{xmlns:Eo,cx:"50%",cy:"50%",rx:"50%",ry:"50%",style:a}};else{const e=this.startAngle*Math.PI/180,t=this.sweepAngle*Math.PI/180,n=this.sweepAngle>180?1:0,[s,o,c,l]=[50*(1+Math.cos(e)),50*(1-Math.sin(e)),50*(1+Math.cos(e+t)),50*(1-Math.sin(e+t))];r={name:"path",attributes:{xmlns:Eo,d:`M ${s} ${o} A 50 50 0 ${n} 0 ${c} ${l}`,vectorEffect:"non-scaling-stroke",style:a}};Object.assign(i,{viewBox:"0 0 100 100",preserveAspectRatio:"none"})}const n={name:"svg",children:[r],attributes:i};if(hasMargin(this[fs]()[fs]()))return HTMLResult.success({name:"div",attributes:{style:{display:"inline",width:"100%",height:"100%"}},children:[n]});n.attributes.style.position="absolute";return HTMLResult.success(n)}}class Area extends XFAObject{constructor(e){super(Po,"area",!0);this.colSpan=getInteger({data:e.colSpan,defaultValue:1,validate:e=>e>=1||-1===e});this.id=e.id||"";this.name=e.name||"";this.relevant=getRelevant(e.relevant);this.use=e.use||"";this.usehref=e.usehref||"";this.x=getMeasurement(e.x,"0pt");this.y=getMeasurement(e.y,"0pt");this.desc=null;this.extras=null;this.area=new XFAObjectArray;this.draw=new XFAObjectArray;this.exObject=new XFAObjectArray;this.exclGroup=new XFAObjectArray;this.field=new XFAObjectArray;this.subform=new XFAObjectArray;this.subformSet=new XFAObjectArray}*[hs](){yield*getContainedChildren(this)}[Is](){return!0}[xs](){return!0}[jn](e,t){const[a,r,i,n]=t;this[Yn].width=Math.max(this[Yn].width,a+i);this[Yn].height=Math.max(this[Yn].height,r+n);this[Yn].children.push(e)}[as](){return this[Yn].availableSpace}[Js](e){const t=toStyle(this,"position"),a={style:t,id:this[Qs],class:["xfaArea"]};isPrintOnly(this)&&a.class.push("xfaPrintOnly");this.name&&(a.xfaName=this.name);const r=[];this[Yn]={children:r,width:0,height:0,availableSpace:e};const i=this[qn]({filter:new Set(["area","draw","field","exclGroup","subform","subformSet"]),include:!0});if(!i.success){if(i.isBreak())return i;delete this[Yn];return HTMLResult.FAILURE}t.width=measureToString(this[Yn].width);t.height=measureToString(this[Yn].height);const n={name:"div",attributes:a,children:r},s=[this.x,this.y,this[Yn].width,this[Yn].height];delete this[Yn];return HTMLResult.success(n,s)}}class Assist extends XFAObject{constructor(e){super(Po,"assist",!0);this.id=e.id||"";this.role=e.role||"";this.use=e.use||"";this.usehref=e.usehref||"";this.speak=null;this.toolTip=null}[Js](){return this.toolTip?.[Vn]||null}}class Barcode extends XFAObject{constructor(e){super(Po,"barcode",!0);this.charEncoding=getKeyword({data:e.charEncoding?e.charEncoding.toLowerCase():"",defaultValue:"",validate:e=>["utf-8","big-five","fontspecific","gbk","gb-18030","gb-2312","ksc-5601","none","shift-jis","ucs-2","utf-16"].includes(e)||e.match(/iso-8859-\d{2}/)});this.checksum=getStringOption(e.checksum,["none","1mod10","1mod10_1mod11","2mod10","auto"]);this.dataColumnCount=getInteger({data:e.dataColumnCount,defaultValue:-1,validate:e=>e>=0});this.dataLength=getInteger({data:e.dataLength,defaultValue:-1,validate:e=>e>=0});this.dataPrep=getStringOption(e.dataPrep,["none","flateCompress"]);this.dataRowCount=getInteger({data:e.dataRowCount,defaultValue:-1,validate:e=>e>=0});this.endChar=e.endChar||"";this.errorCorrectionLevel=getInteger({data:e.errorCorrectionLevel,defaultValue:-1,validate:e=>e>=0&&e<=8});this.id=e.id||"";this.moduleHeight=getMeasurement(e.moduleHeight,"5mm");this.moduleWidth=getMeasurement(e.moduleWidth,"0.25mm");this.printCheckDigit=getInteger({data:e.printCheckDigit,defaultValue:0,validate:e=>1===e});this.rowColumnRatio=getRatio(e.rowColumnRatio);this.startChar=e.startChar||"";this.textLocation=getStringOption(e.textLocation,["below","above","aboveEmbedded","belowEmbedded","none"]);this.truncate=getInteger({data:e.truncate,defaultValue:0,validate:e=>1===e});this.type=getStringOption(e.type?e.type.toLowerCase():"",["aztec","codabar","code2of5industrial","code2of5interleaved","code2of5matrix","code2of5standard","code3of9","code3of9extended","code11","code49","code93","code128","code128a","code128b","code128c","code128sscc","datamatrix","ean8","ean8add2","ean8add5","ean13","ean13add2","ean13add5","ean13pwcd","fim","logmars","maxicode","msi","pdf417","pdf417macro","plessey","postauscust2","postauscust3","postausreplypaid","postausstandard","postukrm4scc","postusdpbc","postusimb","postusstandard","postus5zip","qrcode","rfid","rss14","rss14expanded","rss14limited","rss14stacked","rss14stackedomni","rss14truncated","telepen","ucc128","ucc128random","ucc128sscc","upca","upcaadd2","upcaadd5","upcapwcd","upce","upceadd2","upceadd5","upcean2","upcean5","upsmaxicode"]);this.upsMode=getStringOption(e.upsMode,["usCarrier","internationalCarrier","secureSymbol","standardSymbol"]);this.use=e.use||"";this.usehref=e.usehref||"";this.wideNarrowRatio=getRatio(e.wideNarrowRatio);this.encrypt=null;this.extras=null}}class Bind extends XFAObject{constructor(e){super(Po,"bind",!0);this.match=getStringOption(e.match,["once","dataRef","global","none"]);this.ref=e.ref||"";this.picture=null}}class BindItems extends XFAObject{constructor(e){super(Po,"bindItems");this.connection=e.connection||"";this.labelRef=e.labelRef||"";this.ref=e.ref||"";this.valueRef=e.valueRef||""}}class Bookend extends XFAObject{constructor(e){super(Po,"bookend");this.id=e.id||"";this.leader=e.leader||"";this.trailer=e.trailer||"";this.use=e.use||"";this.usehref=e.usehref||""}}class BooleanElement extends Option01{constructor(e){super(Po,"boolean");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}[Js](e){return valueToHtml(1===this[Vn]?"1":"0")}}class Border extends XFAObject{constructor(e){super(Po,"border",!0);this.break=getStringOption(e.break,["close","open"]);this.hand=getStringOption(e.hand,["even","left","right"]);this.id=e.id||"";this.presence=getStringOption(e.presence,["visible","hidden","inactive","invisible"]);this.relevant=getRelevant(e.relevant);this.use=e.use||"";this.usehref=e.usehref||"";this.corner=new XFAObjectArray(4);this.edge=new XFAObjectArray(4);this.extras=null;this.fill=null;this.margin=null}[os](){if(!this[Yn]){const e=this.edge.children.slice();if(e.length<4){const t=e.at(-1)||new Edge({});for(let a=e.length;a<4;a++)e.push(t)}const t=e.map(e=>e.thickness),a=[0,0,0,0];if(this.margin){a[0]=this.margin.topInset;a[1]=this.margin.rightInset;a[2]=this.margin.bottomInset;a[3]=this.margin.leftInset}this[Yn]={widths:t,insets:a,edges:e}}return this[Yn]}[Zs](){const{edges:e}=this[os](),t=e.map(e=>{const t=e[Zs]();t.color||="#000000";return t}),a=Object.create(null);this.margin&&Object.assign(a,this.margin[Zs]());"visible"===this.fill?.presence&&Object.assign(a,this.fill[Zs]());if(this.corner.children.some(e=>0!==e.radius)){const e=this.corner.children.map(e=>e[Zs]());if(2===e.length||3===e.length){const t=e.at(-1);for(let a=e.length;a<4;a++)e.push(t)}a.borderRadius=e.map(e=>e.radius).join(" ")}switch(this.presence){case"invisible":case"hidden":a.borderStyle="";break;case"inactive":a.borderStyle="none";break;default:a.borderStyle=t.map(e=>e.style).join(" ")}a.borderWidth=t.map(e=>e.width).join(" ");a.borderColor=t.map(e=>e.color).join(" ");return a}}class Break extends XFAObject{constructor(e){super(Po,"break",!0);this.after=getStringOption(e.after,["auto","contentArea","pageArea","pageEven","pageOdd"]);this.afterTarget=e.afterTarget||"";this.before=getStringOption(e.before,["auto","contentArea","pageArea","pageEven","pageOdd"]);this.beforeTarget=e.beforeTarget||"";this.bookendLeader=e.bookendLeader||"";this.bookendTrailer=e.bookendTrailer||"";this.id=e.id||"";this.overflowLeader=e.overflowLeader||"";this.overflowTarget=e.overflowTarget||"";this.overflowTrailer=e.overflowTrailer||"";this.startNew=getInteger({data:e.startNew,defaultValue:0,validate:e=>1===e});this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null}}class BreakAfter extends XFAObject{constructor(e){super(Po,"breakAfter",!0);this.id=e.id||"";this.leader=e.leader||"";this.startNew=getInteger({data:e.startNew,defaultValue:0,validate:e=>1===e});this.target=e.target||"";this.targetType=getStringOption(e.targetType,["auto","contentArea","pageArea"]);this.trailer=e.trailer||"";this.use=e.use||"";this.usehref=e.usehref||"";this.script=null}}class BreakBefore extends XFAObject{constructor(e){super(Po,"breakBefore",!0);this.id=e.id||"";this.leader=e.leader||"";this.startNew=getInteger({data:e.startNew,defaultValue:0,validate:e=>1===e});this.target=e.target||"";this.targetType=getStringOption(e.targetType,["auto","contentArea","pageArea"]);this.trailer=e.trailer||"";this.use=e.use||"";this.usehref=e.usehref||"";this.script=null}[Js](e){this[Yn]={};return HTMLResult.FAILURE}}class Button extends XFAObject{constructor(e){super(Po,"button",!0);this.highlight=getStringOption(e.highlight,["inverted","none","outline","push"]);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null}[Js](e){const t=this[fs]()[fs](),a={name:"button",attributes:{id:this[Qs],class:["xfaButton"],style:{}},children:[]};for(const e of t.event.children){if("click"!==e.activity||!e.script)continue;const t=recoverJsURL(e.script[Vn]);if(!t)continue;const r=fixURL(t.url);r&&a.children.push({name:"a",attributes:{id:"link"+this[Qs],href:r,newWindow:t.newWindow,class:["xfaLink"],style:{}},children:[]})}return HTMLResult.success(a)}}class Calculate extends XFAObject{constructor(e){super(Po,"calculate",!0);this.id=e.id||"";this.override=getStringOption(e.override,["disabled","error","ignore","warning"]);this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null;this.message=null;this.script=null}}class Caption extends XFAObject{constructor(e){super(Po,"caption",!0);this.id=e.id||"";this.placement=getStringOption(e.placement,["left","bottom","inline","right","top"]);this.presence=getStringOption(e.presence,["visible","hidden","inactive","invisible"]);this.reserve=Math.ceil(getMeasurement(e.reserve));this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null;this.font=null;this.margin=null;this.para=null;this.value=null}[$s](e){_setValue(this,e)}[os](e){if(!this[Yn]){let{width:t,height:a}=e;switch(this.placement){case"left":case"right":case"inline":t=this.reserve<=0?t:this.reserve;break;case"top":case"bottom":a=this.reserve<=0?a:this.reserve}this[Yn]=layoutNode(this,{width:t,height:a})}return this[Yn]}[Js](e){if(!this.value)return HTMLResult.EMPTY;this[Us]();const t=this.value[Js](e).html;if(!t){this[_s]();return HTMLResult.EMPTY}const a=this.reserve;if(this.reserve<=0){const{w:t,h:a}=this[os](e);switch(this.placement){case"left":case"right":case"inline":this.reserve=t;break;case"top":case"bottom":this.reserve=a}}const r=[];"string"==typeof t?r.push({name:"#text",value:t}):r.push(t);const i=toStyle(this,"font","margin","visibility");switch(this.placement){case"left":case"right":this.reserve>0&&(i.width=measureToString(this.reserve));break;case"top":case"bottom":this.reserve>0&&(i.height=measureToString(this.reserve))}setPara(this,null,t);this[_s]();this.reserve=a;return HTMLResult.success({name:"div",attributes:{style:i,class:["xfaCaption"]},children:r})}}class Certificate extends StringObject{constructor(e){super(Po,"certificate");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}}class Certificates extends XFAObject{constructor(e){super(Po,"certificates",!0);this.credentialServerPolicy=getStringOption(e.credentialServerPolicy,["optional","required"]);this.id=e.id||"";this.url=e.url||"";this.urlPolicy=e.urlPolicy||"";this.use=e.use||"";this.usehref=e.usehref||"";this.encryption=null;this.issuers=null;this.keyUsage=null;this.oids=null;this.signing=null;this.subjectDNs=null}}class CheckButton extends XFAObject{constructor(e){super(Po,"checkButton",!0);this.id=e.id||"";this.mark=getStringOption(e.mark,["default","check","circle","cross","diamond","square","star"]);this.shape=getStringOption(e.shape,["square","round"]);this.size=getMeasurement(e.size,"10pt");this.use=e.use||"";this.usehref=e.usehref||"";this.border=null;this.extras=null;this.margin=null}[Js](e){const t=toStyle(this,"margin"),a=measureToString(this.size);t.width=t.height=a;let r,i,n;const s=this[fs]()[fs](),o=s.items.children.length&&s.items.children[0][Js]().html||[],c={on:(void 0!==o[0]?o[0]:"on").toString(),off:(void 0!==o[1]?o[1]:"off").toString()},l=(s.value?.[Vs]()||"off")===c.on||void 0,h=s[ds](),u=s[Qs];let d;if(h instanceof ExclGroup){n=h[Qs];r="radio";i="xfaRadio";d=h[Kn]?.[Qs]||h[Qs]}else{r="checkbox";i="xfaCheckbox";d=s[Kn]?.[Qs]||s[Qs]}const f={name:"input",attributes:{class:[i],style:t,fieldId:u,dataId:d,type:r,checked:l,xfaOn:c.on,xfaOff:c.off,"aria-label":ariaLabel(s),"aria-required":!1}};n&&(f.attributes.name=n);if(isRequired(s)){f.attributes["aria-required"]=!0;f.attributes.required=!0}return HTMLResult.success({name:"label",attributes:{class:["xfaLabel"]},children:[f]})}}class ChoiceList extends XFAObject{constructor(e){super(Po,"choiceList",!0);this.commitOn=getStringOption(e.commitOn,["select","exit"]);this.id=e.id||"";this.open=getStringOption(e.open,["userControl","always","multiSelect","onEntry"]);this.textEntry=getInteger({data:e.textEntry,defaultValue:0,validate:e=>1===e});this.use=e.use||"";this.usehref=e.usehref||"";this.border=null;this.extras=null;this.margin=null}[Js](e){const t=toStyle(this,"border","margin"),a=this[fs]()[fs](),r={fontSize:`calc(${a.font?.size||10}px * var(--total-scale-factor))`},i=[];if(a.items.children.length>0){const e=a.items;let t=0,n=0;if(2===e.children.length){t=e.children[0].save;n=1-t}const s=e.children[t][Js]().html,o=e.children[n][Js]().html;let c=!1;const l=a.value?.[Vs]()||"";for(let e=0,t=s.length;eMathClamp(parseInt(e.trim(),10),0,255)).map(e=>isNaN(e)?0:e);if(n.length<3)return{r:a,g:r,b:i};[a,r,i]=n;return{r:a,g:r,b:i}}(e.value):"";this.extras=null}[ms](){return!1}[Zs](){return this.value?Util.makeHexColor(this.value.r,this.value.g,this.value.b):null}}class Comb extends XFAObject{constructor(e){super(Po,"comb");this.id=e.id||"";this.numberOfCells=getInteger({data:e.numberOfCells,defaultValue:0,validate:e=>e>=0});this.use=e.use||"";this.usehref=e.usehref||""}}class Connect extends XFAObject{constructor(e){super(Po,"connect",!0);this.connection=e.connection||"";this.id=e.id||"";this.ref=e.ref||"";this.usage=getStringOption(e.usage,["exportAndImport","exportOnly","importOnly"]);this.use=e.use||"";this.usehref=e.usehref||"";this.picture=null}}class ContentArea extends XFAObject{constructor(e){super(Po,"contentArea",!0);this.h=getMeasurement(e.h);this.id=e.id||"";this.name=e.name||"";this.relevant=getRelevant(e.relevant);this.use=e.use||"";this.usehref=e.usehref||"";this.w=getMeasurement(e.w);this.x=getMeasurement(e.x,"0pt");this.y=getMeasurement(e.y,"0pt");this.desc=null;this.extras=null}[Js](e){const t={left:measureToString(this.x),top:measureToString(this.y),width:measureToString(this.w),height:measureToString(this.h)},a=["xfaContentarea"];isPrintOnly(this)&&a.push("xfaPrintOnly");return HTMLResult.success({name:"div",children:[],attributes:{style:t,class:a,id:this[Qs]}})}}class Corner extends XFAObject{constructor(e){super(Po,"corner",!0);this.id=e.id||"";this.inverted=getInteger({data:e.inverted,defaultValue:0,validate:e=>1===e});this.join=getStringOption(e.join,["square","round"]);this.presence=getStringOption(e.presence,["visible","hidden","inactive","invisible"]);this.radius=getMeasurement(e.radius);this.stroke=getStringOption(e.stroke,["solid","dashDot","dashDotDot","dashed","dotted","embossed","etched","lowered","raised"]);this.thickness=getMeasurement(e.thickness,"0.5pt");this.use=e.use||"";this.usehref=e.usehref||"";this.color=null;this.extras=null}[Zs](){const e=toStyle(this,"visibility");e.radius=measureToString("square"===this.join?0:this.radius);return e}}class DateElement extends ContentObject{constructor(e){super(Po,"date");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}[Zn](){const e=this[Vn].trim();this[Vn]=e?new Date(e):null}[Js](e){return valueToHtml(this[Vn]?this[Vn].toString():"")}}class DateTime extends ContentObject{constructor(e){super(Po,"dateTime");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}[Zn](){const e=this[Vn].trim();this[Vn]=e?new Date(e):null}[Js](e){return valueToHtml(this[Vn]?this[Vn].toString():"")}}class DateTimeEdit extends XFAObject{constructor(e){super(Po,"dateTimeEdit",!0);this.hScrollPolicy=getStringOption(e.hScrollPolicy,["auto","off","on"]);this.id=e.id||"";this.picker=getStringOption(e.picker,["host","none"]);this.use=e.use||"";this.usehref=e.usehref||"";this.border=null;this.comb=null;this.extras=null;this.margin=null}[Js](e){const t=toStyle(this,"border","font","margin"),a=this[fs]()[fs](),r={name:"input",attributes:{type:"text",fieldId:a[Qs],dataId:a[Kn]?.[Qs]||a[Qs],class:["xfaTextfield"],style:t,"aria-label":ariaLabel(a),"aria-required":!1}};if(isRequired(a)){r.attributes["aria-required"]=!0;r.attributes.required=!0}return HTMLResult.success({name:"label",attributes:{class:["xfaLabel"]},children:[r]})}}class Decimal extends ContentObject{constructor(e){super(Po,"decimal");this.fracDigits=getInteger({data:e.fracDigits,defaultValue:2,validate:e=>!0});this.id=e.id||"";this.leadDigits=getInteger({data:e.leadDigits,defaultValue:-1,validate:e=>!0});this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}[Zn](){const e=parseFloat(this[Vn].trim());this[Vn]=isNaN(e)?null:e}[Js](e){return valueToHtml(null!==this[Vn]?this[Vn].toString():"")}}class DefaultUi extends XFAObject{constructor(e){super(Po,"defaultUi",!0);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null}}class Desc extends XFAObject{constructor(e){super(Po,"desc",!0);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.boolean=new XFAObjectArray;this.date=new XFAObjectArray;this.dateTime=new XFAObjectArray;this.decimal=new XFAObjectArray;this.exData=new XFAObjectArray;this.float=new XFAObjectArray;this.image=new XFAObjectArray;this.integer=new XFAObjectArray;this.text=new XFAObjectArray;this.time=new XFAObjectArray}}class DigestMethod extends OptionObject{constructor(e){super(Po,"digestMethod",["","SHA1","SHA256","SHA512","RIPEMD160"]);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||""}}class DigestMethods extends XFAObject{constructor(e){super(Po,"digestMethods",!0);this.id=e.id||"";this.type=getStringOption(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||"";this.digestMethod=new XFAObjectArray}}class Draw extends XFAObject{constructor(e){super(Po,"draw",!0);this.anchorType=getStringOption(e.anchorType,["topLeft","bottomCenter","bottomLeft","bottomRight","middleCenter","middleLeft","middleRight","topCenter","topRight"]);this.colSpan=getInteger({data:e.colSpan,defaultValue:1,validate:e=>e>=1||-1===e});this.h=e.h?getMeasurement(e.h):"";this.hAlign=getStringOption(e.hAlign,["left","center","justify","justifyAll","radix","right"]);this.id=e.id||"";this.locale=e.locale||"";this.maxH=getMeasurement(e.maxH,"0pt");this.maxW=getMeasurement(e.maxW,"0pt");this.minH=getMeasurement(e.minH,"0pt");this.minW=getMeasurement(e.minW,"0pt");this.name=e.name||"";this.presence=getStringOption(e.presence,["visible","hidden","inactive","invisible"]);this.relevant=getRelevant(e.relevant);this.rotate=getInteger({data:e.rotate,defaultValue:0,validate:e=>e%90==0});this.use=e.use||"";this.usehref=e.usehref||"";this.w=e.w?getMeasurement(e.w):"";this.x=getMeasurement(e.x,"0pt");this.y=getMeasurement(e.y,"0pt");this.assist=null;this.border=null;this.caption=null;this.desc=null;this.extras=null;this.font=null;this.keep=null;this.margin=null;this.para=null;this.traversal=null;this.ui=null;this.value=null;this.setProperty=new XFAObjectArray}[$s](e){_setValue(this,e)}[Js](e){setTabIndex(this);if("hidden"===this.presence||"inactive"===this.presence)return HTMLResult.EMPTY;fixDimensions(this);this[Us]();const t=this.w,a=this.h,{w:r,h:i,isBroken:n}=layoutNode(this,e);if(r&&""===this.w){if(n&&this[ds]()[Fs]()){this[_s]();return HTMLResult.FAILURE}this.w=r}i&&""===this.h&&(this.h=i);setFirstUnsplittable(this);if(!checkDimensions(this,e)){this.w=t;this.h=a;this[_s]();return HTMLResult.FAILURE}unsetFirstUnsplittable(this);const s=toStyle(this,"font","hAlign","dimensions","position","presence","rotate","anchorType","border","margin");setMinMaxDimensions(this,s);if(s.margin){s.padding=s.margin;delete s.margin}const o=["xfaDraw"];this.font&&o.push("xfaFont");isPrintOnly(this)&&o.push("xfaPrintOnly");const c={style:s,id:this[Qs],class:o};this.name&&(c.xfaName=this.name);const l={name:"div",attributes:c,children:[]};applyAssist(this,c);const h=computeBbox(this,l,e),u=this.value?this.value[Js](e).html:null;if(null===u){this.w=t;this.h=a;this[_s]();return HTMLResult.success(createWrapper(this,l),h)}l.children.push(u);setPara(this,s,u);this.w=t;this.h=a;this[_s]();return HTMLResult.success(createWrapper(this,l),h)}}class Edge extends XFAObject{constructor(e){super(Po,"edge",!0);this.cap=getStringOption(e.cap,["square","butt","round"]);this.id=e.id||"";this.presence=getStringOption(e.presence,["visible","hidden","inactive","invisible"]);this.stroke=getStringOption(e.stroke,["solid","dashDot","dashDotDot","dashed","dotted","embossed","etched","lowered","raised"]);this.thickness=getMeasurement(e.thickness,"0.5pt");this.use=e.use||"";this.usehref=e.usehref||"";this.color=null;this.extras=null}[Zs](){const e=toStyle(this,"visibility");Object.assign(e,{linecap:this.cap,width:measureToString(this.thickness),color:this.color?this.color[Zs]():"#000000",style:""});if("visible"!==this.presence)e.style="none";else switch(this.stroke){case"solid":e.style="solid";break;case"dashDot":case"dashDotDot":case"dashed":e.style="dashed";break;case"dotted":e.style="dotted";break;case"embossed":e.style="ridge";break;case"etched":e.style="groove";break;case"lowered":e.style="inset";break;case"raised":e.style="outset"}return e}}class Encoding extends OptionObject{constructor(e){super(Po,"encoding",["adbe.x509.rsa_sha1","adbe.pkcs7.detached","adbe.pkcs7.sha1"]);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||""}}class Encodings extends XFAObject{constructor(e){super(Po,"encodings",!0);this.id=e.id||"";this.type=getStringOption(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||"";this.encoding=new XFAObjectArray}}class Encrypt extends XFAObject{constructor(e){super(Po,"encrypt",!0);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.certificate=null}}class EncryptData extends XFAObject{constructor(e){super(Po,"encryptData",!0);this.id=e.id||"";this.operation=getStringOption(e.operation,["encrypt","decrypt"]);this.target=e.target||"";this.use=e.use||"";this.usehref=e.usehref||"";this.filter=null;this.manifest=null}}class Encryption extends XFAObject{constructor(e){super(Po,"encryption",!0);this.id=e.id||"";this.type=getStringOption(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||"";this.certificate=new XFAObjectArray}}class EncryptionMethod extends OptionObject{constructor(e){super(Po,"encryptionMethod",["","AES256-CBC","TRIPLEDES-CBC","AES128-CBC","AES192-CBC"]);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||""}}class EncryptionMethods extends XFAObject{constructor(e){super(Po,"encryptionMethods",!0);this.id=e.id||"";this.type=getStringOption(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||"";this.encryptionMethod=new XFAObjectArray}}class Event extends XFAObject{constructor(e){super(Po,"event",!0);this.activity=getStringOption(e.activity,["click","change","docClose","docReady","enter","exit","full","indexChange","initialize","mouseDown","mouseEnter","mouseExit","mouseUp","postExecute","postOpen","postPrint","postSave","postSign","postSubmit","preExecute","preOpen","prePrint","preSave","preSign","preSubmit","ready","validationState"]);this.id=e.id||"";this.listen=getStringOption(e.listen,["refOnly","refAndDescendents"]);this.name=e.name||"";this.ref=e.ref||"";this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null;this.encryptData=null;this.execute=null;this.script=null;this.signData=null;this.submit=null}}class ExData extends ContentObject{constructor(e){super(Po,"exData");this.contentType=e.contentType||"";this.href=e.href||"";this.id=e.id||"";this.maxLength=getInteger({data:e.maxLength,defaultValue:-1,validate:e=>e>=-1});this.name=e.name||"";this.rid=e.rid||"";this.transferEncoding=getStringOption(e.transferEncoding,["none","base64","package"]);this.use=e.use||"";this.usehref=e.usehref||""}[Ss](){return"text/html"===this.contentType}[Bs](e){if("text/html"===this.contentType&&e[Ds]===to.xhtml.id){this[Vn]=e;return!0}if("text/xml"===this.contentType){this[Vn]=e;return!0}return!1}[Js](e){return"text/html"===this.contentType&&this[Vn]?this[Vn][Js](e):HTMLResult.EMPTY}}class ExObject extends XFAObject{constructor(e){super(Po,"exObject",!0);this.archive=e.archive||"";this.classId=e.classId||"";this.codeBase=e.codeBase||"";this.codeType=e.codeType||"";this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null;this.boolean=new XFAObjectArray;this.date=new XFAObjectArray;this.dateTime=new XFAObjectArray;this.decimal=new XFAObjectArray;this.exData=new XFAObjectArray;this.exObject=new XFAObjectArray;this.float=new XFAObjectArray;this.image=new XFAObjectArray;this.integer=new XFAObjectArray;this.text=new XFAObjectArray;this.time=new XFAObjectArray}}class ExclGroup extends XFAObject{constructor(e){super(Po,"exclGroup",!0);this.access=getStringOption(e.access,["open","nonInteractive","protected","readOnly"]);this.accessKey=e.accessKey||"";this.anchorType=getStringOption(e.anchorType,["topLeft","bottomCenter","bottomLeft","bottomRight","middleCenter","middleLeft","middleRight","topCenter","topRight"]);this.colSpan=getInteger({data:e.colSpan,defaultValue:1,validate:e=>e>=1||-1===e});this.h=e.h?getMeasurement(e.h):"";this.hAlign=getStringOption(e.hAlign,["left","center","justify","justifyAll","radix","right"]);this.id=e.id||"";this.layout=getStringOption(e.layout,["position","lr-tb","rl-row","rl-tb","row","table","tb"]);this.maxH=getMeasurement(e.maxH,"0pt");this.maxW=getMeasurement(e.maxW,"0pt");this.minH=getMeasurement(e.minH,"0pt");this.minW=getMeasurement(e.minW,"0pt");this.name=e.name||"";this.presence=getStringOption(e.presence,["visible","hidden","inactive","invisible"]);this.relevant=getRelevant(e.relevant);this.use=e.use||"";this.usehref=e.usehref||"";this.w=e.w?getMeasurement(e.w):"";this.x=getMeasurement(e.x,"0pt");this.y=getMeasurement(e.y,"0pt");this.assist=null;this.bind=null;this.border=null;this.calculate=null;this.caption=null;this.desc=null;this.extras=null;this.margin=null;this.para=null;this.traversal=null;this.validate=null;this.connect=new XFAObjectArray;this.event=new XFAObjectArray;this.field=new XFAObjectArray;this.setProperty=new XFAObjectArray}[xs](){return!0}[ms](){return!0}[$s](e){for(const t of this.field.children){if(!t.value){const e=new Value({});t[Xn](e);t.value=e}t.value[$s](e)}}[Fs](){return this.layout.endsWith("-tb")&&0===this[Yn].attempt&&this[Yn].numberInLine>0||this[fs]()[Fs]()}[vs](){const e=this[ds]();if(!e[vs]())return!1;if(void 0!==this[Yn]._isSplittable)return this[Yn]._isSplittable;if("position"===this.layout||this.layout.includes("row")){this[Yn]._isSplittable=!1;return!1}if(e.layout?.endsWith("-tb")&&0!==e[Yn].numberInLine)return!1;this[Yn]._isSplittable=!0;return!0}[Qn](){return flushHTML(this)}[jn](e,t){addHTML(this,e,t)}[as](){return getAvailableSpace(this)}[Js](e){setTabIndex(this);if("hidden"===this.presence||"inactive"===this.presence||0===this.h||0===this.w)return HTMLResult.EMPTY;fixDimensions(this);const t=[],a={id:this[Qs],class:[]};setAccess(this,a.class);this[Yn]||=Object.create(null);Object.assign(this[Yn],{children:t,attributes:a,attempt:0,line:null,numberInLine:0,availableSpace:{width:Math.min(this.w||1/0,e.width),height:Math.min(this.h||1/0,e.height)},width:0,height:0,prevHeight:0,currentWidth:0});const r=this[vs]();r||setFirstUnsplittable(this);if(!checkDimensions(this,e))return HTMLResult.FAILURE;const i=new Set(["field"]);if(this.layout.includes("row")){const e=this[ds]().columnWidths;if(Array.isArray(e)&&e.length>0){this[Yn].columnWidths=e;this[Yn].currentColumn=0}}const n=toStyle(this,"anchorType","dimensions","position","presence","border","margin","hAlign"),s=["xfaExclgroup"],o=layoutClass(this);o&&s.push(o);isPrintOnly(this)&&s.push("xfaPrintOnly");a.style=n;a.class=s;this.name&&(a.xfaName=this.name);this[Us]();const c="lr-tb"===this.layout||"rl-tb"===this.layout,l=c?2:1;for(;this[Yn].attempte>=1||-1===e});this.h=e.h?getMeasurement(e.h):"";this.hAlign=getStringOption(e.hAlign,["left","center","justify","justifyAll","radix","right"]);this.id=e.id||"";this.locale=e.locale||"";this.maxH=getMeasurement(e.maxH,"0pt");this.maxW=getMeasurement(e.maxW,"0pt");this.minH=getMeasurement(e.minH,"0pt");this.minW=getMeasurement(e.minW,"0pt");this.name=e.name||"";this.presence=getStringOption(e.presence,["visible","hidden","inactive","invisible"]);this.relevant=getRelevant(e.relevant);this.rotate=getInteger({data:e.rotate,defaultValue:0,validate:e=>e%90==0});this.use=e.use||"";this.usehref=e.usehref||"";this.w=e.w?getMeasurement(e.w):"";this.x=getMeasurement(e.x,"0pt");this.y=getMeasurement(e.y,"0pt");this.assist=null;this.bind=null;this.border=null;this.calculate=null;this.caption=null;this.desc=null;this.extras=null;this.font=null;this.format=null;this.items=new XFAObjectArray(2);this.keep=null;this.margin=null;this.para=null;this.traversal=null;this.ui=null;this.validate=null;this.value=null;this.bindItems=new XFAObjectArray;this.connect=new XFAObjectArray;this.event=new XFAObjectArray;this.setProperty=new XFAObjectArray}[xs](){return!0}[$s](e){_setValue(this,e)}[Js](e){setTabIndex(this);if(!this.ui){this.ui=new Ui({});this.ui[ps]=this[ps];this[Xn](this.ui);let e;switch(this.items.children.length){case 0:e=new TextEdit({});this.ui.textEdit=e;break;case 1:e=new CheckButton({});this.ui.checkButton=e;break;case 2:e=new ChoiceList({});this.ui.choiceList=e}this.ui[Xn](e)}if(!this.ui||"hidden"===this.presence||"inactive"===this.presence||0===this.h||0===this.w)return HTMLResult.EMPTY;this.caption&&delete this.caption[Yn];this[Us]();const t=this.caption?this.caption[Js](e).html:null,a=this.w,r=this.h;let i=0,n=0;if(this.margin){i=this.margin.leftInset+this.margin.rightInset;n=this.margin.topInset+this.margin.bottomInset}let s=null;if(""===this.w||""===this.h){let t=null,a=null,r=0,o=0;if(this.ui.checkButton)r=o=this.ui.checkButton.size;else{const{w:t,h:a}=layoutNode(this,e);if(null!==t){r=t;o=a}else o=function fonts_getMetrics(e,t=!1){let a=null;if(e){const t=stripQuotes(e.typeface),r=e[ps].fontFinder.find(t);a=selectFont(e,r)}if(!a)return{lineHeight:12,lineGap:2,lineNoGap:10};const r=e.size||10,i=a.lineHeight?Math.max(t?0:1.2,a.lineHeight):1.2,n=void 0===a.lineGap?.2:a.lineGap;return{lineHeight:i*r,lineGap:n*r,lineNoGap:Math.max(1,i-n)*r}}(this.font,!0).lineNoGap}s=getBorderDims(this.ui[os]());r+=s.w;o+=s.h;if(this.caption){const{w:i,h:n,isBroken:s}=this.caption[os](e);if(s&&this[ds]()[Fs]()){this[_s]();return HTMLResult.FAILURE}t=i;a=n;switch(this.caption.placement){case"left":case"right":case"inline":t+=r;break;case"top":case"bottom":a+=o}}else{t=r;a=o}if(t&&""===this.w){t+=i;this.w=Math.min(this.maxW<=0?1/0:this.maxW,this.minW+1e>=1&&e<=5});this.appearanceFilter=null;this.certificates=null;this.digestMethods=null;this.encodings=null;this.encryptionMethods=null;this.handler=null;this.lockDocument=null;this.mdp=null;this.reasons=null;this.timeStamp=null}}class Float extends ContentObject{constructor(e){super(Po,"float");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}[Zn](){const e=parseFloat(this[Vn].trim());this[Vn]=isNaN(e)?null:e}[Js](e){return valueToHtml(null!==this[Vn]?this[Vn].toString():"")}}class template_Font extends XFAObject{constructor(e){super(Po,"font",!0);this.baselineShift=getMeasurement(e.baselineShift);this.fontHorizontalScale=getFloat({data:e.fontHorizontalScale,defaultValue:100,validate:e=>e>=0});this.fontVerticalScale=getFloat({data:e.fontVerticalScale,defaultValue:100,validate:e=>e>=0});this.id=e.id||"";this.kerningMode=getStringOption(e.kerningMode,["none","pair"]);this.letterSpacing=getMeasurement(e.letterSpacing,"0");this.lineThrough=getInteger({data:e.lineThrough,defaultValue:0,validate:e=>1===e||2===e});this.lineThroughPeriod=getStringOption(e.lineThroughPeriod,["all","word"]);this.overline=getInteger({data:e.overline,defaultValue:0,validate:e=>1===e||2===e});this.overlinePeriod=getStringOption(e.overlinePeriod,["all","word"]);this.posture=getStringOption(e.posture,["normal","italic"]);this.size=getMeasurement(e.size,"10pt");this.typeface=e.typeface||"Courier";this.underline=getInteger({data:e.underline,defaultValue:0,validate:e=>1===e||2===e});this.underlinePeriod=getStringOption(e.underlinePeriod,["all","word"]);this.use=e.use||"";this.usehref=e.usehref||"";this.weight=getStringOption(e.weight,["normal","bold"]);this.extras=null;this.fill=null}[Hn](e){super[Hn](e);this[ps].usedTypefaces.add(this.typeface)}[Zs](){const e=toStyle(this,"fill"),t=e.color;if(t)if("#000000"===t)delete e.color;else if(!t.startsWith("#")){e.background=t;e.backgroundClip="text";e.color="transparent"}this.baselineShift&&(e.verticalAlign=measureToString(this.baselineShift));e.fontKerning="none"===this.kerningMode?"none":"normal";e.letterSpacing=measureToString(this.letterSpacing);if(0!==this.lineThrough){e.textDecoration="line-through";2===this.lineThrough&&(e.textDecorationStyle="double")}if(0!==this.overline){e.textDecoration="overline";2===this.overline&&(e.textDecorationStyle="double")}e.fontStyle=this.posture;e.fontSize=measureToString(.99*this.size);setFontFamily(this,this,this[ps].fontFinder,e);if(0!==this.underline){e.textDecoration="underline";2===this.underline&&(e.textDecorationStyle="double")}e.fontWeight=this.weight;return e}}class Format extends XFAObject{constructor(e){super(Po,"format",!0);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null;this.picture=null}}class Handler extends StringObject{constructor(e){super(Po,"handler");this.id=e.id||"";this.type=getStringOption(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||""}}class Hyphenation extends XFAObject{constructor(e){super(Po,"hyphenation");this.excludeAllCaps=getInteger({data:e.excludeAllCaps,defaultValue:0,validate:e=>1===e});this.excludeInitialCap=getInteger({data:e.excludeInitialCap,defaultValue:0,validate:e=>1===e});this.hyphenate=getInteger({data:e.hyphenate,defaultValue:0,validate:e=>1===e});this.id=e.id||"";this.pushCharacterCount=getInteger({data:e.pushCharacterCount,defaultValue:3,validate:e=>e>=0});this.remainCharacterCount=getInteger({data:e.remainCharacterCount,defaultValue:3,validate:e=>e>=0});this.use=e.use||"";this.usehref=e.usehref||"";this.wordCharacterCount=getInteger({data:e.wordCharacterCount,defaultValue:7,validate:e=>e>=0})}}class Image extends StringObject{constructor(e){super(Po,"image");this.aspect=getStringOption(e.aspect,["fit","actual","height","none","width"]);this.contentType=e.contentType||"";this.href=e.href||"";this.id=e.id||"";this.name=e.name||"";this.transferEncoding=getStringOption(e.transferEncoding,["base64","none","package"]);this.use=e.use||"";this.usehref=e.usehref||""}[Js](){if(this.contentType&&!_o.has(this.contentType.toLowerCase()))return HTMLResult.EMPTY;let e=this[ps].images?.get(this.href);if(!e&&(this.href||!this[Vn]))return HTMLResult.EMPTY;e||"base64"!==this.transferEncoding||(e=Uint8Array.fromBase64(this[Vn]));if(!e)return HTMLResult.EMPTY;if(!this.contentType){for(const[t,a]of Uo)if(e.length>t.length&&t.every((t,a)=>t===e[a])){this.contentType=a;break}if(!this.contentType)return HTMLResult.EMPTY}const t=new Blob([e],{type:this.contentType});let a;switch(this.aspect){case"fit":case"actual":break;case"height":a={height:"100%",objectFit:"fill"};break;case"none":a={width:"100%",height:"100%",objectFit:"fill"};break;case"width":a={width:"100%",objectFit:"fill"}}const r=this[fs]();return HTMLResult.success({name:"img",attributes:{class:["xfaImage"],style:a,src:URL.createObjectURL(t),alt:r?ariaLabel(r[fs]()):null}})}}class ImageEdit extends XFAObject{constructor(e){super(Po,"imageEdit",!0);this.data=getStringOption(e.data,["link","embed"]);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.border=null;this.extras=null;this.margin=null}[Js](e){return"embed"===this.data?HTMLResult.success({name:"div",children:[],attributes:{}}):HTMLResult.EMPTY}}class Integer extends ContentObject{constructor(e){super(Po,"integer");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}[Zn](){const e=parseInt(this[Vn].trim(),10);this[Vn]=isNaN(e)?null:e}[Js](e){return valueToHtml(null!==this[Vn]?this[Vn].toString():"")}}class Issuers extends XFAObject{constructor(e){super(Po,"issuers",!0);this.id=e.id||"";this.type=getStringOption(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||"";this.certificate=new XFAObjectArray}}class Items extends XFAObject{constructor(e){super(Po,"items",!0);this.id=e.id||"";this.name=e.name||"";this.presence=getStringOption(e.presence,["visible","hidden","inactive","invisible"]);this.ref=e.ref||"";this.save=getInteger({data:e.save,defaultValue:0,validate:e=>1===e});this.use=e.use||"";this.usehref=e.usehref||"";this.boolean=new XFAObjectArray;this.date=new XFAObjectArray;this.dateTime=new XFAObjectArray;this.decimal=new XFAObjectArray;this.exData=new XFAObjectArray;this.float=new XFAObjectArray;this.image=new XFAObjectArray;this.integer=new XFAObjectArray;this.text=new XFAObjectArray;this.time=new XFAObjectArray}[Js](){const e=[];for(const t of this[ls]())e.push(t[Vs]());return HTMLResult.success(e)}}class Keep extends XFAObject{constructor(e){super(Po,"keep",!0);this.id=e.id||"";const t=["none","contentArea","pageArea"];this.intact=getStringOption(e.intact,t);this.next=getStringOption(e.next,t);this.previous=getStringOption(e.previous,t);this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null}}class KeyUsage extends XFAObject{constructor(e){super(Po,"keyUsage");const t=["","yes","no"];this.crlSign=getStringOption(e.crlSign,t);this.dataEncipherment=getStringOption(e.dataEncipherment,t);this.decipherOnly=getStringOption(e.decipherOnly,t);this.digitalSignature=getStringOption(e.digitalSignature,t);this.encipherOnly=getStringOption(e.encipherOnly,t);this.id=e.id||"";this.keyAgreement=getStringOption(e.keyAgreement,t);this.keyCertSign=getStringOption(e.keyCertSign,t);this.keyEncipherment=getStringOption(e.keyEncipherment,t);this.nonRepudiation=getStringOption(e.nonRepudiation,t);this.type=getStringOption(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||""}}class Line extends XFAObject{constructor(e){super(Po,"line",!0);this.hand=getStringOption(e.hand,["even","left","right"]);this.id=e.id||"";this.slope=getStringOption(e.slope,["\\","/"]);this.use=e.use||"";this.usehref=e.usehref||"";this.edge=null}[Js](){const e=this[fs]()[fs](),t=this.edge||new Edge({}),a=t[Zs](),r=Object.create(null),i="visible"===t.presence?t.thickness:0;r.strokeWidth=measureToString(i);r.stroke=a.color;let n,s,o,c,l="100%",h="100%";if(e.w<=i){[n,s,o,c]=["50%",0,"50%","100%"];l=r.strokeWidth}else if(e.h<=i){[n,s,o,c]=[0,"50%","100%","50%"];h=r.strokeWidth}else"\\"===this.slope?[n,s,o,c]=[0,0,"100%","100%"]:[n,s,o,c]=[0,"100%","100%",0];const u={name:"svg",children:[{name:"line",attributes:{xmlns:Eo,x1:n,y1:s,x2:o,y2:c,style:r}}],attributes:{xmlns:Eo,width:l,height:h,style:{overflow:"visible"}}};if(hasMargin(e))return HTMLResult.success({name:"div",attributes:{style:{display:"inline",width:"100%",height:"100%"}},children:[u]});u.attributes.style.position="absolute";return HTMLResult.success(u)}}class Linear extends XFAObject{constructor(e){super(Po,"linear",!0);this.id=e.id||"";this.type=getStringOption(e.type,["toRight","toBottom","toLeft","toTop"]);this.use=e.use||"";this.usehref=e.usehref||"";this.color=null;this.extras=null}[Zs](e){e=e?e[Zs]():"#FFFFFF";return`linear-gradient(${this.type.replace(/([RBLT])/," $1").toLowerCase()}, ${e}, ${this.color?this.color[Zs]():"#000000"})`}}class LockDocument extends ContentObject{constructor(e){super(Po,"lockDocument");this.id=e.id||"";this.type=getStringOption(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||""}[Zn](){this[Vn]=getStringOption(this[Vn],["auto","0","1"])}}class Manifest extends XFAObject{constructor(e){super(Po,"manifest",!0);this.action=getStringOption(e.action,["include","all","exclude"]);this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null;this.ref=new XFAObjectArray}}class Margin extends XFAObject{constructor(e){super(Po,"margin",!0);this.bottomInset=getMeasurement(e.bottomInset,"0");this.id=e.id||"";this.leftInset=getMeasurement(e.leftInset,"0");this.rightInset=getMeasurement(e.rightInset,"0");this.topInset=getMeasurement(e.topInset,"0");this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null}[Zs](){return{margin:measureToString(this.topInset)+" "+measureToString(this.rightInset)+" "+measureToString(this.bottomInset)+" "+measureToString(this.leftInset)}}}class Mdp extends XFAObject{constructor(e){super(Po,"mdp");this.id=e.id||"";this.permissions=getInteger({data:e.permissions,defaultValue:2,validate:e=>1===e||3===e});this.signatureType=getStringOption(e.signatureType,["filler","author"]);this.use=e.use||"";this.usehref=e.usehref||""}}class Medium extends XFAObject{constructor(e){super(Po,"medium");this.id=e.id||"";this.imagingBBox=function getBBox(e){const t=-1;if(!e)return{x:t,y:t,width:t,height:t};const a=e.split(",",4).map(e=>getMeasurement(e.trim(),"-1"));if(a.length<4||a[2]<0||a[3]<0)return{x:t,y:t,width:t,height:t};const[r,i,n,s]=a;return{x:r,y:i,width:n,height:s}}(e.imagingBBox);this.long=getMeasurement(e.long);this.orientation=getStringOption(e.orientation,["portrait","landscape"]);this.short=getMeasurement(e.short);this.stock=e.stock||"";this.trayIn=getStringOption(e.trayIn,["auto","delegate","pageFront"]);this.trayOut=getStringOption(e.trayOut,["auto","delegate"]);this.use=e.use||"";this.usehref=e.usehref||""}}class Message extends XFAObject{constructor(e){super(Po,"message",!0);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.text=new XFAObjectArray}}class NumericEdit extends XFAObject{constructor(e){super(Po,"numericEdit",!0);this.hScrollPolicy=getStringOption(e.hScrollPolicy,["auto","off","on"]);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.border=null;this.comb=null;this.extras=null;this.margin=null}[Js](e){const t=toStyle(this,"border","font","margin"),a=this[fs]()[fs](),r={name:"input",attributes:{type:"text",fieldId:a[Qs],dataId:a[Kn]?.[Qs]||a[Qs],class:["xfaTextfield"],style:t,"aria-label":ariaLabel(a),"aria-required":!1}};if(isRequired(a)){r.attributes["aria-required"]=!0;r.attributes.required=!0}return HTMLResult.success({name:"label",attributes:{class:["xfaLabel"]},children:[r]})}}class Occur extends XFAObject{constructor(e){super(Po,"occur",!0);this.id=e.id||"";this.initial=""!==e.initial?getInteger({data:e.initial,defaultValue:"",validate:e=>!0}):"";this.max=""!==e.max?getInteger({data:e.max,defaultValue:-1,validate:e=>!0}):"";this.min=""!==e.min?getInteger({data:e.min,defaultValue:1,validate:e=>!0}):"";this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null}[Hn](){const e=this[fs](),t=this.min;""===this.min&&(this.min=e instanceof PageArea||e instanceof PageSet?0:1);""===this.max&&(this.max=""===t?e instanceof PageArea||e instanceof PageSet?-1:1:this.min);-1!==this.max&&this.max!0});this.name=e.name||"";this.numbered=getInteger({data:e.numbered,defaultValue:1,validate:e=>!0});this.oddOrEven=getStringOption(e.oddOrEven,["any","even","odd"]);this.pagePosition=getStringOption(e.pagePosition,["any","first","last","only","rest"]);this.relevant=getRelevant(e.relevant);this.use=e.use||"";this.usehref=e.usehref||"";this.desc=null;this.extras=null;this.medium=null;this.occur=null;this.area=new XFAObjectArray;this.contentArea=new XFAObjectArray;this.draw=new XFAObjectArray;this.exclGroup=new XFAObjectArray;this.field=new XFAObjectArray;this.subform=new XFAObjectArray}[Ts](){if(!this[Yn]){this[Yn]={numberOfUse:0};return!0}return!this.occur||-1===this.occur.max||this[Yn].numberOfUsee.oddOrEven===t&&e.pagePosition===a);if(r)return r;r=this.pageArea.children.find(e=>"any"===e.oddOrEven&&e.pagePosition===a);if(r)return r;r=this.pageArea.children.find(e=>"any"===e.oddOrEven&&"any"===e.pagePosition);return r||this.pageArea.children[0]}}class Para extends XFAObject{constructor(e){super(Po,"para",!0);this.hAlign=getStringOption(e.hAlign,["left","center","justify","justifyAll","radix","right"]);this.id=e.id||"";this.lineHeight=e.lineHeight?getMeasurement(e.lineHeight,"0pt"):"";this.marginLeft=e.marginLeft?getMeasurement(e.marginLeft,"0pt"):"";this.marginRight=e.marginRight?getMeasurement(e.marginRight,"0pt"):"";this.orphans=getInteger({data:e.orphans,defaultValue:0,validate:e=>e>=0});this.preserve=e.preserve||"";this.radixOffset=e.radixOffset?getMeasurement(e.radixOffset,"0pt"):"";this.spaceAbove=e.spaceAbove?getMeasurement(e.spaceAbove,"0pt"):"";this.spaceBelow=e.spaceBelow?getMeasurement(e.spaceBelow,"0pt"):"";this.tabDefault=e.tabDefault?getMeasurement(this.tabDefault):"";this.tabStops=(e.tabStops||"").trim().split(/\s+/).map((e,t)=>t%2==1?getMeasurement(e):e);this.textIndent=e.textIndent?getMeasurement(e.textIndent,"0pt"):"";this.use=e.use||"";this.usehref=e.usehref||"";this.vAlign=getStringOption(e.vAlign,["top","bottom","middle"]);this.widows=getInteger({data:e.widows,defaultValue:0,validate:e=>e>=0});this.hyphenation=null}[Zs](){const e=toStyle(this,"hAlign");""!==this.marginLeft&&(e.paddingLeft=measureToString(this.marginLeft));""!==this.marginRight&&(e.paddingRight=measureToString(this.marginRight));""!==this.spaceAbove&&(e.paddingTop=measureToString(this.spaceAbove));""!==this.spaceBelow&&(e.paddingBottom=measureToString(this.spaceBelow));if(""!==this.textIndent){e.textIndent=measureToString(this.textIndent);fixTextIndent(e)}this.lineHeight>0&&(e.lineHeight=measureToString(this.lineHeight));""!==this.tabDefault&&(e.tabSize=measureToString(this.tabDefault));this.tabStops.length;this.hyphenatation&&Object.assign(e,this.hyphenatation[Zs]());return e}}class PasswordEdit extends XFAObject{constructor(e){super(Po,"passwordEdit",!0);this.hScrollPolicy=getStringOption(e.hScrollPolicy,["auto","off","on"]);this.id=e.id||"";this.passwordChar=e.passwordChar||"*";this.use=e.use||"";this.usehref=e.usehref||"";this.border=null;this.extras=null;this.margin=null}}class template_Pattern extends XFAObject{constructor(e){super(Po,"pattern",!0);this.id=e.id||"";this.type=getStringOption(e.type,["crossHatch","crossDiagonal","diagonalLeft","diagonalRight","horizontal","vertical"]);this.use=e.use||"";this.usehref=e.usehref||"";this.color=null;this.extras=null}[Zs](e){e=e?e[Zs]():"#FFFFFF";const t=this.color?this.color[Zs]():"#000000",a="repeating-linear-gradient",r=`${e},${e} 5px,${t} 5px,${t} 10px`;switch(this.type){case"crossHatch":return`${a}(to top,${r}) ${a}(to right,${r})`;case"crossDiagonal":return`${a}(45deg,${r}) ${a}(-45deg,${r})`;case"diagonalLeft":return`${a}(45deg,${r})`;case"diagonalRight":return`${a}(-45deg,${r})`;case"horizontal":return`${a}(to top,${r})`;case"vertical":return`${a}(to right,${r})`}return""}}class Picture extends StringObject{constructor(e){super(Po,"picture");this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||""}}class Proto extends XFAObject{constructor(e){super(Po,"proto",!0);this.appearanceFilter=new XFAObjectArray;this.arc=new XFAObjectArray;this.area=new XFAObjectArray;this.assist=new XFAObjectArray;this.barcode=new XFAObjectArray;this.bindItems=new XFAObjectArray;this.bookend=new XFAObjectArray;this.boolean=new XFAObjectArray;this.border=new XFAObjectArray;this.break=new XFAObjectArray;this.breakAfter=new XFAObjectArray;this.breakBefore=new XFAObjectArray;this.button=new XFAObjectArray;this.calculate=new XFAObjectArray;this.caption=new XFAObjectArray;this.certificate=new XFAObjectArray;this.certificates=new XFAObjectArray;this.checkButton=new XFAObjectArray;this.choiceList=new XFAObjectArray;this.color=new XFAObjectArray;this.comb=new XFAObjectArray;this.connect=new XFAObjectArray;this.contentArea=new XFAObjectArray;this.corner=new XFAObjectArray;this.date=new XFAObjectArray;this.dateTime=new XFAObjectArray;this.dateTimeEdit=new XFAObjectArray;this.decimal=new XFAObjectArray;this.defaultUi=new XFAObjectArray;this.desc=new XFAObjectArray;this.digestMethod=new XFAObjectArray;this.digestMethods=new XFAObjectArray;this.draw=new XFAObjectArray;this.edge=new XFAObjectArray;this.encoding=new XFAObjectArray;this.encodings=new XFAObjectArray;this.encrypt=new XFAObjectArray;this.encryptData=new XFAObjectArray;this.encryption=new XFAObjectArray;this.encryptionMethod=new XFAObjectArray;this.encryptionMethods=new XFAObjectArray;this.event=new XFAObjectArray;this.exData=new XFAObjectArray;this.exObject=new XFAObjectArray;this.exclGroup=new XFAObjectArray;this.execute=new XFAObjectArray;this.extras=new XFAObjectArray;this.field=new XFAObjectArray;this.fill=new XFAObjectArray;this.filter=new XFAObjectArray;this.float=new XFAObjectArray;this.font=new XFAObjectArray;this.format=new XFAObjectArray;this.handler=new XFAObjectArray;this.hyphenation=new XFAObjectArray;this.image=new XFAObjectArray;this.imageEdit=new XFAObjectArray;this.integer=new XFAObjectArray;this.issuers=new XFAObjectArray;this.items=new XFAObjectArray;this.keep=new XFAObjectArray;this.keyUsage=new XFAObjectArray;this.line=new XFAObjectArray;this.linear=new XFAObjectArray;this.lockDocument=new XFAObjectArray;this.manifest=new XFAObjectArray;this.margin=new XFAObjectArray;this.mdp=new XFAObjectArray;this.medium=new XFAObjectArray;this.message=new XFAObjectArray;this.numericEdit=new XFAObjectArray;this.occur=new XFAObjectArray;this.oid=new XFAObjectArray;this.oids=new XFAObjectArray;this.overflow=new XFAObjectArray;this.pageArea=new XFAObjectArray;this.pageSet=new XFAObjectArray;this.para=new XFAObjectArray;this.passwordEdit=new XFAObjectArray;this.pattern=new XFAObjectArray;this.picture=new XFAObjectArray;this.radial=new XFAObjectArray;this.reason=new XFAObjectArray;this.reasons=new XFAObjectArray;this.rectangle=new XFAObjectArray;this.ref=new XFAObjectArray;this.script=new XFAObjectArray;this.setProperty=new XFAObjectArray;this.signData=new XFAObjectArray;this.signature=new XFAObjectArray;this.signing=new XFAObjectArray;this.solid=new XFAObjectArray;this.speak=new XFAObjectArray;this.stipple=new XFAObjectArray;this.subform=new XFAObjectArray;this.subformSet=new XFAObjectArray;this.subjectDN=new XFAObjectArray;this.subjectDNs=new XFAObjectArray;this.submit=new XFAObjectArray;this.text=new XFAObjectArray;this.textEdit=new XFAObjectArray;this.time=new XFAObjectArray;this.timeStamp=new XFAObjectArray;this.toolTip=new XFAObjectArray;this.traversal=new XFAObjectArray;this.traverse=new XFAObjectArray;this.ui=new XFAObjectArray;this.validate=new XFAObjectArray;this.value=new XFAObjectArray;this.variables=new XFAObjectArray}}class Radial extends XFAObject{constructor(e){super(Po,"radial",!0);this.id=e.id||"";this.type=getStringOption(e.type,["toEdge","toCenter"]);this.use=e.use||"";this.usehref=e.usehref||"";this.color=null;this.extras=null}[Zs](e){e=e?e[Zs]():"#FFFFFF";const t=this.color?this.color[Zs]():"#000000";return`radial-gradient(circle at center, ${"toEdge"===this.type?`${e},${t}`:`${t},${e}`})`}}class Reason extends StringObject{constructor(e){super(Po,"reason");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}}class Reasons extends XFAObject{constructor(e){super(Po,"reasons",!0);this.id=e.id||"";this.type=getStringOption(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||"";this.reason=new XFAObjectArray}}class Rectangle extends XFAObject{constructor(e){super(Po,"rectangle",!0);this.hand=getStringOption(e.hand,["even","left","right"]);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.corner=new XFAObjectArray(4);this.edge=new XFAObjectArray(4);this.fill=null}[Js](){const e=this.edge.children.length?this.edge.children[0]:new Edge({}),t=e[Zs](),a=Object.create(null);"visible"===this.fill?.presence?Object.assign(a,this.fill[Zs]()):a.fill="transparent";a.strokeWidth=measureToString("visible"===e.presence?e.thickness:0);a.stroke=t.color;const r=(this.corner.children.length?this.corner.children[0]:new Corner({}))[Zs](),i={name:"svg",children:[{name:"rect",attributes:{xmlns:Eo,width:"100%",height:"100%",x:0,y:0,rx:r.radius,ry:r.radius,style:a}}],attributes:{xmlns:Eo,style:{overflow:"visible"},width:"100%",height:"100%"}};if(hasMargin(this[fs]()[fs]()))return HTMLResult.success({name:"div",attributes:{style:{display:"inline",width:"100%",height:"100%"}},children:[i]});i.attributes.style.position="absolute";return HTMLResult.success(i)}}class RefElement extends StringObject{constructor(e){super(Po,"ref");this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||""}}class Script extends StringObject{constructor(e){super(Po,"script");this.binding=e.binding||"";this.contentType=e.contentType||"";this.id=e.id||"";this.name=e.name||"";this.runAt=getStringOption(e.runAt,["client","both","server"]);this.use=e.use||"";this.usehref=e.usehref||""}}class SetProperty extends XFAObject{constructor(e){super(Po,"setProperty");this.connection=e.connection||"";this.ref=e.ref||"";this.target=e.target||""}}class SignData extends XFAObject{constructor(e){super(Po,"signData",!0);this.id=e.id||"";this.operation=getStringOption(e.operation,["sign","clear","verify"]);this.ref=e.ref||"";this.target=e.target||"";this.use=e.use||"";this.usehref=e.usehref||"";this.filter=null;this.manifest=null}}class Signature extends XFAObject{constructor(e){super(Po,"signature",!0);this.id=e.id||"";this.type=getStringOption(e.type,["PDF1.3","PDF1.6"]);this.use=e.use||"";this.usehref=e.usehref||"";this.border=null;this.extras=null;this.filter=null;this.manifest=null;this.margin=null}}class Signing extends XFAObject{constructor(e){super(Po,"signing",!0);this.id=e.id||"";this.type=getStringOption(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||"";this.certificate=new XFAObjectArray}}class Solid extends XFAObject{constructor(e){super(Po,"solid",!0);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null}[Zs](e){return e?e[Zs]():"#FFFFFF"}}class Speak extends StringObject{constructor(e){super(Po,"speak");this.disable=getInteger({data:e.disable,defaultValue:0,validate:e=>1===e});this.id=e.id||"";this.priority=getStringOption(e.priority,["custom","caption","name","toolTip"]);this.rid=e.rid||"";this.use=e.use||"";this.usehref=e.usehref||""}}class Stipple extends XFAObject{constructor(e){super(Po,"stipple",!0);this.id=e.id||"";this.rate=getInteger({data:e.rate,defaultValue:50,validate:e=>e>=0&&e<=100});this.use=e.use||"";this.usehref=e.usehref||"";this.color=null;this.extras=null}[Zs](e){const t=this.rate/100;return Util.makeHexColor(Math.round(e.value.r*(1-t)+this.value.r*t),Math.round(e.value.g*(1-t)+this.value.g*t),Math.round(e.value.b*(1-t)+this.value.b*t))}}class Subform extends XFAObject{constructor(e){super(Po,"subform",!0);this.access=getStringOption(e.access,["open","nonInteractive","protected","readOnly"]);this.allowMacro=getInteger({data:e.allowMacro,defaultValue:0,validate:e=>1===e});this.anchorType=getStringOption(e.anchorType,["topLeft","bottomCenter","bottomLeft","bottomRight","middleCenter","middleLeft","middleRight","topCenter","topRight"]);this.colSpan=getInteger({data:e.colSpan,defaultValue:1,validate:e=>e>=1||-1===e});this.columnWidths=(e.columnWidths||"").trim().split(/\s+/).map(e=>"-1"===e?-1:getMeasurement(e));this.h=e.h?getMeasurement(e.h):"";this.hAlign=getStringOption(e.hAlign,["left","center","justify","justifyAll","radix","right"]);this.id=e.id||"";this.layout=getStringOption(e.layout,["position","lr-tb","rl-row","rl-tb","row","table","tb"]);this.locale=e.locale||"";this.maxH=getMeasurement(e.maxH,"0pt");this.maxW=getMeasurement(e.maxW,"0pt");this.mergeMode=getStringOption(e.mergeMode,["consumeData","matchTemplate"]);this.minH=getMeasurement(e.minH,"0pt");this.minW=getMeasurement(e.minW,"0pt");this.name=e.name||"";this.presence=getStringOption(e.presence,["visible","hidden","inactive","invisible"]);this.relevant=getRelevant(e.relevant);this.restoreState=getStringOption(e.restoreState,["manual","auto"]);this.scope=getStringOption(e.scope,["name","none"]);this.use=e.use||"";this.usehref=e.usehref||"";this.w=e.w?getMeasurement(e.w):"";this.x=getMeasurement(e.x,"0pt");this.y=getMeasurement(e.y,"0pt");this.assist=null;this.bind=null;this.bookend=null;this.border=null;this.break=null;this.calculate=null;this.desc=null;this.extras=null;this.keep=null;this.margin=null;this.occur=null;this.overflow=null;this.pageSet=null;this.para=null;this.traversal=null;this.validate=null;this.variables=null;this.area=new XFAObjectArray;this.breakAfter=new XFAObjectArray;this.breakBefore=new XFAObjectArray;this.connect=new XFAObjectArray;this.draw=new XFAObjectArray;this.event=new XFAObjectArray;this.exObject=new XFAObjectArray;this.exclGroup=new XFAObjectArray;this.field=new XFAObjectArray;this.proto=new XFAObjectArray;this.setProperty=new XFAObjectArray;this.subform=new XFAObjectArray;this.subformSet=new XFAObjectArray}[ds](){const e=this[fs]();return e instanceof SubformSet?e[ds]():e}[xs](){return!0}[Fs](){return this.layout.endsWith("-tb")&&0===this[Yn].attempt&&this[Yn].numberInLine>0||this[fs]()[Fs]()}*[hs](){yield*getContainedChildren(this)}[Qn](){return flushHTML(this)}[jn](e,t){addHTML(this,e,t)}[as](){return getAvailableSpace(this)}[vs](){const e=this[ds]();if(!e[vs]())return!1;if(void 0!==this[Yn]._isSplittable)return this[Yn]._isSplittable;if("position"===this.layout||this.layout.includes("row")){this[Yn]._isSplittable=!1;return!1}if(this.keep&&"none"!==this.keep.intact){this[Yn]._isSplittable=!1;return!1}if(e.layout?.endsWith("-tb")&&0!==e[Yn].numberInLine)return!1;this[Yn]._isSplittable=!0;return!0}[Js](e){setTabIndex(this);if(this.break){if("auto"!==this.break.after||""!==this.break.afterTarget){const e=new BreakAfter({targetType:this.break.after,target:this.break.afterTarget,startNew:this.break.startNew.toString()});e[ps]=this[ps];this[Xn](e);this.breakAfter.push(e)}if("auto"!==this.break.before||""!==this.break.beforeTarget){const e=new BreakBefore({targetType:this.break.before,target:this.break.beforeTarget,startNew:this.break.startNew.toString()});e[ps]=this[ps];this[Xn](e);this.breakBefore.push(e)}if(""!==this.break.overflowTarget){const e=new Overflow({target:this.break.overflowTarget,leader:this.break.overflowLeader,trailer:this.break.overflowTrailer});e[ps]=this[ps];this[Xn](e);this.overflow.push(e)}this[js](this.break);this.break=null}if("hidden"===this.presence||"inactive"===this.presence)return HTMLResult.EMPTY;(this.breakBefore.children.length>1||this.breakAfter.children.length>1)&&warn("XFA - Several breakBefore or breakAfter in subforms: please file a bug.");if(this.breakBefore.children.length>=1){const e=this.breakBefore.children[0];if(handleBreak(e))return HTMLResult.breakNode(e)}if(this[Yn]?.afterBreakAfter)return HTMLResult.EMPTY;fixDimensions(this);const t=[],a={id:this[Qs],class:[]};setAccess(this,a.class);this[Yn]||=Object.create(null);Object.assign(this[Yn],{children:t,line:null,attributes:a,attempt:0,numberInLine:0,availableSpace:{width:Math.min(this.w||1/0,e.width),height:Math.min(this.h||1/0,e.height)},width:0,height:0,prevHeight:0,currentWidth:0});const r=this[gs](),i=r[Yn].noLayoutFailure,n=this[vs]();n||setFirstUnsplittable(this);if(!checkDimensions(this,e))return HTMLResult.FAILURE;const s=new Set(["area","draw","exclGroup","field","subform","subformSet"]);if(this.layout.includes("row")){const e=this[ds]().columnWidths;if(Array.isArray(e)&&e.length>0){this[Yn].columnWidths=e;this[Yn].currentColumn=0}}const o=toStyle(this,"anchorType","dimensions","position","presence","border","margin","hAlign"),c=["xfaSubform"],l=layoutClass(this);l&&c.push(l);a.style=o;a.class=c;this.name&&(a.xfaName=this.name);if(this.overflow){const t=this.overflow[os]();if(t.addLeader){t.addLeader=!1;handleOverflow(this,t.leader,e)}}this[Us]();const h="lr-tb"===this.layout||"rl-tb"===this.layout,u=h?2:1;for(;this[Yn].attempt=1){const e=this.breakAfter.children[0];if(handleBreak(e)){this[Yn].afterBreakAfter=y;return HTMLResult.breakNode(e)}}delete this[Yn];return y}}class SubformSet extends XFAObject{constructor(e){super(Po,"subformSet",!0);this.id=e.id||"";this.name=e.name||"";this.relation=getStringOption(e.relation,["ordered","choice","unordered"]);this.relevant=getRelevant(e.relevant);this.use=e.use||"";this.usehref=e.usehref||"";this.bookend=null;this.break=null;this.desc=null;this.extras=null;this.occur=null;this.overflow=null;this.breakAfter=new XFAObjectArray;this.breakBefore=new XFAObjectArray;this.subform=new XFAObjectArray;this.subformSet=new XFAObjectArray}*[hs](){yield*getContainedChildren(this)}[ds](){let e=this[fs]();for(;!(e instanceof Subform);)e=e[fs]();return e}[xs](){return!0}}class SubjectDN extends ContentObject{constructor(e){super(Po,"subjectDN");this.delimiter=e.delimiter||",";this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}[Zn](){this[Vn]=new Map(this[Vn].split(this.delimiter).map(e=>{(e=e.split("=",2))[0]=e[0].trim();return e}))}}class SubjectDNs extends XFAObject{constructor(e){super(Po,"subjectDNs",!0);this.id=e.id||"";this.type=getStringOption(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||"";this.subjectDN=new XFAObjectArray}}class Submit extends XFAObject{constructor(e){super(Po,"submit",!0);this.embedPDF=getInteger({data:e.embedPDF,defaultValue:0,validate:e=>1===e});this.format=getStringOption(e.format,["xdp","formdata","pdf","urlencoded","xfd","xml"]);this.id=e.id||"";this.target=e.target||"";this.textEncoding=getKeyword({data:e.textEncoding?e.textEncoding.toLowerCase():"",defaultValue:"",validate:e=>["utf-8","big-five","fontspecific","gbk","gb-18030","gb-2312","ksc-5601","none","shift-jis","ucs-2","utf-16"].includes(e)||e.match(/iso-8859-\d{2}/)});this.use=e.use||"";this.usehref=e.usehref||"";this.xdpContent=e.xdpContent||"";this.encrypt=null;this.encryptData=new XFAObjectArray;this.signData=new XFAObjectArray}}class Template extends XFAObject{constructor(e){super(Po,"template",!0);this.baseProfile=getStringOption(e.baseProfile,["full","interactiveForms"]);this.extras=null;this.subform=new XFAObjectArray}[Zn](){0===this.subform.children.length&&warn("XFA - No subforms in template node.");this.subform.children.length>=2&&warn("XFA - Several subforms in template node: please file a bug.");this[zs]=5e3}[vs](){return!0}[Hs](e,t){return e.startsWith("#")?[this[bs].get(e.slice(1))]:searchNode(this,t,e,!0,!0)}*[Ks](){if(!this.subform.children.length)return HTMLResult.success({name:"div",children:[]});this[Yn]={overflowNode:null,firstUnsplittable:null,currentContentArea:null,currentPageArea:null,noLayoutFailure:!1,pageNumber:1,pagePosition:"first",oddOrEven:"odd",blankOrNotBlank:"nonBlank",paraStack:[]};const e=this.subform.children[0];e.pageSet[Wn]();const t=e.pageSet.pageArea.children,a={name:"div",children:[]};let r=null,i=null,n=null;if(e.breakBefore.children.length>=1){i=e.breakBefore.children[0];n=i.target}else if(e.subform.children.length>=1&&e.subform.children[0].breakBefore.children.length>=1){i=e.subform.children[0].breakBefore.children[0];n=i.target}else if(e.break?.beforeTarget){i=e.break;n=i.beforeTarget}else if(e.subform.children.length>=1&&e.subform.children[0].break?.beforeTarget){i=e.subform.children[0].break;n=i.beforeTarget}if(i){const e=this[Hs](n,i[fs]());if(e instanceof PageArea){r=e;i[Yn]={}}}r||=t[0];r[Yn]={numberOfUse:1};const s=r[fs]();s[Yn]={numberOfUse:1,pageIndex:s.pageArea.children.indexOf(r),pageSetIndex:0};let o,c=null,l=null,h=!0,u=0,d=0;for(;;){if(h)u=0;else{a.children.pop();if(3===++u){warn("XFA - Something goes wrong: please file a bug.");return a}}o=null;this[Yn].currentPageArea=r;const t=r[Js]().html;a.children.push(t);if(c){this[Yn].noLayoutFailure=!0;t.children.push(c[Js](r[Yn].space).html);c=null}if(l){this[Yn].noLayoutFailure=!0;t.children.push(l[Js](r[Yn].space).html);l=null}const i=r.contentArea.children,n=t.children.filter(e=>e.attributes.class.includes("xfaContentarea"));h=!1;this[Yn].firstUnsplittable=null;this[Yn].noLayoutFailure=!1;const flush=t=>{const a=e[Qn]();if(a){h||=a.children?.length>0;n[t].children.push(a)}};for(let t=d,r=i.length;t0;n[t].children.push(u.html)}else!h&&a.children.length>1&&a.children.pop();return a}if(u.isBreak()){const e=u.breakNode;flush(t);if("auto"===e.targetType)continue;if(e.leader){c=this[Hs](e.leader,e[fs]());c=c?c[0]:null}if(e.trailer){l=this[Hs](e.trailer,e[fs]());l=l?l[0]:null}if("pageArea"===e.targetType){o=e[Yn].target;t=1/0}else if(e[Yn].target){o=e[Yn].target;d=e[Yn].index+1;t=1/0}else t=e[Yn].index;continue}if(this[Yn].overflowNode){const e=this[Yn].overflowNode;this[Yn].overflowNode=null;const a=e[os](),r=a.target;a.addLeader=null!==a.leader;a.addTrailer=null!==a.trailer;flush(t);const n=t;t=1/0;if(r instanceof PageArea)o=r;else if(r instanceof ContentArea){const e=i.indexOf(r);if(-1!==e)e>n?t=e-1:d=e;else{o=r[fs]();d=o.contentArea.children.indexOf(r)}}continue}flush(t)}this[Yn].pageNumber+=1;o&&(o[Ts]()?o[Yn].numberOfUse+=1:o=null);r=o||r[us]();yield null}}}class Text extends ContentObject{constructor(e){super(Po,"text");this.id=e.id||"";this.maxChars=getInteger({data:e.maxChars,defaultValue:0,validate:e=>e>=0});this.name=e.name||"";this.rid=e.rid||"";this.use=e.use||"";this.usehref=e.usehref||""}[Un](){return!0}[Bs](e){if(e[Ds]===to.xhtml.id){this[Vn]=e;return!0}warn(`XFA - Invalid content in Text: ${e[Ms]}.`);return!1}[Es](e){this[Vn]instanceof XFAObject||super[Es](e)}[Zn](){"string"==typeof this[Vn]&&(this[Vn]=this[Vn].replaceAll("\r\n","\n"))}[os](){return"string"==typeof this[Vn]?this[Vn].split(/[\u2029\u2028\n]/).filter(e=>!!e).join("\n"):this[Vn][Vs]()}[Js](e){if("string"==typeof this[Vn]){const e=valueToHtml(this[Vn]).html;if(this[Vn].includes("\u2029")){e.name="div";e.children=[];this[Vn].split("\u2029").map(e=>e.split(/[\u2028\n]/).flatMap(e=>[{name:"span",value:e},{name:"br"}])).forEach(t=>{e.children.push({name:"p",children:t})})}else if(/[\u2028\n]/.test(this[Vn])){e.name="div";e.children=[];this[Vn].split(/[\u2028\n]/).forEach(t=>{e.children.push({name:"span",value:t},{name:"br"})})}return HTMLResult.success(e)}return this[Vn][Js](e)}}class TextEdit extends XFAObject{constructor(e){super(Po,"textEdit",!0);this.allowRichText=getInteger({data:e.allowRichText,defaultValue:0,validate:e=>1===e});this.hScrollPolicy=getStringOption(e.hScrollPolicy,["auto","off","on"]);this.id=e.id||"";this.multiLine=getInteger({data:e.multiLine,defaultValue:"",validate:e=>0===e||1===e});this.use=e.use||"";this.usehref=e.usehref||"";this.vScrollPolicy=getStringOption(e.vScrollPolicy,["auto","off","on"]);this.border=null;this.comb=null;this.extras=null;this.margin=null}[Js](e){const t=toStyle(this,"border","font","margin");let a;const r=this[fs]()[fs]();""===this.multiLine&&(this.multiLine=r instanceof Draw?1:0);a=1===this.multiLine?{name:"textarea",attributes:{dataId:r[Kn]?.[Qs]||r[Qs],fieldId:r[Qs],class:["xfaTextfield"],style:t,"aria-label":ariaLabel(r),"aria-required":!1}}:{name:"input",attributes:{type:"text",dataId:r[Kn]?.[Qs]||r[Qs],fieldId:r[Qs],class:["xfaTextfield"],style:t,"aria-label":ariaLabel(r),"aria-required":!1}};if(isRequired(r)){a.attributes["aria-required"]=!0;a.attributes.required=!0}return HTMLResult.success({name:"label",attributes:{class:["xfaLabel"]},children:[a]})}}class Time extends StringObject{constructor(e){super(Po,"time");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}[Zn](){const e=this[Vn].trim();this[Vn]=e?new Date(e):null}[Js](e){return valueToHtml(this[Vn]?this[Vn].toString():"")}}class TimeStamp extends XFAObject{constructor(e){super(Po,"timeStamp");this.id=e.id||"";this.server=e.server||"";this.type=getStringOption(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||""}}class ToolTip extends StringObject{constructor(e){super(Po,"toolTip");this.id=e.id||"";this.rid=e.rid||"";this.use=e.use||"";this.usehref=e.usehref||""}}class Traversal extends XFAObject{constructor(e){super(Po,"traversal",!0);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null;this.traverse=new XFAObjectArray}}class Traverse extends XFAObject{constructor(e){super(Po,"traverse",!0);this.id=e.id||"";this.operation=getStringOption(e.operation,["next","back","down","first","left","right","up"]);this.ref=e.ref||"";this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null;this.script=null}get name(){return this.operation}[Is](){return!1}}class Ui extends XFAObject{constructor(e){super(Po,"ui",!0);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null;this.picture=null;this.barcode=null;this.button=null;this.checkButton=null;this.choiceList=null;this.dateTimeEdit=null;this.defaultUi=null;this.imageEdit=null;this.numericEdit=null;this.passwordEdit=null;this.signature=null;this.textEdit=null}[os](){if(void 0===this[Yn]){for(const e of Object.getOwnPropertyNames(this)){if("extras"===e||"picture"===e)continue;const t=this[e];if(t instanceof XFAObject){this[Yn]=t;return t}}this[Yn]=null}return this[Yn]}[Js](e){const t=this[os]();return t?t[Js](e):HTMLResult.EMPTY}}class Validate extends XFAObject{constructor(e){super(Po,"validate",!0);this.formatTest=getStringOption(e.formatTest,["warning","disabled","error"]);this.id=e.id||"";this.nullTest=getStringOption(e.nullTest,["disabled","error","warning"]);this.scriptTest=getStringOption(e.scriptTest,["error","disabled","warning"]);this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null;this.message=null;this.picture=null;this.script=null}}class Value extends XFAObject{constructor(e){super(Po,"value",!0);this.id=e.id||"";this.override=getInteger({data:e.override,defaultValue:0,validate:e=>1===e});this.relevant=getRelevant(e.relevant);this.use=e.use||"";this.usehref=e.usehref||"";this.arc=null;this.boolean=null;this.date=null;this.dateTime=null;this.decimal=null;this.exData=null;this.float=null;this.image=null;this.integer=null;this.line=null;this.rectangle=null;this.text=null;this.time=null}[$s](e){const t=this[fs]();if(t instanceof Field&&t.ui?.imageEdit){if(!this.image){this.image=new Image({});this[Xn](this.image)}this.image[Vn]=e[Vn];return}const a=e[Ms];if(null===this[a]){for(const e of Object.getOwnPropertyNames(this)){const t=this[e];if(t instanceof XFAObject){this[e]=null;this[js](t)}}this[e[Ms]]=e;this[Xn](e)}else this[a][Vn]=e[Vn]}[Vs](){if(this.exData)return"string"==typeof this.exData[Vn]?this.exData[Vn].trim():this.exData[Vn][Vs]().trim();for(const e of Object.getOwnPropertyNames(this)){if("image"===e)continue;const t=this[e];if(t instanceof XFAObject)return(t[Vn]||"").toString().trim()}return null}[Js](e){for(const t of Object.getOwnPropertyNames(this)){const a=this[t];if(a instanceof XFAObject)return a[Js](e)}return HTMLResult.EMPTY}}class Variables extends XFAObject{constructor(e){super(Po,"variables",!0);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.boolean=new XFAObjectArray;this.date=new XFAObjectArray;this.dateTime=new XFAObjectArray;this.decimal=new XFAObjectArray;this.exData=new XFAObjectArray;this.float=new XFAObjectArray;this.image=new XFAObjectArray;this.integer=new XFAObjectArray;this.manifest=new XFAObjectArray;this.script=new XFAObjectArray;this.text=new XFAObjectArray;this.time=new XFAObjectArray}[Is](){return!0}}class TemplateNamespace{static[eo](e,t){if(TemplateNamespace.hasOwnProperty(e)){const a=TemplateNamespace[e](t);a[Gs](t);return a}}static appearanceFilter(e){return new AppearanceFilter(e)}static arc(e){return new Arc(e)}static area(e){return new Area(e)}static assist(e){return new Assist(e)}static barcode(e){return new Barcode(e)}static bind(e){return new Bind(e)}static bindItems(e){return new BindItems(e)}static bookend(e){return new Bookend(e)}static boolean(e){return new BooleanElement(e)}static border(e){return new Border(e)}static break(e){return new Break(e)}static breakAfter(e){return new BreakAfter(e)}static breakBefore(e){return new BreakBefore(e)}static button(e){return new Button(e)}static calculate(e){return new Calculate(e)}static caption(e){return new Caption(e)}static certificate(e){return new Certificate(e)}static certificates(e){return new Certificates(e)}static checkButton(e){return new CheckButton(e)}static choiceList(e){return new ChoiceList(e)}static color(e){return new Color(e)}static comb(e){return new Comb(e)}static connect(e){return new Connect(e)}static contentArea(e){return new ContentArea(e)}static corner(e){return new Corner(e)}static date(e){return new DateElement(e)}static dateTime(e){return new DateTime(e)}static dateTimeEdit(e){return new DateTimeEdit(e)}static decimal(e){return new Decimal(e)}static defaultUi(e){return new DefaultUi(e)}static desc(e){return new Desc(e)}static digestMethod(e){return new DigestMethod(e)}static digestMethods(e){return new DigestMethods(e)}static draw(e){return new Draw(e)}static edge(e){return new Edge(e)}static encoding(e){return new Encoding(e)}static encodings(e){return new Encodings(e)}static encrypt(e){return new Encrypt(e)}static encryptData(e){return new EncryptData(e)}static encryption(e){return new Encryption(e)}static encryptionMethod(e){return new EncryptionMethod(e)}static encryptionMethods(e){return new EncryptionMethods(e)}static event(e){return new Event(e)}static exData(e){return new ExData(e)}static exObject(e){return new ExObject(e)}static exclGroup(e){return new ExclGroup(e)}static execute(e){return new Execute(e)}static extras(e){return new Extras(e)}static field(e){return new Field(e)}static fill(e){return new Fill(e)}static filter(e){return new Filter(e)}static float(e){return new Float(e)}static font(e){return new template_Font(e)}static format(e){return new Format(e)}static handler(e){return new Handler(e)}static hyphenation(e){return new Hyphenation(e)}static image(e){return new Image(e)}static imageEdit(e){return new ImageEdit(e)}static integer(e){return new Integer(e)}static issuers(e){return new Issuers(e)}static items(e){return new Items(e)}static keep(e){return new Keep(e)}static keyUsage(e){return new KeyUsage(e)}static line(e){return new Line(e)}static linear(e){return new Linear(e)}static lockDocument(e){return new LockDocument(e)}static manifest(e){return new Manifest(e)}static margin(e){return new Margin(e)}static mdp(e){return new Mdp(e)}static medium(e){return new Medium(e)}static message(e){return new Message(e)}static numericEdit(e){return new NumericEdit(e)}static occur(e){return new Occur(e)}static oid(e){return new Oid(e)}static oids(e){return new Oids(e)}static overflow(e){return new Overflow(e)}static pageArea(e){return new PageArea(e)}static pageSet(e){return new PageSet(e)}static para(e){return new Para(e)}static passwordEdit(e){return new PasswordEdit(e)}static pattern(e){return new template_Pattern(e)}static picture(e){return new Picture(e)}static proto(e){return new Proto(e)}static radial(e){return new Radial(e)}static reason(e){return new Reason(e)}static reasons(e){return new Reasons(e)}static rectangle(e){return new Rectangle(e)}static ref(e){return new RefElement(e)}static script(e){return new Script(e)}static setProperty(e){return new SetProperty(e)}static signData(e){return new SignData(e)}static signature(e){return new Signature(e)}static signing(e){return new Signing(e)}static solid(e){return new Solid(e)}static speak(e){return new Speak(e)}static stipple(e){return new Stipple(e)}static subform(e){return new Subform(e)}static subformSet(e){return new SubformSet(e)}static subjectDN(e){return new SubjectDN(e)}static subjectDNs(e){return new SubjectDNs(e)}static submit(e){return new Submit(e)}static template(e){return new Template(e)}static text(e){return new Text(e)}static textEdit(e){return new TextEdit(e)}static time(e){return new Time(e)}static timeStamp(e){return new TimeStamp(e)}static toolTip(e){return new ToolTip(e)}static traversal(e){return new Traversal(e)}static traverse(e){return new Traverse(e)}static ui(e){return new Ui(e)}static validate(e){return new Validate(e)}static value(e){return new Value(e)}static variables(e){return new Variables(e)}}const jo=to.datasets.id;function createText(e){const t=new Text({});t[Vn]=e;return t}class Binder{constructor(e){this.root=e;this.datasets=e.datasets;this.data=e.datasets?.data||new XmlObject(to.datasets.id,"data");this.emptyMerge=0===this.data[ls]().length;this.root.form=this.form=e.template[$n]()}_isConsumeData(){return!this.emptyMerge&&this._mergeMode}_isMatchTemplate(){return!this._isConsumeData()}bind(){this._bindElement(this.form,this.data);return this.form}getData(){return this.data}_bindValue(e,t,a){e[Kn]=t;if(e[ms]())if(t[As]()){const a=t[ss]();e[$s](createText(a))}else if(e instanceof Field&&"multiSelect"===e.ui?.choiceList?.open){const a=t[ls]().map(e=>e[Vn].trim()).join("\n");e[$s](createText(a))}else this._isConsumeData()&&warn("XFA - Nodes haven't the same type.");else!t[As]()||this._isMatchTemplate()?this._bindElement(e,t):warn("XFA - Nodes haven't the same type.")}_findDataByNameToConsume(e,t,a,r){if(!e)return null;let i,n;for(let r=0;r<3;r++){i=a[cs](e,!1,!0);for(;;){n=i.next().value;if(!n)break;if(t===n[As]())return n}if(a[Ds]===to.datasets.id&&"data"===a[Ms])break;a=a[fs]()}if(!r)return null;i=this.data[cs](e,!0,!1);n=i.next().value;if(n)return n;i=this.data[es](e,!0);n=i.next().value;return n?.[As]()?n:null}_setProperties(e,t){if(e.hasOwnProperty("setProperty"))for(const{ref:a,target:r,connection:i}of e.setProperty.children){if(i)continue;if(!a)continue;const n=searchNode(this.root,t,a,!1,!1);if(!n){warn(`XFA - Invalid reference: ${a}.`);continue}const[s]=n;if(!s[ks](this.data)){warn("XFA - Invalid node: must be a data node.");continue}const o=searchNode(this.root,e,r,!1,!1);if(!o){warn(`XFA - Invalid target: ${r}.`);continue}const[c]=o;if(!c[ks](e)){warn("XFA - Invalid target: must be a property or subproperty.");continue}const l=c[fs]();if(c instanceof SetProperty||l instanceof SetProperty){warn("XFA - Invalid target: cannot be a setProperty or one of its properties.");continue}if(c instanceof BindItems||l instanceof BindItems){warn("XFA - Invalid target: cannot be a bindItems or one of its properties.");continue}const h=s[Vs](),u=c[Ms];if(c instanceof XFAAttribute){const e=Object.create(null);e[u]=h;const t=Reflect.construct(Object.getPrototypeOf(l).constructor,[e]);l[u]=t[u];continue}if(c.hasOwnProperty(Vn)){c[Kn]=s;c[Vn]=h;c[Zn]()}else warn("XFA - Invalid node to use in setProperty")}}_bindItems(e,t){if(!e.hasOwnProperty("items")||!e.hasOwnProperty("bindItems")||e.bindItems.isEmpty())return;for(const t of e.items.children)e[js](t);e.items.clear();const a=new Items({}),r=new Items({});e[Xn](a);e.items.push(a);e[Xn](r);e.items.push(r);for(const{ref:i,labelRef:n,valueRef:s,connection:o}of e.bindItems.children){if(o)continue;if(!i)continue;const e=searchNode(this.root,t,i,!1,!1);if(e)for(const t of e){if(!t[ks](this.datasets)){warn(`XFA - Invalid ref (${i}): must be a datasets child.`);continue}const e=searchNode(this.root,t,n,!0,!1);if(!e){warn(`XFA - Invalid label: ${n}.`);continue}const[o]=e;if(!o[ks](this.datasets)){warn("XFA - Invalid label: must be a datasets child.");continue}const c=searchNode(this.root,t,s,!0,!1);if(!c){warn(`XFA - Invalid value: ${s}.`);continue}const[l]=c;if(!l[ks](this.datasets)){warn("XFA - Invalid value: must be a datasets child.");continue}const h=createText(o[Vs]()),u=createText(l[Vs]());a[Xn](h);a.text.push(h);r[Xn](u);r.text.push(u)}else warn(`XFA - Invalid reference: ${i}.`)}}_bindOccurrences(e,t,a){let r;if(t.length>1){r=e[$n]();r[js](r.occur);r.occur=null}this._bindValue(e,t[0],a);this._setProperties(e,t[0]);this._bindItems(e,t[0]);if(1===t.length)return;const i=e[fs](),n=e[Ms],s=i[ys](e);for(let e=1,o=t.length;et.name===e.name).length:a[r].children.length;const n=a[ys](e)+1,s=t.initial-i;if(s){const t=e[$n]();t[js](t.occur);t.occur=null;a[r].push(t);a[ws](n,t);for(let e=1;e0)this._bindOccurrences(r,[e[0]],null);else if(this.emptyMerge){const e=t[Ds]===jo?-1:t[Ds],a=r[Kn]=new XmlObject(e,r.name||"root");t[Xn](a);this._bindElement(r,a)}continue}if(!r[xs]())continue;let e=!1,i=null,n=null,s=null;if(r.bind){switch(r.bind.match){case"none":this._setAndBind(r,t);continue;case"global":e=!0;break;case"dataRef":if(!r.bind.ref){warn(`XFA - ref is empty in node ${r[Ms]}.`);this._setAndBind(r,t);continue}n=r.bind.ref}r.bind.picture&&(i=r.bind.picture[Vn])}const[o,c]=this._getOccurInfo(r);if(n){s=searchNode(this.root,t,n,!0,!1);if(null===s){s=createDataNode(this.data,t,n);if(!s)continue;this._isConsumeData()&&(s[zn]=!0);this._setAndBind(r,s);continue}this._isConsumeData()&&(s=s.filter(e=>!e[zn]));s.length>c?s=s.slice(0,c):0===s.length&&(s=null);s&&this._isConsumeData()&&s.forEach(e=>{e[zn]=!0})}else{if(!r.name){this._setAndBind(r,t);continue}if(this._isConsumeData()){const a=[];for(;a.length0?a:null}else{s=t[cs](r.name,!1,this.emptyMerge).next().value;if(!s){if(0===o){a.push(r);continue}const e=t[Ds]===jo?-1:t[Ds];s=r[Kn]=new XmlObject(e,r.name);this.emptyMerge&&(s[zn]=!0);t[Xn](s);this._setAndBind(r,s);continue}this.emptyMerge&&(s[zn]=!0);s=[s]}}s?this._bindOccurrences(r,s,i):o>0?this._setAndBind(r,t):a.push(r)}a.forEach(e=>e[fs]()[js](e))}}class DataHandler{constructor(e,t){this.data=t;this.dataset=e.datasets||null}serialize(e){const t=[[-1,this.data[ls]()]];for(;t.length>0;){const a=t.at(-1),[r,i]=a;if(r+1===i.length){t.pop();continue}const n=i[++a[0]],s=e.get(n[Qs]);if(s)n[$s](s);else{const t=n[ts]();for(const a of t.values()){const t=e.get(a[Qs]);if(t){a[$s](t);break}}}const o=n[ls]();o.length>0&&t.push([-1,o])}const a=[''];if(this.dataset)for(const e of this.dataset[ls]())"data"!==e[Ms]&&e[Ys](a);this.data[Ys](a);a.push("");return a.join("")}}const Xo=to.config.id;class Acrobat extends XFAObject{constructor(e){super(Xo,"acrobat",!0);this.acrobat7=null;this.autoSave=null;this.common=null;this.validate=null;this.validateApprovalSignatures=null;this.submitUrl=new XFAObjectArray}}class Acrobat7 extends XFAObject{constructor(e){super(Xo,"acrobat7",!0);this.dynamicRender=null}}class ADBE_JSConsole extends OptionObject{constructor(e){super(Xo,"ADBE_JSConsole",["delegate","Enable","Disable"])}}class ADBE_JSDebugger extends OptionObject{constructor(e){super(Xo,"ADBE_JSDebugger",["delegate","Enable","Disable"])}}class AddSilentPrint extends Option01{constructor(e){super(Xo,"addSilentPrint")}}class AddViewerPreferences extends Option01{constructor(e){super(Xo,"addViewerPreferences")}}class AdjustData extends Option10{constructor(e){super(Xo,"adjustData")}}class AdobeExtensionLevel extends IntegerObject{constructor(e){super(Xo,"adobeExtensionLevel",0,e=>e>=1&&e<=8)}}class Agent extends XFAObject{constructor(e){super(Xo,"agent",!0);this.name=e.name?e.name.trim():"";this.common=new XFAObjectArray}}class AlwaysEmbed extends ContentObject{constructor(e){super(Xo,"alwaysEmbed")}}class Amd extends StringObject{constructor(e){super(Xo,"amd")}}class config_Area extends XFAObject{constructor(e){super(Xo,"area");this.level=getInteger({data:e.level,defaultValue:0,validate:e=>e>=1&&e<=3});this.name=getStringOption(e.name,["","barcode","coreinit","deviceDriver","font","general","layout","merge","script","signature","sourceSet","templateCache"])}}class Attributes extends OptionObject{constructor(e){super(Xo,"attributes",["preserve","delegate","ignore"])}}class AutoSave extends OptionObject{constructor(e){super(Xo,"autoSave",["disabled","enabled"])}}class Base extends StringObject{constructor(e){super(Xo,"base")}}class BatchOutput extends XFAObject{constructor(e){super(Xo,"batchOutput");this.format=getStringOption(e.format,["none","concat","zip","zipCompress"])}}class BehaviorOverride extends ContentObject{constructor(e){super(Xo,"behaviorOverride")}[Zn](){this[Vn]=new Map(this[Vn].trim().split(/\s+/).filter(e=>e.includes(":")).map(e=>e.split(":",2)))}}class Cache extends XFAObject{constructor(e){super(Xo,"cache",!0);this.templateCache=null}}class Change extends Option01{constructor(e){super(Xo,"change")}}class Common extends XFAObject{constructor(e){super(Xo,"common",!0);this.data=null;this.locale=null;this.localeSet=null;this.messaging=null;this.suppressBanner=null;this.template=null;this.validationMessaging=null;this.versionControl=null;this.log=new XFAObjectArray}}class Compress extends XFAObject{constructor(e){super(Xo,"compress");this.scope=getStringOption(e.scope,["imageOnly","document"])}}class CompressLogicalStructure extends Option01{constructor(e){super(Xo,"compressLogicalStructure")}}class CompressObjectStream extends Option10{constructor(e){super(Xo,"compressObjectStream")}}class Compression extends XFAObject{constructor(e){super(Xo,"compression",!0);this.compressLogicalStructure=null;this.compressObjectStream=null;this.level=null;this.type=null}}class Config extends XFAObject{constructor(e){super(Xo,"config",!0);this.acrobat=null;this.present=null;this.trace=null;this.agent=new XFAObjectArray}}class Conformance extends OptionObject{constructor(e){super(Xo,"conformance",["A","B"])}}class ContentCopy extends Option01{constructor(e){super(Xo,"contentCopy")}}class Copies extends IntegerObject{constructor(e){super(Xo,"copies",1,e=>e>=1)}}class Creator extends StringObject{constructor(e){super(Xo,"creator")}}class CurrentPage extends IntegerObject{constructor(e){super(Xo,"currentPage",0,e=>e>=0)}}class Data extends XFAObject{constructor(e){super(Xo,"data",!0);this.adjustData=null;this.attributes=null;this.incrementalLoad=null;this.outputXSL=null;this.range=null;this.record=null;this.startNode=null;this.uri=null;this.window=null;this.xsl=null;this.excludeNS=new XFAObjectArray;this.transform=new XFAObjectArray}}class Debug extends XFAObject{constructor(e){super(Xo,"debug",!0);this.uri=null}}class DefaultTypeface extends ContentObject{constructor(e){super(Xo,"defaultTypeface");this.writingScript=getStringOption(e.writingScript,["*","Arabic","Cyrillic","EastEuropeanRoman","Greek","Hebrew","Japanese","Korean","Roman","SimplifiedChinese","Thai","TraditionalChinese","Vietnamese"])}}class Destination extends OptionObject{constructor(e){super(Xo,"destination",["pdf","pcl","ps","webClient","zpl"])}}class DocumentAssembly extends Option01{constructor(e){super(Xo,"documentAssembly")}}class Driver extends XFAObject{constructor(e){super(Xo,"driver",!0);this.name=e.name?e.name.trim():"";this.fontInfo=null;this.xdc=null}}class DuplexOption extends OptionObject{constructor(e){super(Xo,"duplexOption",["simplex","duplexFlipLongEdge","duplexFlipShortEdge"])}}class DynamicRender extends OptionObject{constructor(e){super(Xo,"dynamicRender",["forbidden","required"])}}class Embed extends Option01{constructor(e){super(Xo,"embed")}}class config_Encrypt extends Option01{constructor(e){super(Xo,"encrypt")}}class config_Encryption extends XFAObject{constructor(e){super(Xo,"encryption",!0);this.encrypt=null;this.encryptionLevel=null;this.permissions=null}}class EncryptionLevel extends OptionObject{constructor(e){super(Xo,"encryptionLevel",["40bit","128bit"])}}class Enforce extends StringObject{constructor(e){super(Xo,"enforce")}}class Equate extends XFAObject{constructor(e){super(Xo,"equate");this.force=getInteger({data:e.force,defaultValue:1,validate:e=>0===e});this.from=e.from||"";this.to=e.to||""}}class EquateRange extends XFAObject{constructor(e){super(Xo,"equateRange");this.from=e.from||"";this.to=e.to||"";this._unicodeRange=e.unicodeRange||""}get unicodeRange(){const e=[],t=/U\+([0-9a-fA-F]+)/,a=this._unicodeRange;for(let r of a.split(",").map(e=>e.trim()).filter(e=>!!e)){r=r.split("-",2).map(e=>{const a=e.match(t);return a?parseInt(a[1],16):0});1===r.length&&r.push(r[0]);e.push(r)}return shadow(this,"unicodeRange",e)}}class Exclude extends ContentObject{constructor(e){super(Xo,"exclude")}[Zn](){this[Vn]=this[Vn].trim().split(/\s+/).filter(e=>e&&["calculate","close","enter","exit","initialize","ready","validate"].includes(e))}}class ExcludeNS extends StringObject{constructor(e){super(Xo,"excludeNS")}}class FlipLabel extends OptionObject{constructor(e){super(Xo,"flipLabel",["usePrinterSetting","on","off"])}}class config_FontInfo extends XFAObject{constructor(e){super(Xo,"fontInfo",!0);this.embed=null;this.map=null;this.subsetBelow=null;this.alwaysEmbed=new XFAObjectArray;this.defaultTypeface=new XFAObjectArray;this.neverEmbed=new XFAObjectArray}}class FormFieldFilling extends Option01{constructor(e){super(Xo,"formFieldFilling")}}class GroupParent extends StringObject{constructor(e){super(Xo,"groupParent")}}class IfEmpty extends OptionObject{constructor(e){super(Xo,"ifEmpty",["dataValue","dataGroup","ignore","remove"])}}class IncludeXDPContent extends StringObject{constructor(e){super(Xo,"includeXDPContent")}}class IncrementalLoad extends OptionObject{constructor(e){super(Xo,"incrementalLoad",["none","forwardOnly"])}}class IncrementalMerge extends Option01{constructor(e){super(Xo,"incrementalMerge")}}class Interactive extends Option01{constructor(e){super(Xo,"interactive")}}class Jog extends OptionObject{constructor(e){super(Xo,"jog",["usePrinterSetting","none","pageSet"])}}class LabelPrinter extends XFAObject{constructor(e){super(Xo,"labelPrinter",!0);this.name=getStringOption(e.name,["zpl","dpl","ipl","tcpl"]);this.batchOutput=null;this.flipLabel=null;this.fontInfo=null;this.xdc=null}}class Layout extends OptionObject{constructor(e){super(Xo,"layout",["paginate","panel"])}}class Level extends IntegerObject{constructor(e){super(Xo,"level",0,e=>e>0)}}class Linearized extends Option01{constructor(e){super(Xo,"linearized")}}class Locale extends StringObject{constructor(e){super(Xo,"locale")}}class LocaleSet extends StringObject{constructor(e){super(Xo,"localeSet")}}class Log extends XFAObject{constructor(e){super(Xo,"log",!0);this.mode=null;this.threshold=null;this.to=null;this.uri=null}}class MapElement extends XFAObject{constructor(e){super(Xo,"map",!0);this.equate=new XFAObjectArray;this.equateRange=new XFAObjectArray}}class MediumInfo extends XFAObject{constructor(e){super(Xo,"mediumInfo",!0);this.map=null}}class config_Message extends XFAObject{constructor(e){super(Xo,"message",!0);this.msgId=null;this.severity=null}}class Messaging extends XFAObject{constructor(e){super(Xo,"messaging",!0);this.message=new XFAObjectArray}}class Mode extends OptionObject{constructor(e){super(Xo,"mode",["append","overwrite"])}}class ModifyAnnots extends Option01{constructor(e){super(Xo,"modifyAnnots")}}class MsgId extends IntegerObject{constructor(e){super(Xo,"msgId",1,e=>e>=1)}}class NameAttr extends StringObject{constructor(e){super(Xo,"nameAttr")}}class NeverEmbed extends ContentObject{constructor(e){super(Xo,"neverEmbed")}}class NumberOfCopies extends IntegerObject{constructor(e){super(Xo,"numberOfCopies",null,e=>e>=2&&e<=5)}}class OpenAction extends XFAObject{constructor(e){super(Xo,"openAction",!0);this.destination=null}}class Output extends XFAObject{constructor(e){super(Xo,"output",!0);this.to=null;this.type=null;this.uri=null}}class OutputBin extends StringObject{constructor(e){super(Xo,"outputBin")}}class OutputXSL extends XFAObject{constructor(e){super(Xo,"outputXSL",!0);this.uri=null}}class Overprint extends OptionObject{constructor(e){super(Xo,"overprint",["none","both","draw","field"])}}class Packets extends StringObject{constructor(e){super(Xo,"packets")}[Zn](){"*"!==this[Vn]&&(this[Vn]=this[Vn].trim().split(/\s+/).filter(e=>["config","datasets","template","xfdf","xslt"].includes(e)))}}class PageOffset extends XFAObject{constructor(e){super(Xo,"pageOffset");this.x=getInteger({data:e.x,defaultValue:"useXDCSetting",validate:e=>!0});this.y=getInteger({data:e.y,defaultValue:"useXDCSetting",validate:e=>!0})}}class PageRange extends StringObject{constructor(e){super(Xo,"pageRange")}[Zn](){const e=this[Vn].trim().split(/\s+/).map(e=>parseInt(e,10)),t=[];for(let a=0,r=e.length;a!1)}}class Pcl extends XFAObject{constructor(e){super(Xo,"pcl",!0);this.name=e.name||"";this.batchOutput=null;this.fontInfo=null;this.jog=null;this.mediumInfo=null;this.outputBin=null;this.pageOffset=null;this.staple=null;this.xdc=null}}class Pdf extends XFAObject{constructor(e){super(Xo,"pdf",!0);this.name=e.name||"";this.adobeExtensionLevel=null;this.batchOutput=null;this.compression=null;this.creator=null;this.encryption=null;this.fontInfo=null;this.interactive=null;this.linearized=null;this.openAction=null;this.pdfa=null;this.producer=null;this.renderPolicy=null;this.scriptModel=null;this.silentPrint=null;this.submitFormat=null;this.tagged=null;this.version=null;this.viewerPreferences=null;this.xdc=null}}class Pdfa extends XFAObject{constructor(e){super(Xo,"pdfa",!0);this.amd=null;this.conformance=null;this.includeXDPContent=null;this.part=null}}class Permissions extends XFAObject{constructor(e){super(Xo,"permissions",!0);this.accessibleContent=null;this.change=null;this.contentCopy=null;this.documentAssembly=null;this.formFieldFilling=null;this.modifyAnnots=null;this.plaintextMetadata=null;this.print=null;this.printHighQuality=null}}class PickTrayByPDFSize extends Option01{constructor(e){super(Xo,"pickTrayByPDFSize")}}class config_Picture extends StringObject{constructor(e){super(Xo,"picture")}}class PlaintextMetadata extends Option01{constructor(e){super(Xo,"plaintextMetadata")}}class Presence extends OptionObject{constructor(e){super(Xo,"presence",["preserve","dissolve","dissolveStructure","ignore","remove"])}}class Present extends XFAObject{constructor(e){super(Xo,"present",!0);this.behaviorOverride=null;this.cache=null;this.common=null;this.copies=null;this.destination=null;this.incrementalMerge=null;this.layout=null;this.output=null;this.overprint=null;this.pagination=null;this.paginationOverride=null;this.script=null;this.validate=null;this.xdp=null;this.driver=new XFAObjectArray;this.labelPrinter=new XFAObjectArray;this.pcl=new XFAObjectArray;this.pdf=new XFAObjectArray;this.ps=new XFAObjectArray;this.submitUrl=new XFAObjectArray;this.webClient=new XFAObjectArray;this.zpl=new XFAObjectArray}}class Print extends Option01{constructor(e){super(Xo,"print")}}class PrintHighQuality extends Option01{constructor(e){super(Xo,"printHighQuality")}}class PrintScaling extends OptionObject{constructor(e){super(Xo,"printScaling",["appdefault","noScaling"])}}class PrinterName extends StringObject{constructor(e){super(Xo,"printerName")}}class Producer extends StringObject{constructor(e){super(Xo,"producer")}}class Ps extends XFAObject{constructor(e){super(Xo,"ps",!0);this.name=e.name||"";this.batchOutput=null;this.fontInfo=null;this.jog=null;this.mediumInfo=null;this.outputBin=null;this.staple=null;this.xdc=null}}class Range extends ContentObject{constructor(e){super(Xo,"range")}[Zn](){this[Vn]=this[Vn].split(",",2).map(e=>e.split("-").map(e=>parseInt(e.trim(),10))).filter(e=>e.every(e=>!isNaN(e))).map(e=>{1===e.length&&e.push(e[0]);return e})}}class Record extends ContentObject{constructor(e){super(Xo,"record")}[Zn](){this[Vn]=this[Vn].trim();const e=parseInt(this[Vn],10);!isNaN(e)&&e>=0&&(this[Vn]=e)}}class Relevant extends ContentObject{constructor(e){super(Xo,"relevant")}[Zn](){this[Vn]=this[Vn].trim().split(/\s+/)}}class Rename extends ContentObject{constructor(e){super(Xo,"rename")}[Zn](){this[Vn]=this[Vn].trim();(this[Vn].toLowerCase().startsWith("xml")||new RegExp("[\\p{L}_][\\p{L}\\d._\\p{M}-]*","u").test(this[Vn]))&&warn("XFA - Rename: invalid XFA name")}}class RenderPolicy extends OptionObject{constructor(e){super(Xo,"renderPolicy",["server","client"])}}class RunScripts extends OptionObject{constructor(e){super(Xo,"runScripts",["both","client","none","server"])}}class config_Script extends XFAObject{constructor(e){super(Xo,"script",!0);this.currentPage=null;this.exclude=null;this.runScripts=null}}class ScriptModel extends OptionObject{constructor(e){super(Xo,"scriptModel",["XFA","none"])}}class Severity extends OptionObject{constructor(e){super(Xo,"severity",["ignore","error","information","trace","warning"])}}class SilentPrint extends XFAObject{constructor(e){super(Xo,"silentPrint",!0);this.addSilentPrint=null;this.printerName=null}}class Staple extends XFAObject{constructor(e){super(Xo,"staple");this.mode=getStringOption(e.mode,["usePrinterSetting","on","off"])}}class StartNode extends StringObject{constructor(e){super(Xo,"startNode")}}class StartPage extends IntegerObject{constructor(e){super(Xo,"startPage",0,e=>!0)}}class SubmitFormat extends OptionObject{constructor(e){super(Xo,"submitFormat",["html","delegate","fdf","xml","pdf"])}}class SubmitUrl extends StringObject{constructor(e){super(Xo,"submitUrl")}}class SubsetBelow extends IntegerObject{constructor(e){super(Xo,"subsetBelow",100,e=>e>=0&&e<=100)}}class SuppressBanner extends Option01{constructor(e){super(Xo,"suppressBanner")}}class Tagged extends Option01{constructor(e){super(Xo,"tagged")}}class config_Template extends XFAObject{constructor(e){super(Xo,"template",!0);this.base=null;this.relevant=null;this.startPage=null;this.uri=null;this.xsl=null}}class Threshold extends OptionObject{constructor(e){super(Xo,"threshold",["trace","error","information","warning"])}}class To extends OptionObject{constructor(e){super(Xo,"to",["null","memory","stderr","stdout","system","uri"])}}class TemplateCache extends XFAObject{constructor(e){super(Xo,"templateCache");this.maxEntries=getInteger({data:e.maxEntries,defaultValue:5,validate:e=>e>=0})}}class Trace extends XFAObject{constructor(e){super(Xo,"trace",!0);this.area=new XFAObjectArray}}class Transform extends XFAObject{constructor(e){super(Xo,"transform",!0);this.groupParent=null;this.ifEmpty=null;this.nameAttr=null;this.picture=null;this.presence=null;this.rename=null;this.whitespace=null}}class Type extends OptionObject{constructor(e){super(Xo,"type",["none","ascii85","asciiHex","ccittfax","flate","lzw","runLength","native","xdp","mergedXDP"])}}class Uri extends StringObject{constructor(e){super(Xo,"uri")}}class config_Validate extends OptionObject{constructor(e){super(Xo,"validate",["preSubmit","prePrint","preExecute","preSave"])}}class ValidateApprovalSignatures extends ContentObject{constructor(e){super(Xo,"validateApprovalSignatures")}[Zn](){this[Vn]=this[Vn].trim().split(/\s+/).filter(e=>["docReady","postSign"].includes(e))}}class ValidationMessaging extends OptionObject{constructor(e){super(Xo,"validationMessaging",["allMessagesIndividually","allMessagesTogether","firstMessageOnly","noMessages"])}}class Version extends OptionObject{constructor(e){super(Xo,"version",["1.7","1.6","1.5","1.4","1.3","1.2"])}}class VersionControl extends XFAObject{constructor(e){super(Xo,"VersionControl");this.outputBelow=getStringOption(e.outputBelow,["warn","error","update"]);this.sourceAbove=getStringOption(e.sourceAbove,["warn","error"]);this.sourceBelow=getStringOption(e.sourceBelow,["update","maintain"])}}class ViewerPreferences extends XFAObject{constructor(e){super(Xo,"viewerPreferences",!0);this.ADBE_JSConsole=null;this.ADBE_JSDebugger=null;this.addViewerPreferences=null;this.duplexOption=null;this.enforce=null;this.numberOfCopies=null;this.pageRange=null;this.pickTrayByPDFSize=null;this.printScaling=null}}class WebClient extends XFAObject{constructor(e){super(Xo,"webClient",!0);this.name=e.name?e.name.trim():"";this.fontInfo=null;this.xdc=null}}class Whitespace extends OptionObject{constructor(e){super(Xo,"whitespace",["preserve","ltrim","normalize","rtrim","trim"])}}class Window extends ContentObject{constructor(e){super(Xo,"window")}[Zn](){const e=this[Vn].split(",",2).map(e=>parseInt(e.trim(),10));if(e.some(e=>isNaN(e)))this[Vn]=[0,0];else{1===e.length&&e.push(e[0]);this[Vn]=e}}}class Xdc extends XFAObject{constructor(e){super(Xo,"xdc",!0);this.uri=new XFAObjectArray;this.xsl=new XFAObjectArray}}class Xdp extends XFAObject{constructor(e){super(Xo,"xdp",!0);this.packets=null}}class Xsl extends XFAObject{constructor(e){super(Xo,"xsl",!0);this.debug=null;this.uri=null}}class Zpl extends XFAObject{constructor(e){super(Xo,"zpl",!0);this.name=e.name?e.name.trim():"";this.batchOutput=null;this.flipLabel=null;this.fontInfo=null;this.xdc=null}}class ConfigNamespace{static[eo](e,t){if(ConfigNamespace.hasOwnProperty(e))return ConfigNamespace[e](t)}static acrobat(e){return new Acrobat(e)}static acrobat7(e){return new Acrobat7(e)}static ADBE_JSConsole(e){return new ADBE_JSConsole(e)}static ADBE_JSDebugger(e){return new ADBE_JSDebugger(e)}static addSilentPrint(e){return new AddSilentPrint(e)}static addViewerPreferences(e){return new AddViewerPreferences(e)}static adjustData(e){return new AdjustData(e)}static adobeExtensionLevel(e){return new AdobeExtensionLevel(e)}static agent(e){return new Agent(e)}static alwaysEmbed(e){return new AlwaysEmbed(e)}static amd(e){return new Amd(e)}static area(e){return new config_Area(e)}static attributes(e){return new Attributes(e)}static autoSave(e){return new AutoSave(e)}static base(e){return new Base(e)}static batchOutput(e){return new BatchOutput(e)}static behaviorOverride(e){return new BehaviorOverride(e)}static cache(e){return new Cache(e)}static change(e){return new Change(e)}static common(e){return new Common(e)}static compress(e){return new Compress(e)}static compressLogicalStructure(e){return new CompressLogicalStructure(e)}static compressObjectStream(e){return new CompressObjectStream(e)}static compression(e){return new Compression(e)}static config(e){return new Config(e)}static conformance(e){return new Conformance(e)}static contentCopy(e){return new ContentCopy(e)}static copies(e){return new Copies(e)}static creator(e){return new Creator(e)}static currentPage(e){return new CurrentPage(e)}static data(e){return new Data(e)}static debug(e){return new Debug(e)}static defaultTypeface(e){return new DefaultTypeface(e)}static destination(e){return new Destination(e)}static documentAssembly(e){return new DocumentAssembly(e)}static driver(e){return new Driver(e)}static duplexOption(e){return new DuplexOption(e)}static dynamicRender(e){return new DynamicRender(e)}static embed(e){return new Embed(e)}static encrypt(e){return new config_Encrypt(e)}static encryption(e){return new config_Encryption(e)}static encryptionLevel(e){return new EncryptionLevel(e)}static enforce(e){return new Enforce(e)}static equate(e){return new Equate(e)}static equateRange(e){return new EquateRange(e)}static exclude(e){return new Exclude(e)}static excludeNS(e){return new ExcludeNS(e)}static flipLabel(e){return new FlipLabel(e)}static fontInfo(e){return new config_FontInfo(e)}static formFieldFilling(e){return new FormFieldFilling(e)}static groupParent(e){return new GroupParent(e)}static ifEmpty(e){return new IfEmpty(e)}static includeXDPContent(e){return new IncludeXDPContent(e)}static incrementalLoad(e){return new IncrementalLoad(e)}static incrementalMerge(e){return new IncrementalMerge(e)}static interactive(e){return new Interactive(e)}static jog(e){return new Jog(e)}static labelPrinter(e){return new LabelPrinter(e)}static layout(e){return new Layout(e)}static level(e){return new Level(e)}static linearized(e){return new Linearized(e)}static locale(e){return new Locale(e)}static localeSet(e){return new LocaleSet(e)}static log(e){return new Log(e)}static map(e){return new MapElement(e)}static mediumInfo(e){return new MediumInfo(e)}static message(e){return new config_Message(e)}static messaging(e){return new Messaging(e)}static mode(e){return new Mode(e)}static modifyAnnots(e){return new ModifyAnnots(e)}static msgId(e){return new MsgId(e)}static nameAttr(e){return new NameAttr(e)}static neverEmbed(e){return new NeverEmbed(e)}static numberOfCopies(e){return new NumberOfCopies(e)}static openAction(e){return new OpenAction(e)}static output(e){return new Output(e)}static outputBin(e){return new OutputBin(e)}static outputXSL(e){return new OutputXSL(e)}static overprint(e){return new Overprint(e)}static packets(e){return new Packets(e)}static pageOffset(e){return new PageOffset(e)}static pageRange(e){return new PageRange(e)}static pagination(e){return new Pagination(e)}static paginationOverride(e){return new PaginationOverride(e)}static part(e){return new Part(e)}static pcl(e){return new Pcl(e)}static pdf(e){return new Pdf(e)}static pdfa(e){return new Pdfa(e)}static permissions(e){return new Permissions(e)}static pickTrayByPDFSize(e){return new PickTrayByPDFSize(e)}static picture(e){return new config_Picture(e)}static plaintextMetadata(e){return new PlaintextMetadata(e)}static presence(e){return new Presence(e)}static present(e){return new Present(e)}static print(e){return new Print(e)}static printHighQuality(e){return new PrintHighQuality(e)}static printScaling(e){return new PrintScaling(e)}static printerName(e){return new PrinterName(e)}static producer(e){return new Producer(e)}static ps(e){return new Ps(e)}static range(e){return new Range(e)}static record(e){return new Record(e)}static relevant(e){return new Relevant(e)}static rename(e){return new Rename(e)}static renderPolicy(e){return new RenderPolicy(e)}static runScripts(e){return new RunScripts(e)}static script(e){return new config_Script(e)}static scriptModel(e){return new ScriptModel(e)}static severity(e){return new Severity(e)}static silentPrint(e){return new SilentPrint(e)}static staple(e){return new Staple(e)}static startNode(e){return new StartNode(e)}static startPage(e){return new StartPage(e)}static submitFormat(e){return new SubmitFormat(e)}static submitUrl(e){return new SubmitUrl(e)}static subsetBelow(e){return new SubsetBelow(e)}static suppressBanner(e){return new SuppressBanner(e)}static tagged(e){return new Tagged(e)}static template(e){return new config_Template(e)}static templateCache(e){return new TemplateCache(e)}static threshold(e){return new Threshold(e)}static to(e){return new To(e)}static trace(e){return new Trace(e)}static transform(e){return new Transform(e)}static type(e){return new Type(e)}static uri(e){return new Uri(e)}static validate(e){return new config_Validate(e)}static validateApprovalSignatures(e){return new ValidateApprovalSignatures(e)}static validationMessaging(e){return new ValidationMessaging(e)}static version(e){return new Version(e)}static versionControl(e){return new VersionControl(e)}static viewerPreferences(e){return new ViewerPreferences(e)}static webClient(e){return new WebClient(e)}static whitespace(e){return new Whitespace(e)}static window(e){return new Window(e)}static xdc(e){return new Xdc(e)}static xdp(e){return new Xdp(e)}static xsl(e){return new Xsl(e)}static zpl(e){return new Zpl(e)}}const qo=to.connectionSet.id;class ConnectionSet extends XFAObject{constructor(e){super(qo,"connectionSet",!0);this.wsdlConnection=new XFAObjectArray;this.xmlConnection=new XFAObjectArray;this.xsdConnection=new XFAObjectArray}}class EffectiveInputPolicy extends XFAObject{constructor(e){super(qo,"effectiveInputPolicy");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}}class EffectiveOutputPolicy extends XFAObject{constructor(e){super(qo,"effectiveOutputPolicy");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}}class Operation extends StringObject{constructor(e){super(qo,"operation");this.id=e.id||"";this.input=e.input||"";this.name=e.name||"";this.output=e.output||"";this.use=e.use||"";this.usehref=e.usehref||""}}class RootElement extends StringObject{constructor(e){super(qo,"rootElement");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}}class SoapAction extends StringObject{constructor(e){super(qo,"soapAction");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}}class SoapAddress extends StringObject{constructor(e){super(qo,"soapAddress");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}}class connection_set_Uri extends StringObject{constructor(e){super(qo,"uri");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}}class WsdlAddress extends StringObject{constructor(e){super(qo,"wsdlAddress");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}}class WsdlConnection extends XFAObject{constructor(e){super(qo,"wsdlConnection",!0);this.dataDescription=e.dataDescription||"";this.name=e.name||"";this.effectiveInputPolicy=null;this.effectiveOutputPolicy=null;this.operation=null;this.soapAction=null;this.soapAddress=null;this.wsdlAddress=null}}class XmlConnection extends XFAObject{constructor(e){super(qo,"xmlConnection",!0);this.dataDescription=e.dataDescription||"";this.name=e.name||"";this.uri=null}}class XsdConnection extends XFAObject{constructor(e){super(qo,"xsdConnection",!0);this.dataDescription=e.dataDescription||"";this.name=e.name||"";this.rootElement=null;this.uri=null}}class ConnectionSetNamespace{static[eo](e,t){if(ConnectionSetNamespace.hasOwnProperty(e))return ConnectionSetNamespace[e](t)}static connectionSet(e){return new ConnectionSet(e)}static effectiveInputPolicy(e){return new EffectiveInputPolicy(e)}static effectiveOutputPolicy(e){return new EffectiveOutputPolicy(e)}static operation(e){return new Operation(e)}static rootElement(e){return new RootElement(e)}static soapAction(e){return new SoapAction(e)}static soapAddress(e){return new SoapAddress(e)}static uri(e){return new connection_set_Uri(e)}static wsdlAddress(e){return new WsdlAddress(e)}static wsdlConnection(e){return new WsdlConnection(e)}static xmlConnection(e){return new XmlConnection(e)}static xsdConnection(e){return new XsdConnection(e)}}const Ho=to.datasets.id;class datasets_Data extends XmlObject{constructor(e){super(Ho,"data",e)}[Cs](){return!0}}class Datasets extends XFAObject{constructor(e){super(Ho,"datasets",!0);this.data=null;this.Signature=null}[Bs](e){const t=e[Ms];("data"===t&&e[Ds]===Ho||"Signature"===t&&e[Ds]===to.signature.id)&&(this[t]=e);this[Xn](e)}}class DatasetsNamespace{static[eo](e,t){if(DatasetsNamespace.hasOwnProperty(e))return DatasetsNamespace[e](t)}static datasets(e){return new Datasets(e)}static data(e){return new datasets_Data(e)}}const Wo=to.localeSet.id;class CalendarSymbols extends XFAObject{constructor(e){super(Wo,"calendarSymbols",!0);this.name="gregorian";this.dayNames=new XFAObjectArray(2);this.eraNames=null;this.meridiemNames=null;this.monthNames=new XFAObjectArray(2)}}class CurrencySymbol extends StringObject{constructor(e){super(Wo,"currencySymbol");this.name=getStringOption(e.name,["symbol","isoname","decimal"])}}class CurrencySymbols extends XFAObject{constructor(e){super(Wo,"currencySymbols",!0);this.currencySymbol=new XFAObjectArray(3)}}class DatePattern extends StringObject{constructor(e){super(Wo,"datePattern");this.name=getStringOption(e.name,["full","long","med","short"])}}class DatePatterns extends XFAObject{constructor(e){super(Wo,"datePatterns",!0);this.datePattern=new XFAObjectArray(4)}}class DateTimeSymbols extends ContentObject{constructor(e){super(Wo,"dateTimeSymbols")}}class Day extends StringObject{constructor(e){super(Wo,"day")}}class DayNames extends XFAObject{constructor(e){super(Wo,"dayNames",!0);this.abbr=getInteger({data:e.abbr,defaultValue:0,validate:e=>1===e});this.day=new XFAObjectArray(7)}}class Era extends StringObject{constructor(e){super(Wo,"era")}}class EraNames extends XFAObject{constructor(e){super(Wo,"eraNames",!0);this.era=new XFAObjectArray(2)}}class locale_set_Locale extends XFAObject{constructor(e){super(Wo,"locale",!0);this.desc=e.desc||"";this.name="isoname";this.calendarSymbols=null;this.currencySymbols=null;this.datePatterns=null;this.dateTimeSymbols=null;this.numberPatterns=null;this.numberSymbols=null;this.timePatterns=null;this.typeFaces=null}}class locale_set_LocaleSet extends XFAObject{constructor(e){super(Wo,"localeSet",!0);this.locale=new XFAObjectArray}}class Meridiem extends StringObject{constructor(e){super(Wo,"meridiem")}}class MeridiemNames extends XFAObject{constructor(e){super(Wo,"meridiemNames",!0);this.meridiem=new XFAObjectArray(2)}}class Month extends StringObject{constructor(e){super(Wo,"month")}}class MonthNames extends XFAObject{constructor(e){super(Wo,"monthNames",!0);this.abbr=getInteger({data:e.abbr,defaultValue:0,validate:e=>1===e});this.month=new XFAObjectArray(12)}}class NumberPattern extends StringObject{constructor(e){super(Wo,"numberPattern");this.name=getStringOption(e.name,["full","long","med","short"])}}class NumberPatterns extends XFAObject{constructor(e){super(Wo,"numberPatterns",!0);this.numberPattern=new XFAObjectArray(4)}}class NumberSymbol extends StringObject{constructor(e){super(Wo,"numberSymbol");this.name=getStringOption(e.name,["decimal","grouping","percent","minus","zero"])}}class NumberSymbols extends XFAObject{constructor(e){super(Wo,"numberSymbols",!0);this.numberSymbol=new XFAObjectArray(5)}}class TimePattern extends StringObject{constructor(e){super(Wo,"timePattern");this.name=getStringOption(e.name,["full","long","med","short"])}}class TimePatterns extends XFAObject{constructor(e){super(Wo,"timePatterns",!0);this.timePattern=new XFAObjectArray(4)}}class TypeFace extends XFAObject{constructor(e){super(Wo,"typeFace",!0);this.name=""|e.name}}class TypeFaces extends XFAObject{constructor(e){super(Wo,"typeFaces",!0);this.typeFace=new XFAObjectArray}}class LocaleSetNamespace{static[eo](e,t){if(LocaleSetNamespace.hasOwnProperty(e))return LocaleSetNamespace[e](t)}static calendarSymbols(e){return new CalendarSymbols(e)}static currencySymbol(e){return new CurrencySymbol(e)}static currencySymbols(e){return new CurrencySymbols(e)}static datePattern(e){return new DatePattern(e)}static datePatterns(e){return new DatePatterns(e)}static dateTimeSymbols(e){return new DateTimeSymbols(e)}static day(e){return new Day(e)}static dayNames(e){return new DayNames(e)}static era(e){return new Era(e)}static eraNames(e){return new EraNames(e)}static locale(e){return new locale_set_Locale(e)}static localeSet(e){return new locale_set_LocaleSet(e)}static meridiem(e){return new Meridiem(e)}static meridiemNames(e){return new MeridiemNames(e)}static month(e){return new Month(e)}static monthNames(e){return new MonthNames(e)}static numberPattern(e){return new NumberPattern(e)}static numberPatterns(e){return new NumberPatterns(e)}static numberSymbol(e){return new NumberSymbol(e)}static numberSymbols(e){return new NumberSymbols(e)}static timePattern(e){return new TimePattern(e)}static timePatterns(e){return new TimePatterns(e)}static typeFace(e){return new TypeFace(e)}static typeFaces(e){return new TypeFaces(e)}}const Go=to.signature.id;class signature_Signature extends XFAObject{constructor(e){super(Go,"signature",!0)}}class SignatureNamespace{static[eo](e,t){if(SignatureNamespace.hasOwnProperty(e))return SignatureNamespace[e](t)}static signature(e){return new signature_Signature(e)}}const $o=to.stylesheet.id;class Stylesheet extends XFAObject{constructor(e){super($o,"stylesheet",!0)}}class StylesheetNamespace{static[eo](e,t){if(StylesheetNamespace.hasOwnProperty(e))return StylesheetNamespace[e](t)}static stylesheet(e){return new Stylesheet(e)}}const zo=to.xdp.id;class xdp_Xdp extends XFAObject{constructor(e){super(zo,"xdp",!0);this.uuid=e.uuid||"";this.timeStamp=e.timeStamp||"";this.config=null;this.connectionSet=null;this.datasets=null;this.localeSet=null;this.stylesheet=new XFAObjectArray;this.template=null}[Ns](e){const t=to[e[Ms]];return t&&e[Ds]===t.id}}class XdpNamespace{static[eo](e,t){if(XdpNamespace.hasOwnProperty(e))return XdpNamespace[e](t)}static xdp(e){return new xdp_Xdp(e)}}const Vo=to.xhtml.id,Ko=Symbol(),Jo=new Set(["color","font","font-family","font-size","font-stretch","font-style","font-weight","margin","margin-bottom","margin-left","margin-right","margin-top","letter-spacing","line-height","orphans","page-break-after","page-break-before","page-break-inside","tab-interval","tab-stop","text-align","text-decoration","text-indent","vertical-align","widows","kerning-mode","xfa-font-horizontal-scale","xfa-font-vertical-scale","xfa-spacerun","xfa-tab-stops"]),Yo=new Map([["page-break-after","breakAfter"],["page-break-before","breakBefore"],["page-break-inside","breakInside"],["kerning-mode",e=>"none"===e?"none":"normal"],["xfa-font-horizontal-scale",e=>`scaleX(${Math.max(0,parseInt(e)/100).toFixed(2)})`],["xfa-font-vertical-scale",e=>`scaleY(${Math.max(0,parseInt(e)/100).toFixed(2)})`],["xfa-spacerun",""],["xfa-tab-stops",""],["font-size",(e,t)=>measureToString(.99*(e=t.fontSize=Math.abs(getMeasurement(e))))],["letter-spacing",e=>measureToString(getMeasurement(e))],["line-height",e=>measureToString(getMeasurement(e))],["margin",e=>measureToString(getMeasurement(e))],["margin-bottom",e=>measureToString(getMeasurement(e))],["margin-left",e=>measureToString(getMeasurement(e))],["margin-right",e=>measureToString(getMeasurement(e))],["margin-top",e=>measureToString(getMeasurement(e))],["text-indent",e=>measureToString(getMeasurement(e))],["font-family",e=>e],["vertical-align",e=>measureToString(getMeasurement(e))]]),Zo=/\s+/g,Qo=/[\r\n]+/g,ec=/\r\n?/g;function mapStyle(e,t,a){const r=Object.create(null);if(!e)return r;const i=Object.create(null);for(const[t,a]of e.split(";").map(e=>e.split(":",2))){const e=Yo.get(t);if(""===e)continue;let n=a;e&&(n="string"==typeof e?e:e(a,i));t.endsWith("scale")?r.transform=r.transform?`${r[t]} ${n}`:n:r[t.replaceAll(/-([a-zA-Z])/g,(e,t)=>t.toUpperCase())]=n}r.fontFamily&&setFontFamily({typeface:r.fontFamily,weight:r.fontWeight||"normal",posture:r.fontStyle||"normal",size:i.fontSize||0},t,t[ps].fontFinder,r);if(a&&r.verticalAlign&&"0px"!==r.verticalAlign&&r.fontSize){const e=.583,t=.333,a=getMeasurement(r.fontSize);r.fontSize=measureToString(a*e);r.verticalAlign=measureToString(Math.sign(getMeasurement(r.verticalAlign))*a*t)}a&&r.fontSize&&(r.fontSize=`calc(${r.fontSize} * var(--total-scale-factor))`);fixTextIndent(r);return r}const tc=new Set(["body","html"]);class XhtmlObject extends XmlObject{constructor(e,t){super(Vo,t);this[Ko]=!1;this.style=e.style||""}[Hn](e){super[Hn](e);this.style=function checkStyle(e){return e.style?e.style.split(";").filter(e=>!!e.trim()).map(e=>e.split(":",2).map(e=>e.trim())).filter(([t,a])=>{"font-family"===t&&e[ps].usedTypefaces.add(a);return Jo.has(t)}).map(e=>e.join(":")).join(";"):""}(this)}[Un](){return!tc.has(this[Ms])}[Es](e,t=!1){if(t)this[Ko]=!0;else{e=e.replaceAll(Qo,"");this.style.includes("xfa-spacerun:yes")||(e=e.replaceAll(Zo," "))}e&&(this[Vn]+=e)}[Ls](e,t=!0){const a=Object.create(null),r={top:NaN,bottom:NaN,left:NaN,right:NaN};let i=null;for(const[e,t]of this.style.split(";").map(e=>e.split(":",2)))switch(e){case"font-family":a.typeface=stripQuotes(t);break;case"font-size":a.size=getMeasurement(t);break;case"font-weight":a.weight=t;break;case"font-style":a.posture=t;break;case"letter-spacing":a.letterSpacing=getMeasurement(t);break;case"margin":const e=t.split(/ \t/).map(e=>getMeasurement(e));switch(e.length){case 1:r.top=r.bottom=r.left=r.right=e[0];break;case 2:r.top=r.bottom=e[0];r.left=r.right=e[1];break;case 3:r.top=e[0];r.bottom=e[2];r.left=r.right=e[1];break;case 4:r.top=e[0];r.left=e[1];r.bottom=e[2];r.right=e[3]}break;case"margin-top":r.top=getMeasurement(t);break;case"margin-bottom":r.bottom=getMeasurement(t);break;case"margin-left":r.left=getMeasurement(t);break;case"margin-right":r.right=getMeasurement(t);break;case"line-height":i=getMeasurement(t)}e.pushData(a,r,i);if(this[Vn])e.addString(this[Vn]);else for(const t of this[ls]())"#text"!==t[Ms]?t[Ls](e):e.addString(t[Vn]);t&&e.popFont()}[Js](e){const t=[];this[Yn]={children:t};this[qn]({});if(0===t.length&&!this[Vn])return HTMLResult.EMPTY;let a;a=this[Ko]?this[Vn]?this[Vn].replaceAll(ec,"\n"):void 0:this[Vn]||void 0;return HTMLResult.success({name:this[Ms],attributes:{href:this.href,style:mapStyle(this.style,this,this[Ko])},children:t,value:a})}}class A extends XhtmlObject{constructor(e){super(e,"a");this.href=fixURL(e.href)||""}}class B extends XhtmlObject{constructor(e){super(e,"b")}[Ls](e){e.pushFont({weight:"bold"});super[Ls](e);e.popFont()}}class Body extends XhtmlObject{constructor(e){super(e,"body")}[Js](e){const t=super[Js](e),{html:a}=t;if(!a)return HTMLResult.EMPTY;a.name="div";a.attributes.class=["xfaRich"];return t}}class Br extends XhtmlObject{constructor(e){super(e,"br")}[Vs](){return"\n"}[Ls](e){e.addString("\n")}[Js](e){return HTMLResult.success({name:"br"})}}class Html extends XhtmlObject{constructor(e){super(e,"html")}[Js](e){const t=[];this[Yn]={children:t};this[qn]({});if(0===t.length)return HTMLResult.success({name:"div",attributes:{class:["xfaRich"],style:{}},value:this[Vn]||""});if(1===t.length){const e=t[0];if(e.attributes?.class.includes("xfaRich"))return HTMLResult.success(e)}return HTMLResult.success({name:"div",attributes:{class:["xfaRich"],style:{}},children:t})}}class I extends XhtmlObject{constructor(e){super(e,"i")}[Ls](e){e.pushFont({posture:"italic"});super[Ls](e);e.popFont()}}class Li extends XhtmlObject{constructor(e){super(e,"li")}}class Ol extends XhtmlObject{constructor(e){super(e,"ol")}}class P extends XhtmlObject{constructor(e){super(e,"p")}[Ls](e){super[Ls](e,!1);e.addString("\n");e.addPara();e.popFont()}[Vs](){return this[fs]()[ls]().at(-1)===this?super[Vs]():super[Vs]()+"\n"}}class Span extends XhtmlObject{constructor(e){super(e,"span")}}class Sub extends XhtmlObject{constructor(e){super(e,"sub")}}class Sup extends XhtmlObject{constructor(e){super(e,"sup")}}class Ul extends XhtmlObject{constructor(e){super(e,"ul")}}class XhtmlNamespace{static[eo](e,t){if(XhtmlNamespace.hasOwnProperty(e))return XhtmlNamespace[e](t)}static a(e){return new A(e)}static b(e){return new B(e)}static body(e){return new Body(e)}static br(e){return new Br(e)}static html(e){return new Html(e)}static i(e){return new I(e)}static li(e){return new Li(e)}static ol(e){return new Ol(e)}static p(e){return new P(e)}static span(e){return new Span(e)}static sub(e){return new Sub(e)}static sup(e){return new Sup(e)}static ul(e){return new Ul(e)}}const ac={config:ConfigNamespace,connection:ConnectionSetNamespace,datasets:DatasetsNamespace,localeSet:LocaleSetNamespace,signature:SignatureNamespace,stylesheet:StylesheetNamespace,template:TemplateNamespace,xdp:XdpNamespace,xhtml:XhtmlNamespace};class UnknownNamespace{constructor(e){this.namespaceId=e}[eo](e,t){return new XmlObject(this.namespaceId,e,t)}}class Root extends XFAObject{constructor(e){super(-1,"root",Object.create(null));this.element=null;this[bs]=e}[Bs](e){this.element=e;return!0}[Zn](){super[Zn]();if(this.element.template instanceof Template){this[bs].set(Xs,this.element);this.element.template[qs](this[bs]);this.element.template[bs]=this[bs]}}}class Empty extends XFAObject{constructor(){super(-1,"",Object.create(null))}[Bs](e){return!1}}class Builder{constructor(e=null){this._namespaceStack=[];this._nsAgnosticLevel=0;this._namespacePrefixes=new Map;this._namespaces=new Map;this._nextNsId=Math.max(...Object.values(to).map(({id:e})=>e));this._currentNamespace=e||new UnknownNamespace(++this._nextNsId)}buildRoot(e){return new Root(e)}build({nsPrefix:e,name:t,attributes:a,namespace:r,prefixes:i}){const n=null!==r;if(n){this._namespaceStack.push(this._currentNamespace);this._currentNamespace=this._searchNamespace(r)}i&&this._addNamespacePrefix(i);if(a.hasOwnProperty(Rs)){const e=ac.datasets,t=a[Rs];let r=null;for(const[a,i]of Object.entries(t)){if(this._getNamespaceToUse(a)===e){r={xfa:i};break}}r?a[Rs]=r:delete a[Rs]}const s=this._getNamespaceToUse(e),o=s?.[eo](t,a)||new Empty;o[Cs]()&&this._nsAgnosticLevel++;(n||i||o[Cs]())&&(o[Gn]={hasNamespace:n,prefixes:i,nsAgnostic:o[Cs]()});return o}isNsAgnostic(){return this._nsAgnosticLevel>0}_searchNamespace(e){let t=this._namespaces.get(e);if(t)return t;for(const[a,{check:r}]of Object.entries(to))if(r(e)){t=ac[a];if(t){this._namespaces.set(e,t);return t}break}t=new UnknownNamespace(++this._nextNsId);this._namespaces.set(e,t);return t}_addNamespacePrefix(e){for(const{prefix:t,value:a}of e){const e=this._searchNamespace(a);let r=this._namespacePrefixes.get(t);if(!r){r=[];this._namespacePrefixes.set(t,r)}r.push(e)}}_getNamespaceToUse(e){if(!e)return this._currentNamespace;const t=this._namespacePrefixes.get(e);if(t?.length>0)return t.at(-1);warn(`Unknown namespace prefix: ${e}.`);return null}clean(e){const{hasNamespace:t,prefixes:a,nsAgnostic:r}=e;t&&(this._currentNamespace=this._namespaceStack.pop());a&&a.forEach(({prefix:e})=>{this._namespacePrefixes.get(e).pop()});r&&this._nsAgnosticLevel--}}class XFAParser extends XMLParserBase{constructor(e=null,t=!1){super();this._builder=new Builder(e);this._stack=[];this._globalData={usedTypefaces:new Set};this._ids=new Map;this._current=this._builder.buildRoot(this._ids);this._errorCode=Fn;this._whiteRegex=/^\s+$/;this._nbsps=/\xa0+/g;this._richText=t}parse(e){this.parseXml(e);if(this._errorCode===Fn){this._current[Zn]();return this._current.element}}onText(e){e=e.replace(this._nbsps,e=>e.slice(1)+" ");this._richText||this._current[Un]()?this._current[Es](e,this._richText):this._whiteRegex.test(e)||this._current[Es](e.trim())}onCdata(e){this._current[Es](e)}_mkAttributes(e,t){let a=null,r=null;const i=Object.create({});for(const{name:n,value:s}of e)if("xmlns"===n)a?warn(`XFA - multiple namespace definition in <${t}>`):a=s;else if(n.startsWith("xmlns:")){const e=n.substring(6);r??=[];r.push({prefix:e,value:s})}else{const e=n.indexOf(":");if(-1===e)i[n]=s;else{const t=i[Rs]??=Object.create(null),[a,r]=[n.slice(0,e),n.slice(e+1)];(t[a]||=Object.create(null))[r]=s}}return[a,r,i]}_getNameAndPrefix(e,t){const a=e.indexOf(":");return-1===a?[e,null]:[e.substring(a+1),t?"":e.substring(0,a)]}onBeginElement(e,t,a){const[r,i,n]=this._mkAttributes(t,e),[s,o]=this._getNameAndPrefix(e,this._builder.isNsAgnostic()),c=this._builder.build({nsPrefix:o,name:s,attributes:n,namespace:r,prefixes:i});c[ps]=this._globalData;if(a){c[Zn]();this._current[Bs](c)&&c[Ws](this._ids);c[Hn](this._builder)}else{this._stack.push(this._current);this._current=c}}onEndElement(e){const t=this._current;if(t[Ss]()&&"string"==typeof t[Vn]){const e=new XFAParser;e._globalData=this._globalData;const a=e.parse(t[Vn]);t[Vn]=null;t[Bs](a)}t[Zn]();this._current=this._stack.pop();this._current[Bs](t)&&t[Ws](this._ids);t[Hn](this._builder)}onError(e){this._errorCode=e}}class XFAFactory{constructor(e){try{this.root=(new XFAParser).parse(XFAFactory._createDocument(e));const t=new Binder(this.root);this.form=t.bind();this.dataHandler=new DataHandler(this.root,t.getData());this.form[ps].template=this.form}catch(e){warn(`XFA - an error occurred during parsing and binding: ${e}`)}}isValid(){return!(!this.root||!this.form)}_createPagesHelper(){const e=this.form[Ks]();return new Promise((t,a)=>{const nextIteration=()=>{try{const a=e.next();a.done?t(a.value):setTimeout(nextIteration,0)}catch(e){a(e)}};setTimeout(nextIteration,0)})}async _createPages(){try{this.pages=await this._createPagesHelper();this.dims=this.pages.children.map(e=>{const{width:t,height:a}=e.attributes.style;return[0,0,parseInt(t),parseInt(a)]})}catch(e){warn(`XFA - an error occurred during layout: ${e}`)}}getBoundingBox(e){return this.dims[e]}async getNumPages(){this.pages||await this._createPages();return this.dims.length}setImages(e){this.form[ps].images=e}setFonts(e){this.form[ps].fontFinder=new FontFinder(e);const t=[];for(let e of this.form[ps].usedTypefaces){e=stripQuotes(e);this.form[ps].fontFinder.find(e)||t.push(e)}return t.length>0?t:null}appendFonts(e,t){this.form[ps].fontFinder.add(e,t)}async getPages(){this.pages||await this._createPages();const e=this.pages;this.pages=null;return e}serializeData(e){return this.dataHandler.serialize(e)}static _createDocument(e){return e["/xdp:xdp"]?Object.values(e).join(""):e["xdp:xdp"]}static getRichTextAsHtml(e){if(!e||"string"!=typeof e)return null;try{let t=new XFAParser(XhtmlNamespace,!0).parse(e);if(!["body","xhtml"].includes(t[Ms])){const e=XhtmlNamespace.body({});e[Xn](t);t=e}const a=t[Js]();if(!a.success)return null;const{html:r}=a,{attributes:i}=r;if(i){i.class&&(i.class=i.class.filter(e=>!e.startsWith("xfa")));i.dir="auto"}return{html:r,str:t[Vs]()}}catch(e){warn(`XFA - an error occurred during parsing of rich text: ${e}`)}return null}}class AnnotationFactory{static createGlobals(e){return Promise.all([e.ensureCatalog("acroForm"),e.ensureDoc("xfaDatasets"),e.ensureCatalog("structTreeRoot"),e.ensureCatalog("baseUrl"),e.ensureCatalog("attachments"),e.ensureCatalog("globalColorSpaceCache")]).then(([t,a,r,i,n,s])=>({pdfManager:e,acroForm:t instanceof Dict?t:Dict.empty,xfaDatasets:a,structTreeRoot:r,baseUrl:i,attachments:n,globalColorSpaceCache:s}),e=>{warn(`createGlobals: "${e}".`);return null})}static async create(e,t,a,r,i,n,s,o){const c=i?await this._getPageIndex(e,t,a.pdfManager):null;return a.pdfManager.ensure(this,"_create",[e,t,a,r,i,n,s,c,o])}static _create(e,t,a,r,i=!1,n=null,s=null,o=null,c=null){const l=e.fetchIfRef(t);if(!(l instanceof Dict))return;let h=l.get("Subtype");h=h instanceof Name?h.name:null;if(s&&!s.has(D[h.toUpperCase()]))return null;const{acroForm:u,pdfManager:d}=a,f=t instanceof Ref?t.toString():`annot_${r.createObjId()}`,g={xref:e,ref:t,dict:l,subtype:h,id:f,annotationGlobals:a,collectFields:i,orphanFields:n,needAppearances:!i&&!0===u.get("NeedAppearances"),pageIndex:o,evaluatorOptions:d.evaluatorOptions,pageRef:c};switch(h){case"Link":return new LinkAnnotation(g);case"Text":return new TextAnnotation(g);case"Widget":let e=getInheritableProperty({dict:l,key:"FT"});e=e instanceof Name?e.name:null;switch(e){case"Tx":return new TextWidgetAnnotation(g);case"Btn":return new ButtonWidgetAnnotation(g);case"Ch":return new ChoiceWidgetAnnotation(g);case"Sig":return new SignatureWidgetAnnotation(g)}warn(`Unimplemented widget field type "${e}", falling back to base field type.`);return new WidgetAnnotation(g);case"Popup":return new PopupAnnotation(g);case"FreeText":return new FreeTextAnnotation(g);case"Line":return new LineAnnotation(g);case"Square":return new SquareAnnotation(g);case"Circle":return new CircleAnnotation(g);case"PolyLine":return new PolylineAnnotation(g);case"Polygon":return new PolygonAnnotation(g);case"Caret":return new CaretAnnotation(g);case"Ink":return new InkAnnotation(g);case"Highlight":return new HighlightAnnotation(g);case"Underline":return new UnderlineAnnotation(g);case"Squiggly":return new SquigglyAnnotation(g);case"StrikeOut":return new StrikeOutAnnotation(g);case"Stamp":return new StampAnnotation(g);case"FileAttachment":return new FileAttachmentAnnotation(g);default:i||warn(h?`Unimplemented annotation type "${h}", falling back to base annotation.`:"Annotation is missing the required /Subtype.");return new Annotation(g)}}static async _getPageIndex(e,t,a){try{const r=await e.fetchIfRefAsync(t);if(!(r instanceof Dict))return-1;const i=r.getRaw("P");if(i instanceof Ref)try{return await a.ensureCatalog("getPageIndex",[i])}catch(e){info(`_getPageIndex -- not a valid page reference: "${e}".`)}if(r.has("Kids"))return-1;const n=await a.ensureDoc("numPages");for(let e=0;ee/255)||t}function getQuadPoints(e,t){const a=e.getArray("QuadPoints");if(!isNumberArray(a,null)||0===a.length||a.length%8>0)return null;const r=new Float32Array(a.length);for(let e=0,i=a.length;et[2]||gt[3]))return null;r.set([d,p,f,p,d,g,f,g],e)}return r}function getTransformMatrix(e,t,a){const r=new Float32Array([1/0,1/0,-1/0,-1/0]);Util.axialAlignedBoundingBox(t,a,r);const[i,n,s,o]=r;if(i===s||n===o)return[1,0,0,1,e[0],e[1]];const c=(e[2]-e[0])/(s-i),l=(e[3]-e[1])/(o-n);return[c,0,0,l,e[0]-i*c,e[1]-n*l]}class Annotation{constructor(e){const{dict:t,xref:a,annotationGlobals:r,ref:i,orphanFields:n}=e,s=n?.get(i);s&&t.set("Parent",s);this.setTitle(t.get("T"));this.setContents(t.get("Contents"));this.setModificationDate(t.get("M"));this.setFlags(t.get("F"));this.setRectangle(t.getArray("Rect"));this.setColor(t.getArray("C"));this.setBorderStyle(t);this.setAppearance(t);this.setOptionalContent(t);const o=t.get("MK");this.setBorderAndBackgroundColors(o);this.setRotation(o,t);this.ref=e.ref instanceof Ref?e.ref:null;this._streams=[];this.appearance&&this._streams.push(this.appearance);const c=!!(this.flags&j),l=!!(this.flags&X);this.data={annotationFlags:this.flags,borderStyle:this.borderStyle,color:this.color,backgroundColor:this.backgroundColor,borderColor:this.borderColor,rotation:this.rotation,contentsObj:this._contents,hasAppearance:!!this.appearance,id:e.id,modificationDate:this.modificationDate,rect:this.rectangle,subtype:e.subtype,hasOwnCanvas:!1,noRotate:!!(this.flags&_),noHTML:c&&l,isEditable:!1,structParent:-1};if(r.structTreeRoot){let a=t.get("StructParent");this.data.structParent=a=Number.isInteger(a)&&a>=0?a:-1;r.structTreeRoot.addAnnotationIdToPage(e.pageRef,a)}if(e.collectFields){const r=t.get("Kids");if(Array.isArray(r)){const e=[];for(const t of r)t instanceof Ref&&e.push(t.toString());0!==e.length&&(this.data.kidIds=e)}this.data.actions=collectActions(a,t,ie);this.data.fieldName=this._constructFieldName(t);this.data.pageIndex=e.pageIndex}const h=t.get("IT");h instanceof Name&&(this.data.it=h.name);this._isOffscreenCanvasSupported=e.evaluatorOptions.isOffscreenCanvasSupported;this._fallbackFontDict=null;this._needAppearances=!1}_hasFlag(e,t){return!!(e&t)}_buildFlags(e,t){let{flags:a}=this;if(void 0===e){if(void 0===t)return;return t?a&~L:a&~E|L}if(e){a|=L;return t?a&~U|E:a&~E|U}a&=~(E|U);return t?a&~L:a|L}_isViewable(e){return!this._hasFlag(e,N)&&!this._hasFlag(e,U)}_isPrintable(e){return this._hasFlag(e,L)&&!this._hasFlag(e,E)&&!this._hasFlag(e,N)}mustBeViewed(e,t){const a=e?.get(this.data.id)?.noView;return void 0!==a?!a:this.viewable&&!this._hasFlag(this.flags,E)}mustBePrinted(e){const t=e?.get(this.data.id)?.noPrint;return void 0!==t?!t:this.printable}mustBeViewedWhenEditing(e,t=null){return e?!this.data.isEditable:!t?.has(this.data.id)}get viewable(){return null!==this.data.quadPoints&&(0===this.flags||this._isViewable(this.flags))}get printable(){return null!==this.data.quadPoints&&(0!==this.flags&&this._isPrintable(this.flags))}_parseStringHelper(e){const t="string"==typeof e?stringToPDFString(e):"";return{str:t,dir:t&&"rtl"===bidi(t).dir?"rtl":"ltr"}}setDefaultAppearance(e){const{dict:t,annotationGlobals:a}=e,r=getInheritableProperty({dict:t,key:"DA"})||a.acroForm.get("DA");this._defaultAppearance="string"==typeof r?r:"";this.data.defaultAppearanceData=parseDefaultAppearance(this._defaultAppearance)}setTitle(e){this._title=this._parseStringHelper(e)}setContents(e){this._contents=this._parseStringHelper(e)}setModificationDate(e){this.modificationDate="string"==typeof e?e:null}setFlags(e){this.flags=Number.isInteger(e)&&e>0?e:0;this.flags&N&&"Annotation"!==this.constructor.name&&(this.flags^=N)}hasFlag(e){return this._hasFlag(this.flags,e)}setRectangle(e){this.rectangle=lookupNormalRect(e,[0,0,0,0])}setColor(e){this.color=getRgbColor(e)}setLineEndings(e){this.lineEndings=["None","None"];if(Array.isArray(e)&&2===e.length)for(let t=0;t<2;t++){const a=e[t];if(a instanceof Name)switch(a.name){case"None":continue;case"Square":case"Circle":case"Diamond":case"OpenArrow":case"ClosedArrow":case"Butt":case"ROpenArrow":case"RClosedArrow":case"Slash":this.lineEndings[t]=a.name;continue}warn(`Ignoring invalid lineEnding: ${a}`)}}setRotation(e,t){this.rotation=0;let a=e instanceof Dict?e.get("R")||0:t.get("Rotate")||0;if(Number.isInteger(a)&&0!==a){a%=360;a<0&&(a+=360);a%90==0&&(this.rotation=a)}}setBorderAndBackgroundColors(e){if(e instanceof Dict){this.borderColor=getRgbColor(e.getArray("BC"),null);this.backgroundColor=getRgbColor(e.getArray("BG"),null)}else this.borderColor=this.backgroundColor=null}setBorderStyle(e){this.borderStyle=new AnnotationBorderStyle;if(e instanceof Dict)if(e.has("BS")){const t=e.get("BS");if(t instanceof Dict){const e=t.get("Type");if(!e||isName(e,"Border")){this.borderStyle.setWidth(t.get("W"),this.rectangle);this.borderStyle.setStyle(t.get("S"));this.borderStyle.setDashArray(t.getArray("D"))}}}else if(e.has("Border")){const t=e.getArray("Border");if(Array.isArray(t)&&t.length>=3){this.borderStyle.setHorizontalCornerRadius(t[0]);this.borderStyle.setVerticalCornerRadius(t[1]);this.borderStyle.setWidth(t[2],this.rectangle);4===t.length&&this.borderStyle.setDashArray(t[3],!0)}}else this.borderStyle.setWidth(0)}setAppearance(e){this.appearance=null;const t=e.get("AP");if(!(t instanceof Dict))return;const a=t.get("N");if(a instanceof BaseStream){this.appearance=a;return}if(!(a instanceof Dict))return;const r=e.get("AS");if(!(r instanceof Name&&a.has(r.name)))return;const i=a.get(r.name);i instanceof BaseStream&&(this.appearance=i)}setOptionalContent(e){this.oc=null;const t=e.get("OC");t instanceof Name?warn("setOptionalContent: Support for /Name-entry is not implemented."):t instanceof Dict&&(this.oc=t)}async loadResources(e,t){const a=await t.dict.getAsync("Resources");a&&await ObjectLoader.load(a,e,a.xref);return a}async getOperatorList(e,t,a,r){const{hasOwnCanvas:i,id:n,rect:o}=this.data;let c=this.appearance;const l=!!(i&&a&s);if(l&&(0===this.width||0===this.height)){this.data.hasOwnCanvas=!1;return{opList:new OperatorList,separateForm:!1,separateCanvas:!1}}if(!c){if(!l)return{opList:new OperatorList,separateForm:!1,separateCanvas:!1};c=new StringStream("");c.dict=new Dict}const h=c.dict,u=await this.loadResources(ga,c),d=lookupRect(h.getArray("BBox"),[0,0,1,1]),f=lookupMatrix(h.getArray("Matrix"),fa),g=getTransformMatrix(o,d,f),p=new OperatorList;let m;this.oc&&(m=await e.parseMarkedContentProps(this.oc,null));void 0!==m&&p.addOp(Ct,["OC",m]);p.addOp(Rt,[n,o,g,f,l]);await e.getOperatorList({stream:c,task:t,resources:u,operatorList:p,fallbackFontDict:this._fallbackFontDict});p.addOp(Bt,[]);void 0!==m&&p.addOp(vt,[]);this.reset();return{opList:p,separateForm:!1,separateCanvas:l}}async save(e,t,a,r){return null}get overlaysTextContent(){return!1}get hasTextContent(){return!1}async extractTextContent(e,t,a){if(!this.appearance)return;const r=await this.loadResources(pa,this.appearance),i=[],n=[];let s=null;const o={desiredSize:Math.Infinity,ready:!0,enqueue(e,t){for(const t of e.items)if(void 0!==t.str){s||=t.transform.slice(-2);n.push(t.str);if(t.hasEOL){i.push(n.join("").trimEnd());n.length=0}}}};await e.getTextContent({stream:this.appearance,task:t,resources:r,includeMarkedContent:!0,keepWhiteSpace:!0,sink:o,viewBox:a});this.reset();n.length&&i.push(n.join("").trimEnd());if(i.length>1||i[0]){const e=this.appearance.dict,t=lookupRect(e.getArray("BBox"),null),a=lookupMatrix(e.getArray("Matrix"),null);this.data.textPosition=this._transformPoint(s,t,a);this.data.textContent=i}}_transformPoint(e,t,a){const{rect:r}=this.data;t||=[0,0,1,1];a||=[1,0,0,1,0,0];const i=getTransformMatrix(r,t,a);i[4]-=r[0];i[5]-=r[1];const n=e.slice();Util.applyTransform(n,i);Util.applyTransform(n,a);return n}getFieldObject(){return this.data.kidIds?{id:this.data.id,actions:this.data.actions,name:this.data.fieldName,strokeColor:this.data.borderColor,fillColor:this.data.backgroundColor,type:"",kidIds:this.data.kidIds,page:this.data.pageIndex,rotation:this.rotation}:null}reset(){for(const e of this._streams)e.reset()}_constructFieldName(e){if(!e.has("T")&&!e.has("Parent")){warn("Unknown field name, falling back to empty field name.");return""}if(!e.has("Parent"))return stringToPDFString(e.get("T"));const t=[];e.has("T")&&t.unshift(stringToPDFString(e.get("T")));let a=e;const r=new RefSet;e.objId&&r.put(e.objId);for(;a.has("Parent");){a=a.get("Parent");if(!(a instanceof Dict)||a.objId&&r.has(a.objId))break;a.objId&&r.put(a.objId);a.has("T")&&t.unshift(stringToPDFString(a.get("T")))}return t.join(".")}get width(){return this.data.rect[2]-this.data.rect[0]}get height(){return this.data.rect[3]-this.data.rect[1]}}class AnnotationBorderStyle{constructor(){this.width=1;this.rawWidth=1;this.style=Q;this.dashArray=[3];this.horizontalCornerRadius=0;this.verticalCornerRadius=0}setWidth(e,t=[0,0,0,0]){if(e instanceof Name)this.width=0;else if("number"==typeof e){if(e>0){this.rawWidth=e;const a=(t[2]-t[0])/2,r=(t[3]-t[1])/2;if(a>0&&r>0&&(e>a||e>r)){warn(`AnnotationBorderStyle.setWidth - ignoring width: ${e}`);e=1}}this.width=e}}setStyle(e){if(e instanceof Name)switch(e.name){case"S":this.style=Q;break;case"D":this.style=ee;break;case"B":this.style=te;break;case"I":this.style=ae;break;case"U":this.style=re}}setDashArray(e,t=!1){if(Array.isArray(e)){let a=!0,r=!0;for(const t of e){if(!(+t>=0)){a=!1;break}t>0&&(r=!1)}if(0===e.length||a&&!r){this.dashArray=e;t&&this.setStyle(Name.get("D"))}else this.width=0}else e&&(this.width=0)}setHorizontalCornerRadius(e){Number.isInteger(e)&&(this.horizontalCornerRadius=e)}setVerticalCornerRadius(e){Number.isInteger(e)&&(this.verticalCornerRadius=e)}}class MarkupAnnotation extends Annotation{constructor(e){super(e);const{dict:t}=e;if(t.has("IRT")){const e=t.getRaw("IRT");this.data.inReplyTo=e instanceof Ref?e.toString():null;const a=t.get("RT");this.data.replyType=a instanceof Name?a.name:R}let a=null;if(this.data.replyType===M){const e=t.get("IRT");this.setTitle(e.get("T"));this.data.titleObj=this._title;this.setContents(e.get("Contents"));this.data.contentsObj=this._contents;if(e.has("CreationDate")){this.setCreationDate(e.get("CreationDate"));this.data.creationDate=this.creationDate}else this.data.creationDate=null;if(e.has("M")){this.setModificationDate(e.get("M"));this.data.modificationDate=this.modificationDate}else this.data.modificationDate=null;a=e.getRaw("Popup");if(e.has("C")){this.setColor(e.getArray("C"));this.data.color=this.color}else this.data.color=null}else{this.data.titleObj=this._title;this.setCreationDate(t.get("CreationDate"));this.data.creationDate=this.creationDate;a=t.getRaw("Popup");t.has("C")||(this.data.color=null)}this.data.popupRef=a instanceof Ref?a.toString():null;t.has("RC")&&(this.data.richText=XFAFactory.getRichTextAsHtml(t.get("RC")))}setCreationDate(e){this.creationDate="string"==typeof e?e:null}_setDefaultAppearance({xref:e,extra:t,strokeColor:a,fillColor:r,blendMode:i,strokeAlpha:n,fillAlpha:s,pointsCallback:o}){const c=this.data.rect=[1/0,1/0,-1/0,-1/0],l=["q"];t&&l.push(t);a&&l.push(`${a[0]} ${a[1]} ${a[2]} RG`);r&&l.push(`${r[0]} ${r[1]} ${r[2]} rg`);const h=this.data.quadPoints||Float32Array.from([this.rectangle[0],this.rectangle[3],this.rectangle[2],this.rectangle[3],this.rectangle[0],this.rectangle[1],this.rectangle[2],this.rectangle[1]]);for(let e=0,t=h.length;e"string"==typeof e).map(e=>stringToPDFString(e)):e instanceof Name?stringToPDFString(e.name):"string"==typeof e?stringToPDFString(e):null}hasFieldFlag(e){return!!(this.data.fieldFlags&e)}_isViewable(e){return!0}mustBeViewed(e,t){return t?this.viewable:super.mustBeViewed(e,t)&&!this._hasFlag(this.flags,U)}getRotationMatrix(e){let t=e?.get(this.data.id)?.rotation;void 0===t&&(t=this.rotation);return 0===t?fa:getRotationMatrix(t,this.width,this.height)}getBorderAndBackgroundAppearances(e){let t=e?.get(this.data.id)?.rotation;void 0===t&&(t=this.rotation);if(!this.backgroundColor&&!this.borderColor)return"";const a=0===t||180===t?`0 0 ${this.width} ${this.height} re`:`0 0 ${this.height} ${this.width} re`;let r="";this.backgroundColor&&(r=`${getPdfColor(this.backgroundColor,!0)} ${a} f `);if(this.borderColor){r+=`${this.borderStyle.width||1} w ${getPdfColor(this.borderColor,!1)} ${a} S `}return r}async getOperatorList(e,t,a,r){if(a&l&&!(this instanceof SignatureWidgetAnnotation)&&!this.data.noHTML&&!this.data.hasOwnCanvas)return{opList:new OperatorList,separateForm:!0,separateCanvas:!1};if(!this._hasText)return super.getOperatorList(e,t,a,r);const i=await this._getAppearance(e,t,a,r);if(this.appearance&&null===i)return super.getOperatorList(e,t,a,r);const n=new OperatorList;if(!this._defaultAppearance||null===i)return{opList:n,separateForm:!1,separateCanvas:!1};const o=!!(this.data.hasOwnCanvas&&a&s),c=[0,0,this.width,this.height],h=getTransformMatrix(this.data.rect,c,[1,0,0,1,0,0]);let u;this.oc&&(u=await e.parseMarkedContentProps(this.oc,null));void 0!==u&&n.addOp(Ct,["OC",u]);n.addOp(Rt,[this.data.id,this.data.rect,h,this.getRotationMatrix(r),o]);const d=new StringStream(i);await e.getOperatorList({stream:d,task:t,resources:this._fieldResources.mergedResources,operatorList:n});n.addOp(Bt,[]);void 0!==u&&n.addOp(vt,[]);return{opList:n,separateForm:!1,separateCanvas:o}}_getMKDict(e){const t=new Dict(null);e&&t.set("R",e);t.setIfArray("BC",getPdfColorArray(this.borderColor));t.setIfArray("BG",getPdfColorArray(this.backgroundColor));return t.size>0?t:null}amendSavedDict(e,t){}setValue(e,t,a,r){const{dict:i,ref:n}=function getParentToUpdate(e,t,a){const r=new RefSet,i=e,n={dict:null,ref:null};for(;e instanceof Dict&&!r.has(t);){r.put(t);if(e.has("T"))break;if(!((t=e.getRaw("Parent"))instanceof Ref))return n;e=a.fetch(t)}if(e instanceof Dict&&e!==i){n.dict=e;n.ref=t}return n}(e,this.ref,a);if(i){if(!r.has(n)){const e=i.clone();e.set("V",t);r.put(n,{data:e});return e}}else e.set("V",t);return null}async save(e,t,a,r){const i=a?.get(this.data.id),n=this._buildFlags(i?.noView,i?.noPrint);let s=i?.value,o=i?.rotation;if(s===this.data.fieldValue||void 0===s){if(!this._hasValueFromXFA&&void 0===o&&void 0===n)return;s||=this.data.fieldValue}if(void 0===o&&!this._hasValueFromXFA&&Array.isArray(s)&&Array.isArray(this.data.fieldValue)&&isArrayEqual(s,this.data.fieldValue)&&void 0===n)return;void 0===o&&(o=this.rotation);let l=null;if(!this._needAppearances){l=await this._getAppearance(e,t,c,a);if(null===l&&void 0===n)return}let h=!1;if(l?.needAppearances){h=!0;l=null}const{xref:u}=e,d=u.fetchIfRef(this.ref);if(!(d instanceof Dict))return;const f=new Dict(u);for(const e of d.getKeys())"AP"!==e&&f.set(e,d.getRaw(e));if(void 0!==n){f.set("F",n);if(null===l&&!h){const e=d.getRaw("AP");e&&f.set("AP",e)}}const g={path:this.data.fieldName,value:s},p=this.setValue(f,Array.isArray(s)?s.map(stringToAsciiOrUTF16BE):stringToAsciiOrUTF16BE(s),u,r);this.amendSavedDict(a,p||f);const m=this._getMKDict(o);m&&f.set("MK",m);r.put(this.ref,{data:f,xfa:g,needAppearances:h});if(null!==l){const e=u.getNewTemporaryRef(),t=new Dict(u);f.set("AP",t);t.set("N",e);const i=this._getSaveFieldResources(u),n=new StringStream(l),s=n.dict=new Dict(u);s.setIfName("Subtype","Form");s.set("Resources",i);const c=o%180==0?[0,0,this.width,this.height]:[0,0,this.height,this.width];s.set("BBox",c);const h=this.getRotationMatrix(a);h!==fa&&s.set("Matrix",h);r.put(e,{data:n,xfa:null,needAppearances:!1})}f.set("M",`D:${getModificationDate()}`)}async _getAppearance(e,t,a,r){if(this.data.password)return null;const n=r?.get(this.data.id);let s,o;if(n){s=n.formattedValue||n.value;o=n.rotation}if(void 0===o&&void 0===s&&!this._needAppearances&&(!this._hasValueFromXFA||this.appearance))return null;const l=this.getBorderAndBackgroundAppearances(r);if(void 0===s){s=this.data.fieldValue;if(!s)return`/Tx BMC q ${l}Q EMC`}Array.isArray(s)&&1===s.length&&(s=s[0]);assert("string"==typeof s,"Expected `value` to be a string.");s=s.trimEnd();if(this.data.combo){const e=this.data.options.find(({exportValue:e})=>s===e);s=e?.displayValue||s}if(""===s)return`/Tx BMC q ${l}Q EMC`;void 0===o&&(o=this.rotation);let h,u=-1;if(this.data.multiLine){h=s.split(/\r\n?|\n/).map(e=>e.normalize("NFC"));u=h.length}else h=[s.replace(/\r\n?|\n/,"").normalize("NFC")];let{width:d,height:f}=this;90!==o&&270!==o||([d,f]=[f,d]);this._defaultAppearance||(this.data.defaultAppearanceData=parseDefaultAppearance(this._defaultAppearance="/Helvetica 0 Tf 0 g"));let g,p,m,b=await WidgetAnnotation._getFontData(e,t,this.data.defaultAppearanceData,this._fieldResources.mergedResources);const y=[];let w=!1;for(const e of h){const t=b.encodeString(e);t.length>1&&(w=!0);y.push(t.join(""))}if(w&&a&c)return{needAppearances:!0};if(w&&this._isOffscreenCanvasSupported){const a=this.data.comb?"monospace":"sans-serif",r=new FakeUnicodeFont(e.xref,a),i=r.createFontResources(h.join("")),n=i.getRaw("Font");if(this._fieldResources.mergedResources.has("Font")){const e=this._fieldResources.mergedResources.get("Font");for(const t of n.getKeys())e.set(t,n.getRaw(t))}else this._fieldResources.mergedResources.set("Font",n);const o=r.fontName.name;b=await WidgetAnnotation._getFontData(e,t,{fontName:o,fontSize:0},i);for(let e=0,t=y.length;e2)return`/Tx BMC q ${l}BT `+g+` 1 0 0 1 ${numberToString(2)} ${numberToString(C)} Tm (${escapeString(y[0])}) Tj ET Q EMC`;return`/Tx BMC q ${l}BT `+g+` 1 0 0 1 0 0 Tm ${this._renderText(y[0],b,p,d,k,{shift:0},2,C)} ET Q EMC`}static async _getFontData(e,t,a,r){const i=new OperatorList,n={font:null,clone(){return this}},{fontName:s,fontSize:o}=a;await e.handleSetFont(r,[s&&Name.get(s),o],null,i,t,n,null);return n.font}_getTextWidth(e,t){return Math.sumPrecise(t.charsToGlyphs(e).map(e=>e.width))/1e3}_computeFontSize(e,t,r,i,n){let{fontSize:s}=this.data.defaultAppearanceData,o=(s||12)*a,c=Math.round(e/o);if(!s){const roundWithTwoDigits=e=>Math.floor(100*e)/100;if(-1===n){const n=this._getTextWidth(r,i);s=roundWithTwoDigits(Math.min(e/a,t/n));c=1}else{const l=r.split(/\r\n?|\n/),h=[];for(const e of l){const t=i.encodeString(e).join(""),a=i.charsToGlyphs(t),r=i.getCharPositions(t);h.push({line:t,glyphs:a,positions:r})}const isTooBig=a=>{let r=0;for(const n of h){r+=this._splitLine(null,i,a,t,n).length*a;if(r>e)return!0}return!1};c=Math.max(c,n);for(;;){o=e/c;s=roundWithTwoDigits(o/a);if(!isTooBig(s))break;c++}}const{fontName:l,fontColor:h}=this.data.defaultAppearanceData;this._defaultAppearance=function createDefaultAppearance({fontSize:e,fontName:t,fontColor:a}){return`/${escapePDFName(t)} ${e} Tf ${getPdfColor(a,!0)}`}({fontSize:s,fontName:l,fontColor:h})}return[this._defaultAppearance,s,e/c]}_renderText(e,t,a,r,i,n,s,o){let c;if(1===i){c=(r-this._getTextWidth(e,t)*a)/2}else if(2===i){c=r-this._getTextWidth(e,t)*a-s}else c=s;const l=numberToString(c-n.shift);n.shift=c;return`${l} ${o=numberToString(o)} Td (${escapeString(e)}) Tj`}_getSaveFieldResources(e){const{localResources:t,appearanceResources:a,acroFormResources:r}=this._fieldResources,i=this.data.defaultAppearanceData?.fontName;if(!i)return t||Dict.empty;for(const e of[t,a])if(e instanceof Dict){const t=e.get("Font");if(t instanceof Dict&&t.has(i))return e}if(r instanceof Dict){const a=r.get("Font");if(a instanceof Dict&&a.has(i)){const r=new Dict(e);r.set(i,a.getRaw(i));const n=new Dict(e);n.set("Font",r);return Dict.merge({xref:e,dictArray:[n,t],mergeSubDicts:!0})}}return t||Dict.empty}getFieldObject(){return null}}class TextWidgetAnnotation extends WidgetAnnotation{constructor(e){super(e);const{dict:t}=e;if(t.has("PMD")){this.flags|=E;this.data.hidden=!0;warn("Barcodes are not supported")}this.data.hasOwnCanvas=this.data.readOnly&&!this.data.noHTML;this._hasText=!0;"string"!=typeof this.data.fieldValue&&(this.data.fieldValue="");let a=getInheritableProperty({dict:t,key:"Q"});(!Number.isInteger(a)||a<0||a>2)&&(a=null);this.data.textAlignment=a;let r=getInheritableProperty({dict:t,key:"MaxLen"});(!Number.isInteger(r)||r<0)&&(r=0);this.data.maxLen=r;this.data.multiLine=this.hasFieldFlag(W);this.data.comb=this.hasFieldFlag(Z)&&!this.data.multiLine&&!this.data.password&&!this.hasFieldFlag(K)&&0!==this.data.maxLen;this.data.doNotScroll=this.hasFieldFlag(Y);const{data:{actions:i}}=this;if(!i)return;const n=/^AF(Date|Time)_(?:Keystroke|Format)(?:Ex)?\(['"]?([^'"]+)['"]?\);$/;let s=!1;(1===i.Format?.length&&1===i.Keystroke?.length&&n.test(i.Format[0])&&n.test(i.Keystroke[0])||0===i.Format?.length&&1===i.Keystroke?.length&&n.test(i.Keystroke[0])||0===i.Keystroke?.length&&1===i.Format?.length&&n.test(i.Format[0]))&&(s=!0);const o=[];i.Format&&o.push(...i.Format);i.Keystroke&&o.push(...i.Keystroke);if(s){delete i.Keystroke;i.Format=o}for(const e of o){const t=e.match(n);if(!t)continue;const a="Date"===t[1];let r=t[2];const i=parseInt(r,10);isNaN(i)||Math.floor(Math.log10(i))+1!==t[2].length||(r=(a?Cn:vn)[i]??r);this.data.datetimeFormat=r;if(!s)break;if(a){if(/HH|MM|ss|h/.test(r)){this.data.datetimeType="datetime-local";this.data.timeStep=/ss/.test(r)?1:60}else this.data.datetimeType="date";break}this.data.datetimeType="time";this.data.timeStep=/ss/.test(r)?1:60;break}}get hasTextContent(){return!!this.appearance&&!this._needAppearances}_getCombAppearance(e,t,a,r,i,n,s,o,c,l,h){const u=i/this.data.maxLen,d=this.getBorderAndBackgroundAppearances(h),f=[],g=t.getCharPositions(a);for(const[e,t]of g)f.push(`(${escapeString(a.substring(e,t))}) Tj`);const p=f.join(` ${numberToString(u)} 0 Td `);return`/Tx BMC q ${d}BT `+e+` 1 0 0 1 ${numberToString(s)} ${numberToString(o+c)} Tm ${p} ET Q EMC`}_getMultilineAppearance(e,t,a,r,i,n,s,o,c,l,h,u){const d=[],f=i-2*o,g={shift:0};for(let e=0,n=t.length;er){c.push(e.substring(d,a));d=a;f=p;l=-1;u=-1}else{f+=p;l=a;h=i;u=t}else if(f+p>r)if(-1!==l){c.push(e.substring(d,h));d=h;t=u+1;l=-1;f=0}else{c.push(e.substring(d,a));d=a;f=p}else f+=p}dt?`\\${t}`:"\\s+");new RegExp(`^\\s*${n}\\s*$`).test(this.data.fieldValue)&&(this.data.textContent=this.data.fieldValue.split("\n"))}getFieldObject(){return{id:this.data.id,value:this.data.fieldValue,defaultValue:this.data.defaultFieldValue||"",multiline:this.data.multiLine,password:this.data.password,charLimit:this.data.maxLen,comb:this.data.comb,editable:!this.data.readOnly,hidden:this.data.hidden,name:this.data.fieldName,rect:this.data.rect,actions:this.data.actions,page:this.data.pageIndex,strokeColor:this.data.borderColor,fillColor:this.data.backgroundColor,rotation:this.rotation,datetimeFormat:this.data.datetimeFormat,hasDatetimeHTML:!!this.data.datetimeType,type:"text"}}}class ButtonWidgetAnnotation extends WidgetAnnotation{constructor(e){super(e);this.checkedAppearance=null;this.uncheckedAppearance=null;const t=this.hasFieldFlag($),a=this.hasFieldFlag(z);this.data.checkBox=!t&&!a;this.data.radioButton=t&&!a;this.data.pushButton=a;this.data.isTooltipOnly=!1;if(this.data.checkBox)this._processCheckBox(e);else if(this.data.radioButton)this._processRadioButton(e);else if(this.data.pushButton){this.data.hasOwnCanvas=!0;this.data.noHTML=!1;this._processPushButton(e)}else warn("Invalid field flags for button widget annotation")}async getOperatorList(e,t,a,r){if(this.data.pushButton)return super.getOperatorList(e,t,a,!1,r);let i=null,n=null;if(r){const e=r.get(this.data.id);i=e?e.value:null;n=e?e.rotation:null}if(null===i&&this.appearance)return super.getOperatorList(e,t,a,r);null==i&&(i=this.data.checkBox?this.data.fieldValue===this.data.exportValue:this.data.fieldValue===this.data.buttonValue);const s=i?this.checkedAppearance:this.uncheckedAppearance;if(s){const i=this.appearance,o=lookupMatrix(s.dict.getArray("Matrix"),fa);n&&s.dict.set("Matrix",this.getRotationMatrix(r));this.appearance=s;const c=super.getOperatorList(e,t,a,r);this.appearance=i;s.dict.set("Matrix",o);return c}return{opList:new OperatorList,separateForm:!1,separateCanvas:!1}}async save(e,t,a,r){this.data.checkBox?this._saveCheckbox(e,t,a,r):this.data.radioButton&&this._saveRadioButton(e,t,a,r)}async _saveCheckbox(e,t,a,r){if(!a)return;const i=a.get(this.data.id),n=this._buildFlags(i?.noView,i?.noPrint);let s=i?.rotation,o=i?.value;if(void 0===s&&void 0===n){if(void 0===o)return;if(this.data.fieldValue===this.data.exportValue===o)return}let c=e.xref.fetchIfRef(this.ref);if(!(c instanceof Dict))return;c=c.clone();void 0===s&&(s=this.rotation);void 0===o&&(o=this.data.fieldValue===this.data.exportValue);const l={path:this.data.fieldName,value:o?this.data.exportValue:""},h=Name.get(o?this.data.exportValue:"Off");this.setValue(c,h,e.xref,r);c.set("AS",h);c.set("M",`D:${getModificationDate()}`);void 0!==n&&c.set("F",n);const u=this._getMKDict(s);u&&c.set("MK",u);r.put(this.ref,{data:c,xfa:l,needAppearances:!1})}async _saveRadioButton(e,t,a,r){if(!a)return;const i=a.get(this.data.id),n=this._buildFlags(i?.noView,i?.noPrint);let s=i?.rotation,o=i?.value;if(void 0===s&&void 0===n){if(void 0===o)return;if(this.data.fieldValue===this.data.buttonValue===o)return}let c=e.xref.fetchIfRef(this.ref);if(!(c instanceof Dict))return;c=c.clone();void 0===o&&(o=this.data.fieldValue===this.data.buttonValue);void 0===s&&(s=this.rotation);const l={path:this.data.fieldName,value:o?this.data.buttonValue:""},h=Name.get(o?this.data.buttonValue:"Off");o&&this.setValue(c,h,e.xref,r);c.set("AS",h);c.set("M",`D:${getModificationDate()}`);void 0!==n&&c.set("F",n);const u=this._getMKDict(s);u&&c.set("MK",u);r.put(this.ref,{data:c,xfa:l,needAppearances:!1})}_getDefaultCheckedAppearance(e,t){const{width:a,height:r}=this,i=[0,0,a,r],n=.8*Math.min(a,r);let s,o;if("check"===t){s={width:.755*n,height:.705*n};o="3"}else if("disc"===t){s={width:.791*n,height:.705*n};o="l"}else unreachable(`_getDefaultCheckedAppearance - unsupported type: ${t}`);const c=`q BT /PdfJsZaDb ${n} Tf 0 g ${numberToString((a-s.width)/2)} ${numberToString((r-s.height)/2)} Td (${o}) Tj ET Q`,l=new Dict(e.xref);l.set("FormType",1);l.setIfName("Subtype","Form");l.setIfName("Type","XObject");l.set("BBox",i);l.set("Matrix",[1,0,0,1,0,0]);l.set("Length",c.length);const h=new Dict(e.xref),u=new Dict(e.xref);u.set("PdfJsZaDb",this.fallbackFontDict);h.set("Font",u);l.set("Resources",h);this.checkedAppearance=new StringStream(c);this.checkedAppearance.dict=l;this._streams.push(this.checkedAppearance)}_processCheckBox(e){const t=e.dict.get("AP");if(!(t instanceof Dict))return;const a=t.get("N");if(!(a instanceof Dict))return;const r=this._decodeFormValue(e.dict.get("AS"));"string"==typeof r&&(this.data.fieldValue=r);const i=null!==this.data.fieldValue&&"Off"!==this.data.fieldValue?this.data.fieldValue:"Yes",n=this._decodeFormValue(a.getKeys());if(0===n.length)n.push("Off",i);else if(1===n.length)"Off"===n[0]?n.push(i):n.unshift("Off");else if(n.includes(i)){n.length=0;n.push("Off",i)}else{const e=n.find(e=>"Off"!==e);n.length=0;n.push("Off",e)}n.includes(this.data.fieldValue)||(this.data.fieldValue="Off");this.data.exportValue=n[1];const s=a.get(this.data.exportValue);this.checkedAppearance=s instanceof BaseStream?s:null;const o=a.get("Off");this.uncheckedAppearance=o instanceof BaseStream?o:null;this.checkedAppearance?this._streams.push(this.checkedAppearance):this._getDefaultCheckedAppearance(e,"check");this.uncheckedAppearance&&this._streams.push(this.uncheckedAppearance);this._fallbackFontDict=this.fallbackFontDict;null===this.data.defaultFieldValue&&(this.data.defaultFieldValue="Off")}_processRadioButton(e){this.data.buttonValue=null;const t=e.dict.get("Parent");if(t instanceof Dict){this.parent=e.dict.getRaw("Parent");const a=t.get("V");a instanceof Name&&(this.data.fieldValue=this._decodeFormValue(a))}const a=e.dict.get("AP");if(!(a instanceof Dict))return;const r=a.get("N");if(!(r instanceof Dict))return;for(const e of r.getKeys())if("Off"!==e){this.data.buttonValue=this._decodeFormValue(e);break}const i=r.get(this.data.buttonValue);this.checkedAppearance=i instanceof BaseStream?i:null;const n=r.get("Off");this.uncheckedAppearance=n instanceof BaseStream?n:null;this.checkedAppearance?this._streams.push(this.checkedAppearance):this._getDefaultCheckedAppearance(e,"disc");this.uncheckedAppearance&&this._streams.push(this.uncheckedAppearance);this._fallbackFontDict=this.fallbackFontDict;null===this.data.defaultFieldValue&&(this.data.defaultFieldValue="Off")}_processPushButton(e){const{dict:t,annotationGlobals:a}=e;if(t.has("A")||t.has("AA")||this.data.alternativeText){this.data.isTooltipOnly=!t.has("A")&&!t.has("AA");Catalog.parseDestDictionary({destDict:t,resultObj:this.data,docBaseUrl:a.baseUrl,docAttachments:a.attachments})}else warn("Push buttons without action dictionaries are not supported")}getFieldObject(){let e,t="button";if(this.data.checkBox){t="checkbox";e=this.data.exportValue}else if(this.data.radioButton){t="radiobutton";e=this.data.buttonValue}return{id:this.data.id,value:this.data.fieldValue||"Off",defaultValue:this.data.defaultFieldValue,exportValues:e,editable:!this.data.readOnly,name:this.data.fieldName,rect:this.data.rect,hidden:this.data.hidden,actions:this.data.actions,page:this.data.pageIndex,strokeColor:this.data.borderColor,fillColor:this.data.backgroundColor,rotation:this.rotation,type:t}}get fallbackFontDict(){const e=new Dict;e.setIfName("BaseFont","ZapfDingbats");e.setIfName("Type","FallbackType");e.setIfName("Subtype","FallbackType");e.setIfName("Encoding","ZapfDingbatsEncoding");return shadow(this,"fallbackFontDict",e)}}class ChoiceWidgetAnnotation extends WidgetAnnotation{constructor(e){super(e);const{dict:t,xref:a}=e;this.indices=t.getArray("I");this.hasIndices=Array.isArray(this.indices)&&this.indices.length>0;this.data.options=[];const r=getInheritableProperty({dict:t,key:"Opt"});if(Array.isArray(r))for(let e=0,t=r.length;e=0&&t0&&(this.data.options=this.data.fieldValue.map(e=>({exportValue:e,displayValue:e})));this.data.combo=this.hasFieldFlag(V);this.data.multiSelect=this.hasFieldFlag(J);this._hasText=!0}getFieldObject(){const e=this.data.combo?"combobox":"listbox",t=this.data.fieldValue.length>0?this.data.fieldValue[0]:null;return{id:this.data.id,value:t,defaultValue:this.data.defaultFieldValue,editable:!this.data.readOnly,name:this.data.fieldName,rect:this.data.rect,numItems:this.data.fieldValue.length,multipleSelection:this.data.multiSelect,hidden:this.data.hidden,actions:this.data.actions,items:this.data.options,page:this.data.pageIndex,strokeColor:this.data.borderColor,fillColor:this.data.backgroundColor,rotation:this.rotation,type:e}}amendSavedDict(e,t){if(!this.hasIndices)return;let a=e?.get(this.data.id)?.value;Array.isArray(a)||(a=[a]);const r=[],{options:i}=this.data;for(let e=0,t=0,n=i.length;ea){a=r;t=e}}[f,g]=this._computeFontSize(e,c-4,t,d,-1)}const p=g*a,m=(p-g)/2,b=Math.floor(l/p);let y=0;if(u.length>0){const e=Math.min(...u),t=Math.max(...u);y=Math.max(0,t-b+1);y>e&&(y=e)}const w=Math.min(y+b+1,h),S=["/Tx BMC q",`1 1 ${c} ${l} re W n`];if(u.length){S.push("0.600006 0.756866 0.854904 rg");for(const e of u)y<=e&&ee.trimEnd());const{coords:e,bbox:t,matrix:r}=FakeUnicodeFont.getFirstPositionInfo(this.rectangle,this.rotation,a);this.data.textPosition=this._transformPoint(e,t,r)}if(this._isOffscreenCanvasSupported){const i=e.dict.get("CA"),n=new FakeUnicodeFont(r,"sans-serif");this.appearance=n.createAppearance(this._contents.str,this.rectangle,this.rotation,a,t,i);this._streams.push(this.appearance)}else warn("FreeTextAnnotation: OffscreenCanvas is not supported, annotation may not render correctly.")}}get hasTextContent(){return this._hasAppearance}static createNewDict(e,t,{apRef:a,ap:r}){const{color:i,date:n,fontSize:s,oldAnnotation:o,rect:c,rotation:l,user:h,value:u}=e,d=o||new Dict(t);d.setIfNotExists("Type",Name.get("Annot"));d.setIfNotExists("Subtype",Name.get("FreeText"));d.set(o?"M":"CreationDate",`D:${getModificationDate(n)}`);o&&d.delete("RC");d.setIfArray("Rect",c);const f=`/Helv ${s} Tf ${getPdfColor(i,!0)}`;d.set("DA",f);d.setIfDefined("Contents",stringToAsciiOrUTF16BE(u));d.setIfNotExists("F",4);d.setIfNotExists("Border",[0,0,0]);d.setIfNumber("Rotate",l);d.setIfDefined("T",stringToAsciiOrUTF16BE(h));if(a||r){const e=new Dict(t);d.set("AP",e);e.set("N",a||r)}return d}static async createNewAppearanceStream(e,t,r){const{baseFontRef:i,evaluator:n,task:s}=r,{color:o,fontSize:c,rect:l,rotation:h,value:u}=e;if(!o)return null;const d=new Dict(t),f=new Dict(t);if(i)f.set("Helv",i);else{const e=new Dict(t);e.setIfName("BaseFont","Helvetica");e.setIfName("Type","Font");e.setIfName("Subtype","Type1");e.setIfName("Encoding","WinAnsiEncoding");f.set("Helv",e)}d.set("Font",f);const g=await WidgetAnnotation._getFontData(n,s,{fontName:"Helv",fontSize:c},d),[p,m,b,y]=l;let w=b-p,S=y-m;h%180!=0&&([w,S]=[S,w]);const x=u.split("\n"),k=c/1e3;let C=-1/0;const v=[];for(let e of x){const t=g.encodeString(e);if(t.length>1)return null;e=t.join("");v.push(e);let a=0;const r=g.charsToGlyphs(e);for(const e of r)a+=e.width*k;C=Math.max(C,a)}let F=1;C>w&&(F=w/C);let T=1;const O=a*c,D=1*c,M=O*x.length;M>S&&(T=S/M);const R=c*Math.min(F,T);let N,E,L;switch(h){case 0:L=[1,0,0,1];E=[l[0],l[1],w,S];N=[l[0],l[3]-D];break;case 90:L=[0,1,-1,0];E=[l[1],-l[2],w,S];N=[l[1],-l[0]-D];break;case 180:L=[-1,0,0,-1];E=[-l[2],-l[3],w,S];N=[-l[2],-l[1]-D];break;case 270:L=[0,-1,1,0];E=[-l[3],l[0],w,S];N=[-l[3],l[2]-D]}const _=["q",`${L.join(" ")} 0 0 cm`,`${E.join(" ")} re W n`,"BT",`${getPdfColor(o,!0)}`,`0 Tc /Helv ${numberToString(R)} Tf`];_.push(`${N.join(" ")} Td (${escapeString(v[0])}) Tj`);const U=numberToString(O);for(let e=1,t=v.length;e{e.push(`${r[0]} ${r[1]} m`,`${r[2]} ${r[3]} l`,"S");return[t[0]-o,t[7]-o,t[2]+o,t[3]+o]}})}}}class SquareAnnotation extends MarkupAnnotation{constructor(e){super(e);const{dict:t,xref:a}=e;this.data.annotationType=D.SQUARE;this.data.hasOwnCanvas=this.data.noRotate;this.data.noHTML=!1;if(!this.appearance){const e=getPdfColorArray(this.color,[0,0,0]),r=t.get("CA"),i=getPdfColorArray(getRgbColor(t.getArray("IC"),null)),n=i?r:null;if(0===this.borderStyle.width&&!i)return;this._setDefaultAppearance({xref:a,extra:`${this.borderStyle.width} w`,strokeColor:e,fillColor:i,strokeAlpha:r,fillAlpha:n,pointsCallback:(e,t)=>{const a=t[4]+this.borderStyle.width/2,r=t[5]+this.borderStyle.width/2,n=t[6]-t[4]-this.borderStyle.width,s=t[3]-t[7]-this.borderStyle.width;e.push(`${a} ${r} ${n} ${s} re`);i?e.push("B"):e.push("S");return[t[0],t[7],t[2],t[3]]}})}}}class CircleAnnotation extends MarkupAnnotation{constructor(e){super(e);const{dict:t,xref:a}=e;this.data.annotationType=D.CIRCLE;if(!this.appearance){const e=getPdfColorArray(this.color,[0,0,0]),r=t.get("CA"),i=getPdfColorArray(getRgbColor(t.getArray("IC"),null)),n=i?r:null;if(0===this.borderStyle.width&&!i)return;const s=4/3*Math.tan(Math.PI/8);this._setDefaultAppearance({xref:a,extra:`${this.borderStyle.width} w`,strokeColor:e,fillColor:i,strokeAlpha:r,fillAlpha:n,pointsCallback:(e,t)=>{const a=t[0]+this.borderStyle.width/2,r=t[1]-this.borderStyle.width/2,n=t[6]-this.borderStyle.width/2,o=t[7]+this.borderStyle.width/2,c=a+(n-a)/2,l=r+(o-r)/2,h=(n-a)/2*s,u=(o-r)/2*s;e.push(`${c} ${o} m`,`${c+h} ${o} ${n} ${l+u} ${n} ${l} c`,`${n} ${l-u} ${c+h} ${r} ${c} ${r} c`,`${c-h} ${r} ${a} ${l-u} ${a} ${l} c`,`${a} ${l+u} ${c-h} ${o} ${c} ${o} c`,"h");i?e.push("B"):e.push("S");return[t[0],t[7],t[2],t[3]]}})}}}class PolylineAnnotation extends MarkupAnnotation{constructor(e){super(e);const{dict:t,xref:a}=e;this.data.annotationType=D.POLYLINE;this.data.hasOwnCanvas=this.data.noRotate;this.data.noHTML=!1;this.data.vertices=null;if(!(this instanceof PolygonAnnotation)){this.setLineEndings(t.getArray("LE"));this.data.lineEndings=this.lineEndings}const r=t.getArray("Vertices");if(!isNumberArray(r,null))return;const i=this.data.vertices=Float32Array.from(r);if(!this.appearance){const e=getPdfColorArray(this.color,[0,0,0]),r=t.get("CA");let n,s=getRgbColor(t.getArray("IC"),null);s&&(s=getPdfColorArray(s));n=s?this.color?s.every((t,a)=>t===e[a])?"f":"B":"f":"S";const o=this.borderStyle.width||1,c=2*o,l=[1/0,1/0,-1/0,-1/0];for(let e=0,t=i.length;e{for(let t=0,a=i.length;t{for(const t of this.data.inkLists){for(let a=0,r=t.length;a0){const e=new Dict(t);g.set("BS",e);e.set("W",d)}g.setIfArray("C",getPdfColorArray(n));g.setIfNumber("CA",o);if(r||a){const e=new Dict(t);g.set("AP",e);e.set("N",a||r)}return g}static async createNewAppearanceStream(e,t,a){if(e.outlines)return this.createNewAppearanceStreamForHighlight(e,t,a);const{color:r,rect:i,paths:n,thickness:s,opacity:o}=e;if(!r)return null;const c=[`${s} w 1 J 1 j`,`${getPdfColor(r,!1)}`];1!==o&&c.push("/R0 gs");for(const e of n.lines){c.push(`${numberToString(e[4])} ${numberToString(e[5])} m`);for(let t=6,a=e.length;t{e.push(`${t[0]} ${t[1]} m`,`${t[2]} ${t[3]} l`,`${t[6]} ${t[7]} l`,`${t[4]} ${t[5]} l`,"f");return[t[0],t[7],t[2],t[3]]}})}}else this.data.popupRef=null}get overlaysTextContent(){return!0}static createNewDict(e,t,{apRef:a,ap:r}){const{color:i,date:n,oldAnnotation:s,opacity:o,rect:c,rotation:l,user:h,quadPoints:u}=e,d=s||new Dict(t);d.setIfNotExists("Type",Name.get("Annot"));d.setIfNotExists("Subtype",Name.get("Highlight"));d.set(s?"M":"CreationDate",`D:${getModificationDate(n)}`);d.setIfArray("Rect",c);d.setIfNotExists("F",4);d.setIfNotExists("Border",[0,0,0]);d.setIfNumber("Rotate",l);d.setIfArray("QuadPoints",u);d.setIfArray("C",getPdfColorArray(i));d.setIfNumber("CA",o);d.setIfDefined("T",stringToAsciiOrUTF16BE(h));if(a||r){const e=new Dict(t);d.set("AP",e);e.set("N",a||r)}return d}static async createNewAppearanceStream(e,t,a){const{color:r,rect:i,outlines:n,opacity:s}=e;if(!r)return null;const o=[`${getPdfColor(r,!0)}`,"/R0 gs"],c=[];for(const e of n){c.length=0;c.push(`${numberToString(e[0])} ${numberToString(e[1])} m`);for(let t=2,a=e.length;t{e.push(`${t[4]} ${t[5]+1.3} m`,`${t[6]} ${t[7]+1.3} l`,"S");return[t[0],t[7],t[2],t[3]]}})}}else this.data.popupRef=null}get overlaysTextContent(){return!0}}class SquigglyAnnotation extends MarkupAnnotation{constructor(e){super(e);const{dict:t,xref:a}=e;this.data.annotationType=D.SQUIGGLY;if(this.data.quadPoints=getQuadPoints(t,null)){if(!this.appearance){const e=getPdfColorArray(this.color,[0,0,0]),r=t.get("CA");this._setDefaultAppearance({xref:a,extra:"[] 0 d 1 w",strokeColor:e,strokeAlpha:r,pointsCallback:(e,t)=>{const a=(t[1]-t[5])/6;let r=a,i=t[4];const n=t[5],s=t[6];e.push(`${i} ${n+r} m`);do{i+=2;r=0===r?a:0;e.push(`${i} ${n+r} l`)}while(i{e.push((t[0]+t[4])/2+" "+(t[1]+t[5])/2+" m",(t[2]+t[6])/2+" "+(t[3]+t[7])/2+" l","S");return[t[0],t[7],t[2],t[3]]}})}}else this.data.popupRef=null}get overlaysTextContent(){return!0}}class StampAnnotation extends MarkupAnnotation{#Ne=null;constructor(e){super(e);this.data.annotationType=D.STAMP;this.data.hasOwnCanvas=this.data.noRotate;this.data.isEditable=!this.data.noHTML;this.data.noHTML=!1}mustBeViewedWhenEditing(e,t=null){if(e){if(!this.data.isEditable)return!0;this.#Ne??=this.data.hasOwnCanvas;this.data.hasOwnCanvas=!0;return!0}if(null!==this.#Ne){this.data.hasOwnCanvas=this.#Ne;this.#Ne=null}return!t?.has(this.data.id)}static async createImage(e,t){const{width:a,height:r}=e,i=new OffscreenCanvas(a,r),n=i.getContext("2d",{alpha:!0});n.drawImage(e,0,0);const s=n.getImageData(0,0,a,r).data,o=new Uint32Array(s.buffer),c=o.some(FeatureTest.isLittleEndian?e=>e>>>24!=255:e=>!!(255&~e));if(c){n.fillStyle="white";n.fillRect(0,0,a,r);n.drawImage(e,0,0)}const l=i.convertToBlob({type:"image/jpeg",quality:1}).then(e=>e.arrayBuffer()),h=Name.get("XObject"),u=Name.get("Image"),d=new Dict(t);d.set("Type",h);d.set("Subtype",u);d.set("BitsPerComponent",8);d.setIfName("ColorSpace","DeviceRGB");d.setIfName("Filter","DCTDecode");d.set("BBox",[0,0,a,r]);d.set("Width",a);d.set("Height",r);let f=null;if(c){const e=new Uint8Array(o.length);if(FeatureTest.isLittleEndian)for(let t=0,a=o.length;t>>24;else for(let t=0,a=o.length;t=0&&i<=1?i:null}}const rc={get r(){return shadow(this,"r",new Uint8Array([7,12,17,22,7,12,17,22,7,12,17,22,7,12,17,22,5,9,14,20,5,9,14,20,5,9,14,20,5,9,14,20,4,11,16,23,4,11,16,23,4,11,16,23,4,11,16,23,6,10,15,21,6,10,15,21,6,10,15,21,6,10,15,21]))},get k(){return shadow(this,"k",new Int32Array([-680876936,-389564586,606105819,-1044525330,-176418897,1200080426,-1473231341,-45705983,1770035416,-1958414417,-42063,-1990404162,1804603682,-40341101,-1502002290,1236535329,-165796510,-1069501632,643717713,-373897302,-701558691,38016083,-660478335,-405537848,568446438,-1019803690,-187363961,1163531501,-1444681467,-51403784,1735328473,-1926607734,-378558,-2022574463,1839030562,-35309556,-1530992060,1272893353,-155497632,-1094730640,681279174,-358537222,-722521979,76029189,-640364487,-421815835,530742520,-995338651,-198630844,1126891415,-1416354905,-57434055,1700485571,-1894986606,-1051523,-2054922799,1873313359,-30611744,-1560198380,1309151649,-145523070,-1120210379,718787259,-343485551]))}};function calculateMD5(e,t,a){let r=1732584193,i=-271733879,n=-1732584194,s=271733878;const o=a+72&-64,c=new Uint8Array(o);let l,h;for(l=0;l>5&255;c[l++]=a>>13&255;c[l++]=a>>21&255;c[l++]=a>>>29&255;l+=3;const d=new Int32Array(16),{k:f,r:g}=rc;for(l=0;l>>32-n)|0;a=r}r=r+a|0;i=i+o|0;n=n+u|0;s=s+p|0}return new Uint8Array([255&r,r>>8&255,r>>16&255,r>>>24&255,255&i,i>>8&255,i>>16&255,i>>>24&255,255&n,n>>8&255,n>>16&255,n>>>24&255,255&s,s>>8&255,s>>16&255,s>>>24&255])}function decodeString(e){try{return stringToUTF8String(e)}catch(t){warn(`UTF-8 decoding failed: "${t}".`);return e}}class DatasetXMLParser extends SimpleXMLParser{constructor(e){super(e);this.node=null}onEndElement(e){const t=super.onEndElement(e);if(t&&"xfa:datasets"===e){this.node=t;throw new Error("Aborting DatasetXMLParser.")}}}class DatasetReader{constructor(e){if(e.datasets)this.node=new SimpleXMLParser({hasAttributes:!0}).parseFromString(e.datasets).documentElement;else{const t=new DatasetXMLParser({hasAttributes:!0});try{t.parseFromString(e["xdp:xdp"])}catch{}this.node=t.node}}getValue(e){if(!this.node||!e)return"";const t=this.node.searchNode(parseXFAPath(e),0);if(!t)return"";const a=t.firstChild;return"value"===a?.nodeName?t.children.map(e=>decodeString(e.textContent)):decodeString(t.textContent)}}class SingleIntersector{#Ee;minX=1/0;minY=1/0;maxX=-1/0;maxY=-1/0;#Le=null;#_e=[];#Ue=[];#je=-1;#Xe=!1;constructor(e){this.#Ee=e;const t=e.data.quadPoints;if(t){for(let e=0,a=t.length;e8&&(this.#Le=t)}else[this.minX,this.minY,this.maxX,this.maxY]=e.data.rect}#qe(e,t){if(this.minX>=e||this.maxX<=e||this.minY>=t||this.maxY<=t)return!1;const a=this.#Le;if(!a)return!0;if(this.#je>=0){const r=this.#je;if(!(a[r]>=e||a[r+2]<=e||a[r+5]>=t||a[r+1]<=t))return!0;this.#je=-1}for(let r=0,i=a.length;r=e||a[r+2]<=e||a[r+5]>=t||a[r+1]<=t)){this.#je=r;return!0}return!1}addGlyph(e,t,a){if(!this.#qe(e,t)){this.disableExtraChars();return!1}if(this.#Ue.length>0){this.#_e.push(this.#Ue.join(""));this.#Ue.length=0}this.#_e.push(a);this.#Xe=!0;return!0}addExtraChar(e){this.#Xe&&this.#Ue.push(e)}disableExtraChars(){if(this.#Xe){this.#Xe=!1;this.#Ue.length=0}}setText(){this.#Ee.data.overlaidText=this.#_e.join("")}}const ic=64;class Intersector{#He=[];#We=[];#Ge;#$e;#ze;#Ve;#Ke;#Je;constructor(e){let t=1/0,a=1/0,r=-1/0,i=-1/0;const n=this.#He;for(const s of e){if(!s.data.quadPoints&&!s.data.rect)continue;const e=new SingleIntersector(s);n.push(e);t=Math.min(t,e.minX);a=Math.min(a,e.minY);r=Math.max(r,e.maxX);i=Math.max(i,e.maxY)}this.#Ge=t;this.#ze=a;this.#$e=r;this.#Ve=i;this.#Ke=63/(r-t);this.#Je=63/(i-a);for(const e of n){const t=this.#Ye(e.minX,e.minY),a=this.#Ye(e.maxX,e.maxY),r=(a-t)%ic,i=Math.floor((a-t)/ic);for(let a=t;a<=t+i*ic;a+=ic)for(let t=0;t<=r;t++){let r=this.#We[a+t];r||(this.#We[a+t]=r=[]);r.push(e)}}}#Ye(e,t){return Math.floor((e-this.#Ge)*this.#Ke)+Math.floor((t-this.#ze)*this.#Je)*ic}addGlyph(e,t,a,r){const i=e[4]+t/2,n=e[5]+a/2;if(ithis.#$e||n>this.#Ve)return;const s=this.#We[this.#Ye(i,n)];if(s)for(const e of s)e.addGlyph(i,n,r)}addExtraChar(e){for(const t of this.#He)t.addExtraChar(e)}setText(){for(const e of this.#He)e.setText()}}class Word64{constructor(e,t){this.high=0|e;this.low=0|t}and(e){this.high&=e.high;this.low&=e.low}xor(e){this.high^=e.high;this.low^=e.low}shiftRight(e){if(e>=32){this.low=this.high>>>e-32|0;this.high=0}else{this.low=this.low>>>e|this.high<<32-e;this.high=this.high>>>e|0}}rotateRight(e){let t,a;if(32&e){a=this.low;t=this.high}else{t=this.low;a=this.high}e&=31;this.low=t>>>e|a<<32-e;this.high=a>>>e|t<<32-e}not(){this.high=~this.high;this.low=~this.low}add(e){const t=(this.low>>>0)+(e.low>>>0);let a=(this.high>>>0)+(e.high>>>0);t>4294967295&&(a+=1);this.low=0|t;this.high=0|a}copyTo(e,t){e[t]=this.high>>>24&255;e[t+1]=this.high>>16&255;e[t+2]=this.high>>8&255;e[t+3]=255&this.high;e[t+4]=this.low>>>24&255;e[t+5]=this.low>>16&255;e[t+6]=this.low>>8&255;e[t+7]=255&this.low}assign(e){this.high=e.high;this.low=e.low}}const nc={get k(){return shadow(this,"k",[new Word64(1116352408,3609767458),new Word64(1899447441,602891725),new Word64(3049323471,3964484399),new Word64(3921009573,2173295548),new Word64(961987163,4081628472),new Word64(1508970993,3053834265),new Word64(2453635748,2937671579),new Word64(2870763221,3664609560),new Word64(3624381080,2734883394),new Word64(310598401,1164996542),new Word64(607225278,1323610764),new Word64(1426881987,3590304994),new Word64(1925078388,4068182383),new Word64(2162078206,991336113),new Word64(2614888103,633803317),new Word64(3248222580,3479774868),new Word64(3835390401,2666613458),new Word64(4022224774,944711139),new Word64(264347078,2341262773),new Word64(604807628,2007800933),new Word64(770255983,1495990901),new Word64(1249150122,1856431235),new Word64(1555081692,3175218132),new Word64(1996064986,2198950837),new Word64(2554220882,3999719339),new Word64(2821834349,766784016),new Word64(2952996808,2566594879),new Word64(3210313671,3203337956),new Word64(3336571891,1034457026),new Word64(3584528711,2466948901),new Word64(113926993,3758326383),new Word64(338241895,168717936),new Word64(666307205,1188179964),new Word64(773529912,1546045734),new Word64(1294757372,1522805485),new Word64(1396182291,2643833823),new Word64(1695183700,2343527390),new Word64(1986661051,1014477480),new Word64(2177026350,1206759142),new Word64(2456956037,344077627),new Word64(2730485921,1290863460),new Word64(2820302411,3158454273),new Word64(3259730800,3505952657),new Word64(3345764771,106217008),new Word64(3516065817,3606008344),new Word64(3600352804,1432725776),new Word64(4094571909,1467031594),new Word64(275423344,851169720),new Word64(430227734,3100823752),new Word64(506948616,1363258195),new Word64(659060556,3750685593),new Word64(883997877,3785050280),new Word64(958139571,3318307427),new Word64(1322822218,3812723403),new Word64(1537002063,2003034995),new Word64(1747873779,3602036899),new Word64(1955562222,1575990012),new Word64(2024104815,1125592928),new Word64(2227730452,2716904306),new Word64(2361852424,442776044),new Word64(2428436474,593698344),new Word64(2756734187,3733110249),new Word64(3204031479,2999351573),new Word64(3329325298,3815920427),new Word64(3391569614,3928383900),new Word64(3515267271,566280711),new Word64(3940187606,3454069534),new Word64(4118630271,4000239992),new Word64(116418474,1914138554),new Word64(174292421,2731055270),new Word64(289380356,3203993006),new Word64(460393269,320620315),new Word64(685471733,587496836),new Word64(852142971,1086792851),new Word64(1017036298,365543100),new Word64(1126000580,2618297676),new Word64(1288033470,3409855158),new Word64(1501505948,4234509866),new Word64(1607167915,987167468),new Word64(1816402316,1246189591)])}};function ch(e,t,a,r,i){e.assign(t);e.and(a);i.assign(t);i.not();i.and(r);e.xor(i)}function maj(e,t,a,r,i){e.assign(t);e.and(a);i.assign(t);i.and(r);e.xor(i);i.assign(a);i.and(r);e.xor(i)}function sigma(e,t,a){e.assign(t);e.rotateRight(28);a.assign(t);a.rotateRight(34);e.xor(a);a.assign(t);a.rotateRight(39);e.xor(a)}function sigmaPrime(e,t,a){e.assign(t);e.rotateRight(14);a.assign(t);a.rotateRight(18);e.xor(a);a.assign(t);a.rotateRight(41);e.xor(a)}function littleSigma(e,t,a){e.assign(t);e.rotateRight(1);a.assign(t);a.rotateRight(8);e.xor(a);a.assign(t);a.shiftRight(7);e.xor(a)}function littleSigmaPrime(e,t,a){e.assign(t);e.rotateRight(19);a.assign(t);a.rotateRight(61);e.xor(a);a.assign(t);a.shiftRight(6);e.xor(a)}function calculateSHA512(e,t,a,r=!1){let i,n,s,o,c,l,h,u;if(r){i=new Word64(3418070365,3238371032);n=new Word64(1654270250,914150663);s=new Word64(2438529370,812702999);o=new Word64(355462360,4144912697);c=new Word64(1731405415,4290775857);l=new Word64(2394180231,1750603025);h=new Word64(3675008525,1694076839);u=new Word64(1203062813,3204075428)}else{i=new Word64(1779033703,4089235720);n=new Word64(3144134277,2227873595);s=new Word64(1013904242,4271175723);o=new Word64(2773480762,1595750129);c=new Word64(1359893119,2917565137);l=new Word64(2600822924,725511199);h=new Word64(528734635,4215389547);u=new Word64(1541459225,327033209)}const d=128*Math.ceil((a+17)/128),f=new Uint8Array(d);let g,p;for(g=0;g>>29&255;f[g++]=a>>21&255;f[g++]=a>>13&255;f[g++]=a>>5&255;f[g++]=a<<3&255;const b=new Array(80);for(g=0;g<80;g++)b[g]=new Word64(0,0);const{k:y}=nc;let w=new Word64(0,0),S=new Word64(0,0),x=new Word64(0,0),k=new Word64(0,0),C=new Word64(0,0),v=new Word64(0,0),F=new Word64(0,0),T=new Word64(0,0);const O=new Word64(0,0),D=new Word64(0,0),M=new Word64(0,0),R=new Word64(0,0);let N,E;for(g=0;g>>t|e<<32-t}function calculate_sha256_ch(e,t,a){return e&t^~e&a}function calculate_sha256_maj(e,t,a){return e&t^e&a^t&a}function calculate_sha256_sigma(e){return rotr(e,2)^rotr(e,13)^rotr(e,22)}function calculate_sha256_sigmaPrime(e){return rotr(e,6)^rotr(e,11)^rotr(e,25)}function calculate_sha256_littleSigma(e){return rotr(e,7)^rotr(e,18)^e>>>3}function calculate_sha256_littleSigmaPrime(e){return rotr(e,17)^rotr(e,19)^e>>>10}function calculateSHA256(e,t,a){let r=1779033703,i=3144134277,n=1013904242,s=2773480762,o=1359893119,c=2600822924,l=528734635,h=1541459225;const u=64*Math.ceil((a+9)/64),d=new Uint8Array(u);let f,g;for(f=0;f>>29&255;d[f++]=a>>21&255;d[f++]=a>>13&255;d[f++]=a>>5&255;d[f++]=a<<3&255;const m=new Uint32Array(64),{k:b}=sc;for(f=0;f>24&255,r>>16&255,r>>8&255,255&r,i>>24&255,i>>16&255,i>>8&255,255&i,n>>24&255,n>>16&255,n>>8&255,255&n,s>>24&255,s>>16&255,s>>8&255,255&s,o>>24&255,o>>16&255,o>>8&255,255&o,c>>24&255,c>>16&255,c>>8&255,255&c,l>>24&255,l>>16&255,l>>8&255,255&l,h>>24&255,h>>16&255,h>>8&255,255&h])}class DecryptStream extends DecodeStream{constructor(e,t,a){super(t);this.stream=e;this.dict=e.dict;this.decrypt=a;this.nextChunk=null;this.initialized=!1}readBlock(){let e;if(this.initialized)e=this.nextChunk;else{e=this.stream.getBytes(512);this.initialized=!0}if(!e?.length){this.eof=!0;return}this.nextChunk=this.stream.getBytes(512);const t=this.nextChunk?.length>0;e=(0,this.decrypt)(e,!t);const a=this.bufferLength,r=a+e.length;this.ensureBuffer(r).set(e,a);this.bufferLength=r}getOriginalStream(){return this}}class ARCFourCipher{constructor(e){this.a=0;this.b=0;const t=new Uint8Array(256),a=e.length;for(let e=0;e<256;++e)t[e]=e;for(let r=0,i=0;r<256;++r){const n=t[r];i=i+n+e[r%a]&255;t[r]=t[i];t[i]=n}this.s=t}encryptBlock(e){let t=this.a,a=this.b;const r=this.s,i=e.length,n=new Uint8Array(i);for(let s=0;st<128?t<<1:t<<1^27);constructor(){this.buffer=new Uint8Array(16);this.bufferPosition=0}_expandKey(e){unreachable("Cannot call `_expandKey` on the base class")}_decrypt(e,t){let a,r,i;const n=new Uint8Array(16);n.set(e);for(let e=0,a=this._keySize;e<16;++e,++a)n[e]^=t[a];for(let e=this._cyclesOfRepetition-1;e>=1;--e){a=n[13];n[13]=n[9];n[9]=n[5];n[5]=n[1];n[1]=a;a=n[14];r=n[10];n[14]=n[6];n[10]=n[2];n[6]=a;n[2]=r;a=n[15];r=n[11];i=n[7];n[15]=n[3];n[11]=a;n[7]=r;n[3]=i;for(let e=0;e<16;++e)n[e]=this._inv_s[n[e]];for(let a=0,r=16*e;a<16;++a,++r)n[a]^=t[r];for(let e=0;e<16;e+=4){const t=this._mix[n[e]],r=this._mix[n[e+1]],i=this._mix[n[e+2]],s=this._mix[n[e+3]];a=t^r>>>8^r<<24^i>>>16^i<<16^s>>>24^s<<8;n[e]=a>>>24&255;n[e+1]=a>>16&255;n[e+2]=a>>8&255;n[e+3]=255&a}}a=n[13];n[13]=n[9];n[9]=n[5];n[5]=n[1];n[1]=a;a=n[14];r=n[10];n[14]=n[6];n[10]=n[2];n[6]=a;n[2]=r;a=n[15];r=n[11];i=n[7];n[15]=n[3];n[11]=a;n[7]=r;n[3]=i;for(let e=0;e<16;++e){n[e]=this._inv_s[n[e]];n[e]^=t[e]}return n}_encrypt(e,t){const a=this._s;let r,i,n;const s=new Uint8Array(16);s.set(e);for(let e=0;e<16;++e)s[e]^=t[e];for(let e=1;e=r;--a)if(e[a]!==t){t=0;break}o-=t;n[n.length-1]=e.subarray(0,16-t)}}const c=new Uint8Array(o);for(let e=0,t=0,a=n.length;e=256&&(o=255&(27^o))}for(let t=0;t<4;++t){a[e]=r^=a[e-32];e++;a[e]=i^=a[e-32];e++;a[e]=n^=a[e-32];e++;a[e]=s^=a[e-32];e++}}return a}}class PDFBase{_hash(e,t,a){unreachable("Abstract method `_hash` called")}checkOwnerPassword(e,t,a,r){const i=new Uint8Array(e.length+56);i.set(e,0);i.set(t,e.length);i.set(a,e.length+t.length);return isArrayEqual(this._hash(e,i,a),r)}checkUserPassword(e,t,a){const r=new Uint8Array(e.length+8);r.set(e,0);r.set(t,e.length);return isArrayEqual(this._hash(e,r,[]),a)}getOwnerKey(e,t,a,r){const i=new Uint8Array(e.length+56);i.set(e,0);i.set(t,e.length);i.set(a,e.length+t.length);const n=this._hash(e,i,a);return new AES256Cipher(n).decryptBlock(r,!1,new Uint8Array(16))}getUserKey(e,t,a){const r=new Uint8Array(e.length+8);r.set(e,0);r.set(t,e.length);const i=this._hash(e,r,[]);return new AES256Cipher(i).decryptBlock(a,!1,new Uint8Array(16))}}class PDF17 extends PDFBase{_hash(e,t,a){return calculateSHA256(t,0,t.length)}}class PDF20 extends PDFBase{_hash(e,t,a){let r=calculateSHA256(t,0,t.length).subarray(0,32),i=[0],n=0;for(;n<64||i.at(-1)>n-32;){const t=e.length+r.length+a.length,s=new Uint8Array(t);let o=0;s.set(e,o);o+=e.length;s.set(r,o);o+=r.length;s.set(a,o);const c=new Uint8Array(64*t);for(let e=0,a=0;e<64;e++,a+=t)c.set(s,a);i=new AES128Cipher(r.subarray(0,16)).encrypt(c,r.subarray(16,32));const l=Math.sumPrecise(i.slice(0,16))%3;0===l?r=calculateSHA256(i,0,i.length):1===l?r=calculateSHA384(i,0,i.length):2===l&&(r=calculateSHA512(i,0,i.length));n++}return r.subarray(0,32)}}class CipherTransform{constructor(e,t){this.StringCipherConstructor=e;this.StreamCipherConstructor=t}createStream(e,t){const a=new this.StreamCipherConstructor;return new DecryptStream(e,t,function cipherTransformDecryptStream(e,t){return a.decryptBlock(e,t)})}decryptString(e){const t=new this.StringCipherConstructor;let a=stringToBytes(e);a=t.decryptBlock(a,!0);return bytesToString(a)}encryptString(e){const t=new this.StringCipherConstructor;if(t instanceof AESBaseCipher){const a=16-e.length%16;e+=String.fromCharCode(a).repeat(a);const r=new Uint8Array(16);crypto.getRandomValues(r);let i=stringToBytes(e);i=t.encrypt(i,r);const n=new Uint8Array(16+i.length);n.set(r);n.set(i,16);return bytesToString(n)}let a=stringToBytes(e);a=t.encrypt(a);return bytesToString(a)}}class CipherTransformFactory{static get _defaultPasswordBytes(){return shadow(this,"_defaultPasswordBytes",new Uint8Array([40,191,78,94,78,117,138,65,100,0,78,86,255,250,1,8,46,46,0,182,208,104,62,128,47,12,169,254,100,83,105,122]))}#Ze(e,t,a,r,i,n,s,o,c,l,h,u){if(t){const e=Math.min(127,t.length);t=t.subarray(0,e)}else t=[];const d=6===e?new PDF20:new PDF17;return d.checkUserPassword(t,o,s)?d.getUserKey(t,c,h):t.length&&d.checkOwnerPassword(t,r,n,a)?d.getOwnerKey(t,i,n,l):null}#Qe(e,t,a,r,i,n,s,o){const c=40+a.length+e.length,l=new Uint8Array(c);let h,u,d=0;if(t){u=Math.min(32,t.length);for(;d>8&255;l[d++]=i>>16&255;l[d++]=i>>>24&255;l.set(e,d);d+=e.length;if(n>=4&&!o){l.fill(255,d,d+4);d+=4}let f=calculateMD5(l,0,d);const g=s>>3;if(n>=3)for(h=0;h<50;++h)f=calculateMD5(f,0,g);const p=f.subarray(0,g);let m,b;if(n>=3){d=0;l.set(CipherTransformFactory._defaultPasswordBytes,d);d+=32;l.set(e,d);d+=e.length;m=new ARCFourCipher(p);b=m.encryptBlock(calculateMD5(l,0,d));u=p.length;const t=new Uint8Array(u);for(h=1;h<=19;++h){for(let e=0;er[t]===e)?p:null}#et(e,t,a,r){const i=new Uint8Array(32);let n=0;const s=Math.min(32,e.length);for(;n>3;if(a>=3)for(o=0;o<50;++o)c=calculateMD5(c,0,c.length);let h,u;if(a>=3){u=t;const e=new Uint8Array(l);for(o=19;o>=0;o--){for(let t=0;t>8&255;n[s++]=e>>16&255;n[s++]=255&t;n[s++]=t>>8&255;if(r){n[s++]=115;n[s++]=65;n[s++]=108;n[s++]=84}return calculateMD5(n,0,s).subarray(0,Math.min(i+5,16))}#at(e,t,a,r,i){if(!(t instanceof Name))throw new FormatError("Invalid crypt filter name.");const n=this,s=e.get(t.name),o=s?.get("CFM");if(!o||"None"===o.name)return function(){return new NullCipher};if("V2"===o.name)return function(){return new ARCFourCipher(n.#tt(a,r,i,!1))};if("AESV2"===o.name)return function(){return new AES128Cipher(n.#tt(a,r,i,!0))};if("AESV3"===o.name)return function(){return new AES256Cipher(i)};throw new FormatError("Unknown crypto method")}constructor(e,t,a){const r=e.get("Filter");if(!isName(r,"Standard"))throw new FormatError("unknown encryption method");this.filterName=r.name;this.dict=e;const i=e.get("V");if(!Number.isInteger(i)||1!==i&&2!==i&&4!==i&&5!==i)throw new FormatError("unsupported encryption algorithm");this.algorithm=i;let n=e.get("Length");if(!n)if(i<=3)n=40;else{const t=e.get("CF"),a=e.get("StmF");if(t instanceof Dict&&a instanceof Name){t.suppressEncryption=!0;const e=t.get(a.name);n=e?.get("Length")||128;n<40&&(n<<=3)}}if(!Number.isInteger(n)||n<40||n%8!=0)throw new FormatError("invalid key length");const s=stringToBytes(e.get("O")),o=stringToBytes(e.get("U")),c=s.subarray(0,32),l=o.subarray(0,32),h=e.get("P"),u=e.get("R"),d=(4===i||5===i)&&!1!==e.get("EncryptMetadata");this.encryptMetadata=d;const f=stringToBytes(t);let g,p;if(a){if(6===u)try{a=utf8StringToString(a)}catch{warn("CipherTransformFactory: Unable to convert UTF8 encoded password.")}g=stringToBytes(a)}if(5!==i)p=this.#Qe(f,g,c,l,h,u,n,d);else{const t=s.subarray(32,40),a=s.subarray(40,48),r=o.subarray(0,48),i=o.subarray(32,40),n=o.subarray(40,48),h=stringToBytes(e.get("OE")),d=stringToBytes(e.get("UE")),f=stringToBytes(e.get("Perms"));p=this.#Ze(u,g,c,t,a,r,l,i,n,h,d,f)}if(!p){if(!a)throw new PasswordException("No password given",Yt);const e=this.#et(g,c,u,n);p=this.#Qe(f,e,c,l,h,u,n,d)}if(!p)throw new PasswordException("Incorrect Password",Zt);if(4===i&&p.length<16){this.encryptionKey=new Uint8Array(16);this.encryptionKey.set(p)}else this.encryptionKey=p;if(i>=4){const t=e.get("CF");t instanceof Dict&&(t.suppressEncryption=!0);this.cf=t;this.stmf=e.get("StmF")||Name.get("Identity");this.strf=e.get("StrF")||Name.get("Identity");this.eff=e.get("EFF")||this.stmf}}createCipherTransform(e,t){if(4===this.algorithm||5===this.algorithm)return new CipherTransform(this.#at(this.cf,this.strf,e,t,this.encryptionKey),this.#at(this.cf,this.stmf,e,t,this.encryptionKey));const a=this.#tt(e,t,this.encryptionKey,!1),cipherConstructor=function(){return new ARCFourCipher(a)};return new CipherTransform(cipherConstructor,cipherConstructor)}}class XRef{constructor(e,t){this.stream=e;this.pdfManager=t;this.entries=[];this._xrefStms=new Set;this._cacheMap=new Map;this._pendingRefs=new RefSet;this._newPersistentRefNum=null;this._newTemporaryRefNum=null;this._persistentRefsCache=null}getNewPersistentRef(e){null===this._newPersistentRefNum&&(this._newPersistentRefNum=this.entries.length||1);const t=this._newPersistentRefNum++;this._cacheMap.set(t,e);return Ref.get(t,0)}getNewTemporaryRef(){if(null===this._newTemporaryRefNum){this._newTemporaryRefNum=this.entries.length||1;if(this._newPersistentRefNum){this._persistentRefsCache=new Map;for(let e=this._newTemporaryRefNum;e0;){const[s,o]=n;if(!Number.isInteger(s)||!Number.isInteger(o))throw new FormatError(`Invalid XRef range fields: ${s}, ${o}`);if(!Number.isInteger(a)||!Number.isInteger(r)||!Number.isInteger(i))throw new FormatError(`Invalid XRef entry fields length: ${s}, ${o}`);for(let n=t.entryNum;n=e.length);){a+=String.fromCharCode(r);r=e[t]}return a}function skipUntil(e,t,a){const r=a.length,i=e.length;let n=0;for(;t=r)break;t++;n++}return n}const e=/\b(endobj|\d+\s+\d+\s+obj|xref|trailer\s*<<)\b/g,t=/\b(startxref|\d+\s+\d+\s+obj)\b/g,a=/^(\d+)\s+(\d+)\s+obj\b/,r=new Uint8Array([116,114,97,105,108,101,114]),i=new Uint8Array([115,116,97,114,116,120,114,101,102]),n=new Uint8Array([47,88,82,101,102]);this.entries.length=0;this._cacheMap.clear();const s=this.stream;s.pos=0;const o=s.getBytes(),c=bytesToString(o),l=o.length;let h=s.start;const u=[],d=[];for(;h=l)break;f=o[h]}while(10!==f&&13!==f);continue}const g=readToken(o,h);let p;if(g.startsWith("xref")&&(4===g.length||/\s/.test(g[4]))){h+=skipUntil(o,h,r);u.push(h);h+=skipUntil(o,h,i)}else if(p=a.exec(g)){const t=0|p[1],a=0|p[2],r=h+g.length;let i,u=!1;if(this.entries[t]){if(this.entries[t].gen===a)try{new Parser({lexer:new Lexer(s.makeSubStream(r))}).getObj();u=!0}catch(e){e instanceof ParserEOFException?warn(`indexObjects -- checking object (${g}): "${e}".`):u=!0}}else u=!0;u&&(this.entries[t]={offset:h-s.start,gen:a,uncompressed:!0});e.lastIndex=r;const f=e.exec(c);if(f){i=e.lastIndex+1-h;if("endobj"!==f[1]){warn(`indexObjects: Found "${f[1]}" inside of another "obj", caused by missing "endobj" -- trying to recover.`);i-=f[1].length+1}}else i=l-h;const m=o.subarray(h,h+i),b=skipUntil(m,0,n);if(b0&&t[3]-t[1]>0)return t;warn(`Empty, or invalid, /${e} entry.`)}return null}get mediaBox(){return shadow(this,"mediaBox",this.getBoundingBox("MediaBox")||oc)}get cropBox(){return shadow(this,"cropBox",this.getBoundingBox("CropBox")||this.mediaBox)}get userUnit(){const e=this.pageDict.get("UserUnit");return shadow(this,"userUnit","number"==typeof e&&e>0?e:1)}get view(){const{cropBox:e,mediaBox:t}=this;if(e!==t&&!isArrayEqual(e,t)){const a=Util.intersect(e,t);if(a&&a[2]-a[0]>0&&a[3]-a[1]>0)return shadow(this,"view",a);warn("Empty /CropBox and /MediaBox intersection.")}return shadow(this,"view",t)}get rotate(){let e=this.#st("Rotate")||0;e%90!=0?e=0:e>=360?e%=360:e<0&&(e=(e%360+360)%360);return shadow(this,"rotate",e)}#ot(e,t){if(!this.evaluatorOptions.ignoreErrors)throw e;warn(`getContentStream - ignoring sub-stream (${t}): "${e}".`)}async getContentStream(){const e=await this.pdfManager.ensure(this,"content");if(e instanceof BaseStream&&!e.isImageStream){if(e.isAsync){const t=await e.asyncGetBytes();if(t)return new Stream(t,0,t.length,e.dict)}return e}if(Array.isArray(e)){const t=[];for(let a=0,r=e.length;a{t&&(e[a]=new Stream(t,0,t.length,r.dict))}))}t.length>0&&await Promise.all(t);return new StreamsSequenceStream(e,this.#ot.bind(this))}return new NullStream}get xfaData(){return shadow(this,"xfaData",this.xfaFactory?{bbox:this.xfaFactory.getBoundingBox(this.pageIndex)}:null)}async#ct(e,t,a){const r=[];for(const i of e)if(i.id){const e=Ref.fromString(i.id);if(!e){warn(`A non-linked annotation cannot be modified: ${i.id}`);continue}if(i.deleted){t.put(e,e);if(i.popupRef){const e=Ref.fromString(i.popupRef);e&&t.put(e,e)}continue}if(i.popup?.deleted){const e=Ref.fromString(i.popupRef);e&&t.put(e,e)}a?.put(e);i.ref=e;r.push(this.xref.fetchAsync(e).then(e=>{e instanceof Dict&&(i.oldAnnotation=e.clone())},()=>{warn(`Cannot fetch \`oldAnnotation\` for: ${e}.`)}));delete i.id}await Promise.all(r)}async saveNewAnnotations(e,t,a,r,i){if(this.xfaFactory)throw new Error("XFA: Cannot save new annotations.");const n=this.#nt(e),s=new RefSetCache,o=new RefSet;await this.#ct(a,s,o);const c=this.pageDict,l=this.annotations.filter(e=>!(e instanceof Ref&&s.has(e))),h=await AnnotationFactory.saveNewAnnotations(n,t,a,r,i);for(const{ref:e}of h.annotations)e instanceof Ref&&!o.has(e)&&l.push(e);const u=c.clone();u.set("Annots",l);i.put(this.ref,{data:u});for(const e of s)i.put(e,{data:null})}async save(e,t,a,r){const i=this.#nt(e),n=await this._parsedAnnotations,s=[];for(const e of n)s.push(e.save(i,t,a,r).catch(function(e){warn(`save - ignoring annotation data during "${t.name}" task: "${e}".`);return null}));return Promise.all(s)}async loadResources(e){await(this.#it??=this.pdfManager.ensure(this,"resources"));await ObjectLoader.load(this.resources,e,this.xref)}async#lt(e,t){const a=e?.get("Resources");if(!(a instanceof Dict&&a.size))return this.resources;await ObjectLoader.load(a,t,this.xref);return Dict.merge({xref:this.xref,dictArray:[a,this.resources],mergeSubDicts:!0})}async getOperatorList({handler:e,sink:t,task:a,intent:r,cacheKey:i,pageId:c=this.pageIndex,pageIndex:d=this.pageIndex,annotationStorage:g=null,modifiedIds:p=null}){const m=this.getContentStream(),b=this.loadResources(ga),y=this.#nt(e),w=this.xfaFactory?null:getNewAnnotationsMap(g),S=w?.get(this.pageIndex);let x=Promise.resolve(null),k=null;if(S){const e=this.pdfManager.ensureDoc("annotationGlobals");let t;const r=new Set;for(const{bitmapId:e,bitmap:t}of S)!e||t||r.has(e)||r.add(e);const{isOffscreenCanvasSupported:i}=this.evaluatorOptions;if(r.size>0){const e=S.slice();for(const[t,a]of g)t.startsWith(f)&&a.bitmap&&r.has(a.bitmapId)&&e.push(a);t=AnnotationFactory.generateImages(e,this.xref,i)}else t=AnnotationFactory.generateImages(S,this.xref,i);k=new RefSet;x=Promise.all([e,this.#ct(S,k,null)]).then(([e])=>e?AnnotationFactory.printNewAnnotations(e,y,a,S,t):null)}const C=Promise.all([m,b]).then(async([n])=>{const s=await this.#lt(n.dict,ga),o=new OperatorList(r,t);e.send("StartRenderPage",{transparency:y.hasBlendModes(s,this.nonBlendModesSet),pageIndex:d,cacheKey:i});await y.getOperatorList({stream:n,task:a,resources:s,operatorList:o});return o});let[v,F,T]=await Promise.all([C,this._parsedAnnotations,x]);if(T){F=F.filter(e=>!(e.ref&&k.has(e.ref)));for(let e=0,t=T.length;ee.ref&&isRefsEqual(e.ref,a.refToReplace));if(r>=0){F.splice(r,1,a);T.splice(e--,1);t--}}}F=F.concat(T)}if(0===F.length||r&h){v.flush(!0);return{length:v.totalLength}}const O=!!(r&l),D=!!(r&u),M=!!(r&n),R=!!(r&s),N=!!(r&o),E=[];for(const e of F)(M||R&&e.mustBeViewed(g,O)&&e.mustBeViewedWhenEditing(D,p)||N&&e.mustBePrinted(g))&&E.push(e.getOperatorList(y,a,r,g).catch(function(e){warn(`getOperatorList - ignoring annotation data during "${a.name}" task: "${e}".`);return{opList:null,separateForm:!1,separateCanvas:!1}}));const L=await Promise.all(E);let _=!1,U=!1;for(const{opList:e,separateForm:t,separateCanvas:a}of L){v.addOpList(e);_||=t;U||=a}v.flush(!0,{form:_,canvas:U});return{length:v.totalLength}}async extractTextContent({handler:e,task:t,includeMarkedContent:a,disableNormalization:r,sink:i,intersector:n=null}){const s=this.getContentStream(),o=this.loadResources(pa),c=this.pdfManager.ensureCatalog("lang"),[l,,h]=await Promise.all([s,o,c]),u=await this.#lt(l.dict,pa);return this.#nt(e).getTextContent({stream:l,task:t,resources:u,includeMarkedContent:a,disableNormalization:r,sink:i,viewBox:this.view,lang:h,intersector:n})}async getStructTree(){const e=await this.pdfManager.ensureCatalog("structTreeRoot");if(!e)return null;await this._parsedAnnotations;try{const t=await this.pdfManager.ensure(this,"_parseStructTree",[e]);return await this.pdfManager.ensure(t,"serializable")}catch(e){warn(`getStructTree: "${e}".`);return null}}_parseStructTree(e){const t=new StructTreePage(e,this.pageDict);t.parse(this.ref);return t}async getAnnotationsData(e,t,a){const r=await this._parsedAnnotations;if(0===r.length)return r;const i=[],c=[];let l;const h=!!(a&n),u=!!(a&s),d=!!(a&o),f=[];for(const a of r){const r=h||u&&a.viewable;(r||d&&a.printable)&&i.push(a.data);if(a.hasTextContent&&r){l??=this.#nt(e);c.push(a.extractTextContent(l,t,[-1/0,-1/0,1/0,1/0]).catch(function(e){warn(`getAnnotationsData - ignoring textContent during "${t.name}" task: "${e}".`)}))}else a.overlaysTextContent&&r&&f.push(a)}if(f.length>0){const a=new Intersector(f);c.push(this.extractTextContent({handler:e,task:t,includeMarkedContent:!1,disableNormalization:!1,sink:null,viewBox:this.view,lang:null,intersector:a}).then(()=>{a.setText()}))}await Promise.all(c);return i}get annotations(){const e=this.#st("Annots");return shadow(this,"annotations",Array.isArray(e)?e:[])}get _parsedAnnotations(){const e=this.pdfManager.ensure(this,"annotations").then(async e=>{if(0===e.length)return e;const[t,a]=await Promise.all([this.pdfManager.ensureDoc("annotationGlobals"),this.pdfManager.ensureDoc("fieldObjects")]);if(!t)return[];const r=a?.orphanFields,i=[];for(const a of e)i.push(AnnotationFactory.create(this.xref,a,t,this._localIdFactory,!1,r,null,this.ref).catch(function(e){warn(`_parsedAnnotations: "${e}".`);return null}));const n=[];let s,o;for(const e of await Promise.all(i))e&&(e instanceof WidgetAnnotation?(o||=[]).push(e):e instanceof PopupAnnotation?(s||=[]).push(e):n.push(e));o&&n.push(...o);s&&n.push(...s);return n});this.#rt=!0;return shadow(this,"_parsedAnnotations",e)}get jsActions(){return shadow(this,"jsActions",collectActions(this.xref,this.pageDict,se))}async collectAnnotationsByType(e,t,a,r,i){const{pageIndex:n}=this;if(this.#rt){const e=await this._parsedAnnotations;for(const{data:t}of e)if(!a||a.has(t.annotationType)){t.pageIndex=n;r.push(Promise.resolve(t))}return}const s=await this.pdfManager.ensure(this,"annotations");for(const o of s)r.push(AnnotationFactory.create(this.xref,o,i,this._localIdFactory,!1,null,a,this.ref).then(async a=>{if(!a)return null;a.data.pageIndex=n;if(a.hasTextContent&&a.viewable){const r=this.#nt(e);await a.extractTextContent(r,t,[-1/0,-1/0,1/0,1/0])}return a.data}).catch(function(e){warn(`collectAnnotationsByType: "${e}".`);return null}))}}const cc=new Uint8Array([37,80,68,70,45]),lc=new Uint8Array([115,116,97,114,116,120,114,101,102]),hc=new Uint8Array([101,110,100,111,98,106]);function find(e,t,a=1024,r=!1){const i=t.length,n=e.peekBytes(a),s=n.length-i;if(s<=0)return!1;if(r){const a=i-1;let r=n.length-1;for(;r>=a;){let s=0;for(;s=i){e.pos+=r-a;return!0}r--}}else{let a=0;for(;a<=s;){let r=0;for(;r=i){e.pos+=a;return!0}a++}}return!1}class PDFDocument{#ht=new Map;#ut=null;constructor(e,t){if(t.length<=0)throw new InvalidPDFException("The PDF file is empty, i.e. its size is zero bytes.");this.pdfManager=e;this.stream=t;this.xref=new XRef(t,e);const a={font:0};this._globalIdFactory=class{static getDocId(){return`g_${e.docId}`}static createFontId(){return"f"+ ++a.font}static createObjId(){unreachable("Abstract method `createObjId` called.")}static getPageObjId(){unreachable("Abstract method `getPageObjId` called.")}}}parse(e){this.xref.parse(e);this.catalog=new Catalog(this.pdfManager,this.xref)}get linearization(){let e=null;try{e=Linearization.create(this.stream)}catch(e){if(e instanceof MissingDataException)throw e;info(e)}return shadow(this,"linearization",e)}get startXRef(){const e=this.stream;let t=0;if(this.linearization){e.reset();if(find(e,hc)){e.skip(6);let a=e.peekByte();for(;isWhiteSpace(a);){e.pos++;a=e.peekByte()}t=e.pos-e.start}}else{const a=1024,r=lc.length;let i=!1,n=e.end;for(;!i&&n>0;){n-=a-r;n<0&&(n=0);e.pos=n;i=find(e,lc,a,!0)}if(i){e.skip(9);let a;do{a=e.getByte()}while(isWhiteSpace(a));let r="";for(;a>=32&&a<=57;){r+=String.fromCharCode(a);a=e.getByte()}t=parseInt(r,10);isNaN(t)&&(t=0)}}return shadow(this,"startXRef",t)}checkHeader(){const e=this.stream;e.reset();if(!find(e,cc))return;e.moveStart();e.skip(cc.length);let t,a="";for(;(t=e.getByte())>32&&a.length<7;)a+=String.fromCharCode(t);ua.test(a)?this.#ut=a:warn(`Invalid PDF header version: ${a}`)}parseStartXRef(){this.xref.setStartXRef(this.startXRef)}get numPages(){let e=0;e=this.catalog.hasActualNumPages?this.catalog.numPages:this.xfaFactory?this.xfaFactory.getNumPages():this.linearization?this.linearization.numPages:this.catalog.numPages;return shadow(this,"numPages",e)}#dt(e,t=0){return!!Array.isArray(e)&&e.every(e=>{if(!((e=this.xref.fetchIfRef(e))instanceof Dict))return!1;if(e.has("Kids")){if(++t>10){warn("#hasOnlyDocumentSignatures: maximum recursion depth reached");return!1}return this.#dt(e.get("Kids"),t)}const a=isName(e.get("FT"),"Sig"),r=e.get("Rect"),i=Array.isArray(r)&&r.every(e=>0===e);return a&&i})}get _xfaStreams(){const{acroForm:e}=this.catalog;if(!e)return null;const t=e.get("XFA"),a=new Map(["xdp:xdp","template","datasets","config","connectionSet","localeSet","stylesheet","/xdp:xdp"].map(e=>[e,null]));if(t instanceof BaseStream&&!t.isEmpty){a.set("xdp:xdp",t);return a}if(!Array.isArray(t)||0===t.length)return null;for(let e=0,r=t.length;el.handleSetFont(r,[Name.get(e),1],null,h,t,d,a,i).catch(e=>{warn(`loadXfaFonts: "${e}".`);return null}),f=[];for(const[e,t]of i){const a=t.get("FontDescriptor");if(!(a instanceof Dict))continue;let r=a.get("FontFamily");r=r.replaceAll(/[ ]+(\d)/g,"$1");const i={fontFamily:r,fontWeight:a.get("FontWeight"),italicAngle:-a.get("ItalicAngle")};validateCSSFont(i)&&f.push(parseFont(e,null,i))}await Promise.all(f);const g=this.xfaFactory.setFonts(u);if(!g)return;n.ignoreErrors=!0;f.length=0;u.length=0;const p=new Set;for(const e of g)getXfaFontName(`${e}-Regular`)||p.add(e);p.size&&g.push("PdfJS-Fallback");for(const e of g)if(!p.has(e))for(const t of[{name:"Regular",fontWeight:400,italicAngle:0},{name:"Bold",fontWeight:700,italicAngle:0},{name:"Italic",fontWeight:400,italicAngle:12},{name:"BoldItalic",fontWeight:700,italicAngle:12}]){const a=`${e}-${t.name}`;f.push(parseFont(a,getXfaFontDict(a),{fontFamily:e,fontWeight:t.fontWeight,italicAngle:t.italicAngle}))}await Promise.all(f);this.xfaFactory.appendFonts(u,p)}loadXfaResources(e,t){return Promise.all([this.#gt(e,t).catch(()=>{}),this.#ft()])}serializeXfaData(e){return this.xfaFactory?this.xfaFactory.serializeData(e):null}get version(){return this.catalog.version||this.#ut}get formInfo(){const e={hasFields:!1,hasAcroForm:!1,hasXfa:!1,hasSignatures:!1},{acroForm:t}=this.catalog;if(!t)return shadow(this,"formInfo",e);try{const a=t.get("Fields"),r=Array.isArray(a)&&a.length>0;e.hasFields=r;const i=t.get("XFA");e.hasXfa=Array.isArray(i)&&i.length>0||i instanceof BaseStream&&!i.isEmpty;const n=!!(1&t.get("SigFlags")),s=n&&this.#dt(a);e.hasAcroForm=r&&!s;e.hasSignatures=n}catch(e){if(e instanceof MissingDataException)throw e;warn(`Cannot fetch form information: "${e}".`)}return shadow(this,"formInfo",e)}get documentInfo(){const{catalog:e,formInfo:t,xref:a}=this,r={PDFFormatVersion:this.version,Language:e.lang,EncryptFilterName:a.encrypt?.filterName??null,IsLinearized:!!this.linearization,IsAcroFormPresent:t.hasAcroForm,IsXFAPresent:t.hasXfa,IsCollectionPresent:!!e.collection,IsSignaturesPresent:t.hasSignatures};let i;try{i=a.trailer.get("Info")}catch(e){if(e instanceof MissingDataException)throw e;info("The document information dictionary is invalid.")}if(!(i instanceof Dict))return shadow(this,"documentInfo",r);for(const[e,t]of i){switch(e){case"Title":case"Author":case"Subject":case"Keywords":case"Creator":case"Producer":case"CreationDate":case"ModDate":if("string"==typeof t){r[e]=stringToPDFString(t);continue}break;case"Trapped":if(t instanceof Name){r[e]=t;continue}break;default:let a;switch(typeof t){case"string":a=stringToPDFString(t);break;case"number":case"boolean":a=t;break;default:t instanceof Name&&(a=t)}if(void 0===a){warn(`Bad value, for custom key "${e}", in Info: ${t}.`);continue}r.Custom??=Object.create(null);r.Custom[e]=a;continue}warn(`Bad value, for key "${e}", in Info: ${t}.`)}return shadow(this,"documentInfo",r)}get fingerprints(){const e="\0".repeat(16);function validate(t){return"string"==typeof t&&16===t.length&&t!==e}const t=this.xref.trailer.get("ID");let a,r;if(Array.isArray(t)&&validate(t[0])){a=stringToBytes(t[0]);t[1]!==t[0]&&validate(t[1])&&(r=stringToBytes(t[1]))}else a=calculateMD5(this.stream.getByteRange(0,1024),0,1024);return shadow(this,"fingerprints",[a.toHex(),r?.toHex()??null])}async#pt(e){const{catalog:t,linearization:a,xref:r}=this,i=Ref.get(a.objectNumberFirst,0);try{const e=await r.fetchAsync(i);if(e instanceof Dict){let a=e.getRaw("Type");a instanceof Ref&&(a=await r.fetchAsync(a));if(isName(a,"Page")||!e.has("Type")&&!e.has("Kids")&&e.has("Contents")){t.pageKidsCountCache.has(i)||t.pageKidsCountCache.put(i,1);t.pageIndexCache.has(i)||t.pageIndexCache.put(i,0);return[e,i]}}throw new FormatError("The Linearization dictionary doesn't point to a valid Page dictionary.")}catch(a){warn(`_getLinearizationPage: "${a.message}".`);return t.getPageDict(e)}}getPage(e){const t=this.#ht.get(e);if(t)return t;const{catalog:a,linearization:r,xfaFactory:i}=this;let n;n=i?Promise.resolve([Dict.empty,null]):r?.pageFirst===e?this.#pt(e):a.getPageDict(e);n=n.then(([t,r])=>new Page({pdfManager:this.pdfManager,xref:this.xref,pageIndex:e,pageDict:t,ref:r,globalIdFactory:this._globalIdFactory,fontCache:a.fontCache,builtInCMapCache:a.builtInCMapCache,standardFontDataCache:a.standardFontDataCache,globalColorSpaceCache:a.globalColorSpaceCache,globalImageCache:a.globalImageCache,systemFontCache:a.systemFontCache,nonBlendModesSet:a.nonBlendModesSet,xfaFactory:i}));this.#ht.set(e,n);return n}async checkFirstPage(e=!1){if(!e)try{await this.getPage(0)}catch(e){if(e instanceof XRefEntryException){this.#ht.delete(0);await this.cleanup();throw new XRefParseException}}}async checkLastPage(e=!1){const{catalog:t,pdfManager:a}=this;t.setActualNumPages();let r;try{await Promise.all([a.ensureDoc("xfaFactory"),a.ensureDoc("linearization"),a.ensureCatalog("numPages")]);if(this.xfaFactory)return;r=this.linearization?this.linearization.numPages:t.numPages;if(!Number.isInteger(r))throw new FormatError("Page count is not an integer.");if(r<=1)return;await this.getPage(r-1)}catch(i){this.#ht.delete(r-1);await this.cleanup();if(i instanceof XRefEntryException&&!e)throw new XRefParseException;warn(`checkLastPage - invalid /Pages tree /Count: ${r}.`);let n;try{n=await t.getAllPageDicts(e)}catch(a){if(a instanceof XRefEntryException&&!e)throw new XRefParseException;t.setActualNumPages(1);return}for(const[e,[r,i]]of n){let n;if(r instanceof Error){n=Promise.reject(r);n.catch(()=>{})}else n=Promise.resolve(new Page({pdfManager:a,xref:this.xref,pageIndex:e,pageDict:r,ref:i,globalIdFactory:this._globalIdFactory,fontCache:t.fontCache,builtInCMapCache:t.builtInCMapCache,standardFontDataCache:t.standardFontDataCache,globalColorSpaceCache:this.globalColorSpaceCache,globalImageCache:t.globalImageCache,systemFontCache:t.systemFontCache,nonBlendModesSet:t.nonBlendModesSet,xfaFactory:null}));this.#ht.set(e,n)}t.setActualNumPages(n.size)}}async fontFallback(e,t){const{catalog:a,pdfManager:r}=this;for(const i of await Promise.all(a.fontCache))if(i.loadedName===e){i.fallback(t,r.evaluatorOptions);return}}async cleanup(e=!1){return this.catalog?this.catalog.cleanup(e):clearGlobalCaches()}async#mt(e,t,a,r,i,n,s){const{xref:o}=this;if(!(a instanceof Ref)||n.has(a))return;n.put(a);const c=await o.fetchAsync(a);if(!(c instanceof Dict))return;let l=await c.getAsync("Subtype");l=l instanceof Name?l.name:null;if("Link"===l)return;if(c.has("T")){const t=stringToPDFString(await c.getAsync("T"));e=""===e?t:`${e}.${t}`}else{let a=c;for(;;){a=a.getRaw("Parent")||t;if(a instanceof Ref){if(n.has(a))break;a=await o.fetchAsync(a)}if(!(a instanceof Dict))break;if(a.has("T")){const t=stringToPDFString(await a.getAsync("T"));e=""===e?t:`${e}.${t}`;break}}}t&&!c.has("Parent")&&isName(c.get("Subtype"),"Widget")&&s.put(a,t);r.has(e)||r.set(e,[]);r.get(e).push(AnnotationFactory.create(o,a,i,null,!0,s,null,null).then(e=>e?.getFieldObject()).catch(function(e){warn(`#collectFieldObjects: "${e}".`);return null}));if(!c.has("Kids"))return;const h=await c.getAsync("Kids");if(Array.isArray(h))for(const t of h)await this.#mt(e,a,t,r,i,n,s)}get fieldObjects(){return shadow(this,"fieldObjects",this.pdfManager.ensureDoc("formInfo").then(async e=>{if(!e.hasFields)return null;const t=await this.annotationGlobals;if(!t)return null;const{acroForm:a}=t,r=new RefSet,i=Object.create(null),n=new Map,s=new RefSetCache;for(const e of a.get("Fields"))await this.#mt("",null,e,n,t,r,s);const o=[];for(const[e,t]of n)o.push(Promise.all(t).then(t=>{(t=t.filter(e=>!!e)).length>0&&(i[e]=t)}));await Promise.all(o);return{allFields:objectSize(i)>0?i:null,orphanFields:s}}))}get hasJSActions(){return shadow(this,"hasJSActions",this.pdfManager.ensureDoc("_parseHasJSActions"))}async _parseHasJSActions(){const[e,t]=await Promise.all([this.pdfManager.ensureCatalog("jsActions"),this.pdfManager.ensureDoc("fieldObjects")]);return!!e||!!t?.allFields&&Object.values(t.allFields).some(e=>e.some(e=>null!==e.actions))}get calculationOrderIds(){const e=this.catalog.acroForm?.get("CO");if(!Array.isArray(e)||0===e.length)return shadow(this,"calculationOrderIds",null);const t=[];for(const a of e)a instanceof Ref&&t.push(a.toString());return shadow(this,"calculationOrderIds",t.length?t:null)}get annotationGlobals(){return shadow(this,"annotationGlobals",AnnotationFactory.createGlobals(this.pdfManager))}}class BasePdfManager{constructor({docBaseUrl:e,docId:t,enableXfa:a,evaluatorOptions:r,handler:i,password:n}){this._docBaseUrl=function parseDocBaseUrl(e){if(e){const t=createValidAbsoluteUrl(e);if(t)return t.href;warn(`Invalid absolute docBaseUrl: "${e}".`)}return null}(e);this._docId=t;this._password=n;this.enableXfa=a;r.isOffscreenCanvasSupported&&=FeatureTest.isOffscreenCanvasSupported;r.isImageDecoderSupported&&=FeatureTest.isImageDecoderSupported;this.evaluatorOptions=Object.freeze(r);ImageResizer.setOptions(r);JpegStream.setOptions(r);OperatorList.setOptions(r);const s={...r,handler:i};JpxImage.setOptions(s);IccColorSpace.setOptions(s);CmykICCBasedCS.setOptions(s);JBig2WasmImage.setOptions(s)}get docId(){return this._docId}get password(){return this._password}get docBaseUrl(){return this._docBaseUrl}ensureDoc(e,t){return this.ensure(this.pdfDocument,e,t)}ensureXRef(e,t){return this.ensure(this.pdfDocument.xref,e,t)}ensureCatalog(e,t){return this.ensure(this.pdfDocument.catalog,e,t)}getPage(e){return this.pdfDocument.getPage(e)}fontFallback(e,t){return this.pdfDocument.fontFallback(e,t)}cleanup(e=!1){return this.pdfDocument.cleanup(e)}async ensure(e,t,a){unreachable("Abstract method `ensure` called")}requestRange(e,t){unreachable("Abstract method `requestRange` called")}requestLoadedStream(e=!1){unreachable("Abstract method `requestLoadedStream` called")}sendProgressiveData(e){unreachable("Abstract method `sendProgressiveData` called")}updatePassword(e){this._password=e}terminate(e){unreachable("Abstract method `terminate` called")}}class LocalPdfManager extends BasePdfManager{constructor(e){super(e);const t=new Stream(e.source);this.pdfDocument=new PDFDocument(this,t);this._loadedStreamPromise=Promise.resolve(t)}async ensure(e,t,a){const r=e[t];return"function"==typeof r?r.apply(e,a):r}requestRange(e,t){return Promise.resolve()}requestLoadedStream(e=!1){return this._loadedStreamPromise}terminate(e){}}class NetworkPdfManager extends BasePdfManager{constructor(e){super(e);this.streamManager=new ChunkedStreamManager(e.source,{msgHandler:e.handler,length:e.length,disableAutoFetch:e.disableAutoFetch,rangeChunkSize:e.rangeChunkSize});this.pdfDocument=new PDFDocument(this,this.streamManager.getStream())}async ensure(e,t,a){try{const r=e[t];return"function"==typeof r?r.apply(e,a):r}catch(r){if(!(r instanceof MissingDataException))throw r;await this.requestRange(r.begin,r.end);return this.ensure(e,t,a)}}requestRange(e,t){return this.streamManager.requestRange(e,t)}requestLoadedStream(e=!1){return this.streamManager.requestAllChunks(e)}sendProgressiveData(e){this.streamManager.onReceiveData({chunk:e})}terminate(e){this.streamManager.abort(e)}}const uc=1,dc=2,fc=1,gc=2,pc=3,mc=4,bc=5,yc=6,wc=7,Sc=8;function onFn(){}function wrapReason(e){if(e instanceof AbortException||e instanceof InvalidPDFException||e instanceof PasswordException||e instanceof ResponseException||e instanceof UnknownErrorException)return e;e instanceof Error||"object"==typeof e&&null!==e||unreachable('wrapReason: Expected "reason" to be a (possibly cloned) Error.');switch(e.name){case"AbortException":return new AbortException(e.message);case"InvalidPDFException":return new InvalidPDFException(e.message);case"PasswordException":return new PasswordException(e.message,e.code);case"ResponseException":return new ResponseException(e.message,e.status,e.missing);case"UnknownErrorException":return new UnknownErrorException(e.message,e.details)}return new UnknownErrorException(e.message,e.toString())}class MessageHandler{#bt=new AbortController;constructor(e,t,a){this.sourceName=e;this.targetName=t;this.comObj=a;this.callbackId=1;this.streamId=1;this.streamSinks=Object.create(null);this.streamControllers=Object.create(null);this.callbackCapabilities=Object.create(null);this.actionHandler=Object.create(null);a.addEventListener("message",this.#yt.bind(this),{signal:this.#bt.signal})}#yt({data:e}){if(e.targetName!==this.sourceName)return;if(e.stream){this.#wt(e);return}if(e.callback){const t=e.callbackId,a=this.callbackCapabilities[t];if(!a)throw new Error(`Cannot resolve callback ${t}`);delete this.callbackCapabilities[t];if(e.callback===uc)a.resolve(e.data);else{if(e.callback!==dc)throw new Error("Unexpected callback case");a.reject(wrapReason(e.reason))}return}const t=this.actionHandler[e.action];if(!t)throw new Error(`Unknown action from worker: ${e.action}`);if(e.callbackId){const a=this.sourceName,r=e.sourceName,i=this.comObj;Promise.try(t,e.data).then(function(t){i.postMessage({sourceName:a,targetName:r,callback:uc,callbackId:e.callbackId,data:t})},function(t){i.postMessage({sourceName:a,targetName:r,callback:dc,callbackId:e.callbackId,reason:wrapReason(t)})});return}e.streamId?this.#St(e):t(e.data)}on(e,t){const a=this.actionHandler;if(a[e])throw new Error(`There is already an actionName called "${e}"`);a[e]=t}send(e,t,a){this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:e,data:t},a)}sendWithPromise(e,t,a){const r=this.callbackId++,i=Promise.withResolvers();this.callbackCapabilities[r]=i;try{this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:e,callbackId:r,data:t},a)}catch(e){i.reject(e)}return i.promise}sendWithStream(e,t,a,r){const i=this.streamId++,n=this.sourceName,s=this.targetName,o=this.comObj;return new ReadableStream({start:a=>{const c=Promise.withResolvers();this.streamControllers[i]={controller:a,startCall:c,pullCall:null,cancelCall:null,isClosed:!1};o.postMessage({sourceName:n,targetName:s,action:e,streamId:i,data:t,desiredSize:a.desiredSize},r);return c.promise},pull:e=>{const t=Promise.withResolvers();this.streamControllers[i].pullCall=t;o.postMessage({sourceName:n,targetName:s,stream:yc,streamId:i,desiredSize:e.desiredSize});return t.promise},cancel:e=>{assert(e instanceof Error,"cancel must have a valid reason");const t=Promise.withResolvers();this.streamControllers[i].cancelCall=t;this.streamControllers[i].isClosed=!0;o.postMessage({sourceName:n,targetName:s,stream:fc,streamId:i,reason:wrapReason(e)});return t.promise}},a)}#St(e){const t=e.streamId,a=this.sourceName,r=e.sourceName,i=this.comObj,n=this,s=this.actionHandler[e.action],o={enqueue(e,n=1,s){if(this.isCancelled)return;const o=this.desiredSize;this.desiredSize-=n;if(o>0&&this.desiredSize<=0){this.sinkCapability=Promise.withResolvers();this.ready=this.sinkCapability.promise}i.postMessage({sourceName:a,targetName:r,stream:mc,streamId:t,chunk:e},s)},close(){if(!this.isCancelled){this.isCancelled=!0;i.postMessage({sourceName:a,targetName:r,stream:pc,streamId:t});delete n.streamSinks[t]}},error(e){assert(e instanceof Error,"error must have a valid reason");if(!this.isCancelled){this.isCancelled=!0;i.postMessage({sourceName:a,targetName:r,stream:bc,streamId:t,reason:wrapReason(e)})}},sinkCapability:Promise.withResolvers(),onPull:null,onCancel:null,isCancelled:!1,desiredSize:e.desiredSize,ready:null};o.sinkCapability.resolve();o.ready=o.sinkCapability.promise;this.streamSinks[t]=o;Promise.try(s,e.data,o).then(function(){i.postMessage({sourceName:a,targetName:r,stream:Sc,streamId:t,success:!0})},function(e){i.postMessage({sourceName:a,targetName:r,stream:Sc,streamId:t,reason:wrapReason(e)})})}#wt(e){const t=e.streamId,a=this.sourceName,r=e.sourceName,i=this.comObj,n=this.streamControllers[t],s=this.streamSinks[t];switch(e.stream){case Sc:e.success?n.startCall.resolve():n.startCall.reject(wrapReason(e.reason));break;case wc:e.success?n.pullCall.resolve():n.pullCall.reject(wrapReason(e.reason));break;case yc:if(!s){i.postMessage({sourceName:a,targetName:r,stream:wc,streamId:t,success:!0});break}s.desiredSize<=0&&e.desiredSize>0&&s.sinkCapability.resolve();s.desiredSize=e.desiredSize;Promise.try(s.onPull||onFn).then(function(){i.postMessage({sourceName:a,targetName:r,stream:wc,streamId:t,success:!0})},function(e){i.postMessage({sourceName:a,targetName:r,stream:wc,streamId:t,reason:wrapReason(e)})});break;case mc:assert(n,"enqueue should have stream controller");if(n.isClosed)break;n.controller.enqueue(e.chunk);break;case pc:assert(n,"close should have stream controller");if(n.isClosed)break;n.isClosed=!0;n.controller.close();this.#xt(n,t);break;case bc:assert(n,"error should have stream controller");n.controller.error(wrapReason(e.reason));this.#xt(n,t);break;case gc:e.success?n.cancelCall.resolve():n.cancelCall.reject(wrapReason(e.reason));this.#xt(n,t);break;case fc:if(!s)break;const o=wrapReason(e.reason);Promise.try(s.onCancel||onFn,o).then(function(){i.postMessage({sourceName:a,targetName:r,stream:gc,streamId:t,success:!0})},function(e){i.postMessage({sourceName:a,targetName:r,stream:gc,streamId:t,reason:wrapReason(e)})});s.sinkCapability.reject(o);s.isCancelled=!0;delete this.streamSinks[t];break;default:throw new Error("Unexpected stream case")}}async#xt(e,t){await Promise.allSettled([e.startCall?.promise,e.pullCall?.promise,e.cancelCall?.promise]);delete this.streamControllers[t]}destroy(){this.#bt?.abort();this.#bt=null}}async function writeObject(e,t,a,{encrypt:r=null,encryptRef:i=null}){const n=r&&i!==e?r.createCipherTransform(e.num,e.gen):null;a.push(`${e.num} ${e.gen} obj\n`);await writeValue(t,a,n);a.push("\nendobj\n")}async function writeDict(e,t,a){t.push("<<");for(const[r,i]of e.getRawEntries()){t.push(` /${escapePDFName(r)} `);await writeValue(i,t,a)}t.push(">>")}async function writeValue(e,t,a){if(e instanceof Name)t.push(`/${escapePDFName(e.name)}`);else if(e instanceof Ref)t.push(`${e.num} ${e.gen} R`);else if(Array.isArray(e)||ArrayBuffer.isView(e))await async function writeArray(e,t,a){t.push("[");for(let r=0,i=e.length;r=256&&!o)try{const e=new CompressionStream("deflate"),t=e.writable.getWriter();await t.ready;t.write(r).then(async()=>{await t.ready;await t.close()}).catch(()=>{});const a=await new Response(e.readable).arrayBuffer();r=new Uint8Array(a);let c,l;if(n){if(!o){c=Array.isArray(n)?[Name.get("FlateDecode"),...n]:[Name.get("FlateDecode"),n];s&&(l=Array.isArray(s)?[null,...s]:[null,s])}}else c=Name.get("FlateDecode");c&&i.set("Filter",c);l&&i.set("DecodeParms",l)}catch(e){info(`writeStream - cannot compress data: "${e}".`)}let c=bytesToString(r);a&&(c=a.encryptString(c));i.set("Length",c.length);await writeDict(i,t,a);t.push(" stream\n",c,"\nendstream")}(e,t,a):null===e?t.push("null"):warn(`Unhandled value in writer: ${typeof e}, please file a bug.`)}function writeInt(e,t,a,r){for(let i=t+a-1;i>a-1;i--){r[i]=255&e;e>>=8}return a+t}function writeString(e,t,a){const r=e.length;for(let i=0;i1&&(n=a.documentElement.searchNode([i.at(-1)],0));n?n.childNodes=Array.isArray(r)?r.map(e=>new SimpleDOMNode("value",e)):[new SimpleDOMNode("#text",r)]:warn(`Node not found for path: ${t}`)}const r=[];a.documentElement.dump(r);return r.join("")}(r.fetchIfRef(t).getString(),a)}const i=new StringStream(e);i.dict=new Dict(r);i.dict.setIfName("Type","EmbeddedFile");a.put(t,{data:i})}function getIndexes(e){const t=[];for(const{ref:a}of e)a.num===t.at(-2)+t.at(-1)?t[t.length-1]+=1:t.push(a.num,1);return t}function computeIDs(e,t,a){if(Array.isArray(t.fileIds)&&t.fileIds.length>0){const r=function computeMD5(e,t){const a=Math.floor(Date.now()/1e3),r=t.filename||"",i=[a.toString(),r,e.toString(),...t.infoMap.values()],n=Math.sumPrecise(i.map(e=>e.length)),s=new Uint8Array(n);let o=0;for(const e of i)o=writeString(e,o,s);return bytesToString(calculateMD5(s,0,s.length))}(e,t);a.set("ID",[t.fileIds[0]||r,r])}}async function incrementalUpdate({originalData:e,xrefInfo:t,changes:a,xref:r=null,hasXfa:i=!1,xfaDatasetsRef:n=null,hasXfaDatasetsEntry:s=!1,needAppearances:o,acroFormRef:c=null,acroForm:l=null,xfaData:h=null,useXrefStream:u=!1}){await async function updateAcroform({xref:e,acroForm:t,acroFormRef:a,hasXfa:r,hasXfaDatasetsEntry:i,xfaDatasetsRef:n,needAppearances:s,changes:o}){!r||i||n||warn("XFA - Cannot save it");if(!s&&(!r||!n||i))return;const c=t.clone();if(r&&!i){const e=t.get("XFA").slice();e.splice(2,0,"datasets");e.splice(3,0,n);c.set("XFA",e)}s&&c.set("NeedAppearances",!0);o.put(a,{data:c})}({xref:r,acroForm:l,acroFormRef:c,hasXfa:i,hasXfaDatasetsEntry:s,xfaDatasetsRef:n,needAppearances:o,changes:a});i&&updateXFA({xfaData:h,xfaDatasetsRef:n,changes:a,xref:r});const d=function getTrailerDict(e,t,a){const r=new Dict(null);r.setIfDefined("Prev",e?.startXRef);const i=e.newRef;if(a){t.put(i,{data:""});r.set("Size",i.num+1);r.setIfName("Type","XRef")}else r.set("Size",i.num);r.setIfDefined("Root",e?.rootRef);r.setIfDefined("Info",e?.infoRef);r.setIfDefined("Encrypt",e?.encryptRef);return r}(t,a,u),f=[],g=await async function writeChanges(e,t,a=[]){const r=[];for(const[i,{data:n,objStreamRef:s,index:o}]of e.items())if(s)r.push({ref:i,data:n,objStreamRef:s,index:o});else if(null!==n&&"string"!=typeof n){await writeObject(i,n,a,t);r.push({ref:i,data:a.join("")});a.length=0}else r.push({ref:i,data:n});return r.sort((e,t)=>e.ref.num-t.ref.num)}(a,r,f);let p=e.length;const m=e.at(-1);if(10!==m&&13!==m){f.push("\n");p+=1}for(const{data:e}of g)null!==e&&f.push(e);await(u?async function getXRefStreamTable(e,t,a,r,i){const n=[];let s=0,o=0;for(const{ref:e,data:r,objStreamRef:i,index:c}of a){let a;s=Math.max(s,t);if(i){a=c;n.push([2,i.num,a])}else if(null!==r){a=Math.min(e.gen,65535);n.push([1,t,a]);t+=r.length}else{a=Math.min(e.gen+1,65535);n.push([0,0,a])}o=Math.max(o,a)}r.set("Index",getIndexes(a));const c=[1,getSizeInBytes(s),getSizeInBytes(o)];r.set("W",c);computeIDs(t,e,r);const l=Math.sumPrecise(c),h=new Uint8Array(l*n.length),u=new Stream(h);u.dict=r;let d=0;for(const[e,t,a]of n){d=writeInt(e,c[0],d,h);d=writeInt(t,c[1],d,h);d=writeInt(a,c[2],d,h)}await writeObject(e.newRef,u,i,{});i.push("startxref\n",t.toString(),"\n%%EOF\n")}(t,p,g,d,f):async function getXRefTable(e,t,a,r,i){i.push("xref\n");const n=getIndexes(a);let s=0;for(const{ref:e,data:r}of a){if(e.num===n[s]){i.push(`${n[s]} ${n[s+1]}\n`);s+=2}if(null!==r){i.push(`${t.toString().padStart(10,"0")} ${Math.min(e.gen,65535).toString().padStart(5,"0")} n\r\n`);t+=r.length}else i.push(`0000000000 ${Math.min(e.gen+1,65535).toString().padStart(5,"0")} f\r\n`)}computeIDs(t,e,r);i.push("trailer\n");await writeDict(r,i,null);i.push("\nstartxref\n",t.toString(),"\n%%EOF\n")}(t,p,g,d,f));const b=e.length+Math.sumPrecise(f.map(e=>e.length)),y=new Uint8Array(b);y.set(e);let w=e.length;for(const e of f)w=writeString(e,w,y);return y}class PageData{constructor(e,t){this.page=e;this.documentData=t;this.annotations=null;this.pointingNamedDestinations=null;t.pagesMap.put(e.ref,this)}}class DocumentData{constructor(e){this.document=e;this.destinations=null;this.pageLabels=null;this.pagesMap=new RefSetCache;this.oldRefMapping=new RefSetCache;this.dedupNamedDestinations=new Map;this.usedNamedDestinations=new Set;this.postponedRefCopies=new RefSetCache;this.usedStructParents=new Set;this.oldStructParentMapping=new Map;this.structTreeRoot=null;this.parentTree=null;this.idTree=null;this.roleMap=null;this.classMap=null;this.namespaces=null;this.structTreeAF=null;this.structTreePronunciationLexicon=[]}}class XRefWrapper{constructor(e){this.entries=e}fetch(e){return e instanceof Ref?this.entries[e.num]:e}}class PDFEditor{constructor({useObjectStreams:e=!0,title:t="",author:a=""}={}){this.hasSingleFile=!1;this.currentDocument=null;this.oldPages=[];this.newPages=[];this.xref=[null];this.xrefWrapper=new XRefWrapper(this.xref);this.newRefCount=1;[this.rootRef,this.rootDict]=this.newDict;[this.infoRef,this.infoDict]=this.newDict;[this.pagesRef,this.pagesDict]=this.newDict;this.namesDict=null;this.useObjectStreams=e;this.objStreamRefs=e?new Set:null;this.version="1.7";this.title=t;this.author=a;this.pageLabels=null;this.namedDestinations=new Map;this.parentTree=new Map;this.structTreeKids=[];this.idTree=new Map;this.classMap=new Dict;this.roleMap=new Dict;this.namespaces=new Map;this.structTreeAF=[];this.structTreePronunciationLexicon=[]}get newRef(){return Ref.get(this.newRefCount++,0)}get newDict(){const e=this.newRef;return[e,this.xref[e.num]=new Dict]}async#At(e,t){const a=this.newRef;this.xref[a.num]=await this.#kt(e,!0,t);return a}cloneDict(e){const t=e.clone();t.xref=this.xrefWrapper;return t}async#kt(e,t,a){if(e instanceof Ref){const{currentDocument:{oldRefMapping:t}}=this;let r=t.get(e);if(r)return r;const i=e;if("number"==typeof(e=await a.fetchAsync(i)))return e;r=this.newRef;t.put(i,r);this.xref[r.num]=await this.#kt(e,!0,a);return r}const r=[],{currentDocument:{postponedRefCopies:i}}=this;if(Array.isArray(e)){t&&(e=e.slice());for(let t=0,n=e.length;te[t]=a):r.push(this.#kt(e[t],!0,a).then(a=>e[t]=a))}await Promise.all(r);return e}let n;if(e instanceof BaseStream){({dict:n}=e=e.getOriginalStream().clone());n.xref=this.xrefWrapper}else if(e instanceof Dict){t&&((e=e.clone()).xref=this.xrefWrapper);n=e}if(n){for(const[e,t]of n.getRawEntries()){const s=i.get(t);s?s.push(t=>n.set(e,t)):r.push(this.#kt(t,!0,a).then(t=>n.set(e,t)))}await Promise.all(r)}return e}async#Ct(e,t,a,r,i,n,s,o=new RefSet){const{currentDocument:{pagesMap:c,oldRefMapping:l}}=this,h=t.getRaw("Pg");if(h instanceof Ref&&!c.has(h))return null;let u;const d=u=t.getRaw("K");if(d instanceof Ref){if(o.has(d))return null;u=await a.fetchAsync(d);Array.isArray(u)||(u=[d])}u=Array.isArray(u)?u:[u];const f=[],g=[];for(let t of u){const h=t instanceof Ref?t:null;if(h){if(o.has(h))continue;o.put(h);t=await a.fetchAsync(h)}if("number"==typeof t){f.push(t);continue}if(!(t instanceof Dict))continue;const u=t.getRaw("Pg");if(u instanceof Ref&&!c.has(u))continue;const d=t.get("Type");if(!d||isName(d,"StructElem")){let e=!1;if(h&&r.has(h)){if(!isName(t.get("S"),"Link"))continue;e=!0}const c=await this.#Ct(h,t,a,r,i,n,s,o);if(c){g.push(f.length);f.push(c);h&&l.put(h,c);e&&this.xref[c.num].setIfName("S","Span")}continue}if(isName(d,"OBJR")){if(!h)continue;const t=l.get(h);if(!t)continue;const a=this.xref[t.num].getRaw("Obj");if(a instanceof Ref){const t=this.xref[a.num];if(t instanceof Dict&&!t.has("StructParent")&&e){const a=this.parentTree.size;this.parentTree.set(a,[l,e]);t.set("StructParent",a)}}f.push(t);continue}if(isName(d,"MCR")){const e=await this.#kt(h||t,!0,a);f.push(e);continue}if(h){const e=await this.#kt(h,!0,a);f.push(e)}}if(0!==u.length&&0===f.length)return null;const p=this.newRef,m=this.xref[p.num]=this.cloneDict(t);m.delete("ID");m.delete("C");m.delete("K");m.delete("P");m.delete("S");await this.#kt(m,!1,a);const b=t.get("C");if(b instanceof Name){const e=n.get(b.name);e?m.set("C",Name.get(e)):m.set("C",b)}else if(Array.isArray(b)){const e=[];for(const t of b)if(t instanceof Name){const a=n.get(t.name);a?e.push(Name.get(a)):e.push(t)}m.set("C",e)}const y=t.get("S");if(y instanceof Name){const e=s.get(y.name);e?m.set("S",Name.get(e)):m.set("S",y)}const w=t.get("ID");if("string"==typeof w){const e=stringToPDFString(w,!1),t=i.get(e);t?m.set("ID",stringToAsciiOrUTF16BE(t)):m.set("ID",w)}let S=m.get("A");if(S){Array.isArray(S)||(S=[S]);for(let e of S){e=this.xrefWrapper.fetch(e);if(isName(e.get("O"),"Table")&&e.has("Headers")){const t=this.xrefWrapper.fetch(e.getRaw("Headers"));if(Array.isArray(t))for(let e=0,a=t.length;e1&&m.set("K",f);return p}async extractPages(e){const t=[];let a=0;this.hasSingleFile=1===e.length;const r=[];for(const{document:i,includePages:n,excludePages:s,pageIndices:o}of e){if(!i)continue;o&&(a=-1);const e=new DocumentData(i);r.push(e);t.push(this.#vt(e));let c,l,h,u;for(const e of n||[])Array.isArray(e)?(l||=[]).push(e):(c||=new Set).add(e);for(const e of s||[])Array.isArray(e)?(u||=[]).push(e):(h||=new Set).add(e);let d=0;for(let r=0,n=i.numPages;r=t&&r<=a){e=!0;break}if(e)continue}let n,s=!1;c&&(s=c.has(r));if(!s&&l)for(const[e,t]of l)if(r>=e&&r<=t){s=!0;break}s||c||l||(s=!0);if(s){o&&(n=o[d++]);if(void 0===n)if(-1!==a)n=a++;else for(n=0;void 0===this.oldPages[n];n++);t.push(i.getPage(r).then(t=>{this.oldPages[n]=new PageData(t,e)}))}}}await Promise.all(t);t.length=0;this.#Ft(r);this.#It();for(const e of this.oldPages)t.push(this.#Tt(e));await Promise.all(t);this.#Ot();this.#Dt(r);for(let e=0,t=this.oldPages.length;ee.destinations=t),t.ensureCatalog("rawPageLabels").then(t=>e.pageLabels=t),t.ensureCatalog("structTreeRoot").then(t=>e.structTreeRoot=t)]);const r=e.structTreeRoot;if(r){const t=r.dict,i=t.get("ParentTree");if(i){const t=new NumberTree(i,a);e.parentTree=t.getAll(!0)}const n=t.get("IDTree");if(n){const t=new NameTree(n,a);e.idTree=t.getAll(!0)}e.roleMap=t.get("RoleMap")||null;e.classMap=t.get("ClassMap")||null;let s=t.get("Namespaces")||null;s&&!Array.isArray(s)&&(s=[s]);e.namespaces=s;e.structTreeAF=t.get("AF")||null;e.structTreePronunciationLexicon=t.get("PronunciationLexicon")||null}}async#Tt(e){const{page:{xref:t,annotations:a},documentData:{pagesMap:r,destinations:i,usedNamedDestinations:n}}=e;if(!a)return;const s=[];let o=[],c=0;for(const e of a){const a=c++;s.push(t.fetchIfRefAsync(e).then(async t=>{if(!isName(t.get("Subtype"),"Link")){o[a]=e;return}const s=t.get("A"),c=s instanceof Dict?s.get("D"):t.get("Dest");if(c&&(!Array.isArray(c)||c[0]instanceof Ref&&!r.has(c[0]))){if("string"==typeof c){const t=stringToPDFString(c,!0);if(i.has(t)){o[a]=e;n.add(t)}}}else o[a]=e}))}await Promise.all(s);o=o.filter(e=>!!e);e.annotations=o.length>0?o:null}#Dt(e){for(const{postponedRefCopies:t,pagesMap:a}of e)for(const e of a.keys())t.put(e,[])}#Rt(e){for(const{postponedRefCopies:t,oldRefMapping:a}of e){for(const[e,r]of t.items()){const t=a.get(e);for(const e of r)e(t)}t.clear()}}#Nt(e,t,a=new RefSet){if(e instanceof Ref){if(!a.has(e)){a.put(e);this.#Nt(this.xref[e.num],t,a)}return}if(Array.isArray(e)){for(const r of e)this.#Nt(r,t,a);return}let r;e instanceof BaseStream?({dict:r}=e):e instanceof Dict&&(r=e);if(r){t(r);for(const e of r.getRawValues())this.#Nt(e,t,a)}}async#Bt(e){let t=0;const{parentTree:a}=this;for(let e=0,r=this.newPages.length;e{const c=e.get("StructParent")??e.get("StructParents");if("number"!=typeof c)return;s.add(c);let l=r.get(c);const h=l instanceof Ref?l:null;if(h){const e=o.fetch(h);Array.isArray(e)&&(l=e)}Array.isArray(l)&&l.every(e=>null===e)&&(l=null);if(!l){e.has("StructParent")?e.delete("StructParent"):e.delete("StructParents");return}let u=n.get(c);if(void 0===u){u=t++;n.set(c,u);a.set(u,[i,l])}e.has("StructParent")?e.set("StructParent",u):e.set("StructParents",u)})}const{structTreeKids:r,idTree:i,classMap:n,roleMap:s,namespaces:o,structTreeAF:c,structTreePronunciationLexicon:l}=this;for(const t of e){const{document:{xref:e},oldRefMapping:a,parentTree:h,usedStructParents:u,structTreeRoot:d,idTree:f,classMap:g,roleMap:p,namespaces:m,structTreeAF:b,structTreePronunciationLexicon:y}=t;if(!d)continue;this.currentDocument=t;const w=new RefSet;for(const[e,t]of h||[])!u.has(e)&&t instanceof Ref&&w.put(t);const S=new Map;for(const[e,t]of f||[]){let a=e;if(i.has(e))for(let t=1;;t++){const r=`${e}_${t}`;if(!i.has(r)){S.set(e,r);a=r;break}}i.set(a,t)}const x=new Map;if(g?.size>0)for(let[t,a]of g){a=await this.#kt(a,!0,e);if(n.has(t))for(let e=1;;e++){const a=`${t}_${e}`;if(!n.has(a)){x.set(t,a);t=a;break}}n.set(t,a)}const k=new Map;if(p?.size>0)for(const[e,t]of p){const a=s.get(e);if(a){if(a!==t)for(let a=1;;a++){const r=`${e}_${a}`;if(!s.has(r)){k.set(e,r);s.set(r,t);break}}}else s.set(e,t)}if(m?.length>0)for(const t of m){const a=await e.fetchIfRefAsync(t);let r=a.get("NS");if(!r||o.has(r))continue;r=stringToPDFString(r,!1);const i=await this.#kt(a,!0,e);o.set(r,i)}if(b)for(const t of b)c.push(await this.#kt(t,!0,e));if(y)for(const t of y)l.push(await this.#kt(t,!0,e));let C=d.dict.get("K");if(C){C=Array.isArray(C)?C:[C];for(let t of C){const a=t instanceof Ref?t:null;if(a&&w.has(a))continue;t=await e.fetchIfRefAsync(t);const i=await this.#Ct(a,t,e,w,S,x,k);i&&r.push(i)}for(const[e,t]of f||[]){const r=a.get(t),n=S.get(e)||e;r?i.set(n,r):i.delete(n)}}}for(const[e,[t,r]]of a){if(!r){a.delete(e);continue}if(!Array.isArray(r)){const i=t.get(r);void 0===i?a.delete(e):a.set(e,i);continue}const i=r.map(e=>e instanceof Ref&&t.get(e)||null);0===i.length||i.every(e=>null===e)?a.delete(e):a.set(e,i)}this.currentDocument=null}#Ft(e){for(const t of e){if(!t.destinations)continue;const{destinations:e,pagesMap:a}=t,r=t.destinations=new Map;for(const[t,i]of Object.entries(e)){const e=i[0],n=a.get(e);if(n){(n.pointingNamedDestinations||=new Set).add(t);r.set(t,i)}}}}#Ot(){const{namedDestinations:e}=this;for(let t=0,a=this.oldPages.length;t{"string"==typeof r&&e.set(a,t.get(stringToPDFString(r,!0))||r)};for(const t of e){const e=this.xref[t.num];if(!isName(e.get("Subtype"),"Link"))continue;const a=e.get("A");if(a instanceof Dict&&a.has("D")){const e=a.get("D");fixDestination(a,"D",e);continue}const r=e.get("Dest");fixDestination(e,"Dest",r)}}async#It(){if(!this.hasSingleFile)return;const{documentData:{document:e,pageLabels:t}}=this.oldPages[0];if(!t)return;const a=e.numPages,r=[],i=new Set(this.oldPages.map(({page:{pageIndex:e}})=>e));let n=null,s=-1;for(let e=0;ee!==l[t])&&f.set(e,a)}const p=t.userUnit;1!==p&&f.set("UserUnit",p);f.setIfDict("Resources",await this.#kt(h,!0,o));if(r){const e=await this.#kt(r,!0,o);this.#Pt(e,n);f.setIfArray("Annots",e)}if(this.useObjectStreams){const e=this.newRefCount,t=[];for(let a=g;a0;){const{dict:e,kids:t,parentRef:a}=i.pop();if(t.length<=16){e.set("Kids",t);for(const e of t)this.xref[e.num].set("Parent",a);continue}const r=Math.max(16,Math.ceil(t.length/16)),n=[];for(let e=0;ee.localeCompare(t):([e],[t])=>e-t),[r,i]=this.newDict,n=[{dict:i,entries:a}],s=t?"Names":"Nums";for(;n.length>0;){const{dict:e,entries:t}=n.pop();if(t.length<=64){e.set("Limits",[t[0][0],t.at(-1)[0]]);e.set(s,t.flat());continue}const a=[],r=Math.max(64,Math.ceil(t.length/64));for(let e=0;e0){const e=this.#Lt(Array.from(this.parentTree.entries()),!1);this.xref[e.num].setIfName("Type","ParentTree");r.set("ParentTree",e);r.set("ParentTreeNextKey",this.parentTree.size)}if(this.idTree.size>0){const e=this.#Lt(Array.from(this.idTree.entries()),!0);this.xref[e.num].setIfName("Type","IDTree");r.set("IDTree",e)}if(this.classMap.size>0){const e=this.newRef;this.xref[e.num]=this.classMap;r.set("ClassMap",e)}if(this.roleMap.size>0){const e=this.newRef;this.xref[e.num]=this.roleMap;r.set("RoleMap",e)}if(this.namespaces.size>0){const e=this.newRef;this.xref[e.num]=Array.from(this.namespaces.values());r.set("Namespaces",e)}if(this.structTreeAF.length>0){const e=this.newRef;this.xref[e.num]=this.structTreeAF;r.set("AF",e)}if(this.structTreePronunciationLexicon.length>0){const e=this.newRef;this.xref[e.num]=this.structTreePronunciationLexicon;r.set("PronunciationLexicon",e)}t.set("StructTreeRoot",a)}async#Xt(){const{rootDict:e}=this;e.setIfName("Type","Catalog");e.setIfName("Version",this.version);this.#Et();this.#_t();this.#Ut();this.#jt()}#qt(){const e=new Map;if(this.hasSingleFile){const{xref:{trailer:t}}=this.oldPages[0].documentData.document,a=t.get("Info");for(const[t,r]of a||[])"string"==typeof r&&e.set(t,stringToPDFString(r))}e.delete("ModDate");e.set("CreationDate",getModificationDate());e.set("Creator","PDF.js");e.set("Producer","Firefox");this.author&&e.set("Author",this.author);this.title&&e.set("Title",this.title);for(const[t,a]of e)this.infoDict.set(t,stringToAsciiOrUTF16BE(a));return e}async#Ht(){if(!this.hasSingleFile)return[null,null,null];const{documentData:e}=this.oldPages[0],{document:{xref:{trailer:t,encrypt:a}}}=e;if(!t.has("Encrypt"))return[null,null,null];const r=t.get("Encrypt");if(!(r instanceof Dict))return[null,null,null];this.currentDocument=e;const i=[await this.#At(r,t.xref),a,t.get("ID")];this.currentDocument=null;return i}async#Wt(){const e=new RefSetCache;e.put(Ref.get(0,65535),{data:null});for(let t=1,a=this.xref.length;te.charCodeAt(0)),250,222,250,206];return incrementalUpdate({originalData:new Uint8Array(s),changes:i,xrefInfo:{startXRef:null,rootRef:this.rootRef,infoRef:this.infoRef,encryptRef:t,newRef:n,fileIds:r||[null,null],infoMap:e},useXrefStream:this.useObjectStreams,xref:{encrypt:a,encryptRef:t}})}}class BasePDFStream{#$t=null;#zt=null;_fullReader=null;_rangeReaders=new Set;_source=null;constructor(e,t,a){this._source=e;this.#$t=t;this.#zt=a}get _progressiveDataLength(){return this._fullReader?._loaded??0}getFullReader(){assert(!this._fullReader,"BasePDFStream.getFullReader can only be called once.");return this._fullReader=new this.#$t(this)}getRangeReader(e,t){if(t<=this._progressiveDataLength)return null;const a=new this.#zt(this,e,t);this._rangeReaders.add(a);return a}cancelAllRequests(e){this._fullReader?.cancel(e);for(const t of new Set(this._rangeReaders))t.cancel(e)}}class BasePDFStreamReader{onProgress=null;_contentLength=0;_filename=null;_headersCapability=Promise.withResolvers();_isRangeSupported=!1;_isStreamingSupported=!1;_loaded=0;_stream=null;constructor(e){this._stream=e}get headersReady(){return this._headersCapability.promise}get filename(){return this._filename}get contentLength(){return this._contentLength}get isRangeSupported(){return this._isRangeSupported}get isStreamingSupported(){return this._isStreamingSupported}async read(){unreachable("Abstract method `read` called")}cancel(e){unreachable("Abstract method `cancel` called")}}class BasePDFStreamRangeReader{_stream=null;constructor(e,t,a){this._stream=e}async read(){unreachable("Abstract method `read` called")}cancel(e){unreachable("Abstract method `cancel` called")}}class PDFWorkerStream extends BasePDFStream{constructor(e){super(e,PDFWorkerStreamReader,PDFWorkerStreamRangeReader)}}class PDFWorkerStreamReader extends BasePDFStreamReader{_reader=null;constructor(e){super(e);const{msgHandler:t}=e._source,a=t.sendWithStream("GetReader");this._reader=a.getReader();t.sendWithPromise("ReaderHeadersReady").then(e=>{this._contentLength=e.contentLength;this._isStreamingSupported=e.isStreamingSupported;this._isRangeSupported=e.isRangeSupported;this._headersCapability.resolve()},this._headersCapability.reject)}async read(){const{value:e,done:t}=await this._reader.read();return t?{value:void 0,done:!0}:{value:e.buffer,done:!1}}cancel(e){this._reader.cancel(e)}}class PDFWorkerStreamRangeReader extends BasePDFStreamRangeReader{_reader=null;constructor(e,t,a){super(e,t,a);const{msgHandler:r}=e._source,i=r.sendWithStream("GetRangeReader",{begin:t,end:a});this._reader=i.getReader()}async read(){const{value:e,done:t}=await this._reader.read();return t?{value:void 0,done:!0}:{value:e.buffer,done:!1}}cancel(e){this._reader.cancel(e)}}class WorkerTask{constructor(e){this.name=e;this.terminated=!1;this._capability=Promise.withResolvers()}get finished(){return this._capability.promise}finish(){this._capability.resolve()}terminate(){this.terminated=!0}ensureNotTerminated(){if(this.terminated)throw new Error("Worker task was terminated")}}class WorkerMessageHandler{static{"undefined"==typeof window&&!e&&"undefined"!=typeof self&&"function"==typeof self.postMessage&&"onmessage"in self&&this.initializeFromPort(self)}static setup(e,t){let a=!1;e.on("test",t=>{if(!a){a=!0;e.send("test",t instanceof Uint8Array)}});e.on("configure",e=>{!function setVerbosityLevel(e){Number.isInteger(e)&&(Qt=e)}(e.verbosity)});e.on("GetDocRequest",e=>this.createDocumentHandler(e,t))}static createDocumentHandler(e,t){let a,r=!1,i=null;const n=new Set,s=getVerbosityLevel(),{docId:o,apiVersion:c}=e,l="5.4.624";if(c!==l)throw new Error(`The API version "${c}" does not match the Worker version "${l}".`);const buildMsg=(e,t)=>`The \`${e}.prototype\` contains unexpected enumerable property "${t}", thus breaking e.g. \`for...in\` iteration of ${e}s.`;for(const e in{})throw new Error(buildMsg("Object",e));for(const e in[])throw new Error(buildMsg("Array",e));const h=o+"_worker";let u=new MessageHandler(h,o,t);function ensureNotTerminated(){if(r)throw new Error("Worker was terminated")}function startWorkerTask(e){n.add(e)}function finishWorkerTask(e){e.finish();n.delete(e)}async function loadDocument(e){await a.ensureDoc("checkHeader");await a.ensureDoc("parseStartXRef");await a.ensureDoc("parse",[e]);await a.ensureDoc("checkFirstPage",[e]);await a.ensureDoc("checkLastPage",[e]);const t=await a.ensureDoc("isPureXfa");if(t){const e=new WorkerTask("loadXfaResources");startWorkerTask(e);await a.ensureDoc("loadXfaResources",[u,e]);finishWorkerTask(e)}const[r,i]=await Promise.all([a.ensureDoc("numPages"),a.ensureDoc("fingerprints")]);return{numPages:r,fingerprints:i,htmlForXfa:t?await a.ensureDoc("htmlForXfa"):null}}function setupDoc(e){function onSuccess(e){ensureNotTerminated();u.send("GetDoc",{pdfInfo:e})}function onFailure(e){ensureNotTerminated();if(e instanceof PasswordException){const t=new WorkerTask(`PasswordException: response ${e.code}`);startWorkerTask(t);u.sendWithPromise("PasswordRequest",e).then(function({password:e}){finishWorkerTask(t);a.updatePassword(e);pdfManagerReady()}).catch(function(){finishWorkerTask(t);u.send("DocException",e)})}else u.send("DocException",wrapReason(e))}function pdfManagerReady(){ensureNotTerminated();loadDocument(!1).then(onSuccess,function(e){ensureNotTerminated();e instanceof XRefParseException?a.requestLoadedStream().then(function(){ensureNotTerminated();loadDocument(!0).then(onSuccess,onFailure)}):onFailure(e)})}ensureNotTerminated();(async function getPdfManager({data:e,password:t,disableAutoFetch:a,rangeChunkSize:r,length:n,docBaseUrl:s,enableXfa:c,evaluatorOptions:l}){const h={source:null,disableAutoFetch:a,docBaseUrl:s,docId:o,enableXfa:c,evaluatorOptions:l,handler:u,length:n,password:t,rangeChunkSize:r};if(e){h.source=e;return new LocalPdfManager(h)}const d=new PDFWorkerStream({msgHandler:u}),f=d.getFullReader(),g=Promise.withResolvers();let p,m=[],b=0;f.headersReady.then(function(){if(f.isRangeSupported){h.source=d;h.length=f.contentLength;h.disableAutoFetch||=f.isStreamingSupported;p=new NetworkPdfManager(h);for(const e of m)p.sendProgressiveData(e);m=[];g.resolve(p);i=null}}).catch(function(e){g.reject(e);i=null});new Promise(function(e,t){const readChunk=function({value:e,done:a}){try{ensureNotTerminated();if(a){if(!p){const e=arrayBuffersToBytes(m);m=[];n&&e.length!==n&&warn("reported HTTP length is different from actual");h.source=e;p=new LocalPdfManager(h);g.resolve(p)}i=null;return}b+=e.byteLength;f.isStreamingSupported||u.send("DocProgress",{loaded:b,total:Math.max(b,f.contentLength||0)});p?p.sendProgressiveData(e):m.push(e);f.read().then(readChunk,t)}catch(e){t(e)}};f.read().then(readChunk,t)}).catch(function(e){g.reject(e);i=null});i=e=>{d.cancelAllRequests(e)};return g.promise})(e).then(function(e){if(r){e.terminate(new AbortException("Worker was terminated."));throw new Error("Worker was terminated")}a=e;a.requestLoadedStream(!0).then(e=>{u.send("DataLoaded",{length:e.bytes.byteLength})})}).then(pdfManagerReady,onFailure)}u.on("GetPage",function(e){return a.getPage(e.pageIndex).then(function(e){return Promise.all([a.ensure(e,"rotate"),a.ensure(e,"ref"),a.ensure(e,"userUnit"),a.ensure(e,"view")]).then(function([e,t,a,r]){return{rotate:e,ref:t,refStr:t?.toString()??null,userUnit:a,view:r}})})});u.on("GetPageIndex",function(e){const t=Ref.get(e.num,e.gen);return a.ensureCatalog("getPageIndex",[t])});u.on("GetDestinations",function(e){return a.ensureCatalog("destinations")});u.on("GetDestination",function(e){return a.ensureCatalog("getDestination",[e.id])});u.on("GetPageLabels",function(e){return a.ensureCatalog("pageLabels")});u.on("GetPageLayout",function(e){return a.ensureCatalog("pageLayout")});u.on("GetPageMode",function(e){return a.ensureCatalog("pageMode")});u.on("GetViewerPreferences",function(e){return a.ensureCatalog("viewerPreferences")});u.on("GetOpenAction",function(e){return a.ensureCatalog("openAction")});u.on("GetAttachments",function(e){return a.ensureCatalog("attachments")});u.on("GetDocJSActions",function(e){return a.ensureCatalog("jsActions")});u.on("GetPageJSActions",function({pageIndex:e}){return a.getPage(e).then(e=>a.ensure(e,"jsActions"))});u.on("GetAnnotationsByType",async function({types:e,pageIndexesToSkip:t}){const[r,i]=await Promise.all([a.ensureDoc("numPages"),a.ensureDoc("annotationGlobals")]);if(!i)return null;const n=[],s=[];let o=null;try{for(let c=0,l=r;ct&&t.collectAnnotationsByType(u,o,e,s,i)||[]))}await Promise.all(n);return(await Promise.all(s)).filter(e=>!!e)}finally{o&&finishWorkerTask(o)}});u.on("GetOutline",function(e){return a.ensureCatalog("documentOutline")});u.on("GetOptionalContentConfig",function(e){return a.ensureCatalog("optionalContentConfig")});u.on("GetPermissions",function(e){return a.ensureCatalog("permissions")});u.on("GetMetadata",function(e){return Promise.all([a.ensureDoc("documentInfo"),a.ensureCatalog("metadata"),a.ensureCatalog("hasStructTree")])});u.on("GetMarkInfo",function(e){return a.ensureCatalog("markInfo")});u.on("GetData",function(e){return a.requestLoadedStream().then(e=>e.bytes)});u.on("GetAnnotations",function({pageIndex:e,intent:t}){return a.getPage(e).then(function(a){const r=new WorkerTask(`GetAnnotations: page ${e}`);startWorkerTask(r);return a.getAnnotationsData(u,r,t).then(e=>{finishWorkerTask(r);return e},e=>{finishWorkerTask(r);throw e})})});u.on("GetFieldObjects",function(e){return a.ensureDoc("fieldObjects").then(e=>e?.allFields||null)});u.on("HasJSActions",function(e){return a.ensureDoc("hasJSActions")});u.on("GetCalculationOrderIds",function(e){return a.ensureDoc("calculationOrderIds")});u.on("ExtractPages",async function({pageInfos:e}){if(!e){warn("extractPages: nothing to extract.");return null}Array.isArray(e)||(e=[e]);let t=0;for(const r of e)if(null===r.document)r.document=a.pdfDocument;else if(ArrayBuffer.isView(r.document)){const e=new LocalPdfManager({source:r.document,docId:`${o}_extractPages_${t++}`,handler:u,password:r.password??null,evaluatorOptions:Object.assign({},a.evaluatorOptions)});let i=!1,n=!0;for(;;)try{await e.requestLoadedStream();await e.ensureDoc("checkHeader");await e.ensureDoc("parseStartXRef");await e.ensureDoc("parse",[i]);break}catch(t){if(t instanceof XRefParseException){if(!1===i){i=!0;continue}n=!1;warn("extractPages: XRefParseException.")}else if(t instanceof PasswordException){const a=new WorkerTask(`PasswordException: response ${t.code}`);startWorkerTask(a);try{const{password:a}=await u.sendWithPromise("PasswordRequest",t);e.updatePassword(a)}catch{n=!1;warn("extractPages: invalid password.")}finally{finishWorkerTask(a)}}else{n=!1;warn("extractPages: invalid document.")}if(!n)break}n||(r.document=null);if(await e.ensureDoc("isPureXfa")){r.document=null;warn("extractPages does not support pure XFA documents.")}else r.document=e.pdfDocument}else warn("extractPages: invalid document.");try{const t=new PDFEditor;return await t.extractPages(e)}catch(e){console.error(e);return null}});u.on("SaveDocument",async function({isPureXfa:e,numPages:t,annotationStorage:r,filename:i}){const n=[a.requestLoadedStream(),a.ensureCatalog("acroForm"),a.ensureCatalog("acroFormRef"),a.ensureDoc("startXRef"),a.ensureDoc("xref"),a.ensureCatalog("structTreeRoot")],s=new RefSetCache,o=[],c=e?null:getNewAnnotationsMap(r),[l,h,d,f,g,p]=await Promise.all(n),m=g.trailer.getRaw("Root")||null;let b;if(c){p?await p.canUpdateStructTree({pdfManager:a,newAnnotationsByPage:c})&&(b=p):await StructTreeRoot.canCreateStructureTree({catalogRef:m,pdfManager:a,newAnnotationsByPage:c})&&(b=null);const e=AnnotationFactory.generateImages(r.values(),g,a.evaluatorOptions.isOffscreenCanvasSupported),t=void 0===b?o:[];for(const[r,i]of c)t.push(a.getPage(r).then(t=>{const a=new WorkerTask(`Save (editor): page ${r}`);startWorkerTask(a);return t.saveNewAnnotations(u,a,i,e,s).finally(function(){finishWorkerTask(a)})}));null===b?o.push(Promise.all(t).then(async()=>{await StructTreeRoot.createStructureTree({newAnnotationsByPage:c,xref:g,catalogRef:m,pdfManager:a,changes:s})})):b&&o.push(Promise.all(t).then(async()=>{await b.updateStructureTree({newAnnotationsByPage:c,pdfManager:a,changes:s})}))}if(e)o.push(a.ensureDoc("serializeXfaData",[r]));else for(let e=0;ee.needAppearances),x=h instanceof Dict&&h.get("XFA")||null;let k=null,C=!1;if(Array.isArray(x)){for(let e=0,t=x.length;e{g.resetNewTemporaryRef()})});u.on("GetOperatorList",function(e,t){const{pageId:r,pageIndex:i}=e;a.getPage(r).then(function(a){const r=new WorkerTask(`GetOperatorList: page ${i}`);startWorkerTask(r);const n=s>=ce?Date.now():0;a.getOperatorList({handler:u,sink:t,task:r,intent:e.intent,cacheKey:e.cacheKey,annotationStorage:e.annotationStorage,modifiedIds:e.modifiedIds,pageIndex:i}).then(function(e){finishWorkerTask(r);n&&info(`page=${i+1} - getOperatorList: time=${Date.now()-n}ms, len=${e.length}`);t.close()},function(e){finishWorkerTask(r);r.terminated||t.error(e)})})});u.on("GetTextContent",function(e,t){const{pageId:r,pageIndex:i,includeMarkedContent:n,disableNormalization:o}=e;a.getPage(r).then(function(e){const a=new WorkerTask("GetTextContent: page "+i);startWorkerTask(a);const r=s>=ce?Date.now():0;e.extractTextContent({handler:u,task:a,sink:t,includeMarkedContent:n,disableNormalization:o}).then(function(){finishWorkerTask(a);r&&info(`page=${i+1} - getTextContent: time=`+(Date.now()-r)+"ms");t.close()},function(e){finishWorkerTask(a);a.terminated||t.error(e)})})});u.on("GetStructTree",function(e){return a.getPage(e.pageIndex).then(e=>a.ensure(e,"getStructTree"))});u.on("FontFallback",function(e){return a.fontFallback(e.id,u)});u.on("Cleanup",function(e){return a.cleanup(!0)});u.on("Terminate",function(e){r=!0;const t=[];if(a){a.terminate(new AbortException("Worker was terminated."));const e=a.cleanup();t.push(e);a=null}else clearGlobalCaches();i?.(new AbortException("Worker was terminated."));for(const e of n){t.push(e.finished);e.terminate()}return Promise.all(t).then(function(){u.destroy();u=null})});u.on("Ready",function(t){setupDoc(e);e=null});return h}static initializeFromPort(e){const t=new MessageHandler("worker","main",e);this.setup(t,e);t.send("ready",null)}}globalThis.pdfjsWorker={WorkerMessageHandler};export{WorkerMessageHandler}; \ No newline at end of file diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/public/ri--image-circle-ai-line.svg b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/public/ri--image-circle-ai-line.svg new file mode 100644 index 000000000..6ed507aed --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/public/ri--image-circle-ai-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/auth/callback/oci/route.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/auth/callback/oci/route.js new file mode 100644 index 000000000..df659b56d --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/auth/callback/oci/route.js @@ -0,0 +1,85 @@ +import { NextResponse } from 'next/server'; +import { getIDCSConfig, createSessionCookie } from '../../../../lib/auth'; +import { createLogger } from '../../../../lib/logger'; + +function getBaseUrl(request) { + let host = request.headers.get('x-forwarded-host') || request.headers.get('host'); + const proto = request.headers.get('x-forwarded-proto') || 'http'; + host = host.replace(/:80$/, '').replace(/:443$/, ''); + return `${proto}://${host}`; +} + +export async function GET(request) { + const requestId = crypto.randomUUID(); + const log = createLogger('auth-callback', { requestId }); + + const { searchParams } = new URL(request.url); + const code = searchParams.get('code'); + const error = searchParams.get('error'); + const baseUrl = getBaseUrl(request); + + if (error) { + log.error('IDCS OAuth error', { error, description: searchParams.get('error_description') }); + return NextResponse.redirect(new URL('/login?error=idcs_denied', baseUrl)); + } + + if (!code) { + return NextResponse.redirect(new URL('/login?error=no_code', baseUrl)); + } + + const idcs = getIDCSConfig(); + const redirectUri = `${baseUrl}/api/auth/callback/oci`; + + // Exchange authorization code for tokens + const tokenRes = await fetch(idcs.tokenUrl, { + method: 'POST', + headers: { + 'Content-Type': 'application/x-www-form-urlencoded', + 'Authorization': 'Basic ' + btoa(`${idcs.clientId}:${idcs.clientSecret}`), + }, + body: new URLSearchParams({ + grant_type: 'authorization_code', + code, + redirect_uri: redirectUri, + }), + }); + + if (!tokenRes.ok) { + const errText = await tokenRes.text(); + log.error('IDCS token exchange failed', { status: tokenRes.status, error: errText }); + return NextResponse.redirect(new URL('/login?error=token_failed', baseUrl)); + } + + const tokens = await tokenRes.json(); + + // Get user info from IDCS + const userinfoRes = await fetch(idcs.userinfoUrl, { + headers: { 'Authorization': `Bearer ${tokens.access_token}` }, + }); + + let userInfo = {}; + if (userinfoRes.ok) { + userInfo = await userinfoRes.json(); + } else { + // Fallback: decode id_token payload + try { + const parts = tokens.id_token.split('.'); + userInfo = JSON.parse(atob(parts[1])); + } catch { + userInfo = { sub: 'unknown', name: 'User' }; + } + } + + const sessionCookie = await createSessionCookie(userInfo, tokens.id_token); + + const response = NextResponse.redirect(new URL('/', baseUrl)); + response.cookies.set('auth-session', sessionCookie, { + httpOnly: true, + secure: false, + sameSite: 'lax', + path: '/', + maxAge: 60 * 60 * 24 * 7, // 7 days + }); + + return response; +} diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/auth/login/route.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/auth/login/route.js new file mode 100644 index 000000000..87483fef2 --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/auth/login/route.js @@ -0,0 +1,28 @@ +import { NextResponse } from 'next/server'; +import { isAuthEnabled, getIDCSConfig } from '../../../lib/auth'; + +function getBaseUrl(request) { + let host = request.headers.get('x-forwarded-host') || request.headers.get('host'); + const proto = request.headers.get('x-forwarded-proto') || 'http'; + host = host.replace(/:80$/, '').replace(/:443$/, ''); + return `${proto}://${host}`; +} + +export async function GET(request) { + if (!isAuthEnabled()) { + return NextResponse.redirect(new URL('/', getBaseUrl(request))); + } + + const idcs = getIDCSConfig(); + const redirectUri = `${getBaseUrl(request)}/api/auth/callback/oci`; + + const params = new URLSearchParams({ + response_type: 'code', + client_id: idcs.clientId, + redirect_uri: redirectUri, + scope: 'openid profile email', + state: crypto.randomUUID(), + }); + + return NextResponse.redirect(`${idcs.authorizeUrl}?${params}`); +} diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/auth/logout/route.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/auth/logout/route.js new file mode 100644 index 000000000..f3273f62e --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/auth/logout/route.js @@ -0,0 +1,31 @@ +import { NextResponse } from 'next/server'; +import { isAuthEnabled, getIDCSConfig, verifySessionCookie } from '../../../lib/auth'; + +export async function GET(request) { + const cookie = request.cookies.get('auth-session')?.value; + const session = await verifySessionCookie(cookie); + + // Clear cookies first + const clearCookies = (res) => { + res.cookies.set('auth-session', '', { path: '/', maxAge: 0 }); + res.cookies.set('auth-token', '', { path: '/', maxAge: 0 }); + return res; + }; + + // If IDCS is configured and we have an id_token, do proper IDCS logout + if (isAuthEnabled() && session?.id_token) { + const idcs = getIDCSConfig(); + const postLogoutUrl = new URL('/login', request.url).toString(); + const logoutUrl = `${idcs.logoutUrl}?id_token_hint=${encodeURIComponent(session.id_token)}&post_logout_redirect_uri=${encodeURIComponent(postLogoutUrl)}`; + return clearCookies(NextResponse.redirect(logoutUrl)); + } + + return clearCookies(NextResponse.redirect(new URL('/login', request.url))); +} + +export async function POST(request) { + const response = NextResponse.json({ ok: true }); + response.cookies.set('auth-session', '', { path: '/', maxAge: 0 }); + response.cookies.set('auth-token', '', { path: '/', maxAge: 0 }); + return response; +} diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/auth/session/route.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/auth/session/route.js new file mode 100644 index 000000000..6fbcfbb6c --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/auth/session/route.js @@ -0,0 +1,24 @@ +import { NextResponse } from 'next/server'; +import { verifySessionCookie, isAuthEnabled } from '../../../lib/auth'; + +export async function GET(request) { + if (!isAuthEnabled()) { + return NextResponse.json({ authenticated: false, authEnabled: false }); + } + + const cookie = request.cookies.get('auth-session')?.value; + const session = await verifySessionCookie(cookie); + + if (!session) { + return NextResponse.json({ authenticated: false, authEnabled: true }); + } + + return NextResponse.json({ + authenticated: true, + authEnabled: true, + user: { + name: session.name, + email: session.email, + }, + }); +} diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/conversations/route.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/conversations/route.js new file mode 100644 index 000000000..339a461aa --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/conversations/route.js @@ -0,0 +1,283 @@ +import { NextResponse } from 'next/server'; +import { ociRequest } from '../../lib/oci-proxy'; +import { createLogger } from '../../lib/logger'; + +// POST - Create a conversation or add item to existing +export async function POST(request) { + const requestId = crypto.randomUUID(); + const log = createLogger('conversations-api', { requestId }); + + try { + const { searchParams } = new URL(request.url); + const addItemToConv = searchParams.get('addItemTo'); + + const body = await request.json(); + + // If adding item to existing conversation + if (addItemToConv) { + // Formato correcto: wrapper "items" con array de mensajes + const itemBody = { + items: Array.isArray(body.items) ? body.items : [ + { + type: "message", + role: body.role || "user", + content: body.content + } + ] + }; + + log.info('Adding items to conversation', { conversationId: addItemToConv, body: JSON.stringify(itemBody) }); + + const response = await ociRequest('POST', `/conversations/${addItemToConv}/items`, { body: itemBody }); + + const text = await response.text(); + log.info('Add items response', { status: response.status, response: text }); + + if (response.ok) { + try { + return NextResponse.json(JSON.parse(text)); + } catch (e) { + return NextResponse.json({ success: true, raw: text }); + } + } + return NextResponse.json({ error: text, status: response.status }, { status: response.status }); + } + + const { metadata, items } = body; + + const requestBody = { + metadata: metadata || { topic: "test" }, + items: items || [{ type: "message", role: "user", content: "Hello!" }], + }; + + // Try different base paths for creating conversations (openai first since it worked) + const results = []; + + for (const basePath of ['/openai/v1', '/v1']) { + log.info('Trying POST conversation', { basePath }); + + try { + const response = await ociRequest('POST', '/conversations', { body: requestBody, basePath }); + + const text = await response.text(); + log.info('POST conversation response', { basePath, status: response.status, response: text.substring(0, 500) }); + + results.push({ + basePath, + status: response.status, + success: response.ok, + data: response.ok ? JSON.parse(text) : text, + }); + + if (response.ok) { + return NextResponse.json(JSON.parse(text)); + } + } catch (error) { + log.error('POST conversation error', { basePath, error: error.message }); + results.push({ + basePath, + success: false, + error: error.message, + }); + } + } + + return NextResponse.json({ + error: 'All endpoints failed', + results, + }, { status: 404 }); + + } catch (error) { + log.error('Conversation POST error', { error: error.message }); + return NextResponse.json( + { error: error.message || 'Failed to create conversation' }, + { status: 500 } + ); + } +} + +// GET - Test all possible endpoints for listing conversations/responses +export async function GET(request) { + const requestId = crypto.randomUUID(); + const log = createLogger('conversations-api', { requestId }); + + try { + const { searchParams } = new URL(request.url); + + // Get specific conversation by ID + const conversationId = searchParams.get('id'); + const responseId = searchParams.get('responseId'); + const getItems = searchParams.get('getItems') === 'true'; + + // Test getting a response by its ID + if (responseId) { + log.info('GET response by ID', { responseId }); + + const results = []; + for (const basePath of ['/v1', '/openai/v1']) { + for (const path of [`/responses/${responseId}`, `/responses/${responseId}?include=conversation.item`]) { + log.debug('Trying response endpoint', { basePath, path }); + + try { + const response = await ociRequest('GET', path, { basePath }); + + const text = await response.text(); + log.debug('Response endpoint result', { basePath, path, status: response.status, response: text.substring(0, 500) }); + + results.push({ + basePath, + path, + status: response.status, + success: response.ok, + data: response.ok ? JSON.parse(text) : text.substring(0, 300), + }); + + if (response.ok) { + return NextResponse.json({ + success: true, + data: JSON.parse(text), + }); + } + } catch (error) { + log.error('Response endpoint error', { basePath, path, error: error.message }); + results.push({ + basePath, + path, + success: false, + error: error.message, + }); + } + } + } + + return NextResponse.json({ + error: 'Could not retrieve response from any endpoint', + testedResponseId: responseId, + results, + }, { status: 404 }); + } + + if (conversationId) { + // If getItems is requested, try items endpoints + if (getItems) { + const results = []; + for (const basePath of ['/openai/v1', '/v1']) { + log.info('Get conversation items', { basePath, conversationId }); + + try { + // Paginate: fetch all items using limit + after cursor + let allItems = []; + let afterCursor = null; + let pageCount = 0; + const MAX_PAGES = 20; // Safety limit + + while (pageCount < MAX_PAGES) { + let queryString = `?limit=100`; + if (afterCursor) { + queryString += `&after=${afterCursor}`; + } + + const response = await ociRequest('GET', `/conversations/${conversationId}/items${queryString}`, { basePath }); + + const text = await response.text(); + log.debug('Items page response', { basePath, status: response.status, response: text.substring(0, 300) }); + + if (!response.ok) { + results.push({ + basePath, + status: response.status, + success: false, + data: text.substring(0, 200), + }); + break; + } + + const parsed = JSON.parse(text); + const pageItems = parsed.data || []; + allItems = allItems.concat(pageItems); + pageCount++; + + log.debug('Items pagination', { page: pageCount, pageItems: pageItems.length, total: allItems.length, hasMore: parsed.has_more }); + + if (!parsed.has_more || pageItems.length === 0) { + // All items fetched - return combined result + return NextResponse.json({ data: allItems }); + } + + // Use last_id as cursor for next page + afterCursor = parsed.last_id || pageItems[pageItems.length - 1]?.id; + if (!afterCursor) break; + } + + // If we got items but hit the page limit, return what we have + if (allItems.length > 0) { + log.info('Returning paginated items', { itemCount: allItems.length, pages: pageCount }); + return NextResponse.json({ data: allItems }); + } + } catch (error) { + log.error('Error fetching items', { basePath, error: error.message }); + results.push({ + basePath, + success: false, + error: error.message, + }); + } + } + + return NextResponse.json({ + error: 'Could not retrieve conversation items from any endpoint', + results, + }, { status: 404 }); + } + + // Try to get the conversation itself + for (const basePath of ['/openai/v1', '/v1']) { + log.info('Get conversation', { basePath, conversationId }); + + const response = await ociRequest('GET', `/conversations/${conversationId}`, { basePath }); + + if (response.ok) { + const data = await response.json(); + log.debug('Conversation response', { data: JSON.stringify(data).substring(0, 1000) }); + return NextResponse.json(data); + } else { + const errorText = await response.text(); + log.warn('Get conversation failed', { basePath, status: response.status, error: errorText.substring(0, 200) }); + } + } + + return NextResponse.json( + { error: 'Could not retrieve conversation from any endpoint' }, + { status: 404 } + ); + } + + // Default: Try listing conversations from multiple endpoints + for (const basePath of ['/openai/v1', '/v1']) { + log.info('List conversations', { basePath }); + + const response = await ociRequest('GET', '/conversations', { basePath }); + + if (response.ok) { + const data = await response.json(); + log.debug('List conversations response', { data: JSON.stringify(data).substring(0, 1000) }); + return NextResponse.json(data); + } else { + const errorText = await response.text(); + log.warn('List conversations failed', { basePath, status: response.status, error: errorText.substring(0, 200) }); + } + } + + return NextResponse.json( + { error: 'Could not list conversations from any endpoint' }, + { status: 404 } + ); + + } catch (error) { + log.error('Conversation GET error', { error: error.message }); + return NextResponse.json( + { error: error.message || 'Failed to fetch' }, + { status: 500 } + ); + } +} diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/files/[id]/content/route.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/files/[id]/content/route.js new file mode 100644 index 000000000..1af36fd7d --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/files/[id]/content/route.js @@ -0,0 +1,67 @@ +import { NextResponse } from 'next/server'; +import { ociRequest } from '../../../../lib/oci-proxy'; + +// GET /api/files/[id]/content → fetch file content +// +// Strategy: +// 1. If ?vsId=xxx is provided, use /vector_stores/{vsId}/files/{fileId}/content +// (returns parsed chunks, works for any file in the vector store regardless +// of upload purpose). This is the path for files uploaded with purpose=user_data +// which OCI/OpenAI policy blocks from direct /files/{id}/content download. +// 2. Otherwise, fall back to /files/{id}/content (raw file). Only works for files +// uploaded with a downloadable purpose (e.g. "assistants"). +// +// Query: +// ?vsId=xxx vector-store id (preferred) +// ?download=1 sets attachment disposition +// ?limit=N cap response at N bytes (preview) +// ?filename=name.txt filename for download +export async function GET(request, { params }) { + try { + const { id } = await params; + if (!id) return NextResponse.json({ error: 'id is required' }, { status: 400 }); + + const { searchParams } = new URL(request.url); + const vsId = searchParams.get('vsId'); + const download = searchParams.get('download') === '1'; + const limit = parseInt(searchParams.get('limit') || '0', 10); + const filename = searchParams.get('filename') || id; + + let body; + let contentType = 'text/plain; charset=utf-8'; + + if (vsId) { + // Vector store content endpoint — returns JSON with chunks + const response = await ociRequest('GET', `/vector_stores/${vsId}/files/${id}/content`); + if (!response.ok) { + const errorText = await response.text(); + return NextResponse.json({ error: errorText }, { status: response.status }); + } + const data = await response.json(); + // OCI returns: { file_id, file_name, attributes, content: [{ type, text }, ...] } + const chunks = Array.isArray(data?.content) ? data.content : []; + const text = chunks + .map((c) => (typeof c === 'string' ? c : c?.text || '')) + .filter(Boolean) + .join(''); + const sliced = limit > 0 ? text.slice(0, limit) : text; + body = sliced; + } else { + // Raw file fallback + const response = await ociRequest('GET', `/files/${id}/content`); + if (!response.ok) { + const errorText = await response.text(); + return NextResponse.json({ error: errorText }, { status: response.status }); + } + contentType = response.headers.get('content-type') || 'application/octet-stream'; + const buffer = await response.arrayBuffer(); + body = limit > 0 ? buffer.slice(0, limit) : buffer; + } + + const headers = { 'content-type': contentType }; + if (download) headers['content-disposition'] = `attachment; filename="${filename}"`; + return new Response(body, { headers }); + } catch (error) { + return NextResponse.json({ error: error.message }, { status: 500 }); + } +} diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/files/route.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/files/route.js new file mode 100644 index 000000000..529a7aac4 --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/files/route.js @@ -0,0 +1,74 @@ +import { NextResponse } from 'next/server'; +import crypto from 'crypto'; +import { ociRequest, toNextResponse } from '../../lib/oci-proxy'; +import { createLogger } from '../../lib/logger'; + +// GET /api/files → list files +export async function GET() { + try { + return toNextResponse(await ociRequest('GET', '/files')); + } catch (error) { + return NextResponse.json({ error: error.message }, { status: 500 }); + } +} + +// POST /api/files → upload file (multipart/form-data) +export async function POST(request) { + const requestId = crypto.randomUUID(); + const log = createLogger('files-api', { requestId }); + + try { + const formData = await request.formData(); + const file = formData.get('file'); + const purpose = formData.get('purpose') || 'user_data'; + + if (!file) return NextResponse.json({ error: 'file is required' }, { status: 400 }); + + const fileBuffer = Buffer.from(await file.arrayBuffer()); + const boundary = `----FormBoundary${crypto.randomBytes(16).toString('hex')}`; + + const body = Buffer.concat([ + Buffer.from( + `--${boundary}\r\n` + + `Content-Disposition: form-data; name="file"; filename="${file.name}"\r\n` + + `Content-Type: ${file.type || 'application/octet-stream'}\r\n\r\n` + ), + fileBuffer, + Buffer.from( + `\r\n--${boundary}\r\n` + + `Content-Disposition: form-data; name="purpose"\r\n\r\n` + + `${purpose}\r\n--${boundary}--\r\n` + ), + ]); + + const response = await ociRequest('POST', '/files', { + binaryBody: body, + extraHeaders: { + 'content-type': `multipart/form-data; boundary=${boundary}`, + 'content-length': body.length.toString(), + }, + }); + + if (!response.ok) { + const errorText = await response.text(); + log.error('File upload error', { status: response.status, error: errorText }); + return NextResponse.json({ error: errorText }, { status: response.status }); + } + return NextResponse.json(await response.json()); + } catch (error) { + log.error('File upload error', { error: error.message }); + return NextResponse.json({ error: error.message }, { status: 500 }); + } +} + +// DELETE /api/files?id=FILE_ID → delete file +export async function DELETE(request) { + try { + const { searchParams } = new URL(request.url); + const id = searchParams.get('id'); + if (!id) return NextResponse.json({ error: 'id is required' }, { status: 400 }); + return toNextResponse(await ociRequest('DELETE', `/files/${id}`)); + } catch (error) { + return NextResponse.json({ error: error.message }, { status: 500 }); + } +} diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/generate-title/route.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/generate-title/route.js new file mode 100644 index 000000000..96676b69c --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/generate-title/route.js @@ -0,0 +1,96 @@ +import { NextResponse } from 'next/server'; +import { ociRequest } from '../../lib/oci-proxy'; +import { createLogger } from '../../lib/logger'; + +export async function POST(request) { + const requestId = crypto.randomUUID(); + const log = createLogger('generate-title-api', { requestId }); + + try { + const { userMessage } = await request.json(); + + if (!userMessage) { + return NextResponse.json({ error: 'userMessage is required' }, { status: 400 }); + } + + const prompt = `Convert to a clean 2-4 word title (fix typos): +"tell me a jok" → "Joke Request" +"whats the wether" → "Weather Inquiry" +"${userMessage.substring(0, 150)}" → "`; + + const requestBody = { + model: 'openai.gpt-4o-mini', + input: [{ role: 'user', content: prompt }], + stream: false + }; + + const response = await ociRequest('POST', '/responses', { body: requestBody }); + + if (!response.ok) { + const errorText = await response.text(); + log.error('OCI API error', { status: response.status, error: errorText }); + return NextResponse.json({ error: 'Failed to generate title' }, { status: response.status }); + } + + const data = await response.json(); + log.debug('OCI title response', { data: JSON.stringify(data) }); + + let rawText = ''; + if (typeof data.output === 'string') { + rawText = data.output; + } else if (Array.isArray(data.output)) { + const textOutput = data.output.find(o => o.type === 'message' || o.content); + if (textOutput?.content) { + if (Array.isArray(textOutput.content)) { + const textContent = textOutput.content.find(c => c.type === 'output_text' || c.text); + rawText = textContent?.text || textContent?.output_text || ''; + } else { + rawText = textOutput.content; + } + } + } else if (data.choices?.[0]?.message?.content) { + rawText = data.choices[0].message.content; + } else if (data.text) { + rawText = data.text; + } + + // Extract title from response - look for the actual title + let title = rawText; + + // Look for quoted title + const quotedMatch = rawText.match(/"([^"]{2,40})"/); + if (quotedMatch) { + title = quotedMatch[1]; + } else if (rawText.includes('\n')) { + // Take last non-empty line + const lines = rawText.split('\n').map(l => l.trim()).filter(l => l); + title = lines[lines.length - 1]; + } + + // Clean up + title = title.replace(/^["']|["']$/g, '').trim(); + title = title.replace(/[.!?:,]+$/, '').trim(); + + // Remove reasoning prefixes + title = title.replace(/^(thus|so|therefore|the title is|title|answer|output|result)[\s:]+/i, '').trim(); + + // Limit to 5 words max + const words = title.split(/\s+/); + if (words.length > 5) { + title = words.slice(0, 5).join(' '); + } + + // Fallback if extraction failed + if (!title || title.length < 2 || title.toLowerCase().includes('summarize') || title.toLowerCase().includes('message')) { + const fallbackWords = userMessage.split(/\s+/).slice(0, 4); + title = fallbackWords.map(w => w.charAt(0).toUpperCase() + w.slice(1).toLowerCase()).join(' '); + title = title.replace(/[?!.,]+$/, ''); + } + + return NextResponse.json({ title }); + + } catch (error) { + log.error('Generate title error', { error: error.message }); + return NextResponse.json({ error: error.message }, { status: 500 }); + } +} diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/mcp/oauth/authorize/route.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/mcp/oauth/authorize/route.js new file mode 100644 index 000000000..d1ce0d07f --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/mcp/oauth/authorize/route.js @@ -0,0 +1,87 @@ +import { NextResponse } from 'next/server'; +import { + fetchOAuthMetadata, + registerClient, + generateCodeVerifier, + generateCodeChallenge, + signPayload, + PENDING_COOKIE, +} from '../../../../lib/mcp-oauth'; +import { createLogger } from '../../../../lib/logger'; + +function getBaseUrl(request) { + let host = request.headers.get('x-forwarded-host') || request.headers.get('host'); + const proto = request.headers.get('x-forwarded-proto') || 'http'; + host = host.replace(/:80$/, '').replace(/:443$/, ''); + return `${proto}://${host}`; +} + +export async function GET(request) { + const log = createLogger('mcp-oauth-authorize'); + + try { + const params = new URL(request.url).searchParams; + const endpoint = params.get('endpoint'); + const returnTo = params.get('returnTo') || '/settings'; + if (!endpoint) { + return NextResponse.json({ error: 'endpoint query param is required' }, { status: 400 }); + } + + const baseUrl = getBaseUrl(request); + const redirectUri = `${baseUrl}/api/mcp/oauth/callback`; + + // 1. Discover OAuth metadata from MCP server + const metadata = await fetchOAuthMetadata(endpoint); + if (!metadata) { + return NextResponse.json({ error: 'MCP server does not support OAuth 2.1' }, { status: 502 }); + } + log.info('OAuth metadata fetched', { endpoint }); + + // 2. Register this app as an OAuth client (dynamic registration) + const scopes = metadata.scopes_supported || ['read', 'write', 'generate']; + const registration = await registerClient(metadata.registration_endpoint, redirectUri, scopes); + log.info('Client registered', { clientId: registration.client_id }); + + // 3. Generate PKCE pair + const codeVerifier = generateCodeVerifier(); + const codeChallenge = generateCodeChallenge(codeVerifier); + const state = crypto.randomUUID(); + + // 4. Store pending state in a signed cookie + const pending = await signPayload({ + endpoint, + clientId: registration.client_id, + clientSecret: registration.client_secret, + codeVerifier, + state, + tokenEndpoint: metadata.token_endpoint, + redirectUri, + returnTo, + }); + + // 5. First set the cookie, then redirect via an HTML page + // (direct 307 redirect may not persist cookies in all browsers) + const authUrl = new URL(metadata.authorization_endpoint); + authUrl.searchParams.set('client_id', registration.client_id); + authUrl.searchParams.set('redirect_uri', redirectUri); + authUrl.searchParams.set('response_type', 'code'); + authUrl.searchParams.set('scope', scopes.join(' ')); + authUrl.searchParams.set('code_challenge', codeChallenge); + authUrl.searchParams.set('code_challenge_method', 'S256'); + authUrl.searchParams.set('state', state); + + const html = `Redirecting...`; + const response = new Response(html, { + status: 200, + headers: { 'Content-Type': 'text/html' }, + }); + // Only emit Secure when serving over HTTPS — http://localhost rejects Secure cookies + const isHttps = (request.headers.get('x-forwarded-proto') || 'http') === 'https'; + const cookieFlags = `Path=/; Max-Age=600; HttpOnly; SameSite=Lax${isHttps ? '; Secure' : ''}`; + response.headers.append('Set-Cookie', `${PENDING_COOKIE}=${pending}; ${cookieFlags}`); + return response; + } catch (error) { + log.error('OAuth authorize failed', { error: error.message }); + return NextResponse.json({ error: error.message }, { status: 500 }); + } +} diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/mcp/oauth/callback/route.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/mcp/oauth/callback/route.js new file mode 100644 index 000000000..5f3038bc2 --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/mcp/oauth/callback/route.js @@ -0,0 +1,94 @@ +import { NextResponse } from 'next/server'; +import { + verifyPayload, + signPayload, + exchangeCode, + tokenCookieName, + PENDING_COOKIE, +} from '../../../../lib/mcp-oauth'; +import { createLogger } from '../../../../lib/logger'; + +function returnUrl(request, result, pending) { + const dest = pending?.returnTo || '/settings'; + let host = request.headers.get('x-forwarded-host') || request.headers.get('host'); + const proto = request.headers.get('x-forwarded-proto') || 'http'; + host = host.replace(/:80$/, '').replace(/:443$/, ''); + const base = `${proto}://${host}`; + const url = new URL(dest, base); + url.searchParams.set('mcp_auth', result); + return url.toString(); +} + +export async function GET(request) { + const log = createLogger('mcp-oauth-callback'); + + try { + const params = new URL(request.url).searchParams; + const code = params.get('code'); + const state = params.get('state'); + const error = params.get('error'); + + if (error) { + log.error('Authorization denied', { error, description: params.get('error_description') }); + return NextResponse.redirect(returnUrl(request, 'error', pending)); + } + + if (!code) { + log.error('Missing code'); + return NextResponse.redirect(returnUrl(request, 'error', null)); + } + + // 1. Read pending state from cookie + const pendingCookie = request.cookies.get(PENDING_COOKIE)?.value; + const pending = await verifyPayload(pendingCookie); + + if (!pending) { + log.error('Missing or invalid pending cookie', { + hasCookie: !!pendingCookie, + cookies: request.cookies.getAll().map(c => c.name), + }); + return NextResponse.redirect(returnUrl(request, 'error', null)); + } + + // 2. Exchange authorization code for tokens + const tokenData = await exchangeCode( + pending.tokenEndpoint, + code, + pending.codeVerifier, + pending.clientId, + pending.clientSecret, + pending.redirectUri, + ); + log.info('Token exchange successful', { endpoint: pending.endpoint }); + + // 3. Persist tokens in a signed cookie + const tokens = await signPayload({ + endpoint: pending.endpoint, + clientId: pending.clientId, + clientSecret: pending.clientSecret, + tokenEndpoint: pending.tokenEndpoint, + accessToken: tokenData.access_token, + refreshToken: tokenData.refresh_token, + expiresAt: Date.now() + (tokenData.expires_in || 3600) * 1000, + }); + + const response = NextResponse.redirect(returnUrl(request, 'success', pending)); + + // Only mark Secure when the app is actually served over HTTPS — Chrome + // rejects Secure cookies set during a redirect that lands on http://localhost. + const isHttps = (request.headers.get('x-forwarded-proto') || 'http') === 'https'; + response.cookies.set(tokenCookieName(pending.endpoint), tokens, { + httpOnly: true, + secure: isHttps, + sameSite: 'lax', + maxAge: 30 * 24 * 60 * 60, // 30 days + path: '/', + }); + response.cookies.delete(PENDING_COOKIE); + + return response; + } catch (error) { + log.error('OAuth callback failed', { error: error.message }); + return NextResponse.redirect(returnUrl(request, 'error', pending)); + } +} diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/mcp/oauth/token/route.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/mcp/oauth/token/route.js new file mode 100644 index 000000000..965fce5f1 --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/mcp/oauth/token/route.js @@ -0,0 +1,50 @@ +import { NextResponse } from 'next/server'; +import { verifyPayload, signPayload, refreshAccessToken, tokenCookieName } from '../../../../lib/mcp-oauth'; + +/** + * GET /api/mcp/oauth/token?endpoint=... + * Returns the current access token for a given MCP endpoint. + * Used by the frontend to pass the token to OCI Responses API. + */ +export async function GET(request) { + const endpoint = new URL(request.url).searchParams.get('endpoint'); + if (!endpoint) { + return NextResponse.json({ error: 'endpoint is required' }, { status: 400 }); + } + + const cookieName = tokenCookieName(endpoint); + const tokenCookie = request.cookies.get(cookieName)?.value; + const tokens = await verifyPayload(tokenCookie); + + if (!tokens) { + return NextResponse.json({ hasToken: false }); + } + + // Force refresh if requested, or if expiring within 30s + const forceRefresh = new URL(request.url).searchParams.get('refresh') === 'true'; + if (forceRefresh || tokens.expiresAt < Date.now() + 30000) { + try { + const refreshed = await refreshAccessToken( + tokens.tokenEndpoint, tokens.refreshToken, tokens.clientId, tokens.clientSecret + ); + tokens.accessToken = refreshed.access_token; + tokens.refreshToken = refreshed.refresh_token || tokens.refreshToken; + tokens.expiresAt = Date.now() + (refreshed.expires_in || 3600) * 1000; + + const response = NextResponse.json({ hasToken: true, accessToken: tokens.accessToken }); + const isHttps = (request.headers.get('x-forwarded-proto') || 'http') === 'https'; + response.cookies.set(cookieName, await signPayload(tokens), { + httpOnly: true, + secure: isHttps, + sameSite: 'lax', + maxAge: 30 * 24 * 60 * 60, + path: '/', + }); + return response; + } catch { + return NextResponse.json({ hasToken: false }); + } + } + + return NextResponse.json({ hasToken: true, accessToken: tokens.accessToken }); +} diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/mcp/oauth2-cc/token/route.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/mcp/oauth2-cc/token/route.js new file mode 100644 index 000000000..b9dbea591 --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/mcp/oauth2-cc/token/route.js @@ -0,0 +1,107 @@ +import { NextResponse } from 'next/server'; +import { createLogger } from '../../../../lib/logger'; + +/** + * POST /api/mcp/oauth2-cc/token + * Body: { tokenUrl, clientId, clientSecret, scope? } + * + * OAuth 2.0 Client Credentials Grant (RFC 6749 §4.4). + * Server-side because browsers usually can't reach the token endpoint due to CORS, + * and Basic Auth credentials shouldn't leave through the browser fetch. + * + * Tokens are cached in-process by (tokenUrl, clientId, scope) until ~60s before expiry. + */ + +// In-memory cache shared across requests in the same Node process +// Key: `${tokenUrl}::${clientId}::${scope || ''}` +// Value: { accessToken, expiresAt } +const tokenCache = new Map(); +const REFRESH_BUFFER_MS = 60_000; // refresh 60s before actual expiry + +export async function POST(request) { + const log = createLogger('mcp-oauth2-cc'); + + let body; + try { + body = await request.json(); + } catch { + return NextResponse.json({ error: 'Invalid JSON body' }, { status: 400 }); + } + + const { tokenUrl, clientId, clientSecret, scope } = body || {}; + + if (!tokenUrl || !clientId || !clientSecret) { + return NextResponse.json( + { error: 'tokenUrl, clientId and clientSecret are required' }, + { status: 400 } + ); + } + + const cacheKey = `${tokenUrl}::${clientId}::${scope || ''}`; + const cached = tokenCache.get(cacheKey); + if (cached && cached.expiresAt > Date.now() + REFRESH_BUFFER_MS) { + return NextResponse.json({ + accessToken: cached.accessToken, + expiresAt: cached.expiresAt, + cached: true, + }); + } + + // Build form body. Many enterprise IdPs (IDCS included) reject Basic Auth and + // only accept creds in the body. Use body-creds for max compatibility — same + // pattern as the working /api/mcp proxy. + const params = new URLSearchParams({ + grant_type: 'client_credentials', + client_id: clientId, + client_secret: clientSecret, + }); + if (scope) params.set('scope', scope); + + let res; + try { + res = await fetch(tokenUrl, { + method: 'POST', + headers: { + 'Content-Type': 'application/x-www-form-urlencoded', + 'Accept': 'application/json', + }, + body: params.toString(), + }); + } catch (err) { + log.error('Token endpoint unreachable', { tokenUrl, error: err.message }); + return NextResponse.json( + { error: `Token endpoint unreachable: ${err.message}` }, + { status: 502 } + ); + } + + if (!res.ok) { + const errText = await res.text().catch(() => ''); + log.warn('Token request failed', { tokenUrl, status: res.status, body: errText.slice(0, 500) }); + return NextResponse.json( + { error: `Token request failed (${res.status}): ${errText.slice(0, 300)}` }, + { status: res.status } + ); + } + + const data = await res.json().catch(() => null); + if (!data || !data.access_token) { + return NextResponse.json( + { error: 'Token endpoint did not return access_token' }, + { status: 502 } + ); + } + + const expiresInMs = (typeof data.expires_in === 'number' ? data.expires_in : 3600) * 1000; + const expiresAt = Date.now() + expiresInMs; + + tokenCache.set(cacheKey, { accessToken: data.access_token, expiresAt }); + log.info('Token issued', { tokenUrl, clientId, expiresInMs }); + + return NextResponse.json({ + accessToken: data.access_token, + expiresAt, + tokenType: data.token_type || 'Bearer', + cached: false, + }); +} diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/mcp/route.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/mcp/route.js new file mode 100644 index 000000000..dbb4e9705 --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/mcp/route.js @@ -0,0 +1,213 @@ +import { NextResponse } from 'next/server'; +import { createLogger } from '../../lib/logger'; +import { verifyPayload, signPayload, refreshAccessToken, tokenCookieName } from '../../lib/mcp-oauth'; + +// Store session IDs per endpoint (in production, use Redis or similar) +const sessionIds = new Map(); + +// Cache OAuth tokens per token URL + client ID +const oauthTokenCache = new Map(); + +async function getOAuthToken(tokenUrl, clientId, clientSecret, scope) { + const cacheKey = `${tokenUrl}:${clientId}`; + const cached = oauthTokenCache.get(cacheKey); + if (cached && cached.expiresAt > Date.now() + 30000) { + return cached.accessToken; + } + + const body = new URLSearchParams({ + grant_type: 'client_credentials', + client_id: clientId, + client_secret: clientSecret, + }); + if (scope) body.set('scope', scope); + + const res = await fetch(tokenUrl, { + method: 'POST', + headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, + body, + }); + + if (!res.ok) { + const errText = await res.text(); + throw new Error(`OAuth token request failed: ${res.status} ${errText}`); + } + + const data = await res.json(); + if (!data.access_token) { + throw new Error(`OAuth token response missing access_token: ${JSON.stringify(data).slice(0, 200)}`); + } + oauthTokenCache.set(cacheKey, { + accessToken: data.access_token, + expiresAt: Date.now() + (data.expires_in || 3600) * 1000, + }); + + return data.access_token; +} + +export async function POST(request) { + try { + const { endpoint, method, params = {}, sessionId, authType, authKey, oauth } = await request.json(); + + if (!endpoint) { + return NextResponse.json({ error: 'endpoint is required' }, { status: 400 }); + } + + if (!method) { + return NextResponse.json({ error: 'method is required' }, { status: 400 }); + } + + const url = endpoint; + + // Build JSON-RPC request + const jsonRpcRequest = { + jsonrpc: '2.0', + id: Date.now(), + method: method, + params: params + }; + + const headers = { + 'Content-Type': 'application/json', + 'Accept': 'application/json, text/event-stream' + }; + + // Add auth headers if provided + let updatedTokenCookie = null; // set if oauth2.1 token was refreshed + + if (authType === 'oauth2.1') { + // Read tokens from httpOnly cookie set by /api/mcp/oauth/callback + const cookieName = tokenCookieName(endpoint); + const tokenCookie = request.cookies.get(cookieName)?.value; + const tokens = await verifyPayload(tokenCookie); + + if (!tokens) { + return NextResponse.json({ + error: 'needs_auth', + authorizeUrl: `/api/mcp/oauth/authorize?endpoint=${encodeURIComponent(endpoint)}`, + }, { status: 401 }); + } + + // Refresh if token expires within 30s + if (tokens.expiresAt < Date.now() + 30000) { + try { + const refreshed = await refreshAccessToken( + tokens.tokenEndpoint, tokens.refreshToken, tokens.clientId, tokens.clientSecret + ); + tokens.accessToken = refreshed.access_token; + tokens.refreshToken = refreshed.refresh_token || tokens.refreshToken; + tokens.expiresAt = Date.now() + (refreshed.expires_in || 3600) * 1000; + updatedTokenCookie = { name: cookieName, value: await signPayload(tokens) }; + } catch { + return NextResponse.json({ + error: 'needs_auth', + authorizeUrl: `/api/mcp/oauth/authorize?endpoint=${encodeURIComponent(endpoint)}`, + }, { status: 401 }); + } + } + + headers['Authorization'] = `Bearer ${tokens.accessToken}`; + } else if (authType === 'oauth2' && oauth) { + const token = await getOAuthToken(oauth.tokenUrl, oauth.clientId, oauth.clientSecret, oauth.scope); + headers['Authorization'] = `Bearer ${token}`; + } else if (authType && authKey) { + if (authType === 'api-key') { + headers['X-API-KEY'] = authKey; + } else if (authType === 'bearer') { + headers['Authorization'] = `Bearer ${authKey}`; + } + } + + // Add session ID if provided (for subsequent requests after initialize) + if (sessionId && method !== 'initialize') { + headers['Mcp-Session-Id'] = sessionId; + } + + const log = createLogger('mcp-proxy'); + log.info('MCP request', { method, params: JSON.stringify(params).slice(0, 200) }); + + const response = await fetch(url, { + method: 'POST', + headers, + body: JSON.stringify(jsonRpcRequest) + }); + + // Check for session ID in response headers + const newSessionId = response.headers.get('Mcp-Session-Id'); + if (newSessionId) { + log.debug('MCP session ID', { sessionId: newSessionId }); + } + + const responseText = await response.text(); + log.debug('MCP raw response', { body: responseText.slice(0, 500) }); + + if (!response.ok) { + log.error('MCP server error', { status: response.status, body: responseText.slice(0, 500) }); + + // If the MCP server rejects our OAuth 2.1 token, clear it and ask for re-auth + if (authType === 'oauth2.1' && response.status === 401) { + const clearResponse = NextResponse.json({ + error: 'needs_auth', + authorizeUrl: `/api/mcp/oauth/authorize?endpoint=${encodeURIComponent(endpoint)}`, + }, { status: 401 }); + clearResponse.cookies.delete(tokenCookieName(endpoint)); + return clearResponse; + } + + return NextResponse.json( + { error: `MCP Error: ${response.status}`, details: responseText }, + { status: response.status } + ); + } + + // Try to parse as JSON, handle different formats + let data; + try { + data = JSON.parse(responseText); + } catch (e) { + // Response might be in a different format (e.g., "id: xxx\ndata: {...}") + // Try to extract JSON from SSE-like format + const lines = responseText.split('\n'); + for (const line of lines) { + if (line.startsWith('data: ')) { + try { + data = JSON.parse(line.slice(6)); + break; + } catch (e2) { + // Continue trying + } + } + } + if (!data) { + // Return raw text if can't parse + data = { raw: responseText }; + } + } + + log.debug('MCP parsed response', { result: JSON.stringify(data).slice(0, 500) }); + + // Include session ID in response if present + if (newSessionId) { + data._sessionId = newSessionId; + } + + // Return the result, persisting refreshed token if needed + const jsonResponse = NextResponse.json(data); + if (updatedTokenCookie) { + const isHttps = (request.headers.get('x-forwarded-proto') || 'http') === 'https'; + jsonResponse.cookies.set(updatedTokenCookie.name, updatedTokenCookie.value, { + httpOnly: true, + secure: isHttps, + sameSite: 'lax', + maxAge: 30 * 24 * 60 * 60, + path: '/', + }); + } + return jsonResponse; + + } catch (error) { + const log = createLogger('mcp-proxy'); + log.error('MCP proxy error', { error: error.message }); + return NextResponse.json({ error: error.message }, { status: 500 }); + } +} diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/models/route.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/models/route.js new file mode 100644 index 000000000..6f10ce1f5 --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/models/route.js @@ -0,0 +1,51 @@ +import { NextResponse } from 'next/server'; +import * as oci from 'oci-sdk'; +import { getOCIAuth } from '../../lib/oci-auth'; +import { createLogger } from '../../lib/logger'; + +export async function GET() { + const requestId = crypto.randomUUID(); + const log = createLogger('models-api', { requestId }); + + try { + const compartmentId = process.env.OCI_COMPARTMENT_ID; + + if (!compartmentId) { + return NextResponse.json( + { error: 'OCI_COMPARTMENT_ID is required' }, + { status: 500 } + ); + } + + const auth = await getOCIAuth(); + const client = new oci.generativeai.GenerativeAiClient({ + authenticationDetailsProvider: auth, + }); + + // List models available in the compartment + const response = await client.listModels({ + compartmentId: compartmentId, + }); + + // Filter and format models for the frontend + const models = response.modelCollection.items + .filter(model => model.lifecycleState === 'ACTIVE') + .map(model => ({ + id: model.id, + displayName: model.displayName, + vendor: model.vendor, + version: model.version, + capabilities: model.capabilities, + type: model.type, + })); + + return NextResponse.json({ models }); + + } catch (error) { + log.error('Error listing models', { error: error.message }); + return NextResponse.json( + { error: error.message || 'Failed to list models' }, + { status: 500 } + ); + } +} diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/responses/route.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/responses/route.js new file mode 100644 index 000000000..95b255779 --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/responses/route.js @@ -0,0 +1,1028 @@ +import { NextResponse } from 'next/server'; +import { ociRequest } from '../../lib/oci-proxy'; +import { Langfuse } from 'langfuse'; +import { createLogger } from '../../lib/logger'; + +// Allow long-running MCP tool calls (up to 5 minutes) +export const maxDuration = 300; + +export async function POST(request) { + const requestId = crypto.randomUUID(); + const log = createLogger('responses-api', { requestId }); + + try { + const { input, conversationId, model, systemPrompt, tools, reasoning, previousResponseId } = await request.json(); + + if (!input) { + return NextResponse.json({ error: 'Input is required' }, { status: 400 }); + } + + const modelId = model || 'openai.gpt-4.1'; + + // Multi-agent models use /v1, all others use /openai/v1 + const basePath = modelId.includes('multi-agent') ? '/v1' : '/openai/v1'; + + // Build request - OCI manages history via conversation parameter + // For multimodal input (arrays with input_text/input_image), wrap in message object + let formattedInput = input; + if (Array.isArray(input) && input.some(item => item.type === 'input_text' || item.type === 'input_image')) { + formattedInput = [{ + type: 'message', + role: 'user', + content: input + }]; + } + + const requestBody = { + model: modelId, + input: formattedInput, + stream: true, + store: true, // Let OCI store messages automatically + max_output_tokens: 65535, + }; + + // Add system instructions if provided + if (systemPrompt) { + requestBody.instructions = systemPrompt; + } + + // Add conversation ID if continuing existing conversation + if (conversationId) { + requestBody.conversation = conversationId; + } + + // Add MCP tools if provided (OCI handles execution natively) + if (tools && Array.isArray(tools) && tools.length > 0) { + requestBody.tools = tools; + } + + // Add reasoning params (effort + summary) — only for reasoning-capable models + if (reasoning && typeof reasoning === 'object') { + const reasoningModels = ['o4-mini', 'gpt-5.4', 'grok-4-reasoning', 'o3', 'o4']; + const supportsReasoning = reasoningModels.some(rm => modelId.includes(rm)); + if (supportsReasoning) { + requestBody.reasoning = reasoning; + } + } + + // Chain to a previous response (for function calling round-trips) + if (previousResponseId) { + requestBody.previous_response_id = previousResponseId; + } + + log.info('OCI request payload', { + model: requestBody.model, + hasInstructions: !!requestBody.instructions, + instructionsLen: requestBody.instructions?.length || 0, + hasConversation: !!requestBody.conversation, + toolCount: requestBody.tools?.length || 0, + toolTypes: requestBody.tools?.map(t => t.type) || [], + stream: requestBody.stream, + store: requestBody.store, + max_output_tokens: requestBody.max_output_tokens, + }); + + let response = await ociRequest('POST', '/responses', { + body: requestBody, + basePath, + extraHeaders: { accept: 'text/event-stream' }, + }); + + // Log OCI request ID for debugging/support + const opcRequestId = response.headers.get('opc-request-id'); + if (opcRequestId) log.info('OCI request started', { opcRequestId }); + + if (!response.ok) { + const errorText = await response.text(); + log.error('OCI API error', { status: response.status, body: errorText.slice(0, 4000), opcRequestId }); + + // MCP tool auth expired — tell client to re-authorize + // 424 + external_connector_error typically indicates either expired OAuth tokens + // or upstream MCP failure; in both cases, re-authorizing is the user's best action. + if (response.status === 424 && errorText.includes('external_connector_error')) { + // Try to surface which MCP server failed so the UI can open the correct + // re-authorize flow instead of guessing. + let failedServer = null; + try { + const parsed = JSON.parse(errorText); + failedServer = parsed?.error?.server_label + || parsed?.error?.metadata?.server_label + || parsed?.error?.details?.server_label + || null; + if (!failedServer && typeof parsed?.error?.message === 'string') { + const m = parsed.error.message.match(/server[_ ]?(?:label)?\s*[:=]?\s*['"]?([a-zA-Z0-9_-]+)['"]?/i); + if (m) failedServer = m[1]; + } + } catch { /* errorText not JSON */ } + + // Look up the actual server_url + headers from the request we just sent, + // so the client has the exact endpoint (no fragile name-sanitize match). + let failedServerUrl = null; + if (failedServer && Array.isArray(requestBody.tools)) { + const tool = requestBody.tools.find(t => t.type === 'mcp' && t.server_label === failedServer); + failedServerUrl = tool?.server_url || null; + } + + return NextResponse.json( + { error: 'mcp_auth_expired', server_label: failedServer, server_url: failedServerUrl, details: errorText }, + { status: 424 } + ); + } + // Retry without file_search if a VectorStore is not found (stale/deleted VS) + else if (response.status === 400 && errorText.includes('VectorStore') && errorText.includes('not found') && requestBody.tools?.some(t => t.type === 'file_search')) { + log.warn('Retrying without file_search (stale vector store)'); + requestBody.tools = requestBody.tools.filter(t => t.type !== 'file_search'); + if (requestBody.tools.length === 0) delete requestBody.tools; + + response = await ociRequest('POST', '/responses', { + body: requestBody, + basePath, + extraHeaders: { accept: 'text/event-stream' }, + }); + + if (!response.ok) { + const retryError = await response.text(); + const retryOpc = response.headers.get('opc-request-id'); + return NextResponse.json({ + error: `OCI API Error: ${response.status} - ${retryError}`, + opc_request_id: retryOpc, + model: modelId, + timestamp: new Date().toISOString(), + }, { status: response.status }); + } + } else { + return NextResponse.json({ + error: `OCI API Error: ${response.status} - ${errorText}`, + opc_request_id: opcRequestId, + model: modelId, + timestamp: new Date().toISOString(), + }, { status: response.status }); + } + } + + // LangFuse tracing (non-blocking, fire-and-forget) + let langfuseTrace = null; + let langfuseGeneration = null; + const langfuseEnabled = process.env.LANGFUSE_SECRET_KEY && process.env.LANGFUSE_PUBLIC_KEY; + let langfuse = null; + if (langfuseEnabled) { + try { + langfuse = new Langfuse({ + secretKey: process.env.LANGFUSE_SECRET_KEY, + publicKey: process.env.LANGFUSE_PUBLIC_KEY, + baseUrl: process.env.LANGFUSE_BASE_URL || 'https://cloud.langfuse.com', + }); + const inputPreview = typeof input === 'string' ? input.slice(0, 200) : JSON.stringify(input).slice(0, 200); + langfuseTrace = langfuse.trace({ + name: 'oci-responses-api', + metadata: { model: modelId, conversationId, hasTools: !!(tools?.length), basePath }, + input: inputPreview, + }); + langfuseGeneration = langfuseTrace.generation({ + name: 'llm-call', + model: modelId, + input: formattedInput, + metadata: { systemPrompt: systemPrompt?.slice(0, 500), tools: tools?.map(t => t.type || t.name) }, + }); + } catch (e) { + log.warn('LangFuse init error', { error: e.message }); + } + } + + // Stream the response back to the client + const encoder = new TextEncoder(); + const stream = new ReadableStream({ + async start(controller) { + const reader = response.body.getReader(); + const decoder = new TextDecoder(); + let buffer = ''; + const startTime = Date.now(); + let fullOutputText = ''; + let toolCalls = []; + const fileSearchOutputsSent = new Set(); + let usageData = null; + let responseCompleted = false; + let completedResponseData = null; + let lastEventType = null; + let eventCount = 0; + // When OCI sends `event: error`, the following `data:` line carries the real + // error payload (provider message, code, details). Capture it to surface to UI. + let pendingErrorEvent = false; + + // ── Request trace: structured timeline for diagnostics ── + const trace = { + requestId, + opcRequestId: null, + model: modelId, + startedAt: new Date().toISOString(), + events: [], // [{ts, type, detail}] + tools: {}, // {itemId: {tool, server, status, startMs, endMs, outputSize}} + completion: null, // {status, outputItems, outputTokens, totalTokens, elapsed} + error: null, // string if something went wrong + }; + const traceEvent = (type, detail) => { + trace.events.push({ ts: Date.now() - startTime, type, ...(detail || {}) }); + }; + + // Send thinking indicator IMMEDIATELY when stream starts + log.info('Stream started'); + controller.enqueue(encoder.encode(JSON.stringify({ thinking: true }) + '\n')); + + // Stall detection: if OCI sends no data for STALL_TIMEOUT_MS, abort the stream + const STALL_TIMEOUT_MS = 120_000; // 2 minutes + let lastChunkTime = Date.now(); + let stalled = false; + + const readWithTimeout = async () => { + const timeout = new Promise((_, reject) => { + const id = setTimeout(() => { + clearTimeout(id); + reject(new Error('OCI_STREAM_STALL')); + }, STALL_TIMEOUT_MS); + // Store the timer id so we can clear it when we get data + readWithTimeout._timer = id; + }); + try { + const result = await Promise.race([reader.read(), timeout]); + if (readWithTimeout._timer) clearTimeout(readWithTimeout._timer); + lastChunkTime = Date.now(); + return result; + } catch (e) { + if (readWithTimeout._timer) clearTimeout(readWithTimeout._timer); + throw e; + } + }; + + try { + while (true) { + let readResult; + try { + readResult = await readWithTimeout(); + } catch (stallErr) { + if (stallErr.message === 'OCI_STREAM_STALL') { + stalled = true; + const stallElapsed = Date.now() - startTime; + log.error('Stream stalled — no data from OCI', { elapsed: stallElapsed, lastChunkAge: Date.now() - lastChunkTime, opcRequestId }); + trace.opcRequestId = opcRequestId; + trace.error = `Stream stalled — no data from OCI for 2+ minutes. Total elapsed: ${Math.round(stallElapsed / 1000)}s, ${eventCount} events received, last event: "${lastEventType || 'none'}".`; + traceEvent('stall', { elapsed: stallElapsed, lastEventType }); + controller.enqueue(encoder.encode(JSON.stringify({ + error: trace.error, + done: true, + trace, + }) + '\n')); + break; + } + throw stallErr; + } + const { done, value } = readResult; + if (done) break; + + const elapsed = Date.now() - startTime; + const chunk = decoder.decode(value, { stream: true }); + log.debug('Chunk received', { elapsed, bytes: chunk.length }); + + buffer += chunk; + const lines = buffer.split('\n'); + buffer = lines.pop() || ''; // Keep incomplete line in buffer + if (buffer.length > 1000) { + log.debug('Large buffer pending', { bufferLen: buffer.length, elapsed, preview: buffer.substring(0, 200) }); + } + + for (const line of lines) { + // Log ALL non-data lines — never silently skip + if (line.trim() && !line.startsWith('data: ')) { + // SSE event lines (event:, id:, retry:) get logged as info, not debug + log.info('SSE control line', { elapsed: Date.now() - startTime, line: line.trim() }); + } + + // Handle SSE error/event lines — catch ANY event type, not just "error" + const trimmedLine = line.trim(); + if (trimmedLine.startsWith('event:')) { + const eventName = trimmedLine.slice(6).trim(); + log.warn('SSE event received', { event: eventName, elapsed: Date.now() - startTime }); + if (eventName === 'error') { + log.error('OCI upstream error event — waiting for data payload', { opcRequestId, elapsed: Date.now() - startTime }); + // Flag the next `data:` line as the payload for this error event so + // we can forward OCI's actual error message/code to the client. + pendingErrorEvent = true; + } + continue; + } + + if (!line.startsWith('data: ')) continue; + + try { + const data = JSON.parse(line.slice(6)); + const elapsed = Date.now() - startTime; + + // This data line is the payload of a preceding `event: error` SSE line. + // Forward the full error from the provider to the client + trace so the + // user sees the actual cause instead of a generic message. + if (pendingErrorEvent) { + pendingErrorEvent = false; + responseCompleted = true; + const providerMessage = data.error?.message || data.message || data.error || JSON.stringify(data); + const providerCode = data.error?.code || data.code || null; + const providerType = data.error?.type || data.type || null; + log.error('OCI upstream error payload', { opcRequestId, elapsed, providerMessage, providerCode, providerType, raw: JSON.stringify(data).substring(0, 2000) }); + trace.opcRequestId = opcRequestId; + trace.error = `OCI upstream error after ${Math.round(elapsed / 1000)}s: ${providerMessage}${providerCode ? ` [code: ${providerCode}]` : ''}${providerType ? ` [type: ${providerType}]` : ''}. opc-request-id: ${opcRequestId || 'unknown'}.`; + traceEvent('upstream_error_payload', { elapsed, providerMessage, providerCode, providerType }); + const friendly = providerMessage && providerMessage !== '[object Object]' + ? `Upstream error: ${providerMessage}${providerCode ? ` (${providerCode})` : ''}${opcRequestId ? ` — opc-request-id: ${opcRequestId}` : ''}` + : `The model provider returned an error${opcRequestId ? ` (opc-request-id: ${opcRequestId})` : ''}.`; + controller.enqueue(encoder.encode(JSON.stringify({ + error: friendly, + done: true, + trace, + raw_error: data, + }) + '\n')); + completedResponseData = null; + continue; + } + + const eventType = data.type; + const itemType = data.item?.type; + const itemStatus = data.item?.status; + const itemId = data.item?.id || data.item_id; + lastEventType = eventType; + eventCount++; + + // DEBUG: Log every SSE event type for full visibility + log.debug('SSE event', { event: eventType, itemType, itemId: itemId?.slice(-12), elapsed, lineLen: line.length }); + + // ═══ LOG EVERY EVENT — no silent drops ═══ + // Lifecycle events (created, in_progress) — debug level + if (eventType === 'response.created' || eventType === 'response.in_progress') { + log.debug('Response lifecycle', { event: eventType, elapsed, responseId: data.response?.id }); + } + + // ═══ TEXT STREAMING ═══ + else if (eventType === 'response.output_text.delta' && data.delta) { + fullOutputText += data.delta; + controller.enqueue(encoder.encode(JSON.stringify({ text: data.delta }) + '\n')); + } + else if (eventType === 'response.output_text.done') { + controller.enqueue(encoder.encode(JSON.stringify({ text_done: data.text }) + '\n')); + } + + // ═══ OUTPUT ITEMS ADDED ═══ + else if (eventType === 'response.output_item.added') { + log.info('Output item added', { itemType, itemId, elapsed, server: data.item?.server_label, phase: data.item?.phase }); + + if (itemType === 'mcp_list_tools') { + controller.enqueue(encoder.encode(JSON.stringify({ + mcp: { type: 'connecting', server: data.item.server_label } + }) + '\n')); + } + else if (itemType === 'mcp_call') { + toolCalls.push({ id: itemId, tool: data.item.name, server: data.item.server_label }); + trace.tools[itemId] = { tool: data.item.name, server: data.item.server_label, status: 'calling', startMs: elapsed }; + traceEvent('tool_call', { tool: data.item.name, server: data.item.server_label, id: itemId }); + log.info('MCP tool calling', { tool: data.item.name, server: data.item.server_label, args: (data.item.arguments || '').substring(0, 300), elapsed }); + controller.enqueue(encoder.encode(JSON.stringify({ + mcp: { type: 'calling', id: itemId, server: data.item.server_label, tool: data.item.name, arguments: data.item.arguments } + }) + '\n')); + } + else if (itemType === 'web_search_call') { + const query = data.item.action?.query || ''; + controller.enqueue(encoder.encode(JSON.stringify({ + mcp: { type: 'calling', id: itemId, server: 'web_search', tool: 'web_search', arguments: query ? JSON.stringify({ query }) : '' } + }) + '\n')); + } + else if (itemType === 'code_interpreter_call') { + controller.enqueue(encoder.encode(JSON.stringify({ + mcp: { type: 'calling', id: itemId, server: 'code_interpreter', tool: 'code_interpreter', arguments: '' } + }) + '\n')); + } + else if (itemType === 'image_generation_call') { + controller.enqueue(encoder.encode(JSON.stringify({ + mcp: { type: 'calling', id: itemId, server: 'image_generation', tool: 'image_generation', arguments: '' } + }) + '\n')); + } + else if (itemType === 'nl2sql_call') { + const query = data.item.input_natural_language_query || data.item.query || ''; + controller.enqueue(encoder.encode(JSON.stringify({ + mcp: { type: 'calling', id: itemId, server: 'nl2sql', tool: 'nl2sql', arguments: query ? JSON.stringify({ query }) : '' } + }) + '\n')); + } + // File search added — emit calling chip early with vector_store info + // (query isn't available yet — OCI only sends it in output_item.done). + else if (itemType === 'file_search_call') { + const fsToolCfgs = (tools || []).filter(t => t.type === 'file_search'); + const vsIdsForCfg = fsToolCfgs.flatMap(t => t.vector_store_ids || []); + const maxNumResults = fsToolCfgs[0]?.max_num_results || null; + controller.enqueue(encoder.encode(JSON.stringify({ + mcp: { + type: 'calling', + id: itemId, + server: 'file_search', + tool: 'file_search', + arguments: JSON.stringify({ vector_store_ids: vsIdsForCfg, max_num_results: maxNumResults }), + } + }) + '\n')); + } + else if (itemType === 'reasoning') { + controller.enqueue(encoder.encode(JSON.stringify({ reasoning: { type: 'start' } }) + '\n')); + } + else if (itemType === 'message') { + log.debug('Message item added', { role: data.item.role, phase: data.item.phase, elapsed }); + } + } + + // ═══ OUTPUT ITEMS DONE ═══ + else if (eventType === 'response.output_item.done') { + log.info('Output item done', { itemType, itemId, status: itemStatus, elapsed, tool: data.item?.name, server: data.item?.server_label }); + + // MCP tool completed + if (itemType === 'mcp_call') { + const rawOutput = data.item.output || ''; + const outputSize = rawOutput.length; + const MAX_SIZE = 5000; + let truncatedOutput = rawOutput; + let truncated = false; + + const containsBinaryData = rawOutput.includes('"audioBase64"') || rawOutput.includes('"imageBase64"') || rawOutput.includes('"fileBase64"'); + const isError = itemStatus === 'incomplete' || itemStatus === 'failed'; + + // Update trace + if (trace.tools[itemId]) { + trace.tools[itemId].status = isError ? 'failed' : 'completed'; + trace.tools[itemId].endMs = elapsed; + trace.tools[itemId].outputSize = outputSize; + } + traceEvent(isError ? 'tool_failed' : 'tool_done', { tool: data.item.name, id: itemId, outputSize, status: itemStatus }); + + if (isError) { + log.error('MCP TOOL FAILED', { tool: data.item.name, server: data.item.server_label, status: itemStatus, output: rawOutput.substring(0, 2000), elapsed }); + } else { + log.info('MCP tool succeeded', { tool: data.item.name, server: data.item.server_label, outputSize, elapsed }); + } + + if (outputSize > MAX_SIZE && !containsBinaryData && !isError) { + const head = rawOutput.slice(0, 2000); + const tail = rawOutput.slice(-1000); + truncatedOutput = `${head}\n\n... [${(outputSize - 3000).toLocaleString()} chars omitted] ...\n\n${tail}`; + truncated = true; + } + + controller.enqueue(encoder.encode(JSON.stringify({ + mcp: { type: 'tool_output', id: itemId, tool: data.item.name, server: data.item.server_label, output: truncatedOutput, outputSize, truncated, arguments: data.item.arguments } + }) + '\n')); + // Mark this tool as having sent its output (for dedup in response.completed) + const tc = toolCalls.find(t => (t.id === itemId) || (t.tool === data.item.name && t.server === data.item.server_label && !t.outputSent)); + if (tc) { tc.outputSent = true; tc.id = tc.id || itemId; } + // Update trace — if completion arrives after response.completed, this still marks it done + if (trace.tools[itemId]) trace.tools[itemId].status = 'completed'; + } + // Web search completed + else if (itemType === 'web_search_call') { + const query = data.item.action?.query || 'web search'; + controller.enqueue(encoder.encode(JSON.stringify({ + mcp: { type: 'tool_output', tool: 'web_search', server: 'web_search', output: query } + }) + '\n')); + } + // File search completed — emit tool_output with id so the chip + // can show queries/vector_stores/chunk count instead of just "File Search" + else if (itemType === 'file_search_call') { + const queries = data.item.queries || []; + const fsToolCfgs = (tools || []).filter(t => t.type === 'file_search'); + const vsIdsForCfg = fsToolCfgs.flatMap(t => t.vector_store_ids || []); + const maxNumResults = fsToolCfgs[0]?.max_num_results || null; + const summary = queries.length > 0 + ? `Searched: ${queries.map(q => `"${q}"`).join(', ')}` + : 'Search completed'; + fileSearchOutputsSent.add(itemId); + controller.enqueue(encoder.encode(JSON.stringify({ + mcp: { + type: 'tool_output', + id: itemId, + tool: 'file_search', + server: 'file_search', + output: summary, + arguments: JSON.stringify({ queries, vector_store_ids: vsIdsForCfg, max_num_results: maxNumResults }), + } + }) + '\n')); + } + // Code interpreter completed + else if (itemType === 'code_interpreter_call') { + const results = data.item.outputs || data.item.results || []; + const outputText = results.map(r => r.logs || r.output || r.text || '').join('\n').trim(); + controller.enqueue(encoder.encode(JSON.stringify({ + code_execution: { code: data.item.code || data.item.input || '', output: outputText, containerId: data.item.container_id || null } + }) + '\n')); + } + // NL2SQL completed + else if (itemType === 'nl2sql_call') { + const sql = data.item.generated_sql || data.item.sql || ''; + const results = data.item.results || data.item.output || ''; + const output = sql ? `**Generated SQL:**\n\`\`\`sql\n${sql}\n\`\`\`${results ? `\n\n**Results:**\n${typeof results === 'string' ? results : JSON.stringify(results, null, 2)}` : ''}` : 'Query completed'; + controller.enqueue(encoder.encode(JSON.stringify({ + mcp: { type: 'tool_output', id: itemId, tool: 'nl2sql', server: 'nl2sql', output, arguments: data.item.input_natural_language_query || data.item.query || '' } + }) + '\n')); + } + // Image generation completed + else if (itemType === 'image_generation_call') { + controller.enqueue(encoder.encode(JSON.stringify({ generated_image: data.item.result || '' }) + '\n')); + } + // Function call completed + else if (itemType === 'function_call') { + controller.enqueue(encoder.encode(JSON.stringify({ + function_call: { id: itemId, callId: data.item.call_id, name: data.item.name, arguments: data.item.arguments } + }) + '\n')); + } + // Reasoning item done — signal end-of-reasoning to the UI + else if (itemType === 'reasoning') { + controller.enqueue(encoder.encode(JSON.stringify({ + reasoning: { type: 'item_end', id: itemId } + }) + '\n')); + } + // Message item done — extract final annotations from content parts + else if (itemType === 'message') { + const itemAnnotations = (data.item.content || []) + .flatMap(part => part.annotations || []) + .filter(a => a.type === 'url_citation' || a.type === 'file_citation'); + if (itemAnnotations.length > 0) { + controller.enqueue(encoder.encode(JSON.stringify({ annotations: itemAnnotations }) + '\n')); + } + } + + // Surface any non-completed status to the client. + // mcp_call already has its own handling above; others (message, reasoning, etc.) + // need an explicit signal so the UI doesn't show incomplete output as final. + if (itemStatus && itemStatus !== 'completed') { + log.error('Output item finished with non-completed status', { + itemType, itemId, status: itemStatus, tool: data.item?.name, server: data.item?.server_label, + output: (data.item?.output || '').substring(0, 2000), elapsed + }); + if (itemType !== 'mcp_call') { + controller.enqueue(encoder.encode(JSON.stringify({ + item_error: { id: itemId, itemType, status: itemStatus } + }) + '\n')); + } + } + } + + // ═══ MCP LIFECYCLE EVENTS ═══ + else if (eventType === 'response.mcp_list_tools.in_progress') { + log.debug('MCP list tools in progress', { itemId, elapsed }); + } + else if (eventType === 'response.mcp_list_tools.completed') { + log.debug('MCP list tools completed', { itemId, elapsed }); + } + else if (eventType === 'response.mcp_call.in_progress') { + log.debug('MCP call in progress', { itemId, elapsed }); + } + else if (eventType === 'response.mcp_call.completed') { + log.info('MCP call completed (OCI side)', { itemId, elapsed }); + } + else if (eventType === 'response.mcp_call.failed') { + log.error('MCP CALL FAILED (OCI side)', { itemId, elapsed, data: JSON.stringify(data).substring(0, 1000) }); + } + + // ═══ CODE INTERPRETER EVENTS ═══ + // Stream Python code being written by the interpreter token-by-token, + // and surface execution phases (in_progress → interpreting → completed) + // so the UI can show real-time code + status. + else if (eventType === 'response.code_interpreter_call.in_progress') { + controller.enqueue(encoder.encode(JSON.stringify({ + code_status: { id: itemId, status: 'in_progress' } + }) + '\n')); + } + else if (eventType === 'response.code_interpreter_call_code.delta' && data.delta) { + controller.enqueue(encoder.encode(JSON.stringify({ + code_delta: { id: itemId, text: data.delta } + }) + '\n')); + } + else if (eventType === 'response.code_interpreter_call_code.done') { + controller.enqueue(encoder.encode(JSON.stringify({ + code_delta: { id: itemId, done: true, text: data.code || '' } + }) + '\n')); + } + else if (eventType === 'response.code_interpreter_call.interpreting') { + controller.enqueue(encoder.encode(JSON.stringify({ + code_status: { id: itemId, status: 'interpreting' } + }) + '\n')); + } + else if (eventType === 'response.code_interpreter_call.completed') { + controller.enqueue(encoder.encode(JSON.stringify({ + code_status: { id: itemId, status: 'completed' } + }) + '\n')); + } + + // ═══ INLINE ANNOTATIONS (emitted during streaming) ═══ + else if (eventType === 'response.output_text.annotation.added') { + const ann = data.annotation; + if (ann && (ann.type === 'url_citation' || ann.type === 'file_citation')) { + controller.enqueue(encoder.encode(JSON.stringify({ + annotations: [ann] + }) + '\n')); + } + } + + // ═══ FILE SEARCH EVENTS ═══ + else if (eventType === 'response.file_search_call.in_progress') { + // Defensive: same payload as the output_item.added branch above so that + // the chip is created even if OCI skips output_item.added for this item. + // useChat.js dedups on mcpItemId so a second emit with the same id is harmless. + const fsToolCfgs = (tools || []).filter(t => t.type === 'file_search'); + const vsIdsForCfg = fsToolCfgs.flatMap(t => t.vector_store_ids || []); + const maxNumResults = fsToolCfgs[0]?.max_num_results || null; + controller.enqueue(encoder.encode(JSON.stringify({ + mcp: { + type: 'calling', + id: itemId, + server: 'file_search', + tool: 'file_search', + arguments: JSON.stringify({ vector_store_ids: vsIdsForCfg, max_num_results: maxNumResults }), + } + }) + '\n')); + } + else if (eventType === 'response.file_search_call.searching') { + controller.enqueue(encoder.encode(JSON.stringify({ + mcp: { type: 'tool_output', tool: 'file_search', server: 'file_search', output: 'Searching knowledge base...', status: 'searching' } + }) + '\n')); + } + else if (eventType === 'response.file_search_call.completed') { + log.debug('File search completed', { itemId, elapsed }); + } + + // ═══ NL2SQL EVENTS ═══ + else if (eventType === 'response.nl2sql_call.in_progress') { + const query = data.query || data.input_natural_language_query || ''; + controller.enqueue(encoder.encode(JSON.stringify({ + mcp: { type: 'calling', id: itemId, server: 'nl2sql', tool: 'nl2sql', arguments: query ? JSON.stringify({ query }) : '' } + }) + '\n')); + } + else if (eventType === 'response.nl2sql_call.completed') { + const sql = data.generated_sql || data.sql || ''; + const results = data.results || data.output || ''; + const output = sql ? `**Generated SQL:**\n\`\`\`sql\n${sql}\n\`\`\`${results ? `\n\n**Results:**\n${typeof results === 'string' ? results : JSON.stringify(results, null, 2)}` : ''}` : 'Query completed'; + controller.enqueue(encoder.encode(JSON.stringify({ + mcp: { type: 'tool_output', id: itemId, tool: 'nl2sql', server: 'nl2sql', output } + }) + '\n')); + } + + // ═══ REASONING EVENTS ═══ + else if (eventType === 'response.reasoning_summary_text.delta' && data.delta) { + controller.enqueue(encoder.encode(JSON.stringify({ reasoning: { type: 'delta', text: data.delta } }) + '\n')); + } + else if (eventType === 'response.reasoning_summary_text.done') { + controller.enqueue(encoder.encode(JSON.stringify({ reasoning: { type: 'done' } }) + '\n')); + } + else if (eventType === 'response.reasoning_summary_part.added') { + controller.enqueue(encoder.encode(JSON.stringify({ + reasoning: { type: 'part_start' } + }) + '\n')); + } + else if (eventType === 'response.reasoning_summary_part.done') { + controller.enqueue(encoder.encode(JSON.stringify({ + reasoning: { type: 'part_end' } + }) + '\n')); + } + + // ═══ CONTENT PART EVENTS ═══ + else if (eventType === 'response.content_part.added') { + log.debug('Content part added', { type: data.part?.type, elapsed }); + } + else if (eventType === 'response.content_part.done') { + if (data.part?.annotations?.length > 0) { + controller.enqueue(encoder.encode(JSON.stringify({ annotations: data.part.annotations }) + '\n')); + } + } + + // ═══ RESPONSE TERMINAL EVENTS (completed / incomplete / failed) ═══ + // All three carry the same `data.response` shape; differences are in + // `data.response.status`, `incomplete_details.reason`, and `error`. + // Treat all as terminal so the stream closes cleanly and the UI stops + // showing "premature close" for legitimate incomplete/failed responses. + else if (eventType === 'response.completed' || eventType === 'response.incomplete' || eventType === 'response.failed') { + responseCompleted = true; + const returnedConvId = data.response?.conversation; + if (returnedConvId) { + controller.enqueue(encoder.encode(JSON.stringify({ conversation_id: returnedConvId }) + '\n')); + } + + const outputs = data.response?.output || []; + const respStatus = data.response?.status; + const incompleteDetails = data.response?.incomplete_details; + const usage = data.response?.usage; + const error = data.response?.error; + + // Log EVERY output item in the completed response + outputs.forEach((o, i) => { + const summary = { index: i, type: o.type, status: o.status, role: o.role }; + if (o.name) summary.tool = o.name; + if (o.server_label) summary.server = o.server_label; + if (o.type === 'mcp_call') { + summary.hasOutput = !!o.output; + summary.outputLen = o.output?.length || 0; + summary.hasArguments = !!o.arguments; + summary.argsLen = o.arguments?.length || 0; + } + if (o.type === 'mcp_call' && o.status !== 'completed') { + log.error('MCP call in completed response has bad status', { ...summary, output: (o.output || '').substring(0, 1000) }); + } + log.info('Completed output item', summary); + }); + // Log all mcp_call items from response to see if create_oci_diagram is there + const mcpItems = outputs.filter(o => o.type === 'mcp_call'); + log.info('All MCP calls in completed response', { count: mcpItems.length, tools: mcpItems.map(m => ({ name: m.name, server: m.server_label, status: m.status, id: m.id })) }); + + // Log completion + log.info('Response completed', { + status: respStatus, + error: error || null, + outputTokens: usage?.output_tokens, + totalTokens: usage?.total_tokens, + outputItems: outputs.length, + elapsed: Date.now() - startTime, + opcRequestId, + }); + + if (respStatus !== 'completed') { + log.error('RESPONSE NOT COMPLETED', { status: respStatus, error, incompleteDetails, opcRequestId }); + } + if (incompleteDetails) log.warn('Response incomplete', { details: incompleteDetails }); + + // Emit tool_output for MCP calls that arrived in response.completed + // but never got an individual output_item.done event + for (const mc of outputs.filter(o => o.type === 'mcp_call' && o.output)) { + const alreadySent = toolCalls.some(tc => tc.tool === mc.name && tc.server === mc.server_label && tc.outputSent); + if (!alreadySent) { + log.info('Emitting late MCP tool_output from response.completed', { tool: mc.name, server: mc.server_label, outputSize: mc.output.length }); + controller.enqueue(encoder.encode(JSON.stringify({ + mcp: { type: 'tool_output', id: mc.id, tool: mc.name, server: mc.server_label, output: mc.output, outputSize: mc.output.length, truncated: false, arguments: mc.arguments } + }) + '\n')); + } + } + + // Fallback: emit tool_output for any file_search_call whose + // output_item.done branch never fired (rare, but keeps the chip in sync) + const fsToolCfgs = (tools || []).filter(t => t.type === 'file_search'); + const vsIds = fsToolCfgs.flatMap(t => t.vector_store_ids || []); + // Read max_num_results from tool config — default 20 (was hardcoded 5) + const maxNumResults = fsToolCfgs[0]?.max_num_results || 20; + for (const fs of outputs.filter(o => o.type === 'file_search_call')) { + if (fileSearchOutputsSent.has(fs.id)) continue; + const queries = fs.queries || []; + const summary = queries.length > 0 + ? `Searched: ${queries.map(q => `"${q}"`).join(', ')}` + : 'Search completed'; + fileSearchOutputsSent.add(fs.id); + controller.enqueue(encoder.encode(JSON.stringify({ + mcp: { + type: 'tool_output', + id: fs.id, + tool: 'file_search', + server: 'file_search', + output: summary, + arguments: JSON.stringify({ queries, vector_store_ids: vsIds, max_num_results: maxNumResults }), + } + }) + '\n')); + } + + // OCI returns file_search_call with results: null. Re-run the search ourselves + // against the vector_store(s) attached to this request so we can emit the + // matching documents as `file_citation` annotations the UI renders as chips. + // Each citation carries `file_search_call_id` so the chip can count chunks per call. + const fsCalls = outputs.filter(o => o.type === 'file_search_call' && o.queries?.length > 0); + if (fsCalls.length > 0 && vsIds.length > 0) { + const fsCitations = []; + const seen = new Set(); + await Promise.all( + fsCalls.flatMap(fs => fs.queries.flatMap(query => + vsIds.map(async (vsId) => { + try { + const sr = await ociRequest('POST', `/vector_stores/${vsId}/search`, { + body: { query, max_num_results: maxNumResults }, + }); + if (!sr.ok) return; + const sd = await sr.json(); + for (const r of (sd.data || [])) { + if (!r.file_id) continue; + const snippet = (r.content || []) + .map(c => (typeof c === 'string' ? c : c?.text || '')) + .join('') + .slice(0, 3000); + // Dedup at (file_search_call, query, chunk) level so the same chunk + // can appear under different file_search invocations. + const key = `${fs.id}::${query}::${r.file_id}::${snippet.slice(0, 80)}`; + if (seen.has(key)) continue; + seen.add(key); + fsCitations.push({ + type: 'file_citation', + file_id: r.file_id, + filename: r.filename, + score: r.score, + snippet, + vector_store_id: vsId, + query, + file_search_call_id: fs.id, + }); + } + } catch (e) { + log.warn('file_search source enrichment failed', { vsId, query, error: e.message }); + } + }) + )) + ); + if (fsCitations.length > 0) { + // Highest score first + fsCitations.sort((a, b) => (b.score || 0) - (a.score || 0)); + log.info('Emitting file_search source citations', { count: fsCitations.length }); + controller.enqueue(encoder.encode(JSON.stringify({ annotations: fsCitations }) + '\n')); + } + } + + // Enrich nl2sql with results + for (const ns of outputs.filter(o => o.type === 'nl2sql_call')) { + const sql = ns.generated_sql || ns.sql || ''; + const results = ns.results || ns.output || ''; + const output = sql ? `**Generated SQL:**\n\`\`\`sql\n${sql}\n\`\`\`${results ? `\n\n**Results:**\n${typeof results === 'string' ? results : JSON.stringify(results, null, 2)}` : ''}` : 'Query completed'; + controller.enqueue(encoder.encode(JSON.stringify({ + mcp: { type: 'tool_output', tool: 'nl2sql', server: 'nl2sql', output } + }) + '\n')); + } + + // Extract all annotations + const allAnnotations = outputs + .filter(item => Array.isArray(item.content)) + .flatMap(item => item.content) + .flatMap(part => part.annotations || []) + .filter(a => a.type === 'url_citation' || a.type === 'file_citation'); + + if (allAnnotations.length > 0) { + controller.enqueue(encoder.encode(JSON.stringify({ annotations: allAnnotations }) + '\n')); + } + + usageData = data.response?.usage || null; + + // Build completion trace + const completedElapsed = Date.now() - startTime; + trace.opcRequestId = opcRequestId; + trace.completion = { + status: respStatus, + error: error || null, + outputTokens: usage?.output_tokens, + totalTokens: usage?.total_tokens, + outputItems: outputs.length, + outputItemTypes: outputs.map(o => ({ type: o.type, tool: o.name, status: o.status })), + elapsed: completedElapsed, + incompleteDetails: incompleteDetails || null, + }; + traceEvent('response_completed', { status: respStatus, outputItems: outputs.length, elapsed: completedElapsed }); + + // Surface terminal-but-not-completed reason to the client so the + // UI can show a clear message instead of "premature close". + if (respStatus !== 'completed') { + const reason = incompleteDetails?.reason || error?.message || error?.code || respStatus || 'unknown'; + trace.error = `Response ended with status "${respStatus}": ${reason}`; + controller.enqueue(encoder.encode(JSON.stringify({ + response_incomplete: { status: respStatus, reason, error: error || null, incompleteDetails: incompleteDetails || null } + }) + '\n')); + } + // OCI silent failure: status="completed" but no input/output tokens and + // outputs only contain mcp_list_tools (no message/reasoning/tool_call). + // Verified reproducible upstream — surface as an error so the UI doesn't + // hang on a "successful" response that never actually ran the model. + else if ( + (usage?.output_tokens === 0 || usage?.total_tokens === 0) && + !outputs.some(o => o.type === 'message' || o.type === 'mcp_call' || o.type === 'function_call' || o.type === 'code_interpreter_call' || o.type === 'reasoning') + ) { + trace.error = `OCI returned status="completed" with 0 output tokens and no model output. ` + + `Only ${outputs.length} mcp_list_tools item(s) returned. This is an OCI silent-failure bug ` + + `(model never ran). opc-request-id: ${opcRequestId || 'unknown'}.`; + log.error('OCI silent failure: completed with no model output', { + outputItems: outputs.length, outputTypes: outputs.map(o => o.type), usage, opcRequestId, + }); + controller.enqueue(encoder.encode(JSON.stringify({ + response_incomplete: { + status: 'completed', + reason: 'oci_silent_failure', + error: null, + incompleteDetails: { reason: 'oci_silent_failure', outputItems: outputs.length, outputTypes: outputs.map(o => o.type) }, + } + }) + '\n')); + } + + // Cache for end-of-stream finalization. + // Do NOT declare tools orphaned or emit done:true yet — + // OCI sometimes emits tool results (response.output_item.done with mcp_call output) + // AFTER response.completed when the tool was slow. Wait until the stream actually closes. + completedResponseData = { outputs, respStatus, data, completedElapsed }; + } + + // ═══ ANYTHING ELSE — log it, never silently drop ═══ + else { + log.warn('Unknown SSE event', { type: eventType, itemType, elapsed, data: JSON.stringify(data).substring(0, 500) }); + } + + } catch (e) { + log.warn('Unparseable SSE line', { line: line.substring(0, 200), error: e.message }); + } + } + } + } finally { + // Log leftover buffer — could contain error info OCI sent at the end + if (buffer.trim()) { + log.warn('Leftover buffer after stream ended', { buffer: buffer.substring(0, 2000) }); + // Try to parse it + try { + const leftover = buffer.trim().startsWith('data: ') ? JSON.parse(buffer.trim().slice(6)) : null; + if (leftover) log.warn('Leftover parsed data', { type: leftover.type, data: JSON.stringify(leftover).substring(0, 1000) }); + } catch (_) {} + } + + const elapsed = Date.now() - startTime; + log.info('Stream ended', { elapsed, toolCalls: toolCalls.length, textLength: fullOutputText.length, responseCompleted, eventCount, lastEventType, stalled, opcRequestId }); + + // Finalize completed response: check orphaned tools and emit done:true. + // Deferred from response.completed because OCI sometimes sends tool results AFTER it. + if (responseCompleted && completedResponseData) { + const { outputs, completedElapsed, data: completedData } = completedResponseData; + const completedToolIds = new Set(outputs.filter(o => o.type === 'mcp_call').map(o => o.id)); + // Also consider tools whose output arrived after response.completed via output_item.done + const postCompletionToolIds = new Set(toolCalls.filter(tc => tc.outputSent).map(tc => tc.id).filter(Boolean)); + for (const [tid, tinfo] of Object.entries(trace.tools)) { + if (tinfo.status === 'calling' && !completedToolIds.has(tid) && !postCompletionToolIds.has(tid)) { + tinfo.status = 'orphaned'; + traceEvent('tool_orphaned', { tool: tinfo.tool, server: tinfo.server, id: tid, detail: 'OCI closed stream without this tool result' }); + trace.error = trace.error || `OCI completed response while "${tinfo.tool}" (${tinfo.server}) was still executing. The tool was called at ${tinfo.startMs}ms but OCI closed the stream at ${completedElapsed}ms without including its result. This is an OCI Responses API issue.`; + } + } + try { + controller.enqueue(encoder.encode(JSON.stringify({ + done: true, response_id: completedData.response?.id || null, opc_request_id: opcRequestId || null, trace + }) + '\n')); + } catch (_) { /* controller may already be closing */ } + } + + // Detect premature close: OCI dropped connection without response.completed + if (!responseCompleted && !stalled) { + log.error('PREMATURE STREAM CLOSE — OCI never sent response.completed', { + elapsed, eventCount, lastEventType, toolCalls, textLength: fullOutputText.length, opcRequestId, + buffer: buffer.substring(0, 500), + }); + trace.opcRequestId = opcRequestId; + trace.error = `OCI closed connection after ${Math.round(elapsed / 1000)}s without response.completed. ` + + `Received ${eventCount} events, last was "${lastEventType || 'none'}". ` + + `${toolCalls.length > 0 ? `Active tools: ${toolCalls.map(t => t.tool).join(', ')}. ` : ''}` + + `This is an OCI Responses API issue — the upstream closed the SSE stream prematurely.`; + traceEvent('premature_close', { eventCount, lastEventType }); + try { + controller.enqueue(encoder.encode(JSON.stringify({ + error: trace.error, + done: true, + trace, + }) + '\n')); + } catch (_) { /* controller may already be closing */ } + } + + reader.releaseLock(); + controller.close(); + + // Finalize LangFuse trace (non-blocking) + if (langfuseGeneration) { + try { + const duration = Date.now() - startTime; + langfuseGeneration.end({ + output: fullOutputText.slice(0, 10000), + usage: usageData ? { + input: usageData.input_tokens || usageData.prompt_tokens, + output: usageData.output_tokens || usageData.completion_tokens, + total: usageData.total_tokens, + } : undefined, + metadata: { duration, toolCalls, opcRequestId }, + }); + langfuseTrace.update({ output: fullOutputText.slice(0, 500) }); + langfuse.flushAsync().catch(() => {}); + } catch (e) { + log.warn('LangFuse finalize error', { error: e.message }); + } + } + } + } + }); + + return new Response(stream, { + headers: { + 'Content-Type': 'text/event-stream', + 'Cache-Control': 'no-cache', + 'Connection': 'keep-alive', + }, + }); + + } catch (error) { + log.error('Unhandled error', { error: error.message, stack: error.stack }); + // Log error to LangFuse if available + if (langfuseGeneration) { + try { + langfuseGeneration.end({ level: 'ERROR', statusMessage: error.message }); + langfuse?.flushAsync().catch(() => {}); + } catch (_) {} + } + return NextResponse.json({ error: error.message }, { status: 500 }); + } +} diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/semantic-stores/route.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/semantic-stores/route.js new file mode 100644 index 000000000..ac445cde6 --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/semantic-stores/route.js @@ -0,0 +1,16 @@ +import { NextResponse } from 'next/server'; +import { ociRequest, toNextResponse } from '../../lib/oci-proxy'; + +// GET /api/semantic-stores — list semantic stores (structured vector stores) +export async function GET() { + try { + const compartmentId = process.env.OCI_COMPARTMENT_ID; + const res = await ociRequest('GET', `/semanticStores?compartmentId=${compartmentId}`, { + host: 'controlPlane', + basePath: '/20231130', + }); + return toNextResponse(res); + } catch (error) { + return NextResponse.json({ error: error.message }, { status: 500 }); + } +} diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/vector-stores/route.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/vector-stores/route.js new file mode 100644 index 000000000..734d740d6 --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/api/vector-stores/route.js @@ -0,0 +1,121 @@ +import { NextResponse } from 'next/server'; +import { ociRequest, toNextResponse } from '../../lib/oci-proxy'; + +// GET /api/vector-stores → list all vector stores +// GET /api/vector-stores?id=X → get one vector store +// GET /api/vector-stores?id=X&files=1 → list files in vector store +export async function GET(request) { + try { + const { searchParams } = new URL(request.url); + const id = searchParams.get('id'); + const files = searchParams.get('files'); + + if (id && files) { + return toNextResponse(await ociRequest('GET', `/vector_stores/${id}/files`)); + } + if (id) { + return toNextResponse(await ociRequest('GET', `/vector_stores/${id}`, { host: 'controlPlane' })); + } + return toNextResponse(await ociRequest('GET', '/vector_stores', { host: 'controlPlane' })); + } catch (error) { + return NextResponse.json({ error: error.message }, { status: 500 }); + } +} + +// POST /api/vector-stores → create vector store +// POST /api/vector-stores?id=X&action=attach-file → attach file to vector store +// POST /api/vector-stores?id=X&action=search → search vector store +export async function POST(request) { + try { + const { searchParams } = new URL(request.url); + const id = searchParams.get('id'); + const action = searchParams.get('action'); + + if (id && action === 'attach-file') { + const { file_id, attributes, chunking_strategy } = await request.json(); + if (!file_id) return NextResponse.json({ error: 'file_id is required' }, { status: 400 }); + const body = { file_id }; + if (attributes) body.attributes = attributes; + if (chunking_strategy) body.chunking_strategy = chunking_strategy; + return toNextResponse(await ociRequest('POST', `/vector_stores/${id}/files`, { body })); + } + + if (id && action === 'attach-batch') { + const { file_ids, attributes, chunking_strategy } = await request.json(); + if (!Array.isArray(file_ids) || file_ids.length === 0) { + return NextResponse.json({ error: 'file_ids array is required' }, { status: 400 }); + } + const body = { file_ids }; + if (attributes) body.attributes = attributes; + if (chunking_strategy) body.chunking_strategy = chunking_strategy; + return toNextResponse(await ociRequest('POST', `/vector_stores/${id}/file_batches`, { body })); + } + + if (id && action === 'search') { + const { query, max_num_results, filters, ranking_options } = await request.json(); + if (!query) return NextResponse.json({ error: 'query is required' }, { status: 400 }); + const body = { query }; + if (max_num_results) body.max_num_results = max_num_results; + if (filters) body.filters = filters; + if (ranking_options) body.ranking_options = ranking_options; + return toNextResponse(await ociRequest('POST', `/vector_stores/${id}/search`, { body })); + } + + // Create vector store (control plane) + const { name, description, file_ids, chunking_strategy, expires_after, metadata } = await request.json(); + if (!name) return NextResponse.json({ error: 'name is required' }, { status: 400 }); + const body = { name }; + if (description) body.description = description; + if (file_ids?.length > 0) body.file_ids = file_ids; + if (chunking_strategy) body.chunking_strategy = chunking_strategy; + if (expires_after) body.expires_after = expires_after; + if (metadata && Object.keys(metadata).length > 0) body.metadata = metadata; + return toNextResponse(await ociRequest('POST', '/vector_stores', { host: 'controlPlane', body })); + } catch (error) { + return NextResponse.json({ error: error.message }, { status: 500 }); + } +} + +// PUT /api/vector-stores?id=X → update vector store (name, metadata, expires_after) +// PUT /api/vector-stores?id=X&file_id=F → update file attributes +// Note: OCI uses POST (not PUT) for updates on the OpenAI-compatible API +export async function PUT(request) { + try { + const { searchParams } = new URL(request.url); + const id = searchParams.get('id'); + const fileId = searchParams.get('file_id'); + if (!id) return NextResponse.json({ error: 'id is required' }, { status: 400 }); + + if (fileId) { + const { attributes } = await request.json(); + return toNextResponse(await ociRequest('POST', `/vector_stores/${id}/files/${fileId}`, { body: { attributes } })); + } + + const { name, metadata, expires_after } = await request.json(); + const body = {}; + if (name !== undefined) body.name = name; + if (metadata !== undefined) body.metadata = metadata; + if (expires_after !== undefined) body.expires_after = expires_after; + return toNextResponse(await ociRequest('POST', `/vector_stores/${id}`, { host: 'controlPlane', body })); + } catch (error) { + return NextResponse.json({ error: error.message }, { status: 500 }); + } +} + +// DELETE /api/vector-stores?id=X → delete vector store +// DELETE /api/vector-stores?id=X&file_id=F → remove file from vector store +export async function DELETE(request) { + try { + const { searchParams } = new URL(request.url); + const id = searchParams.get('id'); + const fileId = searchParams.get('file_id'); + if (!id) return NextResponse.json({ error: 'id is required' }, { status: 400 }); + + if (fileId) { + return toNextResponse(await ociRequest('DELETE', `/vector_stores/${id}/files/${fileId}`)); + } + return toNextResponse(await ociRequest('DELETE', `/vector_stores/${id}`, { host: 'controlPlane' })); + } catch (error) { + return NextResponse.json({ error: error.message }, { status: 500 }); + } +} diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/c/[id]/page.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/c/[id]/page.js new file mode 100644 index 000000000..ebbdfccbd --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/c/[id]/page.js @@ -0,0 +1,19 @@ +"use client"; + +import { useParams } from "next/navigation"; +import { useEffect, useState } from "react"; +import Home from "../../page"; + +export default function ConversationPage() { + const params = useParams(); + const [conversationId, setConversationId] = useState(null); + + useEffect(() => { + if (params?.id) { + setConversationId(params.id); + } + }, [params?.id]); + + // Pass the conversation ID to the Home component + return ; +} diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/agent/AgentStateRenderer.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/agent/AgentStateRenderer.js new file mode 100644 index 000000000..1d83c6aff --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/agent/AgentStateRenderer.js @@ -0,0 +1,275 @@ +"use client"; + +import { Box, Chip, CircularProgress, Stack, Tooltip, Typography, Collapse, IconButton, Paper } from "@mui/material"; +import { + Error as ErrorIcon, + CheckCircle as CheckCircleIcon, + ExpandMore as ExpandMoreIcon, + ExpandLess as ExpandLessIcon, + Build as BuildIcon +} from "@mui/icons-material"; +import ReactMarkdown from 'react-markdown'; +import remarkGfm from 'remark-gfm'; +import TypingEffect from "./ui/TypingEffect"; +import { useState } from "react"; +import JsonView from '@uiw/react-json-view'; + +// Common chip styles +const chipStyles = { + height: 'auto', + fontSize: '0.85em !important', + padding: '0.25rem 0.75rem', + borderRadius: '100px', + width: 'fit-content', + animation: 'slideInLeft 0.4s ease-out', + cursor: 'pointer', + '@keyframes slideInLeft': { + '0%': { + transform: 'translateX(-20px)', + opacity: 0 + }, + '100%': { + transform: 'translateX(0)', + opacity: 1 + } + }, + '& .MuiChip-icon': { + fontSize: '0.85em !important' + }, + '& .MuiChip-label': { + fontSize: '0.85em !important', + display: 'flex', + alignItems: 'center', + gap: 0.5 + } +}; + +// Common text styles +const textStyles = { + fontSize: "inherit", + fontWeight: "inherit", + opacity: 0.7 +}; + +// Expandable chip component +const ExpandableChip = ({ icon, label, color, variant, content, sx = {} }) => { + const [expanded, setExpanded] = useState(false); + + return ( + + + {label} + {content && ( + expanded ? : + )} + + } + color={color} + variant={variant} + onClick={() => content && setExpanded(!expanded)} + sx={{ ...chipStyles, ...sx }} + /> + {content && ( + + + {typeof content === 'string' ? ( + + {content} + + ) : ( + + + + )} + + + )} + + ); +}; + +const AgentStateRenderer = ({ states }) => { + // Remove consecutive duplicate states + const dedupedStates = states.filter((state, index) => { + if (index === 0) return true; + const prev = states[index - 1]; + + // Compare states for equality (excluding text type which should accumulate) + if (state.type === 'text') return true; + + return !( + state.trace === prev.trace && + state.error === prev.error && + state.done === prev.done && + state.tool_use === prev.tool_use && + state.message === prev.message && + state.type === prev.type + ); + }); + + // Simple helper to check if trace is completed (has something after it) + const isTraceCompleted = (index) => { + return index < dedupedStates.length - 1 && + dedupedStates.slice(index + 1).some(s => s.done || s.type === 'text' || s.type === 'error' || s.trace); + }; + + // Render different types of components + const renderErrorChip = (content, key) => ( + + } + label="Error" + color="error" + variant="outlined" + content={content} + /> + + ); + + const renderTraceChip = (trace, message, isCompleted, key) => { + const isConnecting = trace === 'connecting'; + const customStyles = isConnecting ? { + animation: 'slideInLeft 0.4s ease-out 0.5s both', + } : {}; + + const label = trace.charAt(0).toUpperCase() + trace.slice(1); + + return ( + + : } + label={label} + color={isCompleted ? "success" : "default"} + variant="outlined" + content={message} + sx={customStyles} + /> + + ); + }; + + const renderToolUse = (toolData, key) => { + const toolName = toolData.tool || 'Unknown Tool'; + const status = toolData.status || 'executing'; + const isCompleted = status === 'completed'; + + const label = isCompleted + ? `Tool response: ${toolName}` + : `Calling tool: ${toolName}`; + + return ( + + : } + label={label} + color={isCompleted ? "success" : "primary"} + variant="outlined" + content={toolData} + /> + + ); + }; + + const renderText = (content, key) => ( + + {content} + + ); + + const renderMarkdown = (text, key) => ( + + + {(text) => ( + + {text} + + )} + + + ); + + // Process states and build elements array + let currentTextBlock = ""; + const elements = []; + + const flushTextBlock = () => { + if (currentTextBlock) { + elements.push(renderMarkdown(currentTextBlock, `text-${elements.length}`)); + currentTextBlock = ""; + } + }; + + dedupedStates.forEach((state, index) => { + // Accumulate text chunks + if (state.type === 'text') { + currentTextBlock += state.content; + return; + } + + // Flush any accumulated text before rendering other elements + flushTextBlock(); + + // Render based on state type + if (state.type === 'error') { + elements.push(renderErrorChip(state.content, `error-${index}`)); + } else if (state.error) { + elements.push(renderErrorChip(state.error, `stream-error-${index}`)); + } else if (state.done) { + // Skip done states - they're used only for clock status + } else if (state.trace) { + elements.push(renderTraceChip(state.trace, state.message, isTraceCompleted(index), `trace-${index}`)); + } else if (state.tool_use) { + elements.push(renderToolUse(state.tool_use, `tool-${index}`)); + } else if (state.message) { + elements.push(renderText(state.message, `message-${index}`)); + } else if (Object.keys(state).length > 0) { + elements.push(renderText(JSON.stringify(state), `unknown-${index}`)); + } + }); + + // Flush any remaining text + flushTextBlock(); + + return {elements}; +}; + + +export default AgentStateRenderer; \ No newline at end of file diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/agent/Sources.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/agent/Sources.js new file mode 100644 index 000000000..b3c8f438e --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/agent/Sources.js @@ -0,0 +1,394 @@ +import { useState } from "react"; +import { Box, Typography, Dialog, DialogTitle, DialogContent, IconButton, Chip, Accordion, AccordionSummary, AccordionDetails } from "@mui/material"; +import { motion } from "framer-motion"; +import { ExternalLink, FileText, X, ChevronDown, Search } from "lucide-react"; + +export default function Sources({ sources, delay = 0 }) { + const [openDialog, setOpenDialog] = useState(false); + const [expandedChunk, setExpandedChunk] = useState(null); + + if (!sources || sources.length === 0) return null; + + // Split file_citation (chunks from RAG) from url_citation (web search) + const fileChunks = sources.filter(s => s.type === 'file_citation'); + const urlSources = sources.filter(s => s.type !== 'file_citation'); + + // Dedup URL sources by URL + const seenUrls = new Set(); + const uniqueUrls = urlSources.filter(s => { + const key = s.url; + if (!key || seenUrls.has(key)) return false; + seenUrls.add(key); + return true; + }); + + // Sort chunks by score desc; keep query info on each chunk for the badge + const sortedChunks = [...fileChunks].sort((a, b) => (b.score || 0) - (a.score || 0)); + + // Count distinct queries to decide whether to show query-source labels + const distinctQueries = new Set(fileChunks.map(c => c.query).filter(Boolean)); + const totalQueries = distinctQueries.size; + const totalChunks = fileChunks.length; + + const fileChipLabel = (() => { + if (totalChunks === 0) return null; + if (totalQueries <= 1) return `Sources · ${totalChunks} chunk${totalChunks === 1 ? '' : 's'}`; + return `Sources · ${totalQueries} searches · ${totalChunks} chunks`; + })(); + + if (uniqueUrls.length === 0 && fileChipLabel === null) return null; + + const fileChipSx = { + display: "inline-flex", + alignItems: "center", + gap: 0.5, + px: 1.25, + py: 0.5, + borderRadius: "16px", + backgroundColor: "rgba(139,92,246,0.06)", + border: "1px solid rgba(139,92,246,0.15)", + color: "#6D28D9", + fontSize: "0.8rem", + lineHeight: 1.3, + transition: "all 0.15s ease", + cursor: "pointer", + "&:hover": { + backgroundColor: "rgba(139,92,246,0.1)", + borderColor: "rgba(139,92,246,0.25)", + }, + }; + + const urlChipSx = { + display: "inline-flex", + alignItems: "center", + gap: 0.5, + px: 1.25, + py: 0.5, + borderRadius: "16px", + backgroundColor: "rgba(0,0,0,0.04)", + border: "1px solid rgba(0,0,0,0.08)", + textDecoration: "none", + color: "#444", + fontSize: "0.8rem", + lineHeight: 1.3, + transition: "all 0.15s ease", + maxWidth: 280, + cursor: "pointer", + "&:hover": { backgroundColor: "rgba(0,0,0,0.08)", borderColor: "rgba(0,0,0,0.15)" }, + }; + + const scoreColor = (score) => { + if (typeof score !== 'number') return { bg: "rgba(0,0,0,0.05)", fg: "rgba(0,0,0,0.5)" }; + if (score > 0.5) return { bg: "rgba(34,197,94,0.1)", fg: "#16a34a" }; + if (score > 0.25) return { bg: "rgba(234,179,8,0.1)", fg: "#ca8a04" }; + return { bg: "rgba(0,0,0,0.05)", fg: "rgba(0,0,0,0.5)" }; + }; + + return ( + <> + + + {/* URL chips (web search) */} + {uniqueUrls.map((s, i) => { + const cleanUrl = s.url?.replace(/[?&]utm_source=openai/, '') || '#'; + const label = s.title || s.name || (() => { + try { return new URL(s.url).hostname; } catch { return s.url; } + })(); + return ( + + + + {label} + + + ); + })} + + {/* File summary chip */} + {fileChipLabel && ( + setOpenDialog(true)} sx={fileChipSx}> + + + {fileChipLabel} + + + )} + + + + {/* Sources detail modal — one accordion per chunk */} +

setOpenDialog(false)} + maxWidth="md" + fullWidth + PaperProps={{ + sx: { + borderRadius: 2, + height: "min(85vh, 760px)", + display: "flex", + flexDirection: "column", + overflow: "hidden", + backgroundColor: "#fbfaff", + boxShadow: "0 24px 60px -20px rgba(76, 29, 149, 0.25), 0 8px 24px -8px rgba(0,0,0,0.08)", + }, + }} + > + {/* Header — fixed; never shrinks under scroll content */} + + + + + + + Sources used + + + {fileChipLabel} + + + setOpenDialog(false)} + sx={{ + p: 0.5, + color: "rgba(0,0,0,0.5)", + "&:hover": { backgroundColor: "rgba(0,0,0,0.05)", color: "#1a1a1a" }, + }} + > + + + + + {/* Body — flex:1 + minHeight:0 + overflowY:auto is what makes scroll work inside a flex column */} + + {sortedChunks.map((c, i) => { + const href = c.file_id + ? `/api/files/${c.file_id}/content${c.vector_store_id ? `?vsId=${c.vector_store_id}` : ''}` + : null; + const scorePct = typeof c.score === 'number' ? `${(c.score * 100).toFixed(0)}%` : null; + const sc = scoreColor(c.score); + const isExpanded = expandedChunk === i; + return ( + setExpandedChunk(exp ? i : null)} + disableGutters + elevation={0} + square={false} + sx={{ + border: "1px solid rgba(109,40,217,0.08)", + borderRadius: "10px !important", + backgroundColor: "rgba(255,255,255,0.6)", + transition: "all 0.18s ease", + "&:before": { display: "none" }, + "&:hover": { + borderColor: "rgba(109,40,217,0.18)", + backgroundColor: "rgba(255,255,255,0.95)", + }, + "&.Mui-expanded": { + margin: 0, + backgroundColor: "#ffffff", + borderColor: "rgba(109,40,217,0.25)", + boxShadow: "0 4px 16px -6px rgba(109,40,217,0.18)", + }, + "& .MuiCollapse-root": { borderRadius: "0 0 10px 10px" }, + }} + > + } + sx={{ + minHeight: 0, + px: 1.5, + py: 0.5, + borderRadius: "10px", + "& .MuiAccordionSummary-content": { my: 0.75, alignItems: "center", gap: 1.25 }, + "&.Mui-expanded": { + minHeight: 0, + borderBottom: "1px solid rgba(109,40,217,0.08)", + borderRadius: "10px 10px 0 0", + }, + }} + > + + + {c.filename || c.file_id || 'Unknown'} + + {scorePct && ( + + )} + {href && ( + e.stopPropagation()} + onMouseDown={(e) => e.stopPropagation()} + onFocus={(e) => e.stopPropagation()} + title="Open document in new tab" + sx={{ + p: 0.4, + ml: 0.25, + color: "rgba(109,40,217,0.55)", + flexShrink: 0, + borderRadius: "6px", + "&:hover": { + backgroundColor: "rgba(109,40,217,0.1)", + color: "#6D28D9", + }, + }} + > + + + )} + + + {c.query && totalQueries > 1 && ( + + + + {c.query} + + + )} + {c.snippet ? ( + + + {c.snippet.length >= 3000 ? `${c.snippet.trim()}…` : c.snippet.trim()} + + + ) : ( + + No snippet available + + )} + + + ); + })} + + + + ); +} diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/charts/CostBenefitChart.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/charts/CostBenefitChart.js new file mode 100644 index 000000000..9d7d5d735 --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/charts/CostBenefitChart.js @@ -0,0 +1,362 @@ +"use client"; + +import { Box, Typography } from "@mui/material"; +import { motion } from "framer-motion"; +import { useEffect, useRef } from "react"; + +export default function CostBenefitChart({ data, title = "Cost-Benefit Analysis" }) { + const svgRef = useRef(null); + + useEffect(() => { + if (!data || !svgRef.current) return; + + const svg = svgRef.current; + const width = 500; + const height = 350; + const margin = { top: 40, right: 40, bottom: 80, left: 80 }; + const plotWidth = width - margin.left - margin.right; + const plotHeight = height - margin.top - margin.bottom; + + // Clear previous content + svg.innerHTML = ''; + + // Create main group + const g = document.createElementNS("http://www.w3.org/2000/svg", "g"); + g.setAttribute("transform", `translate(${margin.left}, ${margin.top})`); + svg.appendChild(g); + + // Calculate bar dimensions + const barWidth = plotWidth / 4; + const barSpacing = barWidth / 4; + + // Data for the chart + const chartData = [ + { label: "Initial Cost", hd2024: 2850, hd2025: 4150, color2024: "#4caf50", color2025: "#f44336" }, + { label: "8h Operation Cost\n(Annual)", hd2024: 1200, hd2025: 800, color2024: "#4caf50", color2025: "#ff9800" }, + { label: "Maintenance Cost\n(Annual)", hd2024: 600, hd2025: 400, color2024: "#81c784", color2025: "#ffb74d" }, + { label: "Total 3-Year Cost", hd2024: 8250, hd2025: 7750, color2024: "#2e7d32", color2025: "#e64a19" } + ]; + + // Find max value for scaling + const maxValue = Math.max(...chartData.flatMap(d => [d.hd2024, d.hd2025])); + const scale = plotHeight / maxValue; + + // Draw grid lines + for (let i = 0; i <= 5; i++) { + const y = (i / 5) * plotHeight; + const gridLine = document.createElementNS("http://www.w3.org/2000/svg", "line"); + gridLine.setAttribute("x1", 0); + gridLine.setAttribute("y1", plotHeight - y); + gridLine.setAttribute("x2", plotWidth); + gridLine.setAttribute("y2", plotHeight - y); + gridLine.setAttribute("stroke", "#f0f0f0"); + gridLine.setAttribute("stroke-width", "1"); + g.appendChild(gridLine); + + // Add value labels + const valueLabel = document.createElementNS("http://www.w3.org/2000/svg", "text"); + valueLabel.setAttribute("x", -10); + valueLabel.setAttribute("y", plotHeight - y + 4); + valueLabel.setAttribute("text-anchor", "end"); + valueLabel.setAttribute("font-size", "10"); + valueLabel.setAttribute("font-family", "var(--font-exo2), sans-serif"); + valueLabel.setAttribute("fill", "#666"); + valueLabel.textContent = `$${Math.round((maxValue / 5) * i / 1000)}k`; + g.appendChild(valueLabel); + } + + // Draw bars for each category + chartData.forEach((category, categoryIndex) => { + const categoryX = categoryIndex * (barWidth + barSpacing); + + // HD-2024 bar + const bar2024Height = category.hd2024 * scale; + const bar2024 = document.createElementNS("http://www.w3.org/2000/svg", "rect"); + bar2024.setAttribute("x", categoryX); + bar2024.setAttribute("y", plotHeight); + bar2024.setAttribute("width", barWidth * 0.4); + bar2024.setAttribute("height", 0); + bar2024.setAttribute("fill", category.color2024); + bar2024.setAttribute("rx", "2"); + bar2024.style.animation = `growBar 1s ease-out ${categoryIndex * 0.2}s forwards`; + g.appendChild(bar2024); + + // HD-2025 bar + const bar2025Height = category.hd2025 * scale; + const bar2025 = document.createElementNS("http://www.w3.org/2000/svg", "rect"); + bar2025.setAttribute("x", categoryX + barWidth * 0.45); + bar2025.setAttribute("y", plotHeight); + bar2025.setAttribute("width", barWidth * 0.4); + bar2025.setAttribute("height", 0); + bar2025.setAttribute("fill", category.color2025); + bar2025.setAttribute("rx", "2"); + bar2025.style.animation = `growBar 1s ease-out ${categoryIndex * 0.2 + 0.1}s forwards`; + g.appendChild(bar2025); + + // Value labels on bars + const value2024 = document.createElementNS("http://www.w3.org/2000/svg", "text"); + value2024.setAttribute("x", categoryX + barWidth * 0.2); + value2024.setAttribute("y", plotHeight - bar2024Height - 5); + value2024.setAttribute("text-anchor", "middle"); + value2024.setAttribute("font-size", "10"); + value2024.setAttribute("font-family", "var(--font-exo2), sans-serif"); + value2024.setAttribute("fill", "#333"); + value2024.setAttribute("font-weight", "bold"); + value2024.textContent = `$${category.hd2024}`; + value2024.style.opacity = "0"; + value2024.style.animation = `fadeIn 0.5s ease-out ${categoryIndex * 0.2 + 0.8}s forwards`; + g.appendChild(value2024); + + const value2025 = document.createElementNS("http://www.w3.org/2000/svg", "text"); + value2025.setAttribute("x", categoryX + barWidth * 0.65); + value2025.setAttribute("y", plotHeight - bar2025Height - 5); + value2025.setAttribute("text-anchor", "middle"); + value2025.setAttribute("font-size", "10"); + value2025.setAttribute("font-family", "var(--font-exo2), sans-serif"); + value2025.setAttribute("fill", "#333"); + value2025.setAttribute("font-weight", "bold"); + value2025.textContent = `$${category.hd2025}`; + value2025.style.opacity = "0"; + value2025.style.animation = `fadeIn 0.5s ease-out ${categoryIndex * 0.2 + 0.9}s forwards`; + g.appendChild(value2025); + + // Category labels + const categoryLabel = document.createElementNS("http://www.w3.org/2000/svg", "text"); + categoryLabel.setAttribute("x", categoryX + barWidth * 0.425); + categoryLabel.setAttribute("y", plotHeight + 25); + categoryLabel.setAttribute("text-anchor", "middle"); + categoryLabel.setAttribute("font-size", "11"); + categoryLabel.setAttribute("font-family", "var(--font-exo2), sans-serif"); + categoryLabel.setAttribute("fill", "#666"); + categoryLabel.setAttribute("font-weight", "500"); + + // Handle multi-line labels + const lines = category.label.split('\n'); + if (lines.length > 1) { + lines.forEach((line, lineIndex) => { + const tspan = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); + tspan.setAttribute("x", categoryX + barWidth * 0.425); + tspan.setAttribute("dy", lineIndex === 0 ? 0 : 12); + tspan.textContent = line; + categoryLabel.appendChild(tspan); + }); + } else { + categoryLabel.textContent = category.label; + } + + g.appendChild(categoryLabel); + + // Add animation keyframes to the bar elements + bar2024.style.setProperty('--target-height', `${bar2024Height}px`); + bar2024.style.setProperty('--target-y', `${plotHeight - bar2024Height}px`); + + bar2025.style.setProperty('--target-height', `${bar2025Height}px`); + bar2025.style.setProperty('--target-y', `${plotHeight - bar2025Height}px`); + }); + + // Add Winner indicator for Initial Cost + const winnerBox = document.createElementNS("http://www.w3.org/2000/svg", "rect"); + winnerBox.setAttribute("x", -5); + winnerBox.setAttribute("y", plotHeight - chartData[0].hd2024 * scale - 25); + winnerBox.setAttribute("width", barWidth * 0.4 + 10); + winnerBox.setAttribute("height", 20); + winnerBox.setAttribute("fill", "#4caf50"); + winnerBox.setAttribute("fill-opacity", "0.1"); + winnerBox.setAttribute("stroke", "#4caf50"); + winnerBox.setAttribute("stroke-width", "2"); + winnerBox.setAttribute("rx", "3"); + winnerBox.style.opacity = "0"; + winnerBox.style.animation = "fadeIn 0.5s ease-out 2s forwards"; + g.appendChild(winnerBox); + + const winnerText = document.createElementNS("http://www.w3.org/2000/svg", "text"); + winnerText.setAttribute("x", barWidth * 0.2); + winnerText.setAttribute("y", plotHeight - chartData[0].hd2024 * scale - 12); + winnerText.setAttribute("text-anchor", "middle"); + winnerText.setAttribute("font-size", "10"); + winnerText.setAttribute("font-family", "var(--font-exo2), sans-serif"); + winnerText.setAttribute("fill", "#4caf50"); + winnerText.setAttribute("font-weight", "bold"); + winnerText.textContent = "WINNER"; + winnerText.style.opacity = "0"; + winnerText.style.animation = "fadeIn 0.5s ease-out 2.1s forwards"; + g.appendChild(winnerText); + + // Add axis labels + const yLabel = document.createElementNS("http://www.w3.org/2000/svg", "text"); + yLabel.setAttribute("x", -50); + yLabel.setAttribute("y", plotHeight / 2); + yLabel.setAttribute("text-anchor", "middle"); + yLabel.setAttribute("transform", `rotate(-90, -50, ${plotHeight / 2})`); + yLabel.setAttribute("font-size", "12"); + yLabel.setAttribute("font-family", "var(--font-exo2), sans-serif"); + yLabel.setAttribute("fill", "#666"); + yLabel.textContent = "Cost (USD)"; + g.appendChild(yLabel); + + // Add conclusion box + const conclusionBox = document.createElementNS("http://www.w3.org/2000/svg", "rect"); + conclusionBox.setAttribute("x", plotWidth - 150); + conclusionBox.setAttribute("y", 10); + conclusionBox.setAttribute("width", 140); + conclusionBox.setAttribute("height", 80); + conclusionBox.setAttribute("fill", "#e8f5e8"); + conclusionBox.setAttribute("stroke", "#4caf50"); + conclusionBox.setAttribute("stroke-width", "2"); + conclusionBox.setAttribute("rx", "5"); + conclusionBox.style.opacity = "0"; + conclusionBox.style.animation = "fadeIn 0.5s ease-out 2.5s forwards"; + g.appendChild(conclusionBox); + + const conclusionTitle = document.createElementNS("http://www.w3.org/2000/svg", "text"); + conclusionTitle.setAttribute("x", plotWidth - 80); + conclusionTitle.setAttribute("y", 28); + conclusionTitle.setAttribute("text-anchor", "middle"); + conclusionTitle.setAttribute("font-size", "11"); + conclusionTitle.setAttribute("font-family", "var(--font-exo2), sans-serif"); + conclusionTitle.setAttribute("fill", "#2e7d32"); + conclusionTitle.setAttribute("font-weight", "bold"); + conclusionTitle.textContent = "8-Hour Shifts"; + conclusionTitle.style.opacity = "0"; + conclusionTitle.style.animation = "fadeIn 0.5s ease-out 2.6s forwards"; + g.appendChild(conclusionTitle); + + const conclusionText1 = document.createElementNS("http://www.w3.org/2000/svg", "text"); + conclusionText1.setAttribute("x", plotWidth - 80); + conclusionText1.setAttribute("y", 45); + conclusionText1.setAttribute("text-anchor", "middle"); + conclusionText1.setAttribute("font-size", "9"); + conclusionText1.setAttribute("font-family", "var(--font-exo2), sans-serif"); + conclusionText1.setAttribute("fill", "#2e7d32"); + conclusionText1.textContent = "HD-2024 saves"; + conclusionText1.style.opacity = "0"; + conclusionText1.style.animation = "fadeIn 0.5s ease-out 2.7s forwards"; + g.appendChild(conclusionText1); + + const conclusionText2 = document.createElementNS("http://www.w3.org/2000/svg", "text"); + conclusionText2.setAttribute("x", plotWidth - 80); + conclusionText2.setAttribute("y", 58); + conclusionText2.setAttribute("text-anchor", "middle"); + conclusionText2.setAttribute("font-size", "9"); + conclusionText2.setAttribute("font-family", "var(--font-exo2), sans-serif"); + conclusionText2.setAttribute("fill", "#2e7d32"); + conclusionText2.setAttribute("font-weight", "bold"); + conclusionText2.textContent = "$1,300 initially"; + conclusionText2.style.opacity = "0"; + conclusionText2.style.animation = "fadeIn 0.5s ease-out 2.8s forwards"; + g.appendChild(conclusionText2); + + const conclusionText3 = document.createElementNS("http://www.w3.org/2000/svg", "text"); + conclusionText3.setAttribute("x", plotWidth - 80); + conclusionText3.setAttribute("y", 75); + conclusionText3.setAttribute("text-anchor", "middle"); + conclusionText3.setAttribute("font-size", "9"); + conclusionText3.setAttribute("font-family", "var(--font-exo2), sans-serif"); + conclusionText3.setAttribute("fill", "#2e7d32"); + conclusionText3.textContent = "Perfect for your needs!"; + conclusionText3.style.opacity = "0"; + conclusionText3.style.animation = "fadeIn 0.5s ease-out 2.9s forwards"; + g.appendChild(conclusionText3); + + // Add CSS animations + const style = document.createElementNS("http://www.w3.org/2000/svg", "style"); + style.textContent = ` + @keyframes growBar { + from { + height: 0; + } + to { + height: var(--target-height); + y: var(--target-y); + } + } + @keyframes fadeIn { + from { + opacity: 0; + transform: translateY(10px); + } + to { + opacity: 1; + transform: translateY(0); + } + } + `; + svg.appendChild(style); + + }, [data]); + + if (!data) { + return null; + } + + return ( + + + + {title} + + + + + {/* Legend */} + + + + + HD-2024 + + + + + + HD-2025 + + + + + + ); +} \ No newline at end of file diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/charts/ProcessDiagram.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/charts/ProcessDiagram.js new file mode 100644 index 000000000..c5b96da55 --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/charts/ProcessDiagram.js @@ -0,0 +1,303 @@ +"use client"; + +import React from 'react'; +import { Box, Typography, Paper } from '@mui/material'; +import { + CheckCircle, + Settings, + Truck, + MapPin, + Package, + Building2, + DollarSign, + Calendar, + Zap +} from 'lucide-react'; + +const ProcessDiagram = ({ data }) => { + const { title, steps, currentStep, orderInfo } = data; + + const getStepIcon = (stepName) => { + const iconProps = { size: 24 }; + + switch (stepName) { + case 'Order Placed': + return ; + case 'Processing': + return ; + case 'In Transit': + return ; + case 'Out for Delivery': + return ; + case 'Delivered': + return ; + default: + return ; + } + }; + + const getStepStyles = (isCompleted, isCurrent) => { + if (isCurrent) { + return { + iconColor: '#2196f3', + backgroundColor: '#e3f2fd', + borderColor: '#2196f3', + textColor: '#2196f3', + fontWeight: 600 + }; + } else if (isCompleted) { + return { + iconColor: '#4caf50', + backgroundColor: '#e8f5e8', + borderColor: '#4caf50', + textColor: '#4caf50', + fontWeight: 500 + }; + } else { + return { + iconColor: '#9e9e9e', + backgroundColor: '#fafafa', + borderColor: '#e0e0e0', + textColor: '#757575', + fontWeight: 400 + }; + } + }; + + const isStepCompleted = (stepName) => { + if (!steps || !currentStep) return false; + const currentIndex = steps.findIndex(step => step.name === currentStep); + const stepIndex = steps.findIndex(step => step.name === stepName); + return stepIndex < currentIndex; + }; + + const isCurrentStep = (stepName) => stepName === currentStep; + + return ( + + + + {title} + + + + + {/* Progress Steps */} + + {steps && steps.map((step, index) => { + const styles = getStepStyles( + isStepCompleted(step.name), + isCurrentStep(step.name) + ); + + return ( + + + + {getStepIcon(step.name)} + + + {step.name} + + + + {index < steps.length - 1 && ( + + )} + + ); + })} + + + {/* Order Information */} + {orderInfo && ( + + + Order Details + + + + + + + + Supplier + + + {orderInfo.supplier} + + + + + + + + + Order Value + + + {orderInfo.orderValue} + + + + + + + + + Tracking Number + + + {orderInfo.tracking} + + + + + + + + + Carrier + + + {orderInfo.carrier} + + + + + + + + + Estimated Delivery + + + {orderInfo.estimatedDelivery} + + + + + + + + + Delivery Location + + + {orderInfo.deliveryLocation} + + + + + + )} + + + + ); +}; + +export default ProcessDiagram; \ No newline at end of file diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/charts/RadarChart.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/charts/RadarChart.js new file mode 100644 index 000000000..cf1ccc981 --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/charts/RadarChart.js @@ -0,0 +1,224 @@ +"use client"; + +import { Box, Typography } from "@mui/material"; +import { motion } from "framer-motion"; +import { useEffect, useRef } from "react"; + +export default function RadarChart({ data, title = "Comparison Chart" }) { + const svgRef = useRef(null); + + useEffect(() => { + if (!data || !svgRef.current) return; + + const svg = svgRef.current; + const size = 300; + const center = size / 2; + const maxRadius = 120; + + // Clear previous content + svg.innerHTML = ''; + + // Create the radar grid + const levels = 5; + const metrics = data.metrics || []; + const items = data.items || []; + + if (metrics.length === 0) return; + + const angleSlice = (Math.PI * 2) / metrics.length; + + // Draw concentric circles (grid) + for (let level = 1; level <= levels; level++) { + const radius = (maxRadius / levels) * level; + const circle = document.createElementNS("http://www.w3.org/2000/svg", "circle"); + circle.setAttribute("cx", center); + circle.setAttribute("cy", center); + circle.setAttribute("r", radius); + circle.setAttribute("fill", "none"); + circle.setAttribute("stroke", "#e0e0e0"); + circle.setAttribute("stroke-width", "1"); + svg.appendChild(circle); + } + + // Draw axis lines + metrics.forEach((metric, i) => { + const angle = angleSlice * i - Math.PI / 2; + const x = center + Math.cos(angle) * maxRadius; + const y = center + Math.sin(angle) * maxRadius; + + const line = document.createElementNS("http://www.w3.org/2000/svg", "line"); + line.setAttribute("x1", center); + line.setAttribute("y1", center); + line.setAttribute("x2", x); + line.setAttribute("y2", y); + line.setAttribute("stroke", "#e0e0e0"); + line.setAttribute("stroke-width", "1"); + svg.appendChild(line); + + // Add labels + const labelRadius = maxRadius + 20; + const labelX = center + Math.cos(angle) * labelRadius; + const labelY = center + Math.sin(angle) * labelRadius; + + const text = document.createElementNS("http://www.w3.org/2000/svg", "text"); + text.setAttribute("x", labelX); + text.setAttribute("y", labelY); + text.setAttribute("text-anchor", "middle"); + text.setAttribute("dominant-baseline", "middle"); + text.setAttribute("font-size", "12"); + text.setAttribute("font-family", "var(--font-exo2), sans-serif"); + text.setAttribute("fill", "#666"); + text.textContent = metric; + svg.appendChild(text); + }); + + // Draw data for each item + const colors = ["#2196f3", "#ff9800"]; + + items.forEach((item, itemIndex) => { + if (!item.values || item.values.length !== metrics.length) return; + + const color = colors[itemIndex] || "#666"; + let pathData = ""; + + item.values.forEach((value, i) => { + const angle = angleSlice * i - Math.PI / 2; + const radius = (value / 100) * maxRadius; // Assuming values are 0-100 + const x = center + Math.cos(angle) * radius; + const y = center + Math.sin(angle) * radius; + + if (i === 0) { + pathData += `M ${x} ${y}`; + } else { + pathData += ` L ${x} ${y}`; + } + }); + pathData += " Z"; // Close the path + + // Create animated path + const path = document.createElementNS("http://www.w3.org/2000/svg", "path"); + path.setAttribute("d", pathData); + path.setAttribute("fill", color); + path.setAttribute("fill-opacity", "0.2"); + path.setAttribute("stroke", color); + path.setAttribute("stroke-width", "2"); + + // Add animation + const totalLength = path.getTotalLength?.() || 0; + if (totalLength > 0) { + path.style.strokeDasharray = totalLength; + path.style.strokeDashoffset = totalLength; + path.style.animation = `drawPath 1.5s ease-in-out ${itemIndex * 0.3}s forwards`; + } + + svg.appendChild(path); + + // Add data points + item.values.forEach((value, i) => { + const angle = angleSlice * i - Math.PI / 2; + const radius = (value / 100) * maxRadius; + const x = center + Math.cos(angle) * radius; + const y = center + Math.sin(angle) * radius; + + const circle = document.createElementNS("http://www.w3.org/2000/svg", "circle"); + circle.setAttribute("cx", x); + circle.setAttribute("cy", y); + circle.setAttribute("r", "4"); + circle.setAttribute("fill", color); + circle.setAttribute("stroke", "white"); + circle.setAttribute("stroke-width", "2"); + circle.style.animation = `fadeIn 0.5s ease-in-out ${0.5 + itemIndex * 0.3}s forwards`; + circle.style.opacity = "0"; + svg.appendChild(circle); + }); + }); + + // Add CSS animation styles + const style = document.createElementNS("http://www.w3.org/2000/svg", "style"); + style.textContent = ` + @keyframes drawPath { + to { + stroke-dashoffset: 0; + } + } + @keyframes fadeIn { + to { + opacity: 1; + } + } + `; + svg.appendChild(style); + + }, [data]); + + if (!data || !data.metrics || !data.items) { + return null; + } + + return ( + + + + {title} + + + + + {/* Legend */} + + {data.items.map((item, index) => ( + + + + {item.name} + + + ))} + + + + ); +} \ No newline at end of file diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/charts/ScatterChart.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/charts/ScatterChart.js new file mode 100644 index 000000000..8023cd9b5 --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/charts/ScatterChart.js @@ -0,0 +1,277 @@ +"use client"; + +import { Box, Typography } from "@mui/material"; +import { motion } from "framer-motion"; +import { useEffect, useRef } from "react"; + +export default function ScatterChart({ data, title = "Defect Analysis" }) { + const svgRef = useRef(null); + + useEffect(() => { + if (!data || !svgRef.current) return; + + const svg = svgRef.current; + const width = 450; + const height = 300; + const margin = { top: 20, right: 20, bottom: 50, left: 60 }; + const plotWidth = width - margin.left - margin.right; + const plotHeight = height - margin.top - margin.bottom; + + // Clear previous content + svg.innerHTML = ''; + + // Create main group + const g = document.createElementNS("http://www.w3.org/2000/svg", "g"); + g.setAttribute("transform", `translate(${margin.left}, ${margin.top})`); + svg.appendChild(g); + + // Create scales + const maxX = Math.max(...data.points.map(p => p.x)); + const maxY = Math.max(...data.points.map(p => p.y)); + + const scaleX = (x) => (x / maxX) * plotWidth; + const scaleY = (y) => plotHeight - (y / maxY) * plotHeight; + + // Draw grid lines + for (let i = 0; i <= 5; i++) { + const x = (i / 5) * plotWidth; + const y = (i / 5) * plotHeight; + + // Vertical grid lines + const vLine = document.createElementNS("http://www.w3.org/2000/svg", "line"); + vLine.setAttribute("x1", x); + vLine.setAttribute("y1", 0); + vLine.setAttribute("x2", x); + vLine.setAttribute("y2", plotHeight); + vLine.setAttribute("stroke", "#f0f0f0"); + vLine.setAttribute("stroke-width", "1"); + g.appendChild(vLine); + + // Horizontal grid lines + const hLine = document.createElementNS("http://www.w3.org/2000/svg", "line"); + hLine.setAttribute("x1", 0); + hLine.setAttribute("y1", y); + hLine.setAttribute("x2", plotWidth); + hLine.setAttribute("y2", y); + hLine.setAttribute("stroke", "#f0f0f0"); + hLine.setAttribute("stroke-width", "1"); + g.appendChild(hLine); + } + + // Draw axes + const xAxis = document.createElementNS("http://www.w3.org/2000/svg", "line"); + xAxis.setAttribute("x1", 0); + xAxis.setAttribute("y1", plotHeight); + xAxis.setAttribute("x2", plotWidth); + xAxis.setAttribute("y2", plotHeight); + xAxis.setAttribute("stroke", "#333"); + xAxis.setAttribute("stroke-width", "2"); + g.appendChild(xAxis); + + const yAxis = document.createElementNS("http://www.w3.org/2000/svg", "line"); + yAxis.setAttribute("x1", 0); + yAxis.setAttribute("y1", 0); + yAxis.setAttribute("x2", 0); + yAxis.setAttribute("y2", plotHeight); + yAxis.setAttribute("stroke", "#333"); + yAxis.setAttribute("stroke-width", "2"); + g.appendChild(yAxis); + + // Add safe zone (0-8 hours) + const safeZoneWidth = scaleX(8); + const safeZone = document.createElementNS("http://www.w3.org/2000/svg", "rect"); + safeZone.setAttribute("x", 0); + safeZone.setAttribute("y", 0); + safeZone.setAttribute("width", safeZoneWidth); + safeZone.setAttribute("height", plotHeight); + safeZone.setAttribute("fill", "#4caf50"); + safeZone.setAttribute("fill-opacity", "0.1"); + g.appendChild(safeZone); + + // Add danger zone (16+ hours) + const dangerZoneStart = scaleX(16); + const dangerZone = document.createElementNS("http://www.w3.org/2000/svg", "rect"); + dangerZone.setAttribute("x", dangerZoneStart); + dangerZone.setAttribute("y", 0); + dangerZone.setAttribute("width", plotWidth - dangerZoneStart); + dangerZone.setAttribute("height", plotHeight); + dangerZone.setAttribute("fill", "#f44336"); + dangerZone.setAttribute("fill-opacity", "0.1"); + g.appendChild(dangerZone); + + // Draw data points with animation + data.points.forEach((point, index) => { + const cx = scaleX(point.x); + const cy = scaleY(point.y); + + let color = "#2196f3"; // Default blue + if (point.motor === "HD-2024") { + color = point.x <= 8 ? "#4caf50" : "#ff9800"; // Green in safe zone, orange outside + } else if (point.motor === "HD-2025") { + color = "#9c27b0"; // Purple + } + + const circle = document.createElementNS("http://www.w3.org/2000/svg", "circle"); + circle.setAttribute("cx", cx); + circle.setAttribute("cy", cy); + circle.setAttribute("r", "5"); + circle.setAttribute("fill", color); + circle.setAttribute("stroke", "white"); + circle.setAttribute("stroke-width", "2"); + circle.style.opacity = "0"; + circle.style.animation = `scatterFadeIn 0.5s ease-in-out ${0.5 + index * 0.1}s forwards`; + + g.appendChild(circle); + }); + + // Add axis labels + const xLabel = document.createElementNS("http://www.w3.org/2000/svg", "text"); + xLabel.setAttribute("x", plotWidth / 2); + xLabel.setAttribute("y", plotHeight + 35); + xLabel.setAttribute("text-anchor", "middle"); + xLabel.setAttribute("font-size", "12"); + xLabel.setAttribute("font-family", "var(--font-exo2), sans-serif"); + xLabel.setAttribute("fill", "#666"); + xLabel.textContent = "Operating Hours per Day"; + g.appendChild(xLabel); + + const yLabel = document.createElementNS("http://www.w3.org/2000/svg", "text"); + yLabel.setAttribute("x", -35); + yLabel.setAttribute("y", plotHeight / 2); + yLabel.setAttribute("text-anchor", "middle"); + yLabel.setAttribute("transform", `rotate(-90, -35, ${plotHeight / 2})`); + yLabel.setAttribute("font-size", "12"); + yLabel.setAttribute("font-family", "var(--font-exo2), sans-serif"); + yLabel.setAttribute("fill", "#666"); + yLabel.textContent = "Defect Rate (%)"; + g.appendChild(yLabel); + + // Add zone labels + const safeLabel = document.createElementNS("http://www.w3.org/2000/svg", "text"); + safeLabel.setAttribute("x", safeZoneWidth / 2); + safeLabel.setAttribute("y", 15); + safeLabel.setAttribute("text-anchor", "middle"); + safeLabel.setAttribute("font-size", "10"); + safeLabel.setAttribute("font-family", "var(--font-exo2), sans-serif"); + safeLabel.setAttribute("fill", "#4caf50"); + safeLabel.setAttribute("font-weight", "bold"); + safeLabel.textContent = "SAFE ZONE"; + g.appendChild(safeLabel); + + const dangerLabel = document.createElementNS("http://www.w3.org/2000/svg", "text"); + dangerLabel.setAttribute("x", dangerZoneStart + (plotWidth - dangerZoneStart) / 2); + dangerLabel.setAttribute("y", 15); + dangerLabel.setAttribute("text-anchor", "middle"); + dangerLabel.setAttribute("font-size", "10"); + dangerLabel.setAttribute("font-family", "var(--font-exo2), sans-serif"); + dangerLabel.setAttribute("fill", "#f44336"); + dangerLabel.setAttribute("font-weight", "bold"); + dangerLabel.textContent = "HIGH RISK"; + g.appendChild(dangerLabel); + + // Add CSS animation + const style = document.createElementNS("http://www.w3.org/2000/svg", "style"); + style.textContent = ` + @keyframes scatterFadeIn { + from { + opacity: 0; + transform: scale(0); + } + to { + opacity: 1; + transform: scale(1); + } + } + `; + svg.appendChild(style); + + }, [data]); + + if (!data || !data.points) { + return null; + } + + return ( + + + + {title} + + + + + {/* Legend */} + + + + + HD-2024 (Safe Zone) + + + + + + HD-2024 (High Risk) + + + + + + HD-2025 + + + + + + ); +} \ No newline at end of file diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/chat/ArchitectureDiagram.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/chat/ArchitectureDiagram.js new file mode 100644 index 000000000..9d6e67d35 --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/chat/ArchitectureDiagram.js @@ -0,0 +1,370 @@ +"use client"; + +import { Box, Typography } from "@mui/material"; +import { useEffect, useState, useMemo, useCallback, useRef } from "react"; +import { motion, AnimatePresence } from "framer-motion"; +import { + ReactFlow, + Background, + useNodesState, + useEdgesState, + Handle, + Position, + BaseEdge, + getBezierPath, +} from "@xyflow/react"; +import "@xyflow/react/dist/style.css"; +import { Wrench, Sparkles, Database, Globe, FileText, Code, Search, Mail } from "lucide-react"; +import { MCPService } from "../../services/mcpService"; + +// Icon mapping for different tool types +const getToolIcon = (serverId, serverName) => { + const name = (serverName || serverId || "").toLowerCase(); + if (name.includes("database") || name.includes("sql") || name.includes("db")) return Database; + if (name.includes("web") || name.includes("fetch") || name.includes("http")) return Globe; + if (name.includes("file") || name.includes("doc")) return FileText; + if (name.includes("code") || name.includes("script")) return Code; + if (name.includes("search")) return Search; + if (name.includes("mail") || name.includes("email")) return Mail; + return Wrench; +}; + +// Oracle Redwood color palette +const REDWOOD_PRIMARY = "#161513"; // Oracle Black +const REDWOOD_RED = "#C74634"; // Oracle Red +const REDWOOD_ACCENT = "#8B5D33"; // Warm brown + +// Color palette for tool nodes - filled with low opacity, border at full opacity +const TOOL_COLORS = [ + { border: "#C74634", fill: "rgba(199, 70, 52, 0.08)", icon: "#C74634" }, // Oracle Red + { border: "#8B5D33", fill: "rgba(139, 93, 51, 0.08)", icon: "#8B5D33" }, // Warm brown + { border: "#5C5650", fill: "rgba(92, 86, 80, 0.08)", icon: "#5C5650" }, // Dark gray-brown + { border: "#6B8E23", fill: "rgba(107, 142, 35, 0.08)", icon: "#6B8E23" }, // Olive green + { border: "#4682B4", fill: "rgba(70, 130, 180, 0.08)", icon: "#4682B4" }, // Steel blue + { border: "#A0522D", fill: "rgba(160, 82, 45, 0.08)", icon: "#A0522D" }, // Sienna +]; + +// Central model node - simple and clean design +function ModelNode({ data }) { + return ( + + {/* Handles on all sides */} + + + + + + {/* Main square with rounded corners - red theme */} + + + + {data.label} + + + + ); +} + +// Tool node with colorful styling - filled with low opacity, border at full opacity +function ToolNode({ data }) { + const Icon = getToolIcon(data.serverId, data.label); + const color = TOOL_COLORS[data.colorIndex % TOOL_COLORS.length]; + + return ( + + {/* Handles on all sides */} + + + + + + {/* Main circle - filled with low opacity, border at full opacity */} + + + + {data.label} + + + + ); +} + +// Custom animated edge with dashed line +function AnimatedEdge({ id, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, data }) { + const [edgePath] = getBezierPath({ + sourceX, + sourceY, + sourcePosition, + targetX, + targetY, + targetPosition, + curvature: 0.25, + }); + + const color = data?.color || "#D1D5DB"; + const delay = data?.delay || 0; + + return ( + <> + {/* Main dashed path with fade-in animation */} + + + + + ); +} + +const nodeTypes = { model: ModelNode, tool: ToolNode }; +const edgeTypes = { animated: AnimatedEdge }; + +// Helper to get the best handle based on angle +function getHandles(angle) { + const a = ((angle % 360) + 360) % 360; + if (a >= 315 || a < 45) return { source: "right", target: "left" }; + if (a >= 45 && a < 135) return { source: "bottom", target: "top" }; + if (a >= 135 && a < 225) return { source: "left", target: "right" }; + return { source: "top", target: "bottom" }; +} + +export default function ArchitectureDiagram({ selectedModel }) { + const [enabledTools, setEnabledTools] = useState([]); + const [servers, setServers] = useState([]); + const [sessionDisabledServers, setSessionDisabledServers] = useState(new Set()); + const hasFittedRef = useRef(false); + const reactFlowInstance = useRef(null); + + const handleInit = useCallback((instance) => { + reactFlowInstance.current = instance; + if (!hasFittedRef.current) { + instance.fitView({ padding: 0.4, maxZoom: 1 }); + hasFittedRef.current = true; + } + }, []); + + useEffect(() => { + const refresh = () => { + setEnabledTools(MCPService.getEnabledTools()); + setServers(MCPService.getServers()); + }; + + const handleSessionChange = (e) => { + const disabled = e.detail?.disabledServers || []; + setSessionDisabledServers(new Set(disabled)); + }; + + refresh(); + + // Refresh when window gains focus (user returns from settings) + window.addEventListener("focus", refresh); + // Refresh on storage changes (cross-tab) + window.addEventListener("storage", refresh); + // Refresh on custom event from ToolsTab (same window) + window.addEventListener("mcp-tools-changed", refresh); + // Listen for session toggle changes from ChatInput + window.addEventListener("mcp-session-changed", handleSessionChange); + + return () => { + window.removeEventListener("focus", refresh); + window.removeEventListener("storage", refresh); + window.removeEventListener("mcp-tools-changed", refresh); + window.removeEventListener("mcp-session-changed", handleSessionChange); + }; + }, []); + + const uniqueServers = useMemo( + () => [...new Set(enabledTools.map((t) => t.split(":")[0]))] + .filter(serverId => !sessionDisabledServers.has(serverId)), + [enabledTools, sessionDisabledServers] + ); + + const modelLabel = selectedModel?.split(".").pop() || "AI Model"; + + const { nodes: initialNodes, edges: initialEdges } = useMemo(() => { + const nodes = []; + const edges = []; + + const centerX = 230; + const centerY = 180; + const radius = 130; + const modelSize = 100; + const toolSize = 70; + + // Model at center + nodes.push({ + id: "model", + type: "model", + position: { x: centerX - modelSize / 2, y: centerY - modelSize / 2 }, + data: { label: modelLabel }, + draggable: false, + }); + + // Tools around + uniqueServers.forEach((serverId, i) => { + const angle = (i * 360) / uniqueServers.length - 90; + const rad = (angle * Math.PI) / 180; + const x = centerX + Math.cos(rad) * radius - toolSize / 2; + const y = centerY + Math.sin(rad) * radius - toolSize / 2; + + const server = servers.find((s) => s.id === serverId); + const toolCount = enabledTools.filter((t) => t.startsWith(serverId)).length; + const handles = getHandles(angle); + const delay = 0.2 + i * 0.15; + + nodes.push({ + id: serverId, + type: "tool", + position: { x, y }, + data: { + label: server?.name || serverId, + serverId, + toolCount, + colorIndex: i, + delay, + }, + draggable: false, + }); + + edges.push({ + id: `e-${serverId}`, + source: "model", + target: serverId, + sourceHandle: handles.source, + targetHandle: handles.target, + type: "animated", + data: { color: "#D1D5DB", delay: delay + 1 }, + }); + }); + + return { nodes, edges }; + }, [modelLabel, uniqueServers, servers, enabledTools]); + + const [nodes, setNodes, onNodesChange] = useNodesState(initialNodes); + const [edges, setEdges, onEdgesChange] = useEdgesState(initialEdges); + + useEffect(() => { + setNodes(initialNodes); + setEdges(initialEdges); + }, [initialNodes, initialEdges, setNodes, setEdges]); + + return ( + + + + + + ); +} diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/chat/ChatInput.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/chat/ChatInput.js new file mode 100644 index 000000000..8ff30a3fc --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/chat/ChatInput.js @@ -0,0 +1,1159 @@ +"use client"; + +import { KeyboardReturn } from "@mui/icons-material"; +import { Badge, Box, Chip, IconButton, ListSubheader, Menu, MenuItem, TextField, Tooltip, Typography, Divider, Dialog, DialogContent } from "@mui/material"; +import { ChevronDown, ChevronUp, ChevronRight, Paperclip, ImagePlus, FileText, Wrench, Settings, X, FileText as TextIcon, Search, FileSearch, Database, Plug, Puzzle, Presentation, FolderOpen, Terminal, Brain, Copy, Check, CircleStop } from "lucide-react"; + + +const BrainFreezeIcon = ({ size = 16, color = "currentColor", style }) => ( + + + +); +import { AnimatePresence, motion } from "framer-motion"; +import { useState, useEffect, memo, useCallback, useImperativeHandle, forwardRef, useRef } from "react"; +import { MCPService } from "../../services/mcpService"; +import IOSSwitch from "../ui/IOSSwitch"; +import { withBase } from "../../../lib/withBase"; + +export const TEXT_EXTENSIONS = ['.txt', '.md', '.json', '.js', '.ts', '.jsx', '.tsx', '.css', '.html', '.xml', '.csv', '.log', '.py', '.java', '.c', '.cpp', '.h', '.sql', '.yaml', '.yml', '.sh', '.env']; +const LONG_TEXT_THRESHOLD = 500; + +function CopyButton({ content }) { + const [copied, setCopied] = useState(false); + const handleCopy = () => { + if (!content) return; + navigator.clipboard.writeText(content); + setCopied(true); + setTimeout(() => setCopied(false), 1500); + }; + return ( + + {copied ? : } + + ); +} + +const NATIVE_TOOLS_META = { + native_web_search: { name: "Web Search", icon: Search, color: "#4285F4" }, + native_code_interpreter: { name: "Code Interpreter", icon: Terminal, color: "#10B981" }, + native_rag: { name: "File Search", icon: FileSearch, color: "#8B5CF6" }, + native_text_to_sql: { name: "Text to SQL", icon: Database, color: "#F59E0B" }, +}; + +const DrawioLogoSmall = ({ size = 14, color = "#F08705" }) => ( + + + + + + + + +); + +const ADDON_TOOLS_META = { + addon_drawio: { name: "OCI Draw.io", color: "#F08705", LogoComponent: DrawioLogoSmall }, + addon_sdd: { name: "OCI SDD Generator", color: "#0EA5E9", icon: FileText }, + addon_ppt: { name: "OCI PPT Generator", color: "#EF4444", icon: Presentation }, +}; + +const ChatInput = memo(forwardRef(function ChatInput({ + onSubmit, + onStop, + placeholder, + fontSize, + disabled = false, + isLoading = false, + compact = false, + models, + selectedModel, + onModelChange, + accentColor, + isDarkBg = false, + onAttachmentsChange, +}, ref) { + const iconColor = accentColor || (isDarkBg ? "rgba(255,255,255,0.5)" : "rgba(0, 0, 0, 0.4)"); + const iconOpacity = 1; + const [value, setValue] = useState(""); + const [attachMenuAnchor, setAttachMenuAnchor] = useState(null); + const [toolsMenuAnchor, setToolsMenuAnchor] = useState(null); + const [servers, setServers] = useState([]); + const [sessionDisabledServers, setSessionDisabledServers] = useState(new Set()); + const [attachedImages, setAttachedImages] = useState([]); + const [attachedTexts, setAttachedTexts] = useState([]); + + useEffect(() => { + onAttachmentsChange?.(attachedImages.length + attachedTexts.length); + }, [attachedImages.length, attachedTexts.length, onAttachmentsChange]); + const [textDialogOpen, setTextDialogOpen] = useState(null); + const [imageDialogOpen, setImageDialogOpen] = useState(null); + const [modelMenuAnchor, setModelMenuAnchor] = useState(null); + const localInputRef = useRef(null); + const imageInputRef = useRef(null); + const fileInputRef = useRef(null); + + const [nativeTools, setNativeTools] = useState([]); + const [selectedVsNames, setSelectedVsNames] = useState([]); // [{id, name}] + const [thinkingMenuAnchor, setThinkingMenuAnchor] = useState(null); + const [reasoningEffort, setReasoningEffort] = useState(() => { + if (typeof window !== 'undefined') { + return localStorage.getItem('reasoningEffort') || 'off'; + } + return 'off'; + }); + + // Reasoning-capable model detection + const REASONING_PATTERNS = ['o4-mini', 'gpt-5.4', 'grok-4-reasoning', 'o3', 'o4']; + const isReasoningModel = selectedModel && REASONING_PATTERNS.some(p => selectedModel.includes(p)); + + // Persist reasoning effort + const handleReasoningEffortChange = useCallback((effort) => { + setReasoningEffort(effort); + localStorage.setItem('reasoningEffort', effort); + setThinkingMenuAnchor(null); + }, []); + + // Load enabled servers and native tools + useEffect(() => { + const updateServers = () => { + const allServers = MCPService.getServers().filter(s => s.enabled); + setServers(allServers); + }; + const updateNativeTools = () => { + try { + const stored = localStorage.getItem('nativeToolsEnabled'); + const state = stored ? JSON.parse(stored) : {}; + // Filter out coming-soon tools (native_text_to_sql) + const comingSoon = new Set(['native_text_to_sql']); + setNativeTools(Object.entries(state).filter(([id, v]) => v && !comingSoon.has(id)).map(([id]) => id)); + } catch { setNativeTools([]); } + }; + const updateKnowledge = async () => { + try { + const ids = JSON.parse(localStorage.getItem('ragVectorStoreIds') || '[]'); + if (ids.length === 0) { setSelectedVsNames([]); return; } + const res = await fetch('/api/vector-stores'); + if (res.ok) { + const data = await res.json(); + const vsMap = Object.fromEntries((data.data || []).map(vs => [vs.id, vs.name])); + setSelectedVsNames(ids.map(id => ({ id, name: vsMap[id] || id }))); + } else { + setSelectedVsNames(ids.map(id => ({ id, name: id }))); + } + } catch { setSelectedVsNames([]); } + }; + updateServers(); + updateNativeTools(); + updateKnowledge(); + + const handleStorage = (e) => { + if (e.key === MCPService.STORAGE_KEYS.SERVERS) updateServers(); + if (e.key === 'nativeToolsEnabled') updateNativeTools(); + if (e.key === 'ragVectorStoreIds') updateKnowledge(); + }; + const handleToolsChanged = () => { updateServers(); updateNativeTools(); updateKnowledge(); }; + window.addEventListener('storage', handleStorage); + window.addEventListener('mcp-tools-changed', handleToolsChanged); + return () => { + window.removeEventListener('storage', handleStorage); + window.removeEventListener('mcp-tools-changed', handleToolsChanged); + }; + }, []); + + // Dispatch event when session disabled servers change + useEffect(() => { + window.dispatchEvent(new CustomEvent("mcp-session-changed", { + detail: { disabledServers: Array.from(sessionDisabledServers) } + })); + }, [sessionDisabledServers]); + + // Get file extension from name + const getFileExtension = (name) => { + if (!name) return null; + const match = name.match(/\.([^.]+)$/); + return match ? match[1].toLowerCase() : null; + }; + + // Add text attachment helper + const addTextAttachment = useCallback((content, name = null) => { + setAttachedTexts(prev => { + if (prev.length >= 4) return prev; + return [...prev, { + id: `${Date.now()}-${Math.random().toString(36).slice(2, 11)}`, + name, + ext: getFileExtension(name), + content, + preview: content.slice(0, 200).replace(/\n/g, ' ') + (content.length > 200 ? '...' : ''), + }]; + }); + }, []); + + // Process image files + const processImageFile = useCallback((file) => { + const reader = new FileReader(); + reader.onload = (event) => { + setAttachedImages(prev => [...prev, { + id: `${Date.now()}-${Math.random().toString(36).slice(2, 11)}`, + name: file.name, + type: file.type, + base64: event.target.result, + preview: event.target.result, + }]); + }; + reader.readAsDataURL(file); + }, []); + + // Process text files + const processTextFile = useCallback((file) => { + const reader = new FileReader(); + reader.onload = (event) => { + addTextAttachment(event.target.result, file.name); + }; + reader.readAsText(file); + }, [addTextAttachment]); + + // Process PDF files - extract text content + const processPdfFile = useCallback(async (file) => { + try { + const pdfjsLib = await import('pdfjs-dist'); + pdfjsLib.GlobalWorkerOptions.workerSrc = withBase('/pdf.worker.min.mjs'); + + const arrayBuffer = await file.arrayBuffer(); + const pdf = await pdfjsLib.getDocument({ data: arrayBuffer }).promise; + const textParts = []; + + for (let i = 1; i <= pdf.numPages; i++) { + const page = await pdf.getPage(i); + const content = await page.getTextContent(); + const pageText = content.items.map(item => item.str).join(' '); + if (pageText.trim()) textParts.push(pageText); + } + + const fullText = textParts.join('\n\n'); + if (fullText.trim()) { + addTextAttachment(fullText, file.name); + } else { + // Fallback: no extractable text (scanned PDF) + const sizeKB = (file.size / 1024).toFixed(1); + addTextAttachment(`[PDF sin texto extraíble - ${sizeKB} KB, ${pdf.numPages} páginas]`, file.name); + } + } catch (err) { + console.error('PDF extraction error:', err); + const sizeKB = (file.size / 1024).toFixed(1); + addTextAttachment(`[Error al leer PDF - ${sizeKB} KB]`, file.name); + } + }, [addTextAttachment]); + + // Process XLSX files - extract text content + const processXlsxFile = useCallback(async (file) => { + try { + const XLSX = await import('xlsx'); + const arrayBuffer = await file.arrayBuffer(); + const workbook = XLSX.read(arrayBuffer, { type: 'array' }); + const textParts = []; + + for (const sheetName of workbook.SheetNames) { + const sheet = workbook.Sheets[sheetName]; + const rows = XLSX.utils.sheet_to_json(sheet, { header: 1, defval: '' }); + if (rows.length === 0) continue; + + const lines = rows.map(row => row.join('\t')); + textParts.push(`[${sheetName}]\n${lines.join('\n')}`); + } + + const fullText = textParts.join('\n\n'); + if (fullText.trim()) { + addTextAttachment(fullText, file.name); + } else { + const sizeKB = (file.size / 1024).toFixed(1); + addTextAttachment(`[XLSX sin datos - ${sizeKB} KB, ${workbook.SheetNames.length} hojas]`, file.name); + } + } catch (err) { + console.error('XLSX extraction error:', err); + const sizeKB = (file.size / 1024).toFixed(1); + addTextAttachment(`[Error al leer XLSX - ${sizeKB} KB]`, file.name); + } + }, [addTextAttachment]); + + // Check if file is a text file + const isTextFile = useCallback((file) => { + return file.type.startsWith('text/') || + TEXT_EXTENSIONS.some(ext => file.name.toLowerCase().endsWith(ext)); + }, []); + + // Check if file is a PDF + const isPdfFile = useCallback((file) => { + return file.type === 'application/pdf' || file.name.toLowerCase().endsWith('.pdf'); + }, []); + + // Check if file is an Excel file + const isXlsxFile = useCallback((file) => { + const xlsxTypes = [ + 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', + 'application/vnd.ms-excel', + ]; + return xlsxTypes.includes(file.type) || + /\.(xlsx|xls)$/i.test(file.name); + }, []); + + // Process files (images, text, PDFs, and XLSX) + const processFiles = useCallback((files) => { + Array.from(files).forEach(file => { + if (file.type.startsWith('image/')) { + processImageFile(file); + } else if (isPdfFile(file)) { + processPdfFile(file); + } else if (isXlsxFile(file)) { + processXlsxFile(file); + } else if (isTextFile(file)) { + processTextFile(file); + } + }); + }, [processImageFile, processPdfFile, processXlsxFile, processTextFile, isPdfFile, isXlsxFile, isTextFile]); + + // Expose methods to parent + useImperativeHandle(ref, () => ({ + focus: () => localInputRef.current?.focus(), + clear: () => { + setValue(""); + setAttachedImages([]); + setAttachedTexts([]); + }, + getValue: () => value, + getSessionActiveServers: () => servers.filter(s => !sessionDisabledServers.has(s.id)).map(s => s.id), + getAttachedImages: () => attachedImages, + getAttachedTexts: () => attachedTexts, + addFiles: (files) => processFiles(files), + })); + + const handleServerToggle = useCallback((serverId) => { + setSessionDisabledServers(prev => { + const next = new Set(prev); + if (next.has(serverId)) { + next.delete(serverId); + } else { + next.add(serverId); + } + return next; + }); + }, []); + + const handleChange = useCallback((e) => setValue(e.target.value), []); + + const handleImageSelect = useCallback((e) => { + processFiles(e.target.files); + e.target.value = ''; + }, [processFiles]); + + const handleRemoveImage = useCallback((imageId) => { + setAttachedImages(prev => prev.filter(img => img.id !== imageId)); + }, []); + + const handleRemoveText = useCallback((textId) => { + setAttachedTexts(prev => prev.filter(t => t.id !== textId)); + }, []); + + // Paste handler - images, files, and long text + const handlePaste = useCallback((e) => { + const items = e.clipboardData?.items; + const files = e.clipboardData?.files; + + // If there are actual files (from drag or file paste), process them with filenames + if (files?.length > 0) { + e.preventDefault(); + processFiles(files); + return; + } + + // Check for image or text file items + if (items) { + for (let i = 0; i < items.length; i++) { + const item = items[i]; + if (item.type.startsWith('image/')) { + e.preventDefault(); + const file = item.getAsFile(); + if (file) processImageFile(file); + return; + } + // Check for text files (e.g., .csv, .txt pasted from file manager) + if (item.kind === 'file' && isTextFile({ type: item.type, name: '' })) { + e.preventDefault(); + const file = item.getAsFile(); + if (file) processTextFile(file); + return; + } + } + } + + // Only treat as plain text paste if no files involved + const pastedText = e.clipboardData.getData('text'); + if (pastedText && pastedText.length >= LONG_TEXT_THRESHOLD) { + e.preventDefault(); + addTextAttachment(pastedText); + } + }, [processImageFile, processFiles, processTextFile, isTextFile, addTextAttachment]); + + const canSubmit = !disabled && (value.length > 0 || attachedImages.length > 0 || attachedTexts.length > 0); + + const handleKeyDown = useCallback((e) => { + if (e.key === "Enter" && !e.shiftKey) { + e.preventDefault(); + if (canSubmit) { + onSubmit(value.trim(), attachedImages, attachedTexts); + setValue(""); + setAttachedImages([]); + setAttachedTexts([]); + } + } + }, [value, attachedImages, attachedTexts, canSubmit, onSubmit]); + + const handleSubmitClick = useCallback(() => { + if (canSubmit) { + onSubmit(value.trim(), attachedImages, attachedTexts); + setValue(""); + setAttachedImages([]); + setAttachedTexts([]); + } + }, [value, attachedImages, attachedTexts, canSubmit, onSubmit]); + + const handleAddPhotos = useCallback(() => { + setAttachMenuAnchor(null); + imageInputRef.current?.click(); + }, []); + + return ( + + {/* Attachments preview */} + + {(attachedImages.length > 0 || attachedTexts.length > 0) && ( + + + {/* Images */} + {attachedImages.length > 0 && ( + + {attachedImages.map(img => ( + setImageDialogOpen(img)} + sx={{ + position: "relative", + width: 80, + height: 80, + flexShrink: 0, + cursor: "pointer", + "&:hover .remove-btn": { opacity: 1 }, + }} + > + + {img.name} + + { e.stopPropagation(); handleRemoveImage(img.id); }} + sx={{ + position: "absolute", + top: -6, + right: -6, + backgroundColor: "rgba(0,0,0,0.6)", + color: "white", + padding: "2px", + opacity: 0, + transition: "opacity 0.15s", + "&:hover": { backgroundColor: "rgba(0,0,0,0.8)" }, + }} + > + + + + ))} + + )} + + {/* Text files */} + {attachedTexts.length > 0 && ( + + {attachedTexts.map(txt => { + // File type styles + const fileStyles = { + csv: { border: "#4CAF50", chip: "rgba(76, 175, 80, 0.15)", chipText: "#2e7d32" }, + json: { border: "#FF9800", chip: "rgba(255, 152, 0, 0.15)", chipText: "#e65100" }, + pdf: { border: "#F44336", chip: "rgba(244, 67, 54, 0.15)", chipText: "#c62828" }, + txt: { border: "#42A5F5", chip: "rgba(66, 165, 245, 0.15)", chipText: "#1976d2" }, + md: { border: "#2196F3", chip: "rgba(33, 150, 243, 0.15)", chipText: "#1565c0" }, + xlsx: { border: "#217346", chip: "rgba(33, 115, 70, 0.15)", chipText: "#145a32" }, + xls: { border: "#217346", chip: "rgba(33, 115, 70, 0.15)", chipText: "#145a32" }, + sql: { border: "#9C27B0", chip: "rgba(156, 39, 176, 0.15)", chipText: "#7b1fa2" }, + py: { border: "#3776AB", chip: "rgba(55, 118, 171, 0.15)", chipText: "#2c5f8a" }, + js: { border: "#F7DF1E", chip: "rgba(247, 223, 30, 0.2)", chipText: "#8a7800" }, + ts: { border: "#3178C6", chip: "rgba(49, 120, 198, 0.15)", chipText: "#235a9e" }, + default: { border: "#9E9E9E", chip: "rgba(0,0,0,0.1)", chipText: "rgba(0,0,0,0.5)" }, + }; + const style = fileStyles[txt.ext] || fileStyles.default; + const extLabel = txt.ext || "txt"; + + return ( + setTextDialogOpen(txt)} + sx={{ + position: "relative", + cursor: "pointer", + width: 120, + flexShrink: 0, + mb: "4px", + "&:hover .remove-btn": { opacity: 1 }, + }} + > + {/* Stacked back layer */} + + {/* Main card */} + + + + + {txt.name || "Pasted"} + + + + + {txt.preview} + + + + + {[0.3, 0.5, 0.8].map((o, i) => )} + + + .{extLabel} + + + + { e.stopPropagation(); handleRemoveText(txt.id); }} + sx={{ + position: "absolute", + top: -6, + right: -6, + zIndex: 2, + backgroundColor: style.border, + color: "white", + padding: "2px", + opacity: 0, + transition: "opacity 0.15s", + "&:hover": { backgroundColor: style.chipText }, + }} + > + + + + ); + })} + + )} + + + )} + + + {/* Input row */} + + + + + setAttachMenuAnchor(e.currentTarget)} + sx={{ + color: iconColor, + opacity: 1, + marginTop: "4px", + "&:hover": { backgroundColor: isDarkBg ? "rgba(255,255,255,0.06)" : "rgba(0, 0, 0, 0.04)" }, + }} + size="medium" + > + + + + {/* Model selector (mobile compact mode) */} + {models && onModelChange && ( + <> + + setModelMenuAnchor(e.currentTarget)} + sx={{ + color: iconColor, + opacity: iconOpacity, + "&:hover": { backgroundColor: isDarkBg ? "rgba(255,255,255,0.06)" : "rgba(0, 0, 0, 0.04)" }, + }} + size="medium" + > + + + + setModelMenuAnchor(null)} + PaperProps={{ sx: { maxHeight: 400 } }} + > + {(() => { + const groups = {}; + models.forEach((m) => { + const provider = m.split(".")[0]; + if (!groups[provider]) groups[provider] = []; + groups[provider].push(m); + }); + const providerLabels = { openai: "OpenAI", xai: "xAI", google: "Google", cohere: "Cohere", meta: "Meta" }; + return Object.entries(groups).flatMap(([provider, items]) => [ + + {providerLabels[provider] || provider} + , + ...items.map((m) => ( + { + onModelChange(m); + setModelMenuAnchor(null); + }} + sx={{ fontSize: "0.95rem", pl: 3, display: "flex", alignItems: "center", gap: 1, fontWeight: selectedModel === m ? 600 : 400 }} + > + {m.replace(/^[a-z]+\./, "")} + {m === "xai.grok-4-1-fast-reasoning" && ( + + )} + + )), + ]); + })()} + + + )} + {(() => { + const badgeAppMode = typeof window !== 'undefined' ? (localStorage.getItem('appMode') || 'internal') : 'internal'; + const visibleServers = badgeAppMode === 'client' ? servers.filter(s => !s.isAddon) : servers; + const totalTools = nativeTools.length + visibleServers.length; + return ( + + setToolsMenuAnchor(e.currentTarget)} + sx={{ + color: iconColor, + opacity: iconOpacity, + "&:hover": { backgroundColor: isDarkBg ? "rgba(255,255,255,0.06)" : "rgba(0, 0, 0, 0.04)" }, + }} + size="medium" + > + + + + ); + })()} + {/* Thinking effort selector — only for reasoning models */} + {isReasoningModel && ( + <> + + setThinkingMenuAnchor(e.currentTarget)} + sx={{ + color: iconColor, + opacity: iconOpacity, + "&:hover": { backgroundColor: isDarkBg ? "rgba(255,255,255,0.06)" : "rgba(0, 0, 0, 0.04)" }, + }} + size="medium" + > + + + + + + setThinkingMenuAnchor(null)} + slotProps={{ + paper: { + sx: { + width: 160, + p: 0.5, + backgroundColor: isDarkBg ? "#242424" : "#fff", + color: isDarkBg ? "#e5e5e5" : "#1a1a1a", + border: isDarkBg ? "1px solid rgba(255,255,255,0.08)" : "1px solid rgba(0,0,0,0.08)", + }, + }, + }} + > + + Thinking effort + + {[ + { value: "off", label: "Off", desc: "No thinking, fastest" }, + { value: "low", label: "Low", desc: "Quick, simple tasks" }, + { value: "medium", label: "Medium", desc: "Balanced (default)" }, + { value: "high", label: "High", desc: "Complex reasoning" }, + ].map(opt => ( + handleReasoningEffortChange(opt.value)} + sx={{ + fontSize: "0.85rem", + borderRadius: 1, + mx: 0.5, + display: "flex", + flexDirection: "column", + alignItems: "flex-start", + py: 0.75, + color: isDarkBg ? "#e5e5e5" : "#1a1a1a", + "&:hover": { backgroundColor: isDarkBg ? "rgba(255,255,255,0.06)" : "rgba(0,0,0,0.04)" }, + "&.Mui-selected": { backgroundColor: isDarkBg ? "rgba(255,255,255,0.08)" : "rgba(0,0,0,0.06)" }, + "&.Mui-selected:hover": { backgroundColor: isDarkBg ? "rgba(255,255,255,0.12)" : "rgba(0,0,0,0.08)" }, + }} + > + + {opt.label} + + + {opt.desc} + + + ))} + + + )} + + + {isLoading ? ( + + ) : ( + + )} + + + + {/* Hidden file inputs */} + + { processFiles(e.target.files); e.target.value = ''; }} + style={{ display: "none" }} + /> + + {/* Attach menu */} + setAttachMenuAnchor(null)} + > + + + Add photos + + { setAttachMenuAnchor(null); fileInputRef.current?.click(); }} sx={{ fontSize: "0.9rem", gap: 1 }}> + + Add files + + + + {/* Tools menu */} + setToolsMenuAnchor(null)} + slotProps={{ + paper: { + sx: { + width: 200, + p: 1, + pb: 0.5, + backgroundColor: isDarkBg ? "#242424" : "#fff", + color: isDarkBg ? "#e5e5e5" : "#1a1a1a", + border: isDarkBg ? "1px solid rgba(255,255,255,0.08)" : "1px solid rgba(0,0,0,0.08)", + }, + }, + }} + > + {(() => { + const isBrowser = typeof window !== 'undefined'; + const currentAppMode = isBrowser ? (localStorage.getItem('appMode') || 'internal') : 'internal'; + const isClientMode = currentAppMode === 'client'; + const addonEnabled = (() => { if (!isBrowser) return {}; try { return JSON.parse(localStorage.getItem('addonToolsEnabled') || '{}'); } catch { return {}; } })(); + const addonServers = isClientMode ? [] : servers.filter(s => s.isAddon && addonEnabled[s.id] !== false); + const customServers = servers.filter(s => !s.isNative && !s.isAddon); + const ragEnabled = nativeTools.includes('native_rag') && selectedVsNames.length > 0; + const hasAny = nativeTools.length > 0 || addonServers.length > 0 || customServers.length > 0; + + if (!hasAny) { + return ( + + No tools active + + ); + } + + const ToolChip = ({ icon, label, color, bg, textColor }) => { + const resolvedBg = bg || (isDarkBg ? `${color}22` : `${color}12`); + const resolvedText = textColor || (isDarkBg ? "#e5e5e5" : color); + return ( + + {icon} + {label} + + ); + }; + + const SectionLabel = ({ label }) => ( + + {label} + + ); + + const sections = []; + + if (nativeTools.length > 0) { + sections.push( + + + {nativeTools.map(id => { + const meta = NATIVE_TOOLS_META[id]; + if (!meta) return null; + const Icon = meta.icon; + return } label={meta.name} color={meta.color} />; + })} + + ); + } + + if (addonServers.length > 0) { + sections.push( + + + {addonServers.map(server => { + const meta = ADDON_TOOLS_META[server.id]; + const color = meta?.color || "#6B7280"; + const iconColor = meta?.textColor || color; + const icon = meta?.LogoComponent + ? + : meta?.icon + ? + : ; + return ; + })} + + ); + } + + if (ragEnabled) { + sections.push( + + + {selectedVsNames.map(vs => ( + } label={vs.name} color="#8B5CF6" /> + ))} + + ); + } + + if (customServers.length > 0) { + sections.push( + + + {customServers.map(server => ( + } label={server.name} color="#6B7280" /> + ))} + + ); + } + + return sections.map((section, i) => ( + + {i > 0 && } + {section} + + )); + })()} + + { + setToolsMenuAnchor(null); + window.location.href = '/settings/tools'; + }} + sx={{ + fontSize: "0.8rem", + gap: 1, + py: 0.5, + minHeight: "auto", + borderRadius: 1, + color: isDarkBg ? "#e5e5e5" : "#1a1a1a", + "&:hover": { backgroundColor: isDarkBg ? "rgba(255,255,255,0.06)" : "rgba(0,0,0,0.04)" }, + }} + > + + Manage tools + + + + + + {/* Text preview dialog */} + setTextDialogOpen(null)} + maxWidth="md" + fullWidth + slotProps={{ + paper: { sx: { borderRadius: 2, maxHeight: "80vh" } } + }} + > + + + + + {textDialogOpen?.name || "Pasted content"} + + + {textDialogOpen?.content && ( + <> + {(new Blob([textDialogOpen.content]).size / 1024).toFixed(2)} KB • {textDialogOpen.content.split('\n').length.toLocaleString()} lines + + )} + + + + + setTextDialogOpen(null)}> + + + + + + + + {textDialogOpen?.content} + + + + + + + {/* Image preview dialog */} + setImageDialogOpen(null)} + maxWidth="lg" + slotProps={{ + paper: { sx: { borderRadius: 2, backgroundColor: "rgba(0,0,0,0.9)" } } + }} + > + + setImageDialogOpen(null)} + sx={{ + position: "absolute", + top: 8, + right: 8, + backgroundColor: "rgba(255,255,255,0.1)", + color: "white", + zIndex: 1, + "&:hover": { backgroundColor: "rgba(255,255,255,0.2)" }, + }} + > + + + {imageDialogOpen && ( + {imageDialogOpen.name} + )} + + + + ); +})); + +export default ChatInput; diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/chat/ChatMessage.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/chat/ChatMessage.js new file mode 100644 index 000000000..8917ea40b --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/chat/ChatMessage.js @@ -0,0 +1,2174 @@ +"use client"; + +import { memo, useMemo, useState, useEffect, useRef } from "react"; +import { Close as CloseIcon } from "@mui/icons-material"; +import { + Box, + Button, + Chip, + CircularProgress, + Collapse, + Dialog, + DialogContent, + IconButton, + Paper, + Stack, + Tooltip, + Typography, +} from "@mui/material"; +import { motion, AnimatePresence } from "framer-motion"; +import Image from "next/image"; +import { Check, Copy, ChevronDown as ChevronDownIcon, Code, FileText, X, Brain, Terminal, RotateCcw } from "lucide-react"; +import ReactMarkdown from "react-markdown"; +import remarkGfm from "remark-gfm"; +import JsonView from "@uiw/react-json-view"; + +import Sources from "../agent/Sources"; +import DotMatrixLoader from "../ui/DotMatrixLoader"; +import CostBenefitChart from "../charts/CostBenefitChart"; +import ProcessDiagram from "../charts/ProcessDiagram"; +import RadarChart from "../charts/RadarChart"; +import ScatterChart from "../charts/ScatterChart"; +import ProgressTracker from "../demo/ProgressTracker"; +import SupplierCard from "../demo/SupplierCard"; +import DustReveal from "../ui/DustReveal"; +import DynamicChip from "../ui/DynamicChip"; +import InteractiveChoice from "../ui/InteractiveChoice"; +import TypingEffect from "../ui/TypingEffect"; +import CitationCard from "../ui/CitationCard"; +import { Widget, WidgetV2 } from "../widgets"; +import { serializeWidgetV2Tree } from "../../utils/widgetV2Parser"; +import { groupMessages } from "../../utils/messageUtils"; +import { AlertTriangle, Mail, ChevronDown, KeyRound } from "lucide-react"; + +// Friendly names for OCI internal tools +const OCI_INTERNAL_LABELS = { + oci_internal_search_memory: 'Memory', +}; + +// Format tool names: "text_to_speech" -> "Text to speech" +const formatToolName = (name) => { + if (!name) return name; + if (OCI_INTERNAL_LABELS[name]) return OCI_INTERNAL_LABELS[name]; + return name + .replace(/_/g, ' ') + .replace(/-/g, ' ') + .replace(/\b\w/, c => c.toUpperCase()); +}; + +// Copy to clipboard button with check feedback +function CopyTextButton({ content }) { + const [copied, setCopied] = useState(false); + const handleCopy = () => { + if (!content) return; + navigator.clipboard.writeText(content); + setCopied(true); + setTimeout(() => setCopied(false), 1500); + }; + return ( + + {copied ? : } + + ); +} + +// Bouncing dots animation for in-progress reasoning +function BouncingDots() { + return ( + + {[0, 1, 2].map(i => ( + + ))} + + ); +} + +// Reasoning summary block — matches mcp_chip_row style with staged entrance. +function ReasoningBlock({ text, done }) { + const [isOpen, setIsOpen] = useState(false); + const isStreaming = !done; + return ( + + + setIsOpen(!isOpen)} + sx={{ + display: "inline-flex", + alignItems: "center", + gap: 1, + px: 1.5, + py: 0.75, + borderRadius: "16px", + backgroundColor: isOpen ? "var(--dm-subtle, rgba(0, 0, 0, 0.08))" : "var(--dm-subtle, rgba(0, 0, 0, 0.04))", + border: "1px solid var(--dm-border, rgba(0, 0, 0, 0.15))", + fontFamily: "var(--font-exo2), sans-serif", + fontSize: "0.8rem", + color: "var(--dm-muted, rgba(0, 0, 0, 0.6))", + transition: "all 0.2s ease", + cursor: "pointer", + userSelect: "none", + "&:hover": { + backgroundColor: "var(--dm-subtle, rgba(0, 0, 0, 0.08))", + transform: "scale(1.03)", + }, + }} + > + + Reasoning + {isStreaming ? ( + + ) : ( + + )} + + + + {isOpen && ( + + + + {text} + + + + )} + + + ); +} + +// Code execution block — matches mcp_chip_row style with staged entrance. +// Supports streaming states: writing / interpreting / completed. +function CodeExecutionBlock({ code, output, status }) { + const isActive = status === 'writing' || status === 'in_progress' || status === 'interpreting'; + const isDone = status === 'completed' || !!output; + // Auto-expand while active so the user sees streaming code. Collapse when done. + const [userOpened, setUserOpened] = useState(null); // null = follow auto, true/false = user override + const autoOpen = isActive; + const isOpen = userOpened == null ? autoOpen : userOpened; + + const label = status === 'writing' ? 'Writing code…' + : status === 'interpreting' ? 'Executing…' + : status === 'in_progress' ? 'Starting…' + : 'Code executed'; + + return ( + + + setUserOpened(!isOpen)} + sx={{ + display: "inline-flex", + alignItems: "center", + gap: 1, + px: 1.5, + py: 0.75, + borderRadius: "16px", + backgroundColor: isOpen ? "var(--dm-subtle, rgba(0, 0, 0, 0.08))" : "var(--dm-subtle, rgba(0, 0, 0, 0.04))", + border: "1px solid var(--dm-border, rgba(0, 0, 0, 0.15))", + fontFamily: "var(--font-exo2), sans-serif", + fontSize: "0.8rem", + color: "var(--dm-muted, rgba(0, 0, 0, 0.6))", + transition: "all 0.2s ease", + cursor: "pointer", + userSelect: "none", + "&:hover": { + backgroundColor: "var(--dm-subtle, rgba(0, 0, 0, 0.08))", + transform: "scale(1.03)", + }, + }} + > + + {label} + {isActive ? : ( + + )} + + + + {isOpen && ( + + + + + {code} + + + {output && ( + + + Output + + + {output} + + + )} + + + )} + + + ); +} + +// Collapsible user message component +function CollapsibleUserMessage({ text, fontSize, isLatest }) { + const [isExpanded, setIsExpanded] = useState(false); + const [hasAnimated, setHasAnimated] = useState(false); + const isLongMessage = text.length > 150; + + const textStyles = { + color: "inherit", + fontSize: fontSize, + fontWeight: "100", + lineHeight: isLatest ? 2 : 1.6, + }; + + // Mark animation as complete after initial render + useEffect(() => { + if (isLatest && !hasAnimated) { + const timer = setTimeout(() => setHasAnimated(true), 1000); + return () => clearTimeout(timer); + } + }, [isLatest, hasAnimated]); + + if (!isLongMessage) { + return isLatest ? ( + + ) : ( + {text} + ); + } + + const clampStyles = { + display: "-webkit-box", + WebkitLineClamp: 2, + WebkitBoxOrient: "vertical", + overflow: "hidden", + }; + + return ( + setIsExpanded(!isExpanded)} + sx={{ cursor: "pointer" }} + > + {isLatest && !hasAnimated ? ( + + ) : ( + + {text} + + )} + + + + + ); +} + +const TYPING_SPEED = 8; + +// Component to render mailto links as buttons +function MailtoButton({ href, children }) { + const handleClick = () => { + window.location.href = href; + }; + + return ( + + ); +} + +// Custom link component that opens in new tab +const MarkdownLink = ({ href, children }) => ( +
+ {children} + +); + +// Markdown components config - defined at module level for reuse +const markdownComponents = { + a: MarkdownLink, +}; + +// Preprocess text to extract mailto links and render them separately +function TextWithMailto({ content }) { + // Check if content contains mailto: links + const mailtoRegex = /(mailto:[^\s\]]+)/g; + const matches = content.match(mailtoRegex); + + if (!matches) { + return {content}; + } + + // Split content by mailto links + const parts = content.split(mailtoRegex); + + return ( + <> + {parts.map((part, index) => { + if (part.startsWith("mailto:")) { + return ; + } + return part ? ( + + {part} + + ) : null; + })} + + ); +} + +// Renders the expanded chip content with all its variants +function ChipExpandedContent({ activeChip }) { + if (!activeChip) return null; + + const { content, label } = activeChip; + + return ( + <> + + {label} + + + {typeof content === "string" ? ( + + {content} + + ) : content?.citations !== undefined ? ( + // Retrieval trace with citations + + + {content.description} + + {content.query && ( + + + Search Query: + + + "{content.query}" + + + )} + {content.citations?.length > 0 && ( + + + Sources Found ({content.citations.length}): + + + {content.citations.map((citation, idx) => ( + + ))} + + + )} + + ) : content?.description !== undefined || content?.details ? ( + + + {content.description} + + {content.details ? ( + + {content.details.input && ( + + Input: + + "{content.details.input}" + + + )} + {content.details.output && ( + + Output: + + + )} + {content.details.toolName && ( + + Tool Details: + + Tool: {content.details.toolName} + {content.details.invocation && ( + + Invocation: + { + try { + return JSON.parse(content.details.invocation); + } catch { + return { raw: content.details.invocation }; + } + })()} + collapsed={false} + style={{ backgroundColor: "rgba(0,0,0,0.02)", fontSize: "12px", padding: "8px", borderRadius: "4px" }} + /> + + )} + + + )} + + ) : ( + + )} + + ) : ( + + + + )} + + ); +} + +// Parses and renders action/observation output +function ActionObservationOutput({ output }) { + const sections = []; + const actionRegex = /Action:\s*```\s*([\s\S]*?)\s*```/g; + let lastIndex = 0; + let match; + + while ((match = actionRegex.exec(output)) !== null) { + const textBefore = output.substring(lastIndex, match.index).trim(); + if (textBefore?.startsWith("Observation:")) { + sections.push({ type: "observation", content: textBefore.replace("Observation:", "").trim() }); + } + sections.push({ type: "action", content: match[1] }); + lastIndex = match.index + match[0].length; + } + + const remaining = output.substring(lastIndex).trim(); + if (remaining) { + if (remaining.startsWith("Observation:")) { + sections.push({ type: "observation", content: remaining.replace("Observation:", "").trim() }); + } else { + sections.push({ type: "text", content: remaining }); + } + } + + return ( + + {sections.map((section, index) => ( + + {section.type === "action" && ( + <> + Action: + { + try { + return JSON.parse(section.content); + } catch { + return { error: "Invalid JSON", raw: section.content }; + } + })()} + collapsed={false} + style={{ backgroundColor: "rgba(0,0,0,0.02)", fontSize: "12px", padding: "8px", borderRadius: "4px" }} + /> + + )} + {section.type === "observation" && ( + <> + Observation: + + {section.content} + + + )} + {section.type === "text" && ( + + {section.content} + + )} + + ))} + + ); +} + +const MIN_DISPLAY_TIME = 1000; // Minimum time to show loading/thinking indicators + +const ChatMessage = memo(function ChatMessage({ + exchange, + exchangeIndex, + latestMessageRef, + contentFontSizes, + activeChips, + onChipChange, + copiedId, + onCopy, + getCopyContent, + onWidgetSubmit, + onOptionSelect, + onRetry, + isLoading, +}) { + const [textDialogOpen, setTextDialogOpen] = useState(null); + const [imageDialogOpen, setImageDialogOpen] = useState(null); + const [showRaw, setShowRaw] = useState(false); + const [traceDialogOpen, setTraceDialogOpen] = useState(false); + + // Single unified indicator: dots show continuously from loading through thinking. + // "Thinking..." label fades in when thinking message arrives — no gap, no flicker. + const [showIndicator, setShowIndicator] = useState(false); + const indicatorStartRef = useRef(null); + + // Content is ready when indicator is not showing or content already exists + const hasContent = exchange.responses.some(r => (r.type === "text" && r.content) || r.type === "widget" || r.type === "widget_v2" || r.type === "generated_image"); + const contentReady = !showIndicator || hasContent; + + // Compute grouping at render time instead of storing in state + const groupedResponses = useMemo(() => { + const groups = groupMessages(exchange.responses); + const sourcesGroups = groups.filter(g => g.type === 'sources'); + if (sourcesGroups.length > 0) console.log('[ChatMessage] Sources groups found:', sourcesGroups.length, sourcesGroups); + return groups; + }, [exchange.responses]); + + const getRawContent = () => { + return groupedResponses.map(group => { + if (group.type === "text") return group.content; + if (group.type === "widget" && group.widgetProps) { + const entries = Object.entries(group.widgetProps).map(([k, v]) => `${k}:${v}`).join('|'); + return `§§${entries}§§`; + } + if (group.type === "widget_v2" && group.tree) { + return `@@widget\n${serializeWidgetV2Tree(group.tree)}\n@@`; + } + return ""; + }).filter(Boolean).join("\n"); + }; + + // Conditions from props/exchange + const isInitialLoading = exchange.isLatest && isLoading && exchange.responses.length === 0; + const hasThinkingMessage = exchange.isLatest && exchange.responses.some(r => r.type === "thinking"); + const hasCallingChips = exchange.isLatest && exchange.responses.some(r => r.type === "mcp_chip" && r.status === "calling"); + // Detect gap after tool completion: chips are done but no text has arrived yet + const waitingAfterTools = exchange.isLatest && isLoading && + exchange.responses.some(r => r.type === "mcp_chip" && r.status === "completed") && + !exchange.responses.some(r => (r.type === "text" && r.content) || r.type === "widget" || r.type === "widget_v2"); + // Show indicator when loading/thinking, or waiting after tool call — but not while chips are actively calling + const shouldShowIndicator = (isInitialLoading || hasThinkingMessage || waitingAfterTools) && !hasCallingChips; + + useEffect(() => { + if (shouldShowIndicator && !showIndicator) { + indicatorStartRef.current = Date.now(); + setShowIndicator(true); + } else if (!shouldShowIndicator && showIndicator) { + // Calling chips skip MIN_DISPLAY_TIME — the chip IS the progress indicator + if (hasCallingChips) { + setShowIndicator(false); + return; + } + const elapsed = Date.now() - (indicatorStartRef.current || 0); + const remaining = MIN_DISPLAY_TIME - elapsed; + if (remaining > 0) { + const timer = setTimeout(() => setShowIndicator(false), remaining); + return () => clearTimeout(timer); + } else { + setShowIndicator(false); + } + } + }, [shouldShowIndicator, showIndicator, hasCallingChips]); + + return ( + + {/* User message */} + + + {exchange.widgetResponse ? null : ( + <> + {/* Attached images (current session) */} + {exchange.attachedImages && exchange.attachedImages.length > 0 && ( + + {exchange.attachedImages.map((img, idx) => ( + setImageDialogOpen(img)} + sx={{ + width: 80, + height: 80, + borderRadius: 1, + overflow: "hidden", + border: "1px solid rgba(0,0,0,0.1)", + cursor: "pointer", + "&:hover": { border: "1px solid rgba(0,0,0,0.25)" }, + }} + > + {img.name + + ))} + + )} + {/* Image placeholder (loaded from history) */} + {exchange.hasImageAttachment && !exchange.attachedImages && ( + + {Array.from({ length: exchange.imageCount || 1 }).map((_, idx) => ( + + 🖼️ + + ))} + + )} + {/* Attached texts */} + {exchange.attachedTexts && exchange.attachedTexts.length > 0 && ( + + {exchange.attachedTexts.map((txt, idx) => { + const fileStyles = { + csv: { border: "#4CAF50", chip: "rgba(76, 175, 80, 0.15)", chipText: "#2e7d32" }, + json: { border: "#FF9800", chip: "rgba(255, 152, 0, 0.15)", chipText: "#e65100" }, + pdf: { border: "#F44336", chip: "rgba(244, 67, 54, 0.15)", chipText: "#c62828" }, + txt: { border: "#42A5F5", chip: "rgba(66, 165, 245, 0.15)", chipText: "#1976d2" }, + md: { border: "#2196F3", chip: "rgba(33, 150, 243, 0.15)", chipText: "#1565c0" }, + sql: { border: "#9C27B0", chip: "rgba(156, 39, 176, 0.15)", chipText: "#7b1fa2" }, + py: { border: "#3776AB", chip: "rgba(55, 118, 171, 0.15)", chipText: "#2c5f8a" }, + js: { border: "#F7DF1E", chip: "rgba(247, 223, 30, 0.2)", chipText: "#8a7800" }, + ts: { border: "#3178C6", chip: "rgba(49, 120, 198, 0.15)", chipText: "#235a9e" }, + default: { border: "#9E9E9E", chip: "rgba(0,0,0,0.1)", chipText: "rgba(0,0,0,0.5)" }, + }; + const style = fileStyles[txt.ext] || fileStyles.default; + const extLabel = txt.ext || "txt"; + return ( + setTextDialogOpen(txt)} + sx={{ + position: "relative", + cursor: "pointer", + width: 120, + mb: "4px", + mr: "4px", + }} + > + {/* Stacked back layer */} + + {/* Main card */} + + + + + {txt.name || "Pasted"} + + + + + {txt.preview} + + + + + {[0.3, 0.5, 0.8].map((o, i) => )} + + + .{extLabel} + + + + + ); + })} + + )} + {/* Text message */} + {exchange.userMessage && + !exchange.userMessage.match(/^\[[\d]+ images?\]$/) && + !(exchange.userMessage === '[Pasted content]' && exchange.attachedTexts?.length > 0) && ( + + )} + + )} + + + + {/* Response */} + + + {groupedResponses + .filter(group => { + if (group.type === "thinking") return false; + if (!exchange.isLatest) return true; + if (!contentReady) return ["chipRow", "mcp_chip_row", "mcp_connecting", "reasoning"].includes(group.type); + return true; + }) + .map((group, groupIndex) => ( + + {group.type === "chipRow" && ( + + + {group.chips.map((chip) => { + const chipKey = `${exchangeIndex}-${groupIndex}-${chip.messageIndex}`; + return ( + onChipChange(chipData, chipKey)} + isActive={activeChips[chipKey]?.label === chip.label} + startDelay={0} + /> + ); + })} + + + key.startsWith(`${exchangeIndex}-${groupIndex}-`))}> + + { + const activeChipKey = Object.keys(activeChips).find((key) => + key.startsWith(`${exchangeIndex}-${groupIndex}-`) + ); + if (activeChipKey) onChipChange(null, activeChipKey); + }} + sx={{ + position: "absolute", + top: 8, + right: 8, + padding: 0.5, + color: "var(--dm-muted, rgba(0, 0, 0, 0.4))", + "&:hover": { backgroundColor: "var(--dm-subtle, rgba(0, 0, 0, 0.04))", color: "var(--dm-text, rgba(0, 0, 0, 0.6))" }, + }} + > + + + + key.startsWith(`${exchangeIndex}-${groupIndex}-`)) + ] + } + /> + + + + )} + + {group.type === "text" && ( + + + + + + + )} + + {group.type === "sources" && ( + + )} + + {group.type === "widget" && ( + + + + )} + + {group.type === "widget_v2" && ( + + + + )} + + {group.type === "generated_image" && (() => { + const imgSrc = `data:image/png;base64,${group.content}`; + return ( + + { + const w = window.open(); + w.document.write(``); + w.document.title = "Generated Image"; + }} + sx={{ + cursor: "pointer", + borderRadius: 2, + overflow: "hidden", + border: "1px solid rgba(0,0,0,0.08)", + display: "inline-block", + maxWidth: 512, + transition: "box-shadow 0.2s", + "&:hover": { boxShadow: "0 4px 20px rgba(0,0,0,0.12)" }, + }} + > + {group.revisedPrompt + + {group.revisedPrompt && ( + + {group.revisedPrompt} + + )} + + ); + })()} + + {group.type === "generated_image_placeholder" && ( + + + + + Image generated + + + {group.revisedPrompt && ( + + {group.revisedPrompt} + + )} + + )} + + {group.type === "reasoning" && ( + + )} + + {group.type === "code_execution" && ( + + )} + + {group.type === "error" && group.content === "mcp_auth_expired" && (() => { + // Resolve the failing server LOCALLY from storage so the banner can show + // the right copy and the right action per auth type. No guessing, no alerts. + const sanitize = (name) => { + let l = (name || '').replace(/[^a-zA-Z0-9_-]/g, '_'); + if (!/^[a-zA-Z]/.test(l)) l = 'mcp_' + l; + return l; + }; + let stored = []; + try { + if (typeof window !== 'undefined') { + stored = JSON.parse(localStorage.getItem('mcpServers') || '[]'); + } + } catch {} + const enabled = stored.filter(s => s.enabled !== false && s.endpoint && !s.isNative); + let server = null; + if (group.serverEndpoint) { + server = stored.find(s => s.endpoint === group.serverEndpoint) || null; + } + if (!server && group.serverLabel) { + server = enabled.find(s => sanitize(s.name) === group.serverLabel) || null; + // Also try matching among ALL stored (incl. disabled), in case the user + // disabled it after the error + if (!server) server = stored.find(s => sanitize(s.name) === group.serverLabel) || null; + } + if (!server && enabled.length === 1) { + server = enabled[0]; + } + if (typeof window !== 'undefined' && !window.__mcp_banner_logged) { + window.__mcp_banner_logged = true; + console.log('[mcp banner]', { + serverLabel: group.serverLabel, + serverEndpoint: group.serverEndpoint, + serverAuthType: group.serverAuthType, + resolved: server?.name || null, + enabledCount: enabled.length, + storedCount: stored.length, + }); + } + + const displayName = (server && server.name) || group.serverLabel || 'MCP connector'; + const authType = server?.authType || group.serverAuthType || null; + + // Per-authType copy + action + let title; + let description; + let buttonLabel; + let onClickAction; + const returnTo = typeof window !== 'undefined' ? window.location.pathname + window.location.search : '/'; + const openOAuth = () => { window.location.href = `/api/mcp/oauth/authorize?endpoint=${encodeURIComponent(server.endpoint)}&returnTo=${encodeURIComponent(returnTo)}`; }; + const openSettings = () => { window.location.href = server ? `/settings/tools?focus=${encodeURIComponent(server.id)}` : '/settings/tools'; }; + + if (authType === 'oauth2.1') { + title = `Authorization needed — ${displayName}`; + description = `Sign in to "${displayName}" to grant access. After authorizing you'll return here.`; + buttonLabel = 'Authorize'; + onClickAction = openOAuth; + } else if (authType === 'oauth2') { + title = `${displayName} is unreachable`; + description = `The OAuth 2.0 token was obtained, but the upstream server rejected the request. This is usually a temporary issue or a server-side bug. You can disable the tool or verify its configuration.`; + buttonLabel = 'Open in Settings'; + onClickAction = openSettings; + } else if (authType === 'api-key' || authType === 'bearer') { + title = `${displayName} credential rejected`; + description = `The upstream rejected the ${authType === 'bearer' ? 'bearer token' : 'API key'}. Update it in Settings to fix.`; + buttonLabel = 'Update credential'; + onClickAction = openSettings; + } else if (authType === 'none' || (server && !server.authType)) { + title = `${displayName} is unreachable`; + description = `The MCP server returned an error. This is likely a temporary upstream issue. You can disable the tool or check it later.`; + buttonLabel = 'Open in Settings'; + onClickAction = openSettings; + } else { + title = `${displayName} is unavailable`; + description = `An MCP connector failed. Open Settings to inspect.`; + buttonLabel = 'Open in Settings'; + onClickAction = openSettings; + } + + return ( + + + + {title} + + + {description} + + + + + ); + })()} + + {group.type === "error" && group.content !== "mcp_auth_expired" && (() => { + // Parse tool-model incompatibility errors for a friendly message + const toolModelMatch = group.content?.match(/Tool\(s\)\s*\[([^\]]+)\]\s*are only supported for\s*(.+?)\s*models/i); + // Format tool names: web_search → Web Search + const formatToolName = (name) => name.replace(/_/g, ' ').replace(/\b\w/g, c => c.toUpperCase()); + const friendlyMsg = toolModelMatch ? { + tools: toolModelMatch[1].split(',').map(t => formatToolName(t.trim())).join(', '), + providers: toolModelMatch[2], + } : null; + + return ( + + {friendlyMsg ? ( + <> + + Tool not supported by this model + + + {friendlyMsg.tools} {friendlyMsg.tools.includes(',') ? 'are' : 'is'} only available with {friendlyMsg.providers} models. You can either: + + + • Switch to an {friendlyMsg.providers} model
+ • Disable {friendlyMsg.tools} in Settings → Tools +
+ + ) : ( + <> + + Something went wrong + + + {group.content} + + {(group.opcRequestId || group.model || group.timestamp) && ( + + {group.opcRequestId && opc-request-id: {group.opcRequestId}} + {group.model && model: {group.model}} + {group.timestamp && time: {group.timestamp}} + + )} + {exchange.trace && ( + setTraceDialogOpen(true)} + sx={{ + display: "inline-flex", alignItems: "center", gap: 0.5, + fontSize: "0.7rem", color: "var(--dm-muted, rgba(0,0,0,0.4))", cursor: "pointer", mt: 1, + fontFamily: "var(--font-exo2), sans-serif", + "&:hover": { color: "#1976d2" }, + }} + > + View request trace + + )} + + )} +
+ ); + })()} + + {group.type === "mcp_connecting" && ( + + + + )} + + {group.type === "mcp_chip_row" && (() => { + const rowKey = `mcp-row-${exchangeIndex}-${groupIndex}`; + const selectedChipIndex = activeChips[rowKey]?.chipIndex; + const selectedChip = selectedChipIndex !== undefined ? group.chips[selectedChipIndex] : null; + const hasError = selectedChip?.status === "failed"; + const hasOutput = selectedChip?.output && selectedChip?.status === "completed"; + + // Check if selected chip output contains audioBase64 + let audioBase64 = null; + let outputMessage = null; + if (hasOutput && selectedChip?.output) { + try { + const parsed = JSON.parse(selectedChip.output); + if (parsed.audioBase64) { + audioBase64 = parsed.audioBase64; + outputMessage = parsed.message || (parsed.success ? "Audio generated successfully" : null); + } + } catch (e) { + // Not JSON, that's fine + } + } + + // Find all chips with audio for direct display + const audioChips = group.chips.filter(chip => { + if (chip.output && chip.status === "completed") { + try { + const parsed = JSON.parse(chip.output); + return parsed.audioBase64; + } catch (e) { + return false; + } + } + return false; + }); + + const directAudioList = audioChips.map(chip => { + try { return JSON.parse(chip.output).audioBase64; } catch (e) { return null; } + }).filter(Boolean); + + return ( + + {/* Horizontal scrollable chip row */} + + {group.chips.map((chip, chipIdx) => { + const chipHasOutput = chip.output && chip.status === "completed"; + const chipHasError = chip.status === "failed"; + const isClickable = chipHasOutput || chipHasError; + const isSelected = selectedChipIndex === chipIdx; + + return ( + { + if (isClickable) { + if (isSelected) { + onChipChange(null, rowKey); + } else { + onChipChange({ chipIndex: chipIdx }, rowKey); + } + } + }} + sx={{ + display: "inline-flex", + alignItems: "center", + gap: 1, + px: 1.5, + py: 0.75, + borderRadius: "16px", + flexShrink: 0, + backgroundColor: isSelected + ? (chipHasError ? "rgba(211, 47, 47, 0.15)" : "rgba(76, 175, 80, 0.15)") + : chip.status === "completed" + ? "rgba(76, 175, 80, 0.08)" + : chip.status === "failed" + ? "rgba(211, 47, 47, 0.08)" + : "var(--dm-subtle, rgba(0, 0, 0, 0.04))", + border: isSelected + ? (chipHasError ? "1px solid rgba(211, 47, 47, 0.5)" : "1px solid rgba(76, 175, 80, 0.5)") + : chip.status === "completed" + ? "1px solid rgba(76, 175, 80, 0.3)" + : chip.status === "failed" + ? "1px solid rgba(211, 47, 47, 0.3)" + : "1px solid var(--dm-border, rgba(0, 0, 0, 0.1))", + fontFamily: "var(--font-exo2), sans-serif", + fontSize: "0.8rem", + color: chip.status === "completed" + ? "#2e7d32" + : chip.status === "failed" + ? "#c62828" + : "var(--dm-muted, rgba(0, 0, 0, 0.6))", + transition: "all 0.2s ease", + cursor: isClickable ? "pointer" : "default", + userSelect: "none", + "&:hover": isClickable + ? { + backgroundColor: chipHasError ? "rgba(211, 47, 47, 0.12)" : "rgba(76, 175, 80, 0.12)", + transform: "scale(1.03)", + } + : {}, + }} + > + + {chip.status === "completed" ? ( + + + + ) : chip.status === "failed" ? ( + + + + ) : ( + + + + )} + + {(() => { + const showCompleted = (chip.status === "completed" || chip.status === "failed") && chip.tool; + if (!showCompleted) return chip.label; + const baseName = formatToolName(chip.tool); + if (chip.tool === 'file_search') { + let queries = []; + try { queries = chip.arguments ? (JSON.parse(chip.arguments).queries || []) : []; } catch {} + const parts = [baseName]; + if (queries.length === 1) { + const q = queries[0]; + parts.push(`"${q.length > 40 ? q.slice(0, 40) + '…' : q}"`); + } else if (queries.length > 1) { + parts.push(`${queries.length} searches`); + } + if (typeof chip.chunkCount === 'number' && chip.chunkCount > 0) { + parts.push(`${chip.chunkCount} chunk${chip.chunkCount === 1 ? '' : 's'}`); + } + return parts.join(' · '); + } + return baseName; + })()} + {isClickable && ( + + )} + + ); + })} + + + {/* Shared content panel */} + + + onChipChange(null, rowKey)} + sx={{ + position: "absolute", + top: -10, + right: -10, + padding: 0.5, + backgroundColor: "var(--dm-surface, white)", + border: "1px solid var(--dm-border, rgba(0, 0, 0, 0.1))", + color: "var(--dm-muted, rgba(0, 0, 0, 0.4))", + "&:hover": { backgroundColor: "var(--dm-subtle, rgba(0, 0, 0, 0.04))", color: "var(--dm-text, rgba(0, 0, 0, 0.6))" }, + }} + > + + + + {selectedChip && ( + + {/* Arguments section */} + {selectedChip.arguments && ( + + + Arguments + + { try { return JSON.parse(selectedChip.arguments); } catch { return { raw: selectedChip.arguments }; } })() + : selectedChip.arguments} + collapsed={1} + displayDataTypes={false} + style={{ + "--w-rjv-color": "var(--dm-text, #212121)", + "--w-rjv-key-string": "var(--dm-text, #212121)", + "--w-rjv-background-color": "transparent", + "--w-rjv-type-string-color": "#4caf50", + "--w-rjv-type-int-color": "#1976d2", + "--w-rjv-type-float-color": "#1976d2", + "--w-rjv-type-boolean-color": "#f57c00", + "--w-rjv-curlybraces-color": "var(--dm-muted, #5c5552)", + "--w-rjv-brackets-color": "var(--dm-muted, #5c5552)", + "--w-rjv-info-color": "var(--dm-muted, #5c5552)", + "--w-rjv-ellipsis-color": "var(--dm-muted, #5c5552)", + fontSize: "0.75rem", + fontFamily: "monospace", + }} + /> + + )} + + {/* Output or Error section */} + + + {hasError ? "Error" : "Output"} + + {hasError && ( + + + {selectedChip.error || selectedChip.output || "Tool execution failed"} + + {exchange.trace && ( + setTraceDialogOpen(true)} + sx={{ + display: "inline-flex", + alignItems: "center", + gap: 0.5, + fontSize: "0.7rem", + color: "var(--dm-muted, rgba(0,0,0,0.45))", + cursor: "pointer", + mb: selectedChip.output ? 1 : 0, + "&:hover": { color: "#1976d2" }, + }} + > + + View request trace + + )} + + )} + {hasError && selectedChip.output && selectedChip.output !== selectedChip.error && ( + <> + + Output + + + {selectedChip.output} + + + )} + {!hasError && ( + + {audioBase64 ? ( + + {outputMessage && ( + + {outputMessage} + + )} + + ) : !selectedChip.output ? ( + + No output returned + + ) : (() => { + // Try to parse as JSON for nice rendering + try { + const parsed = JSON.parse(selectedChip.output); + if (typeof parsed === 'object' && parsed !== null) { + return ( + + ); + } + // Parsed to a primitive (string, number, boolean) — render as text + return ( + + {String(parsed)} + + ); + } catch { + // Not JSON, render as markdown + return ( + + {selectedChip.output} + + ); + } + })()} + + )} + + + )} + + + + {/* Show audio players directly when chips have audio output */} + {directAudioList.length > 0 && directAudioList.map((audioBase64, audioIdx) => ( + + + + + ))} + + ); + })()} + + {group.type === "interactive" && ( + + + + )} + + {group.type === "progress_tracker" && } + {/* data_table type removed - tables use WidgetTable via v1 widget system */} + {group.type === "process_diagram" && } + {group.type === "supplier_card" && } + {group.type === "radar_chart" && } + {group.type === "scatter_chart" && } + {group.type === "cost_benefit_chart" && ( + + )} +
+ ))} +
+ + {/* Copy, PDF & Raw debug buttons */} + + {groupedResponses.length > 0 && (!isLoading || !exchange.isLatest) && contentReady && ( + + + + onCopy(getCopyContent(exchange), `exchange-${exchange.id}`)} + size="small" + sx={{ + color: "var(--dm-muted, rgba(0, 0, 0, 0.3))", + padding: 0, + "&:hover": { color: "var(--dm-text, rgba(0, 0, 0, 0.6))", backgroundColor: "transparent" }, + }} + > + {copiedId === `exchange-${exchange.id}` ? : } + + + + setShowRaw(prev => !prev)} + size="small" + sx={{ + color: showRaw ? "var(--dm-text, rgba(0, 0, 0, 0.6))" : "var(--dm-muted, rgba(0, 0, 0, 0.3))", + padding: 0, + "&:hover": { color: "var(--dm-text, rgba(0, 0, 0, 0.6))", backgroundColor: "transparent" }, + }} + > + + + + {exchange.isLatest && onRetry && ( + + onRetry()} + size="small" + sx={{ + color: "var(--dm-muted, rgba(0, 0, 0, 0.3))", + padding: 0, + "&:hover": { color: "var(--dm-text, rgba(0, 0, 0, 0.6))", backgroundColor: "transparent" }, + }} + > + + + + )} + + + )} + + + {/* Raw debug view */} + {showRaw && ( + + onCopy(getRawContent(), `raw-${exchange.id}`)} + sx={{ + position: "absolute", + top: 6, + right: 6, + color: copiedId === `raw-${exchange.id}` ? "var(--dm-text, rgba(0,0,0,0.6))" : "var(--dm-muted, rgba(0,0,0,0.25))", + padding: "3px", + "&:hover": { color: "var(--dm-text, rgba(0,0,0,0.6))", backgroundColor: "var(--dm-subtle, rgba(0,0,0,0.05))" }, + }} + > + {copiedId === `raw-${exchange.id}` ? : } + + + {getRawContent()} + + + )} + + {/* Loading/Thinking indicator — single continuous element */} + + {showIndicator && ( + + + + + {hasThinkingMessage && ( + + + Thinking... + + + )} + + + + )} + +
+ + {/* Text preview dialog */} + setTextDialogOpen(null)} + maxWidth="md" + fullWidth + PaperProps={{ + sx: { + borderRadius: 2, + maxHeight: "80vh", + backgroundColor: "var(--dm-surface, #fff)", + } + }} + > + + {/* Header */} + + + + Pasted content + + + {textDialogOpen?.content && ( + <> + {(new Blob([textDialogOpen.content]).size / 1024).toFixed(2)} KB • {textDialogOpen.content.split('\n').length.toLocaleString()} lines + + )} + + + + + setTextDialogOpen(null)} sx={{ color: "var(--dm-muted, inherit)" }}> + + + + + {/* Content */} + + + + {textDialogOpen?.content} + + + + + + + {/* Image preview dialog */} + setImageDialogOpen(null)} + maxWidth="md" + > + + {imageDialogOpen && ( + {imageDialogOpen.name + )} + + + {/* Request Trace Dialog */} + setTraceDialogOpen(false)} + maxWidth="md" + fullWidth + PaperProps={{ sx: { backgroundColor: "var(--dm-surface, #fff)", borderRadius: 2 } }} + > + + {exchange.trace && (() => { + const t = exchange.trace; + const copyTrace = () => { + const text = JSON.stringify(t, null, 2); + navigator.clipboard.writeText(text); + }; + return ( + + {/* Header */} + + + Request Trace + + + + Copy JSON + + setTraceDialogOpen(false)}> + + + + + + {/* Error banner */} + {t.error && ( + + {t.error} + + )} + + {/* Summary */} + + {[ + ["Request ID", t.requestId], + ["OPC Request ID", t.opcRequestId], + ["Model", t.model], + ["Started", t.startedAt], + ["Duration", t.completion ? `${Math.round(t.completion.elapsed / 1000)}s` : "—"], + ["Status", t.completion?.status || "incomplete"], + ["Output Tokens", t.completion?.outputTokens], + ["Total Tokens", t.completion?.totalTokens], + ].filter(([, v]) => v).map(([label, value]) => ( + + + {label} + + + {value} + + + ))} + + + {/* Tools */} + {Object.keys(t.tools).length > 0 && ( + + + Tool Calls + + {Object.entries(t.tools).map(([id, tool]) => ( + + + + {tool.tool} + + + {tool.server} + + + + {tool.startMs}ms{tool.endMs ? ` → ${tool.endMs}ms` : ""} + + + + ))} + + )} + + {/* Event Timeline */} + + + Event Timeline + + + {t.events.map((ev, i) => ( + + + {ev.ts}ms + + + {ev.type} + {ev.tool ? ` (${ev.tool})` : ""} + {ev.detail ? ` — ${ev.detail}` : ""} + + + ))} + + + + ); + })()} + + +
+ ); +}); + +export default ChatMessage; diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/chat/ChatSidebar.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/chat/ChatSidebar.js new file mode 100644 index 000000000..7d77561dc --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/chat/ChatSidebar.js @@ -0,0 +1,332 @@ +"use client"; + +import { Box, IconButton, Typography } from "@mui/material"; +import { AnimatePresence, motion } from "framer-motion"; +import { Settings, Upload } from "lucide-react"; +import { useRouter } from "next/navigation"; +import BlinkingEye from "../ui/BlinkingEye"; +import { memo, useState, useCallback, useRef, useEffect } from "react"; +import TypingEffect from "../ui/TypingEffect"; +import ScrollableList from "../ui/ScrollableList"; +import OracleLogo from "../ui/OracleLogo"; +import ChatInput, { TEXT_EXTENSIONS } from "./ChatInput"; + +const fontSizes = { xs: "1.5rem", sm: "1.8rem", md: "2rem" }; +const textFieldFontSizes = { xs: "1.1rem", sm: "1.3rem", md: "1.5rem" }; + +const commonTextStyles = { + fontSize: fontSizes, + fontWeight: 300, + textAlign: "left", + lineHeight: 1.4, + margin: 0, +}; + +const ChatSidebar = memo(function ChatSidebar({ + uiSettings, + showTextField, + chatHistoryLength, + inputRef, + onSubmit, + onStop, + recentConversations, + loadingConversations = false, + hasMoreConversations = false, + isLoadingMoreConversations = false, + onLoadMoreConversations, + activeConversationId, + onConversationClick, + onConversationDelete, + onRefreshConversations, + isLoading = false, + width = 30, + selectedModel, + + accentColor = "#C74634", + iconTint, + isDarkBg = false, +}) { + const router = useRouter(); + const [isDragging, setIsDragging] = useState(false); + const [attachmentCount, setAttachmentCount] = useState(0); + const inputWrapperRef = useRef(null); + const dragCounterRef = useRef(0); + + const isValidFile = useCallback((file) => { + return file.type.startsWith('image/') || + file.type.startsWith('text/') || + file.type === 'application/pdf' || + file.type === 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' || + file.type === 'application/vnd.ms-excel' || + file.name.toLowerCase().endsWith('.pdf') || + /\.(xlsx|xls)$/i.test(file.name) || + TEXT_EXTENSIONS.some(ext => file.name.toLowerCase().endsWith(ext)); + }, []); + + const handleDragEnter = useCallback((e) => { + e.preventDefault(); + e.stopPropagation(); + dragCounterRef.current++; + + // Check if dragging files + if (e.dataTransfer?.types?.includes('Files')) { + setIsDragging(true); + } + }, []); + + const handleDragLeave = useCallback((e) => { + e.preventDefault(); + e.stopPropagation(); + dragCounterRef.current--; + if (dragCounterRef.current === 0) { + setIsDragging(false); + } + }, []); + + const handleDragOver = useCallback((e) => { + e.preventDefault(); + e.stopPropagation(); + }, []); + + const handleDrop = useCallback((e) => { + e.preventDefault(); + e.stopPropagation(); + setIsDragging(false); + dragCounterRef.current = 0; + + const files = e.dataTransfer?.files; + if (files?.length > 0 && inputRef?.current?.addFiles) { + // Filter valid files + const validFiles = Array.from(files).filter(isValidFile); + if (validFiles.length > 0) { + inputRef.current.addFiles(validFiles); + inputRef.current.focus(); + } + } + }, [inputRef, isValidFile]); + + return ( + + {/* Drop overlay */} + + {isDragging && ( + + + + Drop files here + + + Images and text files + + + )} + + + {/* Logo */} + + + {/* Welcome message - only shows when no chat history and no attachments */} + + {chatHistoryLength === 0 && attachmentCount === 0 && ( + + + + {(displayedText) => ( + + {displayedText} + + )} + + + {(displayedText) => ( + + {displayedText} + + )} + + + + )} + + + {/* Chat Input */} + + {showTextField && ( + + + + )} + + + {/* Bottom section - Recent conversations + Settings */} + + {/* Recent conversations */} + + { + if (item && item.id) { + onConversationClick(item); + } + }} + onItemDelete={onConversationDelete} + onRefresh={onRefreshConversations} + hasMore={hasMoreConversations} + isLoadingMore={isLoadingMoreConversations} + onLoadMore={onLoadMoreConversations} + /> + + + {/* Settings icon */} + + router.push("/settings")} + sx={{ + color: isDarkBg ? "rgba(255,255,255,0.4)" : "rgba(0, 0, 0, 0.3)", + p: 1, + "&:hover": { + backgroundColor: isDarkBg ? "rgba(255,255,255,0.06)" : "rgba(0, 0, 0, 0.04)", + color: isDarkBg ? "rgba(255,255,255,0.6)" : "rgba(0, 0, 0, 0.5)", + }, + }} + > + + + + + + ); +}); + +export default ChatSidebar; diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/demo/ProgressTracker.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/demo/ProgressTracker.js new file mode 100644 index 000000000..4b76e2e8e --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/demo/ProgressTracker.js @@ -0,0 +1,115 @@ +"use client"; + +import React from 'react'; +import { Box, Typography, Paper, LinearProgress, Chip } from '@mui/material'; +import { CheckCircle2, Clock, Hourglass } from 'lucide-react'; + +const ProgressTracker = ({ data }) => { + const { title, items } = data; + + const getStatusIcon = (status) => { + switch (status) { + case 'received': + return ; + case 'pending': + return ; + default: + return ; + } + }; + + const completedCount = items.filter(item => item.status === 'received').length; + const progressPercentage = (completedCount / items.length) * 100; + + return ( + + + + {title} + + + + + + Progress: {completedCount}/{items.length} responses + + + {Math.round(progressPercentage)}% + + + + + + + + + {items.map((item, index) => ( + + + {getStatusIcon(item.status)} + + + {item.supplier} + + + Response time: {item.responseTime} + + + + + + + + {item.status === 'received' ? 'Quote received' : 'Waiting...'} + + + + ))} + + + + ); +}; + +export default ProgressTracker; \ No newline at end of file diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/demo/SupplierCard.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/demo/SupplierCard.js new file mode 100644 index 000000000..cbed6a804 --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/demo/SupplierCard.js @@ -0,0 +1,225 @@ +"use client"; + +import React from 'react'; +import { + Box, + Typography, + Paper, + Chip, + Grid, + LinearProgress +} from '@mui/material'; +import { + Building2, + Phone, + Mail, + Clock, + Star, + TrendingUp, + ShoppingCart +} from 'lucide-react'; + +const SupplierCard = ({ data }) => { + const { name, orderValue, performance, contact, notes } = data; + + const getStarRating = (rating) => { + const numRating = parseFloat(rating.split('/')[0]); + return Math.floor(numRating); + }; + + return ( + + + + + + + + + {name} + + + } + label={`Order Value: ${orderValue}`} + size="small" + variant="outlined" + sx={{ color: '#666', borderColor: '#ddd', fontSize: '0.75rem' }} + /> + + + + + + + + {/* Performance Metrics */} + + Performance Metrics + + + + + + + + + {performance.onTimeDelivery} + + + + On-Time Delivery + + + + + + + + + + + {performance.qualityRating} + + + + Quality Rating + + + {[1, 2, 3, 4, 5].map((star) => ( + + ))} + + + + + + + + + + {performance.totalOrders} + + + + Total Orders + + + Completed successfully + + + + + + {/* Contact Information */} + + Contact Information + + + + + + + + + Phone + + + {contact.phone} + + + + + + + + + + + Email + + + {contact.email} + + + + + + + + + + + Support Hours + + + {contact.supportHours} + + + + + + + {/* Notes */} + {notes && ( + + + {notes} + + + )} + + + ); +}; + +export default SupplierCard; \ No newline at end of file diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/settings/AITab.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/settings/AITab.js new file mode 100644 index 000000000..586f2e7a9 --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/settings/AITab.js @@ -0,0 +1,243 @@ +"use client"; + +import { Box, TextField, Typography, Select, MenuItem, FormControl, InputLabel, Tooltip } from "@mui/material"; +import { motion } from "framer-motion"; +import { useState, useEffect } from "react"; +import { Zap, Database, Sparkles, RefreshCw, Info } from "lucide-react"; +import IOSSwitch from "../ui/IOSSwitch"; + +function generateSubjectId() { + return "user_" + crypto.randomUUID().replace(/-/g, "").slice(0, 12); +} + +const DEFAULT_AI_SETTINGS = { + ltmEnabled: false, + ltmSubjectId: "", + ltmAccessPolicy: "recall_and_store", + stmoEnabled: false, +}; + +const ACCESS_POLICY_OPTIONS = [ + { + value: "recall_and_store", + label: "Recall & Store", + description: "The AI remembers past info and saves new info from this conversation.", + }, + { + value: "recall_only", + label: "Recall Only", + description: "The AI remembers past info but won't save anything new from this conversation.", + }, + { + value: "store_only", + label: "Store Only", + description: "The AI saves new info from this conversation but can't recall past memories.", + }, +]; + +const SettingRow = ({ icon: Icon, iconColor, title, description, children }) => ( + + + + + + + {title} + + + {description} + + {children} + + +); + +export default function AITab() { + const [settings, setSettings] = useState(DEFAULT_AI_SETTINGS); + const [isHydrated, setIsHydrated] = useState(false); + + useEffect(() => { + const stored = localStorage.getItem("aiSettings"); + if (stored) { + try { + const parsed = JSON.parse(stored); + // Fix invalid access policy values from older versions + if (!["recall_and_store", "recall_only", "store_only"].includes(parsed.ltmAccessPolicy)) { + parsed.ltmAccessPolicy = "recall_and_store"; + } + setSettings({ ...DEFAULT_AI_SETTINGS, ...parsed }); + } catch (e) { + console.error("Error parsing AI settings:", e); + } + } + setIsHydrated(true); + }, []); + + useEffect(() => { + if (isHydrated) { + localStorage.setItem("aiSettings", JSON.stringify(settings)); + } + }, [settings, isHydrated]); + + const update = (key, value) => setSettings(prev => ({ ...prev, [key]: value })); + + // Auto-generate subject ID when LTM is enabled and no ID exists + const handleLtmToggle = (enabled) => { + update("ltmEnabled", enabled); + if (enabled && !settings.ltmSubjectId) { + update("ltmSubjectId", generateSubjectId()); + } + }; + + return ( + + {/* Memory Section */} + + Memory + + + + + handleLtmToggle(e.target.checked)} + /> + + {settings.ltmEnabled && ( + + {/* Subject ID */} + + + + Memory ID + + + + + + + + + update("ltmSubjectId", e.target.value)} + variant="outlined" + size="small" + fullWidth + sx={{ "& .MuiOutlinedInput-root": { fontSize: "0.82rem", fontFamily: "monospace" } }} + /> + + update("ltmSubjectId", generateSubjectId())} + sx={{ + p: 0.75, + borderRadius: 1, + cursor: "pointer", + color: "rgba(0,0,0,0.35)", + "&:hover": { backgroundColor: "rgba(0,0,0,0.05)", color: "rgba(0,0,0,0.6)" }, + display: "flex", + flexShrink: 0, + }} + > + + + + + + All conversations with this ID share the same memory. Changing it starts a separate memory space. + + + + {/* Access Policy */} + + + + Access Policy + + + + + + + {ACCESS_POLICY_OPTIONS.find(o => o.value === settings.ltmAccessPolicy)?.description} + + + + )} + + + + + update("stmoEnabled", e.target.checked)} + /> + + + + + {/* Info note */} + + + + LTM and STMO require enabling the corresponding features in your OCI GenAI Project settings (Console → Analytics & AI → Generative AI → Projects). + + + + ); +} diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/settings/FlowsTab.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/settings/FlowsTab.js new file mode 100644 index 000000000..d93d82c5c --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/settings/FlowsTab.js @@ -0,0 +1,131 @@ +"use client"; + +import { Plus, Trash2 } from "lucide-react"; +import { Box, IconButton, List, ListItem, ListItemText, Typography, Button, Switch, FormControlLabel } from "@mui/material"; +import { useRouter } from "next/navigation"; + +export default function FlowsTab({ flows, onDeleteFlow, onToggleFlow }) { + const router = useRouter(); + + return ( + + + + Flows ({flows.length}) + + + + + + {flows.map((flow, index) => ( + { + // Only navigate if not clicking on action buttons + if (!e.target.closest('.action-buttons') && !e.target.closest('button')) { + router.push(`/settings/flows/${flow.id || index}`); + } + }} + > + + + onToggleFlow(index, e)} + size="small" + sx={{ + "& .MuiSwitch-switchBase.Mui-checked": { + color: "var(--dm-text, #1a1a1a)", + }, + "& .MuiSwitch-switchBase.Mui-checked + .MuiSwitch-track": { + backgroundColor: "#1a1a1a", + }, + }} + /> + } + label="" + sx={{ margin: 0 }} + /> + { + e.stopPropagation(); + onDeleteFlow(index); + }} + size="small" + sx={{ + color: "rgba(0, 0, 0, 0.4)", + "&:hover": { + color: "red", + }, + }} + > + + + + + ))} + + + ); +} \ No newline at end of file diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/settings/GeneralTab.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/settings/GeneralTab.js new file mode 100644 index 000000000..2f6b8ddce --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/settings/GeneralTab.js @@ -0,0 +1,487 @@ +"use client"; + +import { Box, IconButton, TextField, Typography, Chip, createTheme, ThemeProvider, useTheme } from "@mui/material"; +import { motion } from "framer-motion"; +import Image from "next/image"; +import { useState, useEffect, useMemo } from "react"; +import IOSSwitch from "../ui/IOSSwitch"; +import { Building2, Moon, Sun, Settings as SettingsIcon, Users } from "lucide-react"; +import Header from "../ui/Header"; +import ChatSidebar from "../chat/ChatSidebar"; +import { DARK_BG } from "../../config/darkMode"; + + + +const STORAGE_KEYS = { + UI_SETTINGS: 'uiSettings', +}; + +const DEFAULT_UI_SETTINGS = { + appTitle: "OCI Enterprise AI Agents", + appLogo: "", + welcomeMessage: "Welcome back!", + inputPlaceholder: "Type anything...", + accentColor: "#C74634", + showLabChip: true, + showLabIcon: true, + darkMode: false, +}; + +export default function GeneralTab() { + const [uiSettings, setUiSettings] = useState(DEFAULT_UI_SETTINGS); + const [logoError, setLogoError] = useState(false); + const [isHydrated, setIsHydrated] = useState(false); + + const pAccent = uiSettings.accentColor || "#C74634"; + const isDarkBg = uiSettings.darkMode === true; + + const baseTheme = useTheme(); + const previewTheme = useMemo(() => { + if (!isDarkBg) return baseTheme; + return createTheme({ + ...baseTheme, + palette: { + ...baseTheme.palette, + mode: "dark", + background: { default: DARK_BG, paper: "#242424" }, + text: { primary: "#e5e5e5", secondary: "rgba(255,255,255,0.5)" }, + divider: "rgba(255,255,255,0.08)", + }, + }); + }, [isDarkBg, baseTheme]); + + // Load from localStorage after mount (client-only) + useEffect(() => { + const storedUiSettings = localStorage.getItem(STORAGE_KEYS.UI_SETTINGS); + if (storedUiSettings) { + try { + setUiSettings(JSON.parse(storedUiSettings)); + } catch (e) { + console.error('Error parsing stored UI settings:', e); + } + } + setIsHydrated(true); + }, []); + + // Save UI settings to localStorage whenever they change (after hydration) + useEffect(() => { + if (isHydrated) { + localStorage.setItem(STORAGE_KEYS.UI_SETTINGS, JSON.stringify(uiSettings)); + window.dispatchEvent(new CustomEvent('uiSettingsChanged', { detail: uiSettings })); + } + }, [uiSettings, isHydrated]); + + return ( + + + Appearance + + + {/* Live Preview — real components, scaled down & non-interactive */} + + + Preview + + + {/* Viewport window — clips the scaled content */} + + {/* Scaled container — renders at full size, scaled down to fit */} + + + {/* Real Header */} +
{}} + onNewConversation={() => {}} + chatHistory={[]} + showLabChip={uiSettings.showLabChip !== false} + showLabIcon={uiSettings.showLabIcon !== false} + appTitle={uiSettings.appTitle} + accentColor={pAccent} + isDarkBg={isDarkBg} + /> + + {/* Body: sidebar + divider + chat */} + + {/* Real ChatSidebar */} + {}} + onStop={() => {}} + recentConversations={[ + { id: "1", title: "Sales pipeline analysis Q4" }, + { id: "2", title: "Draft marketing email" }, + { id: "3", title: "K8s deployment help" }, + ]} + activeConversationId="1" + onConversationClick={() => {}} + onConversationDelete={() => {}} + onRefreshConversations={() => {}} + isLoading={false} + width={30} + selectedModel="google.gemini-2.5-pro" + accentColor={pAccent} + isDarkBg={isDarkBg} + /> + + {/* Divider */} + + + + + {/* Chat area (lightweight mock — no ChatMessage needed) */} + + + {/* User message */} + + Tell me about the latest sales numbers + + {/* Assistant response */} + + Based on the Q4 data, total revenue increased 12% compared to last quarter, reaching $2.4M across all regions. The EMEA region showed the strongest growth at 18%, while APAC maintained steady performance. + + + + + + {/* FAB */} + + + + Internal + + + + + + + + + + + {/* ── Branding ── */} + + + Branding + + + + + Application Title + + setUiSettings({ ...uiSettings, appTitle: e.target.value })} + placeholder="Enter application title..." + variant="outlined" + size="small" + fullWidth + helperText="Browser tab and page title" + /> + + + + Application Logo + + + { + setUiSettings({ ...uiSettings, appLogo: e.target.value }); + setLogoError(false); + }} + placeholder="Enter logo URL..." + variant="outlined" + size="small" + fullWidth + helperText="URL to your logo image" + /> + + {!logoError && ( + Logo preview { + if (uiSettings.appLogo) setLogoError(true); + }} + /> + )} + {logoError && ( + ! + )} + + + + + + {/* Accent Color + Dark Mode — inline row */} + + + + Accent Color + + + + setUiSettings({ ...uiSettings, accentColor: e.target.value })} + style={{ width: 36, height: 32, border: `1px solid ${isDarkBg ? "rgba(255,255,255,0.12)" : "rgba(0,0,0,0.12)"}`, borderRadius: 10, cursor: "pointer", padding: 2 }} + /> + setUiSettings({ ...uiSettings, accentColor: e.target.value })} + variant="outlined" + size="small" + sx={{ width: 120 }} + /> + + + + {/* Dark mode button */} + + setUiSettings({ ...uiSettings, darkMode: !uiSettings.darkMode })} + sx={{ + width: 36, + height: 36, + borderRadius: "10px", + border: `1px solid ${isDarkBg ? "rgba(255,255,255,0.15)" : "rgba(0,0,0,0.10)"}`, + backgroundColor: isDarkBg ? "rgba(255,255,255,0.06)" : "rgba(0,0,0,0.03)", + transition: "all 0.25s ease", + "&:hover": { + backgroundColor: isDarkBg ? "rgba(255,255,255,0.12)" : "rgba(0,0,0,0.07)", + }, + }} + > + {uiSettings.darkMode ? ( + + ) : ( + + )} + + + {uiSettings.darkMode ? "Light mode" : "Dark mode"} + + + + + + {/* Subtle divider */} + + + {/* ── Content ── */} + + + Content + + + + + Welcome Message + + setUiSettings({ ...uiSettings, welcomeMessage: e.target.value })} + placeholder="Enter welcome message..." + variant="outlined" + size="small" + fullWidth + helperText="Shown when users first load the chat" + /> + + + + Input Placeholder + + setUiSettings({ ...uiSettings, inputPlaceholder: e.target.value })} + placeholder="Enter input placeholder text..." + variant="outlined" + size="small" + fullWidth + helperText="Shown in the empty chat input field" + /> + + + + + {/* Subtle divider */} + + + {/* ── Header Elements ── */} + + + Header Elements + + + + setUiSettings({ ...uiSettings, showLabChip: e.target.checked })} + sx={{ transform: "scale(0.8)" }} + /> + + chip + + + setUiSettings({ ...uiSettings, showLabIcon: e.target.checked })} + sx={{ transform: "scale(0.8)" }} + /> + + icon next to title + + + + + + ); +} \ No newline at end of file diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/settings/MemoryTab.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/settings/MemoryTab.js new file mode 100644 index 000000000..cc928ccad --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/settings/MemoryTab.js @@ -0,0 +1,239 @@ +"use client"; + +import { Box, FormControl, Select, MenuItem as MuiMenuItem, TextField, Tooltip, Typography } from "@mui/material"; +import { motion } from "framer-motion"; +import { Database, Info, RefreshCw, Zap } from "lucide-react"; +import { useState, useEffect } from "react"; +import IOSSwitch from "../ui/IOSSwitch"; + +function generateSubjectId() { + return "user_" + crypto.randomUUID().replace(/-/g, "").slice(0, 12); +} + +const DEFAULT_AI_SETTINGS = { + ltmEnabled: false, + ltmSubjectId: "", + ltmAccessPolicy: "recall_and_store", + stmoEnabled: false, +}; + +const ACCESS_POLICY_OPTIONS = [ + { + value: "recall_and_store", + label: "Recall & Store", + description: "The AI remembers past info and saves new info from this conversation.", + }, + { + value: "recall_only", + label: "Recall Only", + description: "The AI remembers past info but won't save anything new from this conversation.", + }, + { + value: "store_only", + label: "Store Only", + description: "The AI saves new info from this conversation but can't recall past memories.", + }, +]; + +export default function MemoryTab() { + const [aiSettings, setAiSettings] = useState(DEFAULT_AI_SETTINGS); + const [isHydrated, setIsHydrated] = useState(false); + + useEffect(() => { + try { + const stored = localStorage.getItem("aiSettings"); + if (stored) { + const parsed = JSON.parse(stored); + if (!["recall_and_store", "recall_only", "store_only"].includes(parsed.ltmAccessPolicy)) { + parsed.ltmAccessPolicy = "recall_and_store"; + } + setAiSettings({ ...DEFAULT_AI_SETTINGS, ...parsed }); + } + } catch {} + setIsHydrated(true); + }, []); + + useEffect(() => { + if (isHydrated) { + localStorage.setItem("aiSettings", JSON.stringify(aiSettings)); + } + }, [aiSettings, isHydrated]); + + const updateAiSetting = (key, value) => setAiSettings(prev => ({ ...prev, [key]: value })); + + const handleLtmToggle = (enabled) => { + updateAiSetting("ltmEnabled", enabled); + if (enabled && !aiSettings.ltmSubjectId) { + updateAiSetting("ltmSubjectId", generateSubjectId()); + } + }; + + return ( + + + Memory + + + + {/* Long-Term Memory Card */} + + + + + + + + Long-Term Memory + + + handleLtmToggle(e.target.checked)} + /> + + + The AI remembers preferences, facts, and context across conversations. Must be enabled in your OCI GenAI Project. + + {aiSettings.ltmEnabled && ( + + {/* Memory ID */} + + + + Memory ID + + + + + + + + + updateAiSetting("ltmSubjectId", e.target.value)} + variant="outlined" + size="small" + fullWidth + sx={{ "& .MuiOutlinedInput-root": { fontSize: "0.82rem", fontFamily: "monospace" } }} + /> + + updateAiSetting("ltmSubjectId", generateSubjectId())} + sx={{ + p: 0.75, + borderRadius: 1, + cursor: "pointer", + color: "var(--dm-muted, rgba(0,0,0,0.35))", + "&:hover": { backgroundColor: "rgba(0,0,0,0.05)", color: "var(--dm-text, rgba(0,0,0,0.6))" }, + display: "flex", + flexShrink: 0, + }} + > + + + + + + Same ID = shared memory. Change it to start fresh. + + + + {/* Access Policy */} + + + + Access Policy + + + + + + + {ACCESS_POLICY_OPTIONS.find(o => o.value === aiSettings.ltmAccessPolicy)?.description} + + + + )} + + + {/* Short-Term Memory Optimization Card */} + + + + + + + + Short-Term Memory Optimization + + + updateAiSetting("stmoEnabled", e.target.checked)} + /> + + + Automatically summarizes chat history to save tokens in long conversations. Must be enabled in your OCI GenAI Project. + + + + + + Both features must be enabled in your OCI GenAI Project (Console → Analytics & AI → Generative AI → Projects). + + + ); +} diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/settings/ObservabilityTab.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/settings/ObservabilityTab.js new file mode 100644 index 000000000..145fbc4f7 --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/settings/ObservabilityTab.js @@ -0,0 +1,209 @@ +"use client"; + +import { Box, Typography } from "@mui/material"; +import { motion } from "framer-motion"; +import { ExternalLink, Activity, BarChart3, Plug, ArrowDown, GitFork } from "lucide-react"; + +const DESTINATIONS = [ + { + icon: BarChart3, + title: "OCI LangFuse", + color: "#4C825C", + tag: "Managed", + desc: "Zero-config tracing. Every LLM call, tool invocation, and token counted automatically.", + bullets: ["Input / Output", "Token usage", "Latency", "Tool calls", "Reasoning"], + links: [], + }, + { + icon: Plug, + title: "Client BYO", + color: "#35535C", + tag: "Flexible", + desc: "Bring your own stack. We export OpenTelemetry — you choose where it lands.", + links: [ + { label: "LangFuse Cloud", url: "https://cloud.langfuse.com/" }, + { label: "Datadog", url: "https://www.datadoghq.com/" }, + { label: "Splunk", url: "https://www.splunk.com/" }, + { label: "Grafana", url: "https://grafana.com/" }, + { label: "OCI Monitoring", url: "https://cloud.oracle.com/monitoring" }, + ], + }, +]; + +export default function ObservabilityTab() { + return ( + + + Observability + + + {/* Horizontal pipeline */} + + {/* Source chip */} + + OCI Responses API + + + {/* Arrow */} + + + + + + {/* OTel chip */} + + + + OpenTelemetry + + + + {/* Fork arrow */} + + + + + + {/* Destination labels */} + + {DESTINATIONS.map((opt, i) => ( + + + + {opt.title} + + + ))} + + + + {/* Destination cards */} + + {DESTINATIONS.map((opt, i) => ( + + + {/* Card header */} + + + + + + + {opt.title} + + + + {opt.tag} + + + + {/* Description */} + + {opt.desc} + + + {/* Bullets as inline chips */} + {opt.bullets && ( + + {opt.bullets.map((b, j) => ( + + {b} + + ))} + + )} + + {/* Integration links */} + {opt.links.length > 0 && ( + + {opt.links.map((link, j) => ( + window.open(link.url, "_blank")} + sx={{ + display: "inline-flex", alignItems: "center", gap: 0.4, + px: 1, py: 0.35, borderRadius: "6px", + backgroundColor: "rgba(0,0,0,0.025)", border: "1px solid var(--dm-border, rgba(0,0,0,0.06))", + cursor: "pointer", fontSize: "0.68rem", fontWeight: 500, color: "var(--dm-muted, rgba(0,0,0,0.5))", + transition: "all 0.15s ease", + "&:hover": { + backgroundColor: `${opt.color}08`, + borderColor: `${opt.color}20`, + color: opt.color, + }, + }} + > + {link.label} + + + ))} + + )} + + + ))} + + + ); +} diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/settings/PromptsTab.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/settings/PromptsTab.js new file mode 100644 index 000000000..d57798f9d --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/settings/PromptsTab.js @@ -0,0 +1,447 @@ +"use client"; + +import { Box, FormControlLabel, Tab, Tabs, TextField, Typography } from "@mui/material"; +import { motion, AnimatePresence } from "framer-motion"; +import ReactMarkdown from "react-markdown"; +import remarkGfm from "remark-gfm"; +import IOSSwitch from "../ui/IOSSwitch"; +import { useState, useEffect } from "react"; +import { WIDGET_INLINE_PROMPT } from "../../utils/widgetInlinePrompt"; +import { WIDGET_LAYOUT_PROMPT } from "../../utils/widgetLayoutPrompt"; +import { CONCISE_SYSTEM_PROMPT } from "../../utils/concisePrompt"; +import { BASE_SYSTEM_PROMPT } from "../../utils/baseSystemPrompt"; +import { FileText, Pencil, Puzzle, Zap } from "lucide-react"; +import WidgetCarousel from "../widgets/WidgetCarousel"; + +const mdComponents = { + h1: ({ children }) => {children}, + h2: ({ children }) => {children}, + h3: ({ children }) => {children}, + p: ({ children }) => {children}, + ul: ({ children }) => {children}, + ol: ({ children }) => {children}, + strong: ({ children }) => {children}, + code: ({ children }) => {children}, +}; + +const STORAGE_KEYS = { + SYSTEM_PROMPT: 'systemPrompt', + WIDGETS_ENABLED: 'widgetsEnabled', + CONCISE_ENABLED: 'conciseEnabled', +}; + +const PREVIEW_TABS = [ + { value: 'v1', label: 'Components' }, + { value: 'v2', label: 'Layouts' }, +]; + +const DEFAULT_SYSTEM_PROMPT = 'You are a helpful AI assistant.'; + +const PROMPT_TABS = [ + { label: "Instructions", icon: }, + { label: "System", icon: }, + { label: "Widgets", icon: }, + { label: "Concise", icon: }, +]; + +export default function PromptsTab() { + const [systemPrompt, setSystemPrompt] = useState(DEFAULT_SYSTEM_PROMPT); + const [widgetsEnabled, setWidgetsEnabled] = useState(false); + const [conciseEnabled, setConciseEnabled] = useState(false); + const [previewTab, setPreviewTab] = useState('v1'); + const [isHydrated, setIsHydrated] = useState(false); + const [activeTab, setActiveTab] = useState(0); + + // Load from localStorage after mount (client-only) + useEffect(() => { + const storedSystemPrompt = localStorage.getItem(STORAGE_KEYS.SYSTEM_PROMPT); + if (storedSystemPrompt) { + setSystemPrompt(storedSystemPrompt); + } + + const storedWidgetsEnabled = localStorage.getItem(STORAGE_KEYS.WIDGETS_ENABLED); + if (storedWidgetsEnabled === 'true') { + setWidgetsEnabled(true); + } + + const storedConciseEnabled = localStorage.getItem(STORAGE_KEYS.CONCISE_ENABLED); + if (storedConciseEnabled === 'true') { + setConciseEnabled(true); + } + + setIsHydrated(true); + }, []); + + // Save system prompt to localStorage whenever it changes (after hydration) + useEffect(() => { + if (isHydrated) { + localStorage.setItem(STORAGE_KEYS.SYSTEM_PROMPT, systemPrompt); + } + }, [systemPrompt, isHydrated]); + + // Save widgets enabled to localStorage whenever it changes (after hydration) + useEffect(() => { + if (isHydrated) { + localStorage.setItem(STORAGE_KEYS.WIDGETS_ENABLED, widgetsEnabled.toString()); + } + }, [widgetsEnabled, isHydrated]); + + // Save concise enabled to localStorage whenever it changes (after hydration) + useEffect(() => { + if (isHydrated) { + localStorage.setItem(STORAGE_KEYS.CONCISE_ENABLED, conciseEnabled.toString()); + } + }, [conciseEnabled, isHydrated]); + + + return ( + + + Prompts + + + {/* Tabs — contained pill style */} + + + {PROMPT_TABS.map((tab, i) => ( + setActiveTab(i)} + sx={{ + display: "flex", + alignItems: "center", + gap: 0.75, + px: 3, + py: 1, + borderRadius: 2, + cursor: "pointer", + transition: "all 0.2s ease", + backgroundColor: activeTab === i ? "var(--dm-surface, #fff)" : "transparent", + boxShadow: activeTab === i ? "0 1px 3px rgba(0,0,0,0.1)" : "none", + color: activeTab === i ? "var(--dm-text, #1a1a1a)" : "var(--dm-muted, rgba(0,0,0,0.45))", + fontWeight: activeTab === i ? 600 : 450, + "&:hover": { + color: activeTab === i ? "var(--dm-text, #1a1a1a)" : "var(--dm-text, rgba(0,0,0,0.65))", + }, + }} + > + {tab.icon} + + {tab.label} + + + ))} + + + + {/* Tab content */} + + + {/* Instructions tab */} + {activeTab === 0 && ( + + + Custom instructions added after the base prompt to customize the AI's behavior. + + setSystemPrompt(e.target.value)} + placeholder="Add custom instructions for the AI..." + variant="outlined" + size="small" + fullWidth + multiline + rows={16} + sx={{ + "& .MuiOutlinedInput-root": { + fontSize: "0.85rem", + }, + }} + /> + + )} + + {/* System tab */} + {activeTab === 1 && ( + + + This is always sent to the AI automatically. Cannot be modified. + + + + {BASE_SYSTEM_PROMPT} + + + + )} + + {/* Widgets tab */} + {activeTab === 2 && ( + + + + + When enabled, the AI can embed interactive widgets (cards, stats, charts, forms, etc.) in responses. + + + setWidgetsEnabled(e.target.checked)} + sx={{ ml: 1 }} + /> + } + label="" + sx={{ mr: 0, ml: 2, flexShrink: 0 }} + /> + + + + {/* Preview tabs: Components / Layouts */} + setPreviewTab(v)} + centered + sx={{ + minHeight: 36, + borderBottom: "1px solid var(--dm-border, rgba(0,0,0,0.08))", + "& .MuiTabs-indicator": { + backgroundColor: "var(--dm-text, #1a1a1a)", + height: 2, + borderRadius: 1, + }, + "& .MuiTab-root": { + minHeight: 36, + textTransform: "none", + fontSize: "0.82rem", + fontWeight: 450, + color: "var(--dm-muted, rgba(0,0,0,0.45))", + padding: "6px 14px", + minWidth: "auto", + "&.Mui-selected": { + color: "var(--dm-text, #1a1a1a)", + fontWeight: 550, + }, + }, + }} + > + {PREVIEW_TABS.map((tab) => ( + + ))} + + + + + + + {/* Prompt reference */} + + + Widgets prompt — single widgets (auto-appended) + + + {WIDGET_INLINE_PROMPT} + + + + + Layouts prompt — composable layouts (auto-appended) + + + {WIDGET_LAYOUT_PROMPT} + + + + + )} + + {/* Concise Mode tab */} + {activeTab === 3 && ( + + + + + Strips filler, articles, and pleasantries while keeping full technical accuracy. Reduces token usage significantly. + + + setConciseEnabled(e.target.checked)} + sx={{ ml: 1 }} + /> + } + label="" + sx={{ mr: 0, ml: 2, flexShrink: 0 }} + /> + + + {/* Token savings metrics */} + + {[ + { label: "System prompts", reduction: "58%", example: "171 \u2192 72 tokens" }, + { label: "API docs", reduction: "42%", example: "137 \u2192 79 tokens" }, + { label: "General text", reduction: "~25%", example: "avg across content" }, + ].map((metric) => ( + + + {metric.reduction} + + + {metric.label} + + + {metric.example} + + + ))} + + + {/* Before/After example — two columns */} + + + {/* Before */} + + + Before — 69 tokens + + + "The reason your React component is re-rendering is likely because you're creating a new object reference on each render cycle. When you pass an inline object as a prop, React's shallow comparison sees it as a different object every time, which triggers a re-render. I'd recommend using useMemo to memoize the object." + + + {/* After */} + + + After — 19 tokens (72% less) + + + "New object ref each render. Inline object prop = new ref = re-render. Wrap in useMemo." + + + + + + {/* Prompt reference */} + + + Concise mode prompt (auto-appended) + + + {CONCISE_SYSTEM_PROMPT} + + + + + )} + + + + ); +} diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/settings/SettingsPage.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/settings/SettingsPage.js new file mode 100644 index 000000000..d3f87ca92 --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/settings/SettingsPage.js @@ -0,0 +1,225 @@ +"use client"; + +import { ArrowLeft, Settings, Building2, Users } from "lucide-react"; +import Header from "../ui/Header"; +import { darkModeOverrides, darkCssVars, lightCssVars, DARK_BG } from "../../config/darkMode"; +import { Box, IconButton, Typography, ThemeProvider, createTheme, useTheme } from "@mui/material"; +import { motion } from "framer-motion"; +import VerticalTabs from "../ui/VerticalTabs"; +import GeneralTab from "./GeneralTab"; +import PromptsTab from "./PromptsTab"; +import ToolsTab from "./ToolsTab"; +import MemoryTab from "./MemoryTab"; +import ObservabilityTab from "./ObservabilityTab"; +import { useRouter } from "next/navigation"; +import { useState, useEffect } from "react"; +import { APP_VERSION } from "../../config/version"; +import { INTERNAL_MODELS } from "../../config/models-internal"; + +const INTERNAL_MODE_AVAILABLE = INTERNAL_MODELS.length > 0; + +const TAB_ROUTES = { + 0: '/settings/prompts', + 1: '/settings/tools', + 2: '/settings/memory', + 3: '/settings/observability', + 4: '/settings/appearance', +}; + +const ROUTE_TO_TAB = { + 'prompts': 0, + 'tools': 1, + 'memory': 2, + 'observability': 3, + 'appearance': 4, +}; + +export default function SettingsPage({ defaultTab = 'prompts' }) { + const router = useRouter(); + const [activeTab, setActiveTab] = useState(ROUTE_TO_TAB[defaultTab] ?? 0); + const [appMode, setAppMode] = useState("client"); + const [uiSettings, setUiSettings] = useState({}); + const parentTheme = useTheme(); + + useEffect(() => { + const saved = localStorage.getItem("appMode"); + if (saved === "client" || saved === "internal") setAppMode(saved); + try { + const stored = localStorage.getItem("uiSettings"); + if (stored) setUiSettings(JSON.parse(stored)); + } catch {} + + const handleUiSettingsChanged = (e) => setUiSettings(e.detail); + window.addEventListener('uiSettingsChanged', handleUiSettingsChanged); + return () => window.removeEventListener('uiSettingsChanged', handleUiSettingsChanged); + }, []); + + const darkTheme = uiSettings.darkMode ? createTheme({ + ...parentTheme, + palette: { + ...parentTheme.palette, + mode: "dark", + background: { default: DARK_BG, paper: "#242424" }, + text: { primary: "#e5e5e5", secondary: "rgba(255,255,255,0.5)" }, + divider: "rgba(255,255,255,0.08)", + }, + }) : parentTheme; + + const handleToggleAppMode = () => { + const newMode = appMode === "internal" ? "client" : "internal"; + setAppMode(newMode); + localStorage.setItem("appMode", newMode); + }; + + // Handle tab change with URL update (no navigation, just URL sync) + const handleTabChange = (newTab) => { + setActiveTab(newTab); + const route = TAB_ROUTES[newTab]; + if (route) { + window.history.replaceState(null, '', route); + } + }; + + return ( + + + {/* Main Header */} +
router.push("/")} + showLabChip={uiSettings.showLabChip !== false} + showLabIcon={uiSettings.showLabIcon !== false} + appTitle={uiSettings.appTitle} + accentColor={uiSettings.accentColor} + isDarkBg={uiSettings.darkMode === true} + minimal + /> + + + {/* Settings sub-header */} + + router.push("/")} + sx={{ + mr: 2, + color: uiSettings.darkMode ? "rgba(255,255,255,0.6)" : "rgba(0, 0, 0, 0.6)", + "&:hover": { + backgroundColor: "rgba(0, 0, 0, 0.04)", + }, + }} + > + + + + + + + Settings + + + + {/* Content with vertical tabs */} + + v{APP_VERSION} + + } + > + {activeTab === 0 && } + {activeTab === 1 && } + {activeTab === 2 && } + {activeTab === 3 && } + {activeTab === 4 && } + + + + {/* App Mode FAB */} + {INTERNAL_MODE_AVAILABLE && ( + + {appMode === "internal" ? ( + + ) : ( + + )} + + {appMode === "internal" ? "Internal" : "Client"} + + + )} + + + ); +} \ No newline at end of file diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/settings/ToolForm.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/settings/ToolForm.js new file mode 100644 index 000000000..d58175942 --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/settings/ToolForm.js @@ -0,0 +1,454 @@ +"use client"; + +import { useReducer } from "react"; +import { + Box, + TextField, + Select, + MenuItem as MuiMenuItem, + FormControl, + InputLabel, + Button, + Chip, + IconButton, + InputAdornment, + CircularProgress, + Typography, + Tooltip, +} from "@mui/material"; +import { Plug, Eye, EyeOff, X, Check, Wand2, Wrench } from "lucide-react"; +import mcpService from "../../services/mcpService"; + +function makeInitial(initial) { + return { + name: initial?.name || "", + endpoint: initial?.endpoint || "", + authType: initial?.authType || "none", + authKey: initial?.authKey || "", + oauthTokenUrl: initial?.oauth?.tokenUrl || "", + oauthClientId: initial?.oauth?.clientId || "", + oauthClientSecret: initial?.oauth?.clientSecret || "", + oauthScope: initial?.oauth?.scope || "", + testStatus: null, // 'connected' | 'error' | null + testLoading: false, + testTools: null, + testError: null, + showSecret: false, + detecting: false, + detectMsg: null, + }; +} + +function reducer(state, action) { + switch (action.type) { + case "set": + return { ...state, [action.field]: action.value }; + case "patch": + return { ...state, ...action.patch }; + case "resetTest": + return { ...state, testStatus: null, testError: null, testTools: null }; + default: + return state; + } +} + +function formatTestError(err) { + const raw = err?.message || String(err) || "Unknown error"; + if (/MCP request failed:\s*401/i.test(raw)) return "Authentication failed (401). Check the auth type and credentials."; + if (/MCP request failed:\s*403/i.test(raw)) return "Forbidden (403). Credentials valid but lack permission."; + if (/MCP request failed:\s*404/i.test(raw)) return "Endpoint not found (404). Check the URL."; + if (/MCP request failed:\s*5\d\d/i.test(raw)) return `Server error: ${raw.replace(/MCP request failed:\s*/i, "")}`; + if (/Failed to fetch|NetworkError|ERR_NETWORK/i.test(raw)) return "Network error — endpoint unreachable, CORS blocked, or DNS issue."; + if (/needs_auth/i.test(raw)) return "OAuth flow required. Use authType OAuth 2.1 (interactive) for this endpoint."; + return raw.length > 240 ? raw.slice(0, 240) + "…" : raw; +} + +/** + * Unified form for adding or editing a custom MCP tool. + * + * Props: + * - mode: 'add' | 'edit' + * - initialValues: existing server (for edit) + * - onSave: (serverData, testTools) => void — receives the data to persist + * - onCancel: () => void + */ +export default function ToolForm({ mode = "add", initialValues = null, onSave, onCancel }) { + const isEdit = mode === "edit"; + const [s, d] = useReducer(reducer, initialValues, makeInitial); + + const set = (field) => (e) => { + d({ type: "set", field, value: e.target.value }); + // Any field change invalidates the previous test result + if (s.testStatus) d({ type: "resetTest" }); + }; + + const setAuthType = (e) => { + d({ type: "patch", patch: { authType: e.target.value } }); + d({ type: "resetTest" }); + }; + + // Build the server config from the current form values. + const buildServer = (id) => { + const server = { + id: id || (isEdit ? initialValues.id : "test-new"), + name: s.name.trim(), + endpoint: s.endpoint.trim(), + authType: s.authType !== "none" ? s.authType : undefined, + }; + if (s.authType === "api-key" || s.authType === "bearer") { + if (s.authKey.trim()) server.authKey = s.authKey.trim(); + } else if (s.authType === "oauth2") { + server.oauth = { + tokenUrl: s.oauthTokenUrl.trim(), + clientId: s.oauthClientId.trim(), + clientSecret: s.oauthClientSecret.trim(), + scope: s.oauthScope.trim() || undefined, + }; + } + // oauth2.1 is handled by the OAuth flow (no creds in form) + return server; + }; + + // Required-field validation for the save button + const isValid = (() => { + if (!s.endpoint.trim()) return false; + if (mode === "add" && !s.name.trim()) return false; + if (s.authType === "api-key" || s.authType === "bearer") { + if (!s.authKey.trim() && !(isEdit && initialValues?.authKey)) return false; + } + if (s.authType === "oauth2") { + if (!s.oauthTokenUrl.trim() || !s.oauthClientId.trim()) return false; + if (!s.oauthClientSecret.trim() && !(isEdit && initialValues?.oauth?.clientSecret)) return false; + } + return true; + })(); + + const handleTest = async () => { + d({ type: "patch", patch: { testLoading: true, testStatus: null, testError: null, testTools: null } }); + try { + const tools = await mcpService.listToolsFromServer(buildServer("test-" + (isEdit ? initialValues.id : "new"))); + d({ type: "patch", patch: { testLoading: false, testStatus: "connected", testTools: tools || [] } }); + return tools || []; + } catch (err) { + d({ type: "patch", patch: { testLoading: false, testStatus: "error", testError: formatTestError(err) } }); + return null; + } + }; + + const handleSave = async () => { + if (!isValid) return; + // OAuth 2.1 is interactive — the test would just trigger needs_auth. + // Save first; the user authorizes from the chat banner or explicitly. + let tools = s.testTools; + if (s.authType !== "oauth2.1" && s.testStatus !== "connected") { + tools = await handleTest(); + if (!tools) return; + } + onSave(buildServer(), tools || []); + }; + + // Auto-discovery: try /.well-known/oauth-authorization-server on the endpoint origin + const handleDetect = async () => { + if (!s.endpoint.trim()) return; + d({ type: "patch", patch: { detecting: true, detectMsg: null } }); + try { + const u = new URL(s.endpoint.trim()); + // Common locations OAuth 2.1 servers expose metadata + const candidates = [ + `${u.origin}/.well-known/oauth-authorization-server`, + `${u.origin}/.well-known/openid-configuration`, + // Some MCPs publish under their base path + `${u.origin}${u.pathname.replace(/\/?$/, "")}/.well-known/oauth-authorization-server`, + ]; + let meta = null; + for (const url of candidates) { + try { + const res = await fetch(url); + if (res.ok) { + meta = await res.json(); + break; + } + } catch { /* try next */ } + } + if (meta) { + // Authorization server found → suggest OAuth 2.1 interactive flow + d({ + type: "patch", + patch: { + authType: "oauth2.1", + oauthTokenUrl: meta.token_endpoint || s.oauthTokenUrl, + detectMsg: "OAuth 2.1 metadata detected — switched auth type to OAuth 2.1 (interactive). Click Add to register, then Authorize from the chat.", + detecting: false, + }, + }); + return; + } + d({ type: "patch", patch: { detecting: false, detectMsg: "No OAuth metadata at this URL — keep current auth type." } }); + } catch (e) { + d({ type: "patch", patch: { detecting: false, detectMsg: `Detect failed: ${e.message || e}` } }); + } + }; + + const showSecretAdornment = ( + + d({ type: "set", field: "showSecret", value: !s.showSecret })} edge="end"> + {s.showSecret ? : } + + + ); + + + return ( + + {mode === "add" && ( + + Add MCP Tool + + )} + + {mode === "add" && ( + + )} + {isEdit && ( + + )} + + + + + + {s.detecting ? : } + + + + + ), + }, + }} + /> + {s.detectMsg && ( + + {s.detectMsg} + + )} + + + + Authentication + + + + {(s.authType === "api-key" || s.authType === "bearer") && ( + + )} + + + {s.authType === "oauth2" && ( + + + + + + + + + )} + + {s.authType === "oauth2.1" && ( + + OAuth 2.1 is interactive. After saving, click Authorize from the chat banner the first time + a tool from this server is invoked. PKCE + dynamic client registration is performed automatically using the + server's discovery metadata. + + )} + + {s.testStatus === "error" && s.testError && ( + + {s.testError} + + )} + + + {s.testStatus === "connected" && ( + } + label={s.testTools ? `Connected · ${s.testTools.length} tools` : "Connected"} + size="small" + color="success" + variant="outlined" + sx={{ mr: 1 }} + /> + )} + + {s.authType !== "oauth2.1" && ( + + )} + + + + {/* Test results — list discovered tools so the user can verify */} + {s.testStatus === "connected" && s.testTools && s.testTools.length > 0 && ( + + + {s.testTools.length} function{s.testTools.length !== 1 ? "s" : ""} + + + {s.testTools.map((tool) => ( + + + + {tool.name} + {tool.description && ( + + {tool.description} + + )} + + + ))} + + + )} + + ); +} diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/settings/ToolsTab.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/settings/ToolsTab.js new file mode 100644 index 000000000..6ec086c0f --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/settings/ToolsTab.js @@ -0,0 +1,2408 @@ +"use client"; + +import { useState, useEffect, useRef } from "react"; +import { + Box, + Typography, + TextField, + Button, + IconButton, + Collapse, + CircularProgress, + Chip, + FormControl, + InputLabel, + Select, + MenuItem as MuiMenuItem, + Tabs, + Tab, + InputAdornment, + Checkbox, + Tooltip, + Dialog, + DialogTitle, + DialogContent, + DialogActions, + Snackbar, + Alert, +} from "@mui/material"; +import { motion, AnimatePresence } from "framer-motion"; +import { Plus, Trash2, ChevronDown, ChevronRight, ChevronLeft, RefreshCw, Wrench, Pencil, Check, X, Plug, Unplug, Power, Globe, Blocks, Search, FileSearch, Database, Eye, EyeOff, Upload, FileText, CloudUpload, FolderOpen, ImagePlus, ArrowLeft, Info, Send, Tag, Terminal, Zap, Sparkles, ExternalLink, KeyRound, Download } from "lucide-react"; +import IOSSwitch from "../ui/IOSSwitch"; +import mcpService, { MCPService } from "../../services/mcpService"; +import ToolForm from "./ToolForm"; +import { INTERNAL_TOOL_TABS, INTERNAL_ADDONS } from "../../config/tools-internal"; + +const NATIVE_TOOLS = [ + { + id: "native_web_search", + name: "Web Search", + description: "Search the web in real time to find up-to-date information, articles, documentation, and more. Results are summarized and cited automatically.", + icon: Search, + color: "#4285F4", + endpoint: null, + comingSoon: true, + }, + { + id: "native_rag", + name: "File Search", + description: "Retrieve relevant context from your knowledge bases and documents using vector search. Grounds AI responses in your own data for accurate, sourced answers.", + icon: FileSearch, + color: "#6B7280", + endpoint: null, + hasConfig: true, + }, + { + id: "native_code_interpreter", + name: "Code Interpreter", + description: "Run Python code in a secure sandbox with 420+ preinstalled libraries. Ideal for calculations, data analysis, chart generation, and file processing.", + icon: Terminal, + color: "#10B981", + endpoint: null, + }, + { + id: "native_text_to_sql", + name: "Text to SQL", + description: "Convert natural language questions into SQL queries and execute them against your databases. Get structured results and insights from your data instantly.", + icon: Database, + color: "#F59E0B", + endpoint: null, + hasConfig: true, + comingSoon: true, + configType: "semantic_store", + }, +]; + +const STATUS_CHIP = { + connected: { label: "Connected", bg: "rgba(16, 185, 129, 0.12)", color: "#059669" }, + error: { label: "Error", bg: "rgba(198, 40, 40, 0.12)", color: "#c62828" }, +}; + +const ADDON_TOOLS = [ + ...INTERNAL_ADDONS, + { + id: "addon_image_generation", + name: "Image Generation", + description: "Generate images from text descriptions. The AI will create images when your prompt requests visual content.", + color: "#4f46e5", + icon: ImagePlus, + isNative: true, + }, +]; + +function generateSubjectId() { + return "user_" + crypto.randomUUID().replace(/-/g, "").slice(0, 12); +} + + +const ALL_TOOLS_TABS = [ + { label: "Native", icon: , id: "native" }, + { label: "Custom", icon: , id: "custom" }, + ...INTERNAL_TOOL_TABS, +]; + +export default function ToolsTab() { + const [servers, setServers] = useState([]); + const [enabledTools, setEnabledTools] = useState([]); + const [expandedServers, setExpandedServers] = useState({}); + const [serverTools, setServerTools] = useState({}); // serverId -> tools[] + const [loadingServers, setLoadingServers] = useState({}); // serverId -> boolean + const [serverStatus, setServerStatus] = useState({}); // serverId -> 'connected' | 'error' | null + const [isHydrated, setIsHydrated] = useState(false); + + // Add/Edit form state lives entirely inside ; ToolsTab only tracks + // which form is open: showAddForm and editingServerId. + const [showAddForm, setShowAddForm] = useState(false); + const [toast, setToast] = useState(null); // { message, severity } + // OAuth 2.1 token status per server: 'authorized' | 'needs_auth' | undefined (unknown) + const [oauth21Status, setOauth21Status] = useState({}); + // Server id to scroll/highlight after navigation from a chat banner (?focus=) + const [focusedServerId, setFocusedServerId] = useState(null); + + // Native tools enabled state + const [nativeToolsEnabled, setNativeToolsEnabled] = useState({}); + const [semanticStores, setSemanticStores] = useState([]); + const [loadingSemanticStores, setLoadingSemanticStores] = useState(false); + const [selectedSemanticStoreId, setSelectedSemanticStoreId] = useState(""); + + // Edit server — only need to know which one is being edited; values live in + const [editingServerId, setEditingServerId] = useState(null); + + const [vectorStores, setVectorStores] = useState([]); + const [loadingVectorStores, setLoadingVectorStores] = useState(false); + const [selectedVectorStoreIds, setSelectedVectorStoreIds] = useState([]); + const [activeVectorStoreId, setActiveVectorStoreId] = useState(null); + const [vectorStoreFiles, setVectorStoreFiles] = useState([]); + const [loadingFiles, setLoadingFiles] = useState(false); + const [uploadingFile, setUploadingFile] = useState(false); + const [uploadError, setUploadError] = useState(null); + const [deletingFile, setDeletingFile] = useState(null); + const [allFiles, setAllFiles] = useState([]); + + // VS detail: edit dialog + const [showEditVSDialog, setShowEditVSDialog] = useState(false); + const [editVSNameValue, setEditVSNameValue] = useState(""); + const [editVSExpiresEnabled, setEditVSExpiresEnabled] = useState(false); + const [editVSExpiresDays, setEditVSExpiresDays] = useState("7"); + const [editVSMetadata, setEditVSMetadata] = useState(""); + const [savingVS, setSavingVS] = useState(false); + + // VS detail: tabs & search + const [vsDetailTab, setVsDetailTab] = useState(0); + const [searchQuery, setSearchQuery] = useState(""); + const [searchResults, setSearchResults] = useState(null); + const [searching, setSearching] = useState(false); + + // VS detail: file attributes + const [editingFileAttrs, setEditingFileAttrs] = useState(null); // file id + const [fileAttrsValue, setFileAttrsValue] = useState(""); + const [savingFileAttrs, setSavingFileAttrs] = useState(false); + + // Batch upload progress + const [uploadProgress, setUploadProgress] = useState(null); // { done, total } | null + + // File preview modal + const [previewFile, setPreviewFile] = useState(null); // { id, filename } + const [previewContent, setPreviewContent] = useState(""); + const [previewLoading, setPreviewLoading] = useState(false); + const [previewError, setPreviewError] = useState(null); + const [downloadingFile, setDownloadingFile] = useState(null); + + const handlePreviewFile = async (fileId, filename) => { + setPreviewFile({ id: fileId, filename }); + setPreviewContent(""); + setPreviewError(null); + setPreviewLoading(true); + try { + const vsParam = activeVectorStoreId ? `&vsId=${activeVectorStoreId}` : ''; + const res = await fetch(`/api/files/${fileId}/content?limit=10240${vsParam}`); + if (!res.ok) { + const err = await res.json().catch(() => ({ error: res.statusText })); + const msg = typeof err.error === 'string' ? err.error : (err.error?.message || JSON.stringify(err.error)); + throw new Error(msg || `HTTP ${res.status}`); + } + const text = await res.text(); + setPreviewContent(text); + } catch (e) { + setPreviewError(e.message); + } finally { + setPreviewLoading(false); + } + }; + + const handleDownloadFile = async (fileId, filename) => { + setDownloadingFile(fileId); + try { + const vsParam = activeVectorStoreId ? `&vsId=${activeVectorStoreId}` : ''; + const res = await fetch(`/api/files/${fileId}/content?download=1&filename=${encodeURIComponent(filename)}${vsParam}`); + if (!res.ok) throw new Error(`HTTP ${res.status}`); + const blob = await res.blob(); + const url = URL.createObjectURL(blob); + const a = document.createElement('a'); + a.href = url; + a.download = filename; + document.body.appendChild(a); + a.click(); + a.remove(); + URL.revokeObjectURL(url); + } catch (e) { + console.error('Download failed:', e); + } finally { + setDownloadingFile(null); + } + }; + const [deletingVS, setDeletingVS] = useState(null); + const [isDragging, setIsDragging] = useState(false); + const [activeVsStatus, setActiveVsStatus] = useState(null); // 'completed' | 'in_progress' | etc + const vsPollingRef = useRef(null); + + // Add-on tools state + const [addonEnabled, setAddonEnabled] = useState({}); + const [addonLoading, setAddonLoading] = useState({}); + const [addonStatus, setAddonStatus] = useState({}); // 'connected' | 'error' | 'needs_auth' | null + const [addonTools, setAddonTools] = useState({}); + const [addonAuthUrl, setAddonAuthUrl] = useState({}); // addonId -> authorize URL + + // Sync native tools as MCP servers based on enabled state + const syncNativeServers = (enabledState) => { + const currentServers = MCPService.getServers(); + + NATIVE_TOOLS.forEach(tool => { + if (!tool.endpoint) return; // skip tools without endpoint + const exists = currentServers.find(s => s.id === tool.id); + + if (enabledState[tool.id]) { + if (!exists) { + // Register as MCP server + const newServer = { + id: tool.id, + name: tool.name, + endpoint: tool.endpoint, + enabled: true, + isNative: true, + }; + currentServers.push(newServer); + } else if (!exists.enabled) { + exists.enabled = true; + } + } else { + if (exists) { + exists.enabled = false; + } + } + }); + + MCPService.setServers(currentServers); + setServers(currentServers.filter(s => !s.isNative && !s.isAddon)); + }; + + // Sync addon tools as MCP servers based on enabled state + const syncAddonServers = (enabledState) => { + const currentServers = MCPService.getServers(); + + ADDON_TOOLS.filter(a => !a.isNative).forEach(addon => { + const exists = currentServers.find(s => s.id === addon.id); + + if (enabledState[addon.id]) { + if (!exists) { + const newServer = { + id: addon.id, + name: addon.name, + endpoint: addon.endpoint, + authType: addon.authType, + authKey: addon.authKey, + enabled: true, + isAddon: true, + }; + currentServers.push(newServer); + } else { + exists.enabled = true; + exists.name = addon.name; + exists.endpoint = addon.endpoint; + exists.authType = addon.authType; + exists.authKey = addon.authKey; + } + } else { + if (exists) { + exists.enabled = false; + } + } + }); + + MCPService.setServers(currentServers); + setServers(currentServers.filter(s => !s.isNative && !s.isAddon)); + }; + + const loadAddonTools = async (addon) => { + setAddonLoading(prev => ({ ...prev, [addon.id]: true })); + setAddonStatus(prev => ({ ...prev, [addon.id]: null })); + + try { + const serverConfig = { + id: addon.id, + endpoint: addon.endpoint, + authType: addon.authType, + authKey: addon.authKey, + }; + const tools = await mcpService.listToolsFromServer(serverConfig); + setAddonStatus(prev => ({ ...prev, [addon.id]: 'connected' })); + setAddonTools(prev => ({ ...prev, [addon.id]: tools || [] })); + + // Auto-enable all discovered tools + if (tools && tools.length > 0) { + const toolIds = tools.map(t => `${addon.id}:${t.name}`); + setEnabledTools(prev => { + const cleaned = prev.filter(t => !t.startsWith(`${addon.id}:`)); + return [...cleaned, ...toolIds]; + }); + } + } catch (error) { + console.error(`Failed to connect to addon ${addon.name}:`, error); + if (error.message === 'needs_auth' && error.authorizeUrl) { + setAddonStatus(prev => ({ ...prev, [addon.id]: 'needs_auth' })); + setAddonAuthUrl(prev => ({ ...prev, [addon.id]: error.authorizeUrl })); + } else { + setAddonStatus(prev => ({ ...prev, [addon.id]: 'error' })); + } + setAddonTools(prev => ({ ...prev, [addon.id]: [] })); + } finally { + setAddonLoading(prev => ({ ...prev, [addon.id]: false })); + } + }; + + const handleToggleAddon = (addonId, enabled) => { + const addon = ADDON_TOOLS.find(a => a.id === addonId); + + // Native addons (no MCP endpoint) — sync via nativeToolsEnabled + if (addon?.isNative) { + const nativeId = addonId.replace('addon_', 'native_'); + setNativeToolsEnabled(prev => ({ ...prev, [nativeId]: enabled })); + const newState = { ...addonEnabled, [addonId]: enabled }; + setAddonEnabled(newState); + return; + } + + const newState = { ...addonEnabled, [addonId]: enabled }; + setAddonEnabled(newState); + + if (enabled) { + syncAddonServers(newState); + if (addon) loadAddonTools(addon); + } else { + // Remove tools from enabled list and clear loading state + setEnabledTools(prev => prev.filter(t => !t.startsWith(`${addonId}:`))); + setAddonStatus(prev => ({ ...prev, [addonId]: null })); + setAddonTools(prev => ({ ...prev, [addonId]: [] })); + setAddonLoading(prev => ({ ...prev, [addonId]: false })); + syncAddonServers(newState); + } + }; + + // Load from localStorage after mount + useEffect(() => { + // Load native tools enabled state first + let nativeState = {}; + try { + const stored = localStorage.getItem('nativeToolsEnabled'); + if (stored) { + nativeState = JSON.parse(stored); + } else { + NATIVE_TOOLS.forEach(t => { nativeState[t.id] = false; }); + } + } catch { /* ignore */ } + setNativeToolsEnabled(nativeState); + setSelectedSemanticStoreId(localStorage.getItem('nl2sqlSemanticStoreId') || ''); + + try { + const savedVsIds = JSON.parse(localStorage.getItem('ragVectorStoreIds') || '[]'); + if (savedVsIds.length > 0) { + setSelectedVectorStoreIds(savedVsIds); + } + } catch { /* ignore */ } + + if (nativeState.native_rag) { + fetchVectorStores(); + } + if (nativeState.native_text_to_sql) { + fetchSemanticStores(); + } + + // Sync native tools as MCP servers + syncNativeServers(nativeState); + + // Load addon tools enabled state (default: all enabled) + let addonState = {}; + try { + const storedAddon = localStorage.getItem('addonToolsEnabled'); + if (storedAddon) { + addonState = JSON.parse(storedAddon); + } else { + ADDON_TOOLS.forEach(a => { addonState[a.id] = true; }); + } + } catch { /* ignore */ } + // Sync native addon states from nativeToolsEnabled + ADDON_TOOLS.filter(a => a.isNative).forEach(a => { + const nativeId = a.id.replace('addon_', 'native_'); + addonState[a.id] = !!nativeState[nativeId]; + }); + setAddonEnabled(addonState); + syncAddonServers(addonState); + + // Load custom (non-native, non-addon) servers + const allServers = MCPService.getServers(); + const customServers = allServers.filter(s => !s.isNative && !s.isAddon); + setServers(customServers); + setEnabledTools(MCPService.getEnabledTools()); + + setIsHydrated(true); + + // Auto-load tools from custom servers + customServers.forEach(server => { + loadServerTools(server); + }); + + // Auto-connect enabled add-ons (skip native ones) + ADDON_TOOLS.forEach(addon => { + if (addonState[addon.id] && !addon.isNative) { + loadAddonTools(addon); + } + }); + }, []); + + // Save native tools enabled state and sync MCP servers + useEffect(() => { + if (isHydrated) { + localStorage.setItem('nativeToolsEnabled', JSON.stringify(nativeToolsEnabled)); + syncNativeServers(nativeToolsEnabled); + } + }, [nativeToolsEnabled, isHydrated]); + + // Save addon tools enabled state + useEffect(() => { + if (isHydrated) { + localStorage.setItem('addonToolsEnabled', JSON.stringify(addonEnabled)); + } + }, [addonEnabled, isHydrated]); + + + const handleToggleNativeTool = (toolId, enabled) => { + setNativeToolsEnabled(prev => ({ ...prev, [toolId]: enabled })); + if (toolId === 'native_rag' && enabled) { + fetchVectorStores(); + } + if (toolId === 'native_text_to_sql' && enabled) { + fetchSemanticStores(); + } + }; + + const fetchVectorStores = async () => { + setLoadingVectorStores(true); + try { + const res = await fetch('/api/vector-stores'); + if (res.ok) { + const data = await res.json(); + let stores = data.data || []; + + // Recover stores saved in localStorage but missing from the list (eventual consistency) + const savedIds = JSON.parse(localStorage.getItem('ragVectorStoreIds') || '[]'); + const listedIds = new Set(stores.map(s => s.id)); + const missingIds = savedIds.filter(id => !listedIds.has(id)); + if (missingIds.length > 0) { + const fetched = await Promise.all( + missingIds.map(id => fetch(`/api/vector-stores?id=${id}`).then(r => r.ok ? r.json() : null).catch(() => null)) + ); + stores = [...stores, ...fetched.filter(Boolean)]; + } + + setVectorStores(stores); + + // Save valid (completed) VS IDs so genaiAgentsService can filter stale ones + const validIds = stores.filter(s => s.status === 'completed').map(s => s.id); + localStorage.setItem('ragValidVectorStoreIds', JSON.stringify(validIds)); + } else { + console.error('Failed to fetch vector stores:', res.status); + } + } catch (error) { + console.error('Failed to fetch vector stores:', error); + } finally { + setLoadingVectorStores(false); + } + }; + + const fetchSemanticStores = async () => { + setLoadingSemanticStores(true); + try { + const res = await fetch('/api/semantic-stores'); + if (res.ok) { + const data = await res.json(); + setSemanticStores(data.items || []); + } + } catch (error) { + console.error('Failed to fetch semantic stores:', error); + } finally { + setLoadingSemanticStores(false); + } + }; + + const handleSelectSemanticStore = (storeId) => { + const next = selectedSemanticStoreId === storeId ? '' : storeId; + setSelectedSemanticStoreId(next); + localStorage.setItem('nl2sqlSemanticStoreId', next); + }; + + const deleteVectorStore = async (vsId) => { + setDeletingVS(vsId); + try { + const res = await fetch(`/api/vector-stores?id=${vsId}`, { method: 'DELETE' }); + if (res.ok) { + setVectorStores(prev => prev.filter(vs => vs.id !== vsId)); + setSelectedVectorStoreIds(prev => { + const next = prev.filter(id => id !== vsId); + localStorage.setItem('ragVectorStoreIds', JSON.stringify(next)); + return next; + }); + if (activeVectorStoreId === vsId) { + setActiveVectorStoreId(null); + setVectorStoreFiles([]); + } + } + } catch (error) { + console.error('Failed to delete vector store:', error); + } finally { + setDeletingVS(null); + } + }; + + const fetchVectorStoreFiles = async (vsId) => { + setLoadingFiles(true); + try { + const [vsRes, allRes] = await Promise.all([ + fetch(`/api/vector-stores?id=${vsId}&files=1`), + fetch('/api/files'), + ]); + if (vsRes.ok) { + const data = await vsRes.json(); + setVectorStoreFiles(data.data || []); + } + if (allRes.ok) { + const allData = await allRes.json(); + setAllFiles(allData.data || []); + } + } catch (error) { + console.error('Failed to fetch vector store files:', error); + } finally { + setLoadingFiles(false); + } + }; + + const handleToggleVectorStore = (vsId) => { + setSelectedVectorStoreIds(prev => { + const next = prev.includes(vsId) ? prev.filter(id => id !== vsId) : [...prev, vsId]; + localStorage.setItem('ragVectorStoreIds', JSON.stringify(next)); + return next; + }); + }; + + const handleActivateVectorStore = (vsId) => { + setActiveVectorStoreId(vsId); + // Clear previous polling + if (vsPollingRef.current) { clearInterval(vsPollingRef.current); vsPollingRef.current = null; } + // Check current status + const vs = vectorStores.find(v => v.id === vsId); + const status = vs?.status || 'in_progress'; + setActiveVsStatus(status); + if (status === 'completed') { + fetchVectorStoreFiles(vsId); + } else { + // Poll until completed + vsPollingRef.current = setInterval(async () => { + try { + const res = await fetch(`/api/vector-stores?id=${vsId}`); + if (res.ok) { + const data = await res.json(); + setActiveVsStatus(data.status); + setVectorStores(prev => prev.map(v => v.id === vsId ? { ...v, status: data.status } : v)); + if (data.status === 'completed' || data.status === 'expired') { + clearInterval(vsPollingRef.current); + vsPollingRef.current = null; + if (data.status === 'completed') fetchVectorStoreFiles(vsId); + } + } + } catch {} + }, 3000); + } + }; + + const handleDeleteFile = async (fileId) => { + if (!activeVectorStoreId) return; + setDeletingFile(fileId); + try { + const res = await fetch(`/api/vector-stores?id=${activeVectorStoreId}&file_id=${fileId}`, { method: 'DELETE' }); + if (res.ok) { + setVectorStoreFiles(prev => prev.filter(f => f.id !== fileId)); + } + } catch (error) { + console.error('Failed to delete file:', error); + } finally { + setDeletingFile(null); + } + }; + + // Single-file upload helper (returns the OCI file_id or throws). + const uploadOneFile = async (file) => { + const formData = new FormData(); + formData.append('file', file); + formData.append('purpose', 'user_data'); + const uploadRes = await fetch('/api/files', { method: 'POST', body: formData }); + if (!uploadRes.ok) { + const errText = await uploadRes.text().catch(() => ''); + let msg = `Upload failed (${uploadRes.status})`; + try { + const parsed = JSON.parse(errText); + const inner = typeof parsed?.error === 'string' ? (() => { try { return JSON.parse(parsed.error); } catch { return null; } })() : null; + msg = inner?.message || parsed?.error?.message || parsed?.message || msg; + } catch { /* not JSON */ } + throw new Error(msg); + } + const uploaded = await uploadRes.json(); + return uploaded.id; + }; + + // Upload N files: parallelizes uploads in chunks of 10 to avoid rate limits, + // then attaches them all to the vector store via the batch endpoint. + const handleUploadFiles = async (filesArr) => { + const files = Array.from(filesArr || []).filter(Boolean); + if (files.length === 0 || !activeVectorStoreId) return; + if (activeVsStatus !== 'completed') { + setUploadError('Vector store is still provisioning. Please wait.'); + return; + } + + setUploadingFile(true); + setUploadError(null); + setUploadProgress({ done: 0, total: files.length }); + + const CHUNK_SIZE = 10; + const fileIds = []; + const failures = []; + try { + for (let i = 0; i < files.length; i += CHUNK_SIZE) { + const chunk = files.slice(i, i + CHUNK_SIZE); + const results = await Promise.allSettled(chunk.map(f => uploadOneFile(f))); + results.forEach((r, idx) => { + if (r.status === 'fulfilled') fileIds.push(r.value); + else failures.push({ name: chunk[idx]?.name || '?', error: r.reason?.message || 'Upload failed' }); + }); + setUploadProgress({ done: Math.min(i + chunk.length, files.length), total: files.length }); + } + + if (fileIds.length > 0) { + // Single file → use attach-file (cheaper). Multiple → use batch endpoint. + const path = fileIds.length === 1 + ? `/api/vector-stores?id=${activeVectorStoreId}&action=attach-file` + : `/api/vector-stores?id=${activeVectorStoreId}&action=attach-batch`; + const body = fileIds.length === 1 ? { file_id: fileIds[0] } : { file_ids: fileIds }; + const attachRes = await fetch(path, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify(body), + }); + if (!attachRes.ok) { + setUploadError(`Failed to attach file${fileIds.length === 1 ? '' : 's'} (${attachRes.status})`); + return; + } + } + + if (failures.length > 0) { + setUploadError(`${failures.length} of ${files.length} failed: ${failures.slice(0, 3).map(f => f.name).join(', ')}${failures.length > 3 ? '…' : ''}`); + } + + fetchVectorStoreFiles(activeVectorStoreId); + } catch (error) { + console.error('Batch upload failed:', error); + setUploadError(error.message || 'Upload failed'); + } finally { + setUploadingFile(false); + setUploadProgress(null); + } + }; + + // Backwards-compat wrapper — existing callers still pass a single file. + const handleUploadFile = (file) => handleUploadFiles([file]); + + const openEditVSDialog = () => { + const vs = vectorStores.find(v => v.id === activeVectorStoreId); + if (!vs) return; + setEditVSNameValue(vs.name || ''); + setEditVSExpiresEnabled(!!vs.expires_after); + setEditVSExpiresDays(vs.expires_after?.days?.toString() || '7'); + setEditVSMetadata(vs.metadata ? JSON.stringify(vs.metadata, null, 2) : ''); + setShowEditVSDialog(true); + }; + + const handleUpdateVS = async () => { + if (!activeVectorStoreId) return; + setSavingVS(true); + try { + const body = {}; + if (editVSNameValue.trim()) body.name = editVSNameValue.trim(); + if (editVSExpiresEnabled && parseInt(editVSExpiresDays) > 0) { + body.expires_after = { anchor: "last_active_at", days: parseInt(editVSExpiresDays) }; + } else if (!editVSExpiresEnabled) { + body.expires_after = null; + } + if (editVSMetadata.trim()) { + try { body.metadata = JSON.parse(editVSMetadata); } catch { /* ignore */ } + } else { + body.metadata = {}; + } + const res = await fetch(`/api/vector-stores?id=${activeVectorStoreId}`, { + method: 'PUT', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify(body), + }); + if (res.ok) { + const updated = await res.json(); + setVectorStores(prev => prev.map(vs => vs.id === activeVectorStoreId ? { ...vs, ...updated } : vs)); + setShowEditVSDialog(false); + } + } catch (e) { + console.error('Failed to update VS:', e); + } finally { + setSavingVS(false); + } + }; + + const handleSearchVS = async () => { + if (!searchQuery.trim() || !activeVectorStoreId) return; + setSearching(true); + setSearchResults(null); + try { + const res = await fetch(`/api/vector-stores?id=${activeVectorStoreId}&action=search`, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ query: searchQuery.trim(), max_num_results: 5 }), + }); + if (res.ok) { + const data = await res.json(); + setSearchResults(data.data || []); + } + } catch (e) { + console.error('Search failed:', e); + } finally { + setSearching(false); + } + }; + + const handleUpdateFileAttrs = async (fileId) => { + if (!activeVectorStoreId) return; + setSavingFileAttrs(true); + try { + let attrs = {}; + try { attrs = JSON.parse(fileAttrsValue); } catch { /* ignore parse error */ } + const res = await fetch(`/api/vector-stores?id=${activeVectorStoreId}&file_id=${fileId}`, { + method: 'PUT', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ attributes: attrs }), + }); + if (res.ok) { + setEditingFileAttrs(null); + fetchVectorStoreFiles(activeVectorStoreId); + } + } catch (e) { + console.error('Failed to update file attrs:', e); + } finally { + setSavingFileAttrs(false); + } + }; + + const handleDeleteFileGlobal = async (fileId) => { + try { + await fetch(`/api/files?id=${fileId}`, { method: 'DELETE' }); + } catch (e) { + console.error('Failed to delete file globally:', e); + } + }; + + // Save servers when changed (merge with native + addon servers) + useEffect(() => { + if (isHydrated) { + const allStored = MCPService.getServers(); + const nativeServers = allStored.filter(s => s.isNative); + const addonServers = allStored.filter(s => s.isAddon); + MCPService.setServers([...nativeServers, ...addonServers, ...servers]); + } + }, [servers, isHydrated]); + + // Check OAuth 2.1 token presence for each oauth2.1 server + useEffect(() => { + const checkOauth21Tokens = async () => { + const oauth21Servers = servers.filter(s => s.authType === 'oauth2.1'); + if (oauth21Servers.length === 0) return; + const updates = {}; + await Promise.all( + oauth21Servers.map(async (s) => { + try { + const res = await fetch(`/api/mcp/oauth/token?endpoint=${encodeURIComponent(s.endpoint)}`); + const data = await res.json().catch(() => ({})); + updates[s.id] = data.hasToken ? 'authorized' : 'needs_auth'; + } catch { + updates[s.id] = 'needs_auth'; + } + }) + ); + setOauth21Status(prev => ({ ...prev, ...updates })); + }; + if (isHydrated) checkOauth21Tokens(); + }, [servers, isHydrated]); + + // Show feedback when returning from an OAuth callback (success or error) + useEffect(() => { + if (typeof window === 'undefined') return; + const params = new URLSearchParams(window.location.search); + const result = params.get('mcp_auth'); + if (result === 'success') { + setToast({ message: 'Tool authorized successfully', severity: 'success' }); + } else if (result === 'error') { + setToast({ message: 'Authorization failed. Try again or check the tool configuration.', severity: 'error' }); + } + if (result) { + // Clean the URL so a refresh doesn't re-trigger the toast + params.delete('mcp_auth'); + const newUrl = window.location.pathname + (params.toString() ? `?${params.toString()}` : '') + window.location.hash; + window.history.replaceState({}, '', newUrl); + } + }, []); + + // Honor ?focus= coming from the chat banner. Expand + scroll + highlight + // the failing server so the user sees it immediately on landing. + useEffect(() => { + if (typeof window === 'undefined') return; + if (!isHydrated || servers.length === 0) return; + const params = new URLSearchParams(window.location.search); + const focus = params.get('focus'); + if (!focus) return; + const target = servers.find(s => s.id === focus); + if (!target) return; + setExpandedServers(prev => ({ ...prev, [focus]: true })); + setFocusedServerId(focus); + // Strip ?focus from URL so a refresh doesn't re-trigger + params.delete('focus'); + const newUrl = window.location.pathname + (params.toString() ? `?${params.toString()}` : '') + window.location.hash; + window.history.replaceState({}, '', newUrl); + // Scroll to the server card and clear the highlight after a few seconds + setTimeout(() => { + const el = document.getElementById(`mcp-server-${focus}`); + if (el) el.scrollIntoView({ behavior: 'smooth', block: 'center' }); + }, 100); + setTimeout(() => setFocusedServerId(null), 4000); + }, [isHydrated, servers]); + + // Save enabled tools when changed + useEffect(() => { + if (isHydrated) { + MCPService.setEnabledTools(enabledTools); + // Dispatch custom event so ArchitectureDiagram can update + window.dispatchEvent(new CustomEvent("mcp-tools-changed")); + } + }, [enabledTools, isHydrated]); + + // Receives the validated server data + tools (when the form already tested) from + const handleAddServer = (serverData, testTools) => { + const newServer = MCPService.addServer({ ...serverData, enabled: true }); + + // Transfer MCP session from the form's test id to the real server id + const testStateId = `test-${newServer.id}` in (mcpService.servers && Object.fromEntries(mcpService.servers)) + ? `test-${newServer.id}` + : 'test-new'; + const testState = mcpService.servers.get(testStateId); + if (testState) { + mcpService.servers.set(newServer.id, { ...testState, config: newServer }); + mcpService.servers.delete(testStateId); + } + + setServers(prev => [...prev, newServer]); + setShowAddForm(false); + setExpandedServers(prev => ({ ...prev, [newServer.id]: true })); + + const hasTestTools = Array.isArray(testTools) && testTools.length > 0; + if (hasTestTools) { + const tools = testTools.map(t => ({ ...t, serverId: newServer.id, serverName: newServer.name })); + setServerTools(prev => ({ ...prev, [newServer.id]: tools })); + setServerStatus(prev => ({ ...prev, [newServer.id]: 'connected' })); + const toolIds = tools.map(t => `${newServer.id}:${t.name}`); + setEnabledTools(prev => [...prev, ...toolIds]); + setToast({ message: `${newServer.name} added · ${tools.length} tools enabled`, severity: 'success' }); + } else if (newServer.authType === 'oauth2.1') { + // Interactive flow — kick off authorization right away. The user comes back to /settings + // when done. After return, the server's tools/list will succeed and the chip will load. + setServerStatus(prev => ({ ...prev, [newServer.id]: null })); + const returnTo = typeof window !== 'undefined' ? window.location.pathname + window.location.search : '/settings'; + window.location.href = `/api/mcp/oauth/authorize?endpoint=${encodeURIComponent(newServer.endpoint)}&returnTo=${encodeURIComponent(returnTo)}`; + } else { + loadServerTools(newServer); + } + }; + + const handleRemoveServer = (serverId) => { + MCPService.removeServer(serverId); + setServers(servers.filter(s => s.id !== serverId)); + + // Remove tools from this server from enabled list + const newEnabledTools = enabledTools.filter(t => !t.startsWith(`${serverId}:`)); + setEnabledTools(newEnabledTools); + }; + + const handleToggleServer = (serverId, enabled) => { + MCPService.updateServer(serverId, { enabled }); + setServers(servers.map(s => s.id === serverId ? { ...s, enabled } : s)); + }; + + const handleStartEdit = (server) => setEditingServerId(server.id); + const handleCancelEdit = () => setEditingServerId(null); + + // Called by when the user clicks Save + const handleSaveEdit = (serverData) => { + const id = serverData.id || editingServerId; + const updates = { + name: serverData.name, + endpoint: serverData.endpoint, + authType: serverData.authType, + authKey: serverData.authKey, + oauth: serverData.oauth, + }; + MCPService.updateServer(id, updates); + setServers(prev => prev.map(s => (s.id === id ? { ...s, ...updates } : s))); + setEditingServerId(null); + setToast({ message: `${updates.name} updated`, severity: 'success' }); + }; + + // Test connection and update tools list + const testServerConnection = async (server) => { + setLoadingServers(prev => ({ ...prev, [server.id]: true })); + setServerStatus(prev => ({ ...prev, [server.id]: null })); + + try { + const tools = await mcpService.listToolsFromServer(server); + setServerStatus(prev => ({ ...prev, [server.id]: 'connected' })); + if (tools) { + setServerTools(prev => ({ ...prev, [server.id]: tools })); + // Auto-enable new tools + const validToolIds = tools.map(t => `${server.id}:${t.name}`); + setEnabledTools(prev => { + const cleaned = prev.filter(t => !t.startsWith(`${server.id}:`) || validToolIds.includes(t)); + const toAdd = validToolIds.filter(id => !cleaned.includes(id)); + return toAdd.length > 0 ? [...cleaned, ...toAdd] : cleaned; + }); + } + } catch (error) { + setServerStatus(prev => ({ ...prev, [server.id]: 'error' })); + } finally { + setLoadingServers(prev => ({ ...prev, [server.id]: false })); + } + }; + + const handleTestConnection = async (server) => { + await testServerConnection(server); + }; + + + const loadServerTools = async (server) => { + setLoadingServers(prev => ({ ...prev, [server.id]: true })); + setServerStatus(prev => ({ ...prev, [server.id]: null })); + + try { + const tools = await mcpService.listToolsFromServer(server); + setServerTools(prev => ({ ...prev, [server.id]: tools })); + setServerStatus(prev => ({ ...prev, [server.id]: 'connected' })); + + // Clean up enabledTools: remove tools that no longer exist, add new ones + const validToolIds = tools ? tools.map(t => `${server.id}:${t.name}`) : []; + + setEnabledTools(prev => { + // Remove tools from this server that no longer exist + const cleaned = prev.filter(t => { + if (!t.startsWith(`${server.id}:`)) return true; // keep tools from other servers + return validToolIds.includes(t); // only keep if still exists + }); + + // Auto-enable new tools (if not already enabled) + const toAdd = validToolIds.filter(id => !cleaned.includes(id)); + return toAdd.length > 0 ? [...cleaned, ...toAdd] : cleaned; + }); + } catch (error) { + console.error(`Failed to load tools from ${server.name}:`, error); + setServerStatus(prev => ({ ...prev, [server.id]: 'error' })); + setServerTools(prev => ({ ...prev, [server.id]: [] })); + } finally { + setLoadingServers(prev => ({ ...prev, [server.id]: false })); + } + }; + + const handleToggleExpand = (serverId) => { + const isExpanding = !expandedServers[serverId]; + setExpandedServers({ ...expandedServers, [serverId]: isExpanding }); + + // Load tools if expanding and not loaded yet + const server = servers.find(s => s.id === serverId); + if (isExpanding && server && !serverTools[serverId]) { + loadServerTools(server); + } + }; + + const handleToggleTool = (serverId, toolName, enabled) => { + const toolId = `${serverId}:${toolName}`; + let newEnabledTools; + + if (enabled) { + newEnabledTools = [...enabledTools, toolId]; + } else { + newEnabledTools = enabledTools.filter(t => t !== toolId); + } + + setEnabledTools(newEnabledTools); + }; + + const isToolEnabled = (serverId, toolName) => { + return enabledTools.includes(`${serverId}:${toolName}`); + }; + + const [toolsTab, setToolsTab] = useState(0); + + const TOOLS_TABS = ALL_TOOLS_TABS; + + // Map tab index to tab id for content rendering + const activeTabId = TOOLS_TABS[toolsTab]?.id || "native"; + + return ( + + + Tools + + + {/* Tabs — contained pill style */} + + + {TOOLS_TABS.map((tab, i) => ( + setToolsTab(i)} + sx={{ + display: "flex", + alignItems: "center", + gap: 0.75, + px: 3, + py: 1, + borderRadius: 2, + cursor: "pointer", + transition: "all 0.2s ease", + backgroundColor: toolsTab === i ? "var(--dm-surface, #fff)" : "transparent", + boxShadow: toolsTab === i ? "0 1px 3px rgba(0,0,0,0.1)" : "none", + color: toolsTab === i ? "var(--dm-text, #1a1a1a)" : "var(--dm-muted, rgba(0,0,0,0.45))", + fontWeight: toolsTab === i ? 600 : 450, + "&:hover": { + color: toolsTab === i ? "var(--dm-text, #1a1a1a)" : "var(--dm-text, rgba(0,0,0,0.65))", + }, + }} + > + {tab.icon} + + {tab.label} + + + ))} + + + + {/* Tab content */} + + + + {/* Native Tools tab */} + {activeTabId === "native" && ( + + + Built-in tools available to the AI out of the box. + + + {NATIVE_TOOLS.map((tool) => { + const Icon = tool.icon; + return ( + + + {/* Switch top-right — absolute */} + + {tool.comingSoon && ( + + )} + handleToggleNativeTool(tool.id, e.target.checked)} + disabled={!!tool.comingSoon} + sx={{ transform: "scale(0.75)" }} + /> + + + {/* Icon */} + + + + + {/* Content */} + + + {tool.name} + + + {tool.description} + + + + + + + {/* Semantic Store config for Text to SQL */} + {tool.configType === 'semantic_store' && nativeToolsEnabled[tool.id] && ( + + + + + + Semantic Stores + + + + + + + {loadingSemanticStores ? ( + + + + Loading semantic stores... + + + ) : semanticStores.length > 0 ? ( + + {semanticStores.map((ss) => { + const isSelected = selectedSemanticStoreId === ss.id; + const schemas = (ss.schemas?.schemas || []).map(s => s.name).join(', '); + return ( + handleSelectSemanticStore(ss.id)} + sx={{ + display: "flex", + alignItems: "center", + gap: 1, + py: 0.75, + px: 1, + borderRadius: 2, + cursor: "pointer", + transition: "all 0.15s ease", + backgroundColor: isSelected ? "rgba(245, 158, 11, 0.06)" : "transparent", + "&:hover": { backgroundColor: isSelected ? "rgba(245, 158, 11, 0.1)" : "var(--dm-subtle, rgba(0,0,0,0.03))" }, + }} + > + e.stopPropagation()} + onChange={() => handleSelectSemanticStore(ss.id)} + sx={{ + p: 0.5, + color: "var(--dm-muted, rgba(0,0,0,0.25))", + "&.Mui-checked": { color: "#F59E0B" }, + }} + /> + + + + + {ss.displayName} + + + + {schemas && ( + + Schema: {schemas} + + )} + + + ); + })} + + ) : ( + + No semantic stores found. Create one in OCI Console → Generative AI → Vector Stores (Structured data). + + )} + + + + )} + + {tool.hasConfig && tool.configType !== 'semantic_store' && nativeToolsEnabled[tool.id] && ( + + + + + {/* Detail view — single vector store */} + {activeVectorStoreId ? ( + + + { if (vsPollingRef.current) { clearInterval(vsPollingRef.current); vsPollingRef.current = null; } setActiveVectorStoreId(null); setActiveVsStatus(null); setVectorStoreFiles([]); setSearchResults(null); setSearchQuery(""); setEditingFileAttrs(null); setVsDetailTab(0); }} + sx={{ p: 0.5 }} + > + + + + + {vectorStores.find(v => v.id === activeVectorStoreId)?.name} + + {activeVsStatus && activeVsStatus !== 'completed' && ( + } + label={activeVsStatus === 'expired' ? "Expired" : "Provisioning"} + sx={{ + height: 22, fontSize: "0.65rem", + backgroundColor: activeVsStatus === 'expired' ? "rgba(239,68,68,0.08)" : "var(--dm-subtle, rgba(0,0,0,0.06))", + color: activeVsStatus === 'expired' ? "#DC2626" : "var(--dm-muted, rgba(0,0,0,0.5))", + }} + /> + )} + + + + handleToggleVectorStore(activeVectorStoreId)} + title="Use in RAG queries" + sx={{ p: 0.5, color: "var(--dm-muted, rgba(0,0,0,0.25))", "&.Mui-checked": { color: "var(--dm-text, #1a1a1a)" } }} + /> + + + {/* Edit VS Dialog */} + setShowEditVSDialog(false)} + maxWidth="xs" + fullWidth + PaperProps={{ sx: { borderRadius: 1.5 } }} + > + Edit Vector Store + + setEditVSNameValue(e.target.value)} + label="Name" + size="small" + fullWidth + autoFocus + sx={{ "& .MuiOutlinedInput-root": { fontSize: "0.85rem" } }} + /> + + + setEditVSExpiresEnabled(e.target.checked)} + sx={{ p: 0.25, color: "var(--dm-muted, rgba(0,0,0,0.25))", "&.Mui-checked": { color: "var(--dm-text, #1a1a1a)" } }} + /> + Auto-expire + + + + {editVSExpiresEnabled && ( + setEditVSExpiresDays(e.target.value.replace(/\D/g, ''))} + size="small" + InputProps={{ endAdornment: days }} + sx={{ width: 110, "& .MuiOutlinedInput-root": { fontSize: "0.82rem" } }} + /> + )} + + + setEditVSMetadata(e.target.value)} + label="Metadata (JSON)" + size="small" + fullWidth + multiline + minRows={2} + maxRows={4} + placeholder='{"key": "value"}' + sx={{ "& .MuiOutlinedInput-root": { fontSize: "0.8rem", fontFamily: "monospace" } }} + /> + + + + + + + + {/* File Preview Dialog */} + setPreviewFile(null)} + maxWidth="md" + fullWidth + PaperProps={{ sx: { borderRadius: 1.5, maxHeight: "80vh" } }} + > + + + + {previewFile?.filename} + + previewFile && handleDownloadFile(previewFile.id, previewFile.filename)} + disabled={downloadingFile === previewFile?.id} + sx={{ p: 0.5 }} + > + {downloadingFile === previewFile?.id ? : } + + setPreviewFile(null)} sx={{ p: 0.5 }}> + + + + + {previewLoading ? ( + + + Loading... + + ) : previewError ? ( + + Failed to load preview + {previewError} + + ) : ( + + + + {previewContent} + + + + Showing first {(previewContent.length / 1024).toFixed(1)} KB · download for full file + + + )} + + + + {/* Tabs: Documents | Search */} + setVsDetailTab(v)} + sx={{ + minHeight: 0, + mb: 1.5, + "& .MuiTabs-indicator": { height: 2, borderRadius: 1 }, + "& .MuiTab-root": { minHeight: 0, py: 0.75, px: 1.5, fontSize: "0.75rem", textTransform: "none", minWidth: 0 }, + }} + > + 0 ? `Documents (${vectorStoreFiles.length})` : "Documents"} /> + + + + {/* Tab: Documents */} + {vsDetailTab === 0 && ( + + {(() => { + const vsReady = activeVsStatus === 'completed'; + const disabled = !vsReady || uploadingFile; + const hasFiles = vectorStoreFiles.length > 0; + return ( + { if (!disabled) { e.preventDefault(); e.stopPropagation(); setIsDragging(true); } }} + onDragLeave={(e) => { e.preventDefault(); e.stopPropagation(); setIsDragging(false); }} + onDrop={(e) => { + e.preventDefault(); + e.stopPropagation(); + setIsDragging(false); + if (disabled) return; + const files = Array.from(e.dataTransfer.files || []); + if (files.length > 0) handleUploadFiles(files); + }} + sx={{ + position: "relative", + borderRadius: 2.5, + border: isDragging ? "2px dashed var(--dm-text, #1a1a1a)" : "2px dashed var(--dm-border, rgba(0,0,0,0.12))", + backgroundColor: isDragging ? "var(--dm-subtle, rgba(26, 26, 26, 0.04))" : disabled ? "var(--dm-subtle, rgba(0,0,0,0.02))" : "transparent", + opacity: vsReady ? 1 : 0.5, + transition: "all 0.2s ease", + overflow: "hidden", + "&:hover": !disabled && !hasFiles ? { borderColor: "rgba(26, 26, 26, 0.3)", backgroundColor: "rgba(26, 26, 26, 0.02)" } : {}, + }} + > + {/* File list inside the drop zone */} + {loadingFiles ? ( + + + Loading... + + ) : hasFiles ? ( + + {vectorStoreFiles.map((f) => { + const fileInfo = allFiles.find(af => af.id === f.id); + const displayName = fileInfo?.filename || f.id; + const hasAttrs = f.attributes && Object.keys(f.attributes).length > 0; + return ( + + handlePreviewFile(f.id, displayName)} + sx={{ + display: "flex", alignItems: "center", gap: 0.75, py: 0.6, px: 0.75, borderRadius: 1.5, + cursor: "pointer", + "&:hover": { backgroundColor: "var(--dm-subtle, rgba(0,0,0,0.02))" }, "&:hover .file-actions": { opacity: 0.5 }, + transition: "background-color 0.15s ease", + }} + > + + + + {displayName} + + {(f.status || hasAttrs || fileInfo?.bytes) && ( + + {f.status && ( + + )} + {fileInfo?.bytes && ( + + {fileInfo.bytes < 1024 ? `${fileInfo.bytes} B` : fileInfo.bytes < 1024 * 1024 ? `${(fileInfo.bytes / 1024).toFixed(0)} KB` : `${(fileInfo.bytes / 1024 / 1024).toFixed(1)} MB`} + + )} + {hasAttrs && ( + + {Object.entries(f.attributes).map(([k, v]) => `${k}: ${v}`).join(', ')} + + )} + + )} + + { e.stopPropagation(); handleDownloadFile(f.id, displayName); }} + disabled={downloadingFile === f.id} + sx={{ opacity: 0, p: 0.25, "&:hover": { opacity: 1 }, transition: "opacity 0.15s ease" }} + > + {downloadingFile === f.id ? : } + + { e.stopPropagation(); setEditingFileAttrs(editingFileAttrs === f.id ? null : f.id); setFileAttrsValue(f.attributes ? JSON.stringify(f.attributes, null, 2) : '{}'); }} + sx={{ opacity: 0, p: 0.25, transition: "opacity 0.15s ease" }} + > + + + { e.stopPropagation(); handleDeleteFile(f.id); handleDeleteFileGlobal(f.id); }} + disabled={deletingFile === f.id} + sx={{ opacity: 0, p: 0.25, "&:hover": { opacity: 1, color: "#d32f2f" }, transition: "opacity 0.15s ease" }} + > + {deletingFile === f.id ? : } + + + {editingFileAttrs === f.id && ( + + setFileAttrsValue(e.target.value)} size="small" multiline minRows={1} maxRows={3} + placeholder='{"category": "docs"}' sx={{ flex: 1, "& .MuiOutlinedInput-root": { fontSize: "0.7rem", fontFamily: "monospace" } }} + /> + handleUpdateFileAttrs(f.id)} disabled={savingFileAttrs} sx={{ p: 0.25, mt: 0.5 }}> + {savingFileAttrs ? : } + + + )} + + ); + })} + + ) : ( + /* Empty state: full-area click-to-upload */ + + {uploadingFile ? ( + + ) : ( + + )} + + {activeVsStatus === 'expired' ? "Vector store expired" : !vsReady ? "Provisioning..." : uploadingFile ? (uploadProgress ? `Uploading ${uploadProgress.done}/${uploadProgress.total}...` : "Uploading...") : isDragging ? "Drop files here" : "Drag & drop or click to upload"} + + + PDF, TXT, MD, JSON, HTML + + { const files = Array.from(e.target.files || []); if (files.length > 0) { handleUploadFiles(files); e.target.value = ''; } }} + /> + + )} + + {/* When files exist: compact "add more" footer that stays a click target + drop hint */} + {hasFiles && ( + + {uploadingFile ? ( + <> + + + {uploadProgress ? `Uploading ${uploadProgress.done}/${uploadProgress.total}...` : "Uploading..."} + + + ) : ( + <> + + + {isDragging ? "Drop to add" : "Drag & drop or click to add more"} + + + )} + { const files = Array.from(e.target.files || []); if (files.length > 0) { handleUploadFiles(files); e.target.value = ''; } }} + /> + + )} + + ); + })()} + {uploadError && ( + {uploadError} + )} + + )} + + {/* Tab: Search */} + {vsDetailTab === 1 && ( + + + setSearchQuery(e.target.value)} + placeholder="Test a search query..." + size="small" + fullWidth + onKeyDown={(e) => { if (e.key === 'Enter') handleSearchVS(); }} + sx={{ "& .MuiOutlinedInput-root": { fontSize: "0.82rem" } }} + /> + + {searching ? : } + + + {searchResults === null && !searching && ( + + Search your vector store to test that documents are indexed correctly. + + )} + {searchResults && searchResults.length === 0 && ( + No results found. + )} + {searchResults && searchResults.length > 0 && ( + + {searchResults.map((r, i) => ( + + + + + + {r.filename || r.file_id} + + + 0.8 ? "rgba(34,197,94,0.1)" : r.score > 0.5 ? "rgba(234,179,8,0.1)" : "var(--dm-subtle, rgba(0,0,0,0.05))", color: r.score > 0.8 ? "#16a34a" : r.score > 0.5 ? "#ca8a04" : "var(--dm-muted, rgba(0,0,0,0.5))" }} /> + + + {r.content?.[0]?.text || 'No content'} + + + ))} + + )} + + )} + + ) : ( + /* List view — all vector stores */ + + + + + Vector Stores + + + + + + + + + + + + + + + {loadingVectorStores ? ( + + + + Loading vector stores... + + + ) : vectorStores.length > 0 ? ( + + {vectorStores.map((vs) => { + const isChecked = selectedVectorStoreIds.includes(vs.id); + return ( + handleActivateVectorStore(vs.id)} + sx={{ + display: "flex", + alignItems: "center", + gap: 1, + py: 0.75, + px: 1, + borderRadius: 2, + cursor: "pointer", + transition: "all 0.15s ease", + "&:hover": { + backgroundColor: "var(--dm-subtle, rgba(0,0,0,0.03))", + }, + "&:hover .vs-delete": { opacity: 0.5 }, + "&:hover .vs-chevron": { opacity: 1 }, + }} + > + e.stopPropagation()} + onChange={() => handleToggleVectorStore(vs.id)} + sx={{ + p: 0.5, + color: "var(--dm-muted, rgba(0,0,0,0.25))", + "&.Mui-checked": { color: "var(--dm-text, #1a1a1a)" }, + }} + /> + + + + {vs.name} + + + + + {vs.file_counts?.total || 0} files · {vs.usage_bytes ? `${(vs.usage_bytes / 1024).toFixed(0)} KB` : '0 KB'} + + + + { + e.stopPropagation(); + deleteVectorStore(vs.id); + }} + disabled={deletingVS === vs.id} + sx={{ + opacity: 0, + "&:hover": { opacity: 1, color: "#d32f2f" }, + transition: "opacity 0.15s ease", + }} + > + {deletingVS === vs.id ? : } + + + + ); + })} + + ) : ( + + No vector stores found. Create one to get started. + + )} + + )} + + + + )} + + ); + })} + + + + )} + + {/* Internal Marketplace tab — gated on INTERNAL_TOOL_TABS (populated only on private branch) */} + {INTERNAL_TOOL_TABS.length > 0 && activeTabId === "internal" && ( + + + Pre-configured tools ready to activate with a single toggle. + + + {ADDON_TOOLS.map((addon) => { + const isEnabled = !!addonEnabled[addon.id]; + const isLoading = !!addonLoading[addon.id]; + const status = addonStatus[addon.id]; + const tools = addonTools[addon.id] || []; + const Icon = addon.icon; + const Logo = addon.LogoComponent; + + const statusChip = isEnabled && STATUS_CHIP[status]; + + return ( + + + handleToggleAddon(addon.id, e.target.checked)} + sx={{ transform: "scale(0.75)" }} + /> + + + + + {Logo ? ( + + ) : ( + + )} + + + + + + {addon.name} + + {statusChip && ( + + )} + + + {addon.description} + + + + + {isLoading && ( + + + + Connecting... + + + )} + + {isEnabled && status === 'needs_auth' && !isLoading && ( + + + + )} + + {isEnabled && status === 'error' && !isLoading && ( + + + + )} + + {isEnabled && status === 'connected' && tools.length > 0 && ( + + + {tools.map((tool) => ( + } + label={tool.name} + size="small" + sx={{ + height: 26, + fontSize: "0.72rem", + fontWeight: 500, + backgroundColor: "var(--dm-subtle, rgba(0,0,0,0.03))", + border: "1px solid var(--dm-border, rgba(0,0,0,0.08))", + color: "var(--dm-text, #1a1a1a)", + "& .MuiChip-icon": { color: addon.color, ml: 0.5 }, + }} + /> + ))} + + + )} + + ); + })} + + + )} + + {/* Custom Tools tab */} + {activeTabId === "custom" && ( + + + + Connect MCP tools to extend AI capabilities. + + + + + {/* Add Tool Form — single component handles state, validation, test, OAuth discovery */} + {showAddForm && ( + + { + setShowAddForm(false); + mcpService.servers.delete('test-new'); + }} + /> + + )} + + {/* Server List */} + + {servers.map((server) => ( + + {/* Server Header */} + {editingServerId === server.id ? ( + /* Edit Mode — same form as add, prefilled with server values */ + + + + ) : ( + /* View Mode */ + handleToggleExpand(server.id)} + > + e.stopPropagation()} sx={{ flexShrink: 0, display: 'flex', alignItems: 'center' }}> + handleToggleServer(server.id, e.target.checked)} + sx={{ transform: 'scale(0.75)' }} + /> + + + + {server.name} + + {server.endpoint} + + + + {/* Actions — never shrink */} + + {/* Tools count - show when collapsed and tools are loaded */} + {!expandedServers[server.id] && serverTools[server.id]?.length > 0 && ( + + {enabledTools.filter(t => t.startsWith(`${server.id}:`)).length}/{serverTools[server.id].length} tools + + )} + + {serverStatus[server.id] === 'connected' && ( + } + label="Connected" + size="small" + sx={{ height: 24, backgroundColor: "rgba(46, 125, 50, 0.1)", color: "#2e7d32", "& .MuiChip-icon": { fontSize: 14, ml: 0.5, color: "#2e7d32" } }} + /> + )} + {serverStatus[server.id] === 'error' && ( + } + label="Unable to connect" + size="small" + sx={{ height: 24, backgroundColor: "rgba(198, 40, 40, 0.1)", color: "#c62828", "& .MuiChip-icon": { fontSize: 14, ml: 0.5, color: "#c62828" } }} + /> + )} + {/* OAuth 2.1 authorization status — only shown for oauth2.1 servers */} + {server.authType === 'oauth2.1' && oauth21Status[server.id] === 'needs_auth' && ( + + )} + {server.authType === 'oauth2.1' && oauth21Status[server.id] === 'authorized' && ( + + { + e.stopPropagation(); + const returnTo = window.location.pathname + window.location.search; + window.location.href = `/api/mcp/oauth/authorize?endpoint=${encodeURIComponent(server.endpoint)}&returnTo=${encodeURIComponent(returnTo)}`; + }} + sx={{ color: "rgba(46, 125, 50, 0.7)" }} + > + + + + )} + {loadingServers[server.id] && ( + + )} + + { + e.stopPropagation(); + handleStartEdit(server); + }} + title="Edit tool" + > + + + + { + e.stopPropagation(); + loadServerTools(server); + }} + title="Refresh tools" + > + + + + { + e.stopPropagation(); + handleRemoveServer(server.id); + }} + title="Remove tool" + sx={{ color: "error.main" }} + > + + + + {expandedServers[server.id] ? ( + + ) : ( + + )} + + + )} + + {/* Tools List (Expanded) */} + + + {loadingServers[server.id] ? ( + + + + Loading tools... + + + ) : serverTools[server.id]?.length > 0 ? ( + + {serverTools[server.id].map((tool) => ( + + handleToggleTool(server.id, tool.name, e.target.checked)} + sx={{ + p: 0.5, + mt: 0.25, + color: "var(--dm-muted, rgba(0,0,0,0.3))", + "&.Mui-checked": { color: "var(--dm-text, #1a1a1a)" }, + }} + /> + + + {tool.name} + + + {tool.description} + + + + ))} + + ) : serverStatus[server.id] === 'error' ? ( + + Unable to connect. Please verify the endpoint URL is correct. + + ) : ( + + No tools available + + )} + + + + ))} + + {servers.length === 0 && !showAddForm && ( + + + No MCP tools configured + Add a tool to extend AI capabilities + + )} + + + )} + + + + + {/* Feedback for save/update operations */} + setToast(null)} + anchorOrigin={{ vertical: 'bottom', horizontal: 'center' }} + > + {toast ? ( + setToast(null)} + variant="filled" + sx={{ fontSize: '0.85rem' }} + > + {toast.message} + + ) : null} + + + ); +} diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/settings/flows/ChipEditor.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/settings/flows/ChipEditor.js new file mode 100644 index 000000000..ee020ac04 --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/settings/flows/ChipEditor.js @@ -0,0 +1,73 @@ +"use client"; + +import { Box, TextField, ToggleButton, ToggleButtonGroup, IconButton } from "@mui/material"; +import { Plus } from "lucide-react"; + +export default function ChipEditor({ + chipData, + onChipDataChange, + onSave, + showSaveButton = true, + autoFocus = false +}) { + const handleChange = (field, value) => { + onChipDataChange({ ...chipData, [field]: value }); + }; + + return ( + + + handleChange("label", e.target.value)} + label="Label" + placeholder="What appears in the chip" + variant="outlined" + size="small" + sx={{ flex: 1 }} + autoFocus={autoFocus} + /> + { + if (newStatus) handleChange("status", newStatus); + }} + size="small" + > + Info + Warning + Success + + + handleChange("content", e.target.value)} + label="Content" + placeholder="Detailed explanation that shows when clicked..." + variant="outlined" + size="small" + fullWidth + multiline + rows={3} + sx={{ mb: 2 }} + /> + {showSaveButton && ( + + + + + + )} + + ); +} \ No newline at end of file diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/settings/flows/InteractiveEditor.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/settings/flows/InteractiveEditor.js new file mode 100644 index 000000000..424619d95 --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/settings/flows/InteractiveEditor.js @@ -0,0 +1,105 @@ +"use client"; + +import { Box, TextField, Typography, Button, IconButton } from "@mui/material"; +import { Plus, Trash2 } from "lucide-react"; + +export default function InteractiveEditor({ + interactiveData, + onInteractiveDataChange, + onSave, + showSaveButton = true, + autoFocus = false +}) { + const handleTitleChange = (title) => { + onInteractiveDataChange({ ...interactiveData, title }); + }; + + const handleOptionChange = (index, field, value) => { + const newOptions = [...(interactiveData.options || [])]; + newOptions[index] = { ...newOptions[index], [field]: value }; + onInteractiveDataChange({ ...interactiveData, options: newOptions }); + }; + + const handleAddOption = () => { + const newOptions = [...(interactiveData.options || []), { label: '' }]; + onInteractiveDataChange({ ...interactiveData, options: newOptions }); + }; + + const handleDeleteOption = (index) => { + const newOptions = interactiveData.options.filter((_, i) => i !== index); + onInteractiveDataChange({ ...interactiveData, options: newOptions }); + }; + + return ( + + handleTitleChange(e.target.value)} + label="Title (optional)" + placeholder="Question or instruction for users..." + variant="outlined" + size="small" + fullWidth + sx={{ mb: 2 }} + autoFocus={autoFocus} + /> + + User Options: + + + {(interactiveData.options || []).map((option, optIndex) => ( + + + handleOptionChange(optIndex, "label", e.target.value)} + variant="outlined" + size="small" + label="Button text" + placeholder="What the user will click..." + fullWidth + /> + handleDeleteOption(optIndex)} + sx={{ color: "rgba(0, 0, 0, 0.4)" }} + > + + + + + ))} + + + {showSaveButton && ( + + + + + + )} + + ); +} \ No newline at end of file diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/settings/flows/TextEditor.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/settings/flows/TextEditor.js new file mode 100644 index 000000000..7b5b05938 --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/settings/flows/TextEditor.js @@ -0,0 +1,44 @@ +"use client"; + +import { Box, TextField, IconButton } from "@mui/material"; +import { Plus } from "lucide-react"; + +export default function TextEditor({ + content, + onContentChange, + onSave, + showSaveButton = true, + autoFocus = false +}) { + return ( + + onContentChange(e.target.value)} + placeholder="Message content..." + variant="outlined" + size="small" + fullWidth + multiline + rows={2} + autoFocus={autoFocus} + /> + {showSaveButton && ( + + + + )} + + ); +} \ No newline at end of file diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/AnalogClock.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/AnalogClock.js new file mode 100644 index 000000000..7261ec598 --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/AnalogClock.js @@ -0,0 +1,279 @@ +import { useEffect, useState } from "react"; + +const AnalogClock = ({ size = 60, status = "idle" }) => { + const [time, setTime] = useState(null); + const [animated, setAnimated] = useState(false); + + const [processingRotation, setProcessingRotation] = useState({ + hour: 0, + minute: 0, + }); + + useEffect(() => { + setTime(new Date()); + + const animationTimer = setTimeout(() => { + setAnimated(true); + }, 50); + + const timer = setInterval(() => { + setTime(new Date()); + }, 1000); + + return () => { + clearTimeout(animationTimer); + clearInterval(timer); + }; + }, []); + + useEffect(() => { + if (status === "processing") { + const interval = setInterval(() => { + setProcessingRotation((prev) => ({ + hour: prev.hour + 1, + minute: prev.minute + 3, + })); + }, 50); + return () => clearInterval(interval); + } else { + setProcessingRotation({ hour: 0, minute: 0 }); + } + }, [status]); + + const getStatusColor = () => { + switch (status) { + case "idle": + return "#000000"; + case "processing": + return "rgb(59, 130, 246)"; + case "success": + return "rgb(34, 197, 94)"; + case "error": + return "rgb(239, 68, 68)"; + default: + return "#000000"; + } + }; + + const getGlowColor = () => { + switch (status) { + case "idle": + return "rgba(0, 0, 0, 0.1)"; + case "processing": + return "rgba(59, 130, 246, 0.5)"; + case "success": + return "rgba(34, 197, 94, 0.5)"; + case "error": + return "rgba(239, 68, 68, 0.5)"; + default: + return "rgba(0, 0, 0, 0.1)"; + } + }; + + const center = size / 2; + const radius = size / 2 - 4; + const hourHandWidth = Math.max(1.5, size / 120); + const minuteHandWidth = Math.max(1.2, size / 120); + + let hourAngle = 0; + let minuteAngle = 0; + + if (time) { + const hours = time.getHours() % 12; + const minutes = time.getMinutes(); + const seconds = time.getSeconds(); + + if (status === "error") { + const shake = Math.sin(seconds * 10) * 5; + hourAngle = hours * 30 + minutes * 0.5 + shake; + minuteAngle = minutes * 6 + shake; + } else { + hourAngle = hours * 30 + minutes * 0.5; + minuteAngle = minutes * 6; + } + + if (status === "processing") { + hourAngle += processingRotation.hour; + minuteAngle += processingRotation.minute; + } + + // Always apply modulo to prevent multiple rotations when transitioning + hourAngle = hourAngle % 360; + minuteAngle = minuteAngle % 360; + } + + const currentColor = getStatusColor(); + const glowColor = getGlowColor(); + + return ( +
+ + + + + + + + + + + {(status === "idle" || status === "processing") && ( + <> + {status !== "processing" && ( + + )} + + + + )} + + {status === "success" && ( + + + + )} + + {status === "error" && ( + + + + + )} + + + +
+ ); +}; + +export default AnalogClock; diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/BlinkingEye.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/BlinkingEye.js new file mode 100644 index 000000000..3c93947bb --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/BlinkingEye.js @@ -0,0 +1,303 @@ +import { Box } from "@mui/material"; +import { AnimatePresence, motion } from "framer-motion"; +import { useCallback, useEffect, useRef, useState } from "react"; + +export default function BlinkingEye({ + isActive = false, + blinkIntervals = [2500, 300, 15000, 20000, 8000, 25000, 12000, 30000, 18000], + lookDirection = "center", + initialOpenDelay = 900, + followMouse = false, + size = 1, +}) { + const [isOpen, setIsOpen] = useState(false); + const [hasOpenedOnce, setHasOpenedOnce] = useState(false); + const [currentIntervalIndex, setCurrentIntervalIndex] = useState(0); + const [mouseOffset, setMouseOffset] = useState({ x: 0, y: 0 }); + const svgRef = useRef(null); + + const handleMouseMove = useCallback((e) => { + if (!svgRef.current) return; + const rect = svgRef.current.getBoundingClientRect(); + const centerX = rect.left + rect.width / 2; + const centerY = rect.top + rect.height / 2; + const dx = e.clientX - centerX; + const dy = e.clientY - centerY; + const dist = Math.sqrt(dx * dx + dy * dy); + const maxOffset = 12; + const factor = Math.min(dist / 200, 1) * maxOffset; + setMouseOffset({ + x: (dx / (dist || 1)) * factor, + y: (dy / (dist || 1)) * factor, + }); + }, []); + + useEffect(() => { + if (followMouse) { + window.addEventListener("mousemove", handleMouseMove); + return () => window.removeEventListener("mousemove", handleMouseMove); + } + }, [followMouse, handleMouseMove]); + + const getPupilPosition = () => { + if (followMouse) { + return { x: 60 + mouseOffset.x, y: 40 + mouseOffset.y }; + } + switch (lookDirection) { + case "up": + return { x: 60, y: 32 }; + case "down": + return { x: 60, y: 45 }; + case "left": + return { x: 48, y: 40 }; + case "right": + return { x: 72, y: 40 }; + default: + return { x: 60, y: 40 }; + } + }; + + const getIrisTransform = () => { + if (followMouse) return "scale(1, 1)"; + switch (lookDirection) { + case "down": + return "scale(1, 0.92)"; + case "up": + return "scale(1, 0.96)"; + default: + return "scale(1, 1)"; + } + }; + + const getReflectionPosition = () => { + const pupil = getPupilPosition(); + if (followMouse) { + return { x: pupil.x + 4, y: pupil.y - 4 }; + } + switch (lookDirection) { + case "down": + return { x: pupil.x + 3, y: pupil.y - 6 }; + case "up": + return { x: pupil.x + 4, y: pupil.y - 2 }; + default: + return { x: pupil.x + 4, y: pupil.y - 4 }; + } + }; + + const getReflectionOpacity = () => { + if (followMouse) return 0.8; + switch (lookDirection) { + case "down": + return 0.6; + case "up": + return 0.9; + default: + return 0.8; + } + }; + + // useEffect 1: Solo para la apertura inicial + useEffect(() => { + if (!isActive && !hasOpenedOnce) { + const timeout = setTimeout(() => { + setIsOpen(true); + setHasOpenedOnce(true); + }, initialOpenDelay); + + return () => clearTimeout(timeout); + } + }, [isActive, hasOpenedOnce, initialOpenDelay]); + + // useEffect 2: Solo para el ciclo de parpadeo + useEffect(() => { + if (!isActive && hasOpenedOnce) { + // Esperar el intervalo actual antes de parpadear + const blinkTimeout = setTimeout(() => { + // Cerrar el ojo + setIsOpen(false); + + // Reabrir después de 150ms + setTimeout(() => { + setIsOpen(true); + // Avanzar al siguiente intervalo + setCurrentIntervalIndex((prev) => (prev + 1) % blinkIntervals.length); + }, 150); + }, blinkIntervals[currentIntervalIndex]); + + return () => clearTimeout(blinkTimeout); + } + }, [isActive, hasOpenedOnce, currentIntervalIndex, blinkIntervals]); + + const pupilPos = getPupilPosition(); + const reflectionPos = getReflectionPosition(); + const irisTransform = getIrisTransform(); + const reflectionOpacity = getReflectionOpacity(); + + return ( + + + + + + + + + + + + + + {isOpen && ( + + + + + + + + + + )} + + + + + + ); +} diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/BubbleModelSelector.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/BubbleModelSelector.js new file mode 100644 index 000000000..6331cf92a --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/BubbleModelSelector.js @@ -0,0 +1,376 @@ +"use client"; + +import { Box, Typography, Popover, Chip } from "@mui/material"; +import { motion, AnimatePresence } from "framer-motion"; +import { useState } from "react"; +import { Lock } from "lucide-react"; +import { Icon } from "@iconify/react"; + +const PROVIDER_META = { + openai: { label: "OpenAI", color: "#1a1a1a", bg: "#f5f5f5", icon: "simple-icons:openai" }, + xai: { label: "xAI", color: "#1a1a1a", bg: "#f5f5f5", icon: "simple-icons:x" }, + google: { label: "Google", color: "#1a1a1a", bg: "#f5f5f5", icon: "simple-icons:google" }, + cohere: { label: "Cohere", color: "#1a1a1a", bg: "#f5f5f5", icon: "simple-icons:cohere" }, + meta: { label: "Meta", color: "#1a1a1a", bg: "#f5f5f5", icon: "simple-icons:meta" }, +}; + +const RECOMMENDED = "google.gemini-2.5-pro"; + +// Uniform color per level — visually distinct from each other +const LEVEL_COLORS = { + family: "#6366f1", // indigo for all Level 2 (family) bubbles + version: "#ec4899", // pink for all Level 3 (version) bubbles +}; + +const SELECTED_COLOR = "#C74634"; // Oracle red — used for selection state across all levels + +// Internal use only = all OpenAI models EXCEPT gpt-oss +function isInternalOnly(model) { + const name = model.replace(/^[a-z]+\./, ""); + return model.startsWith("openai.") && !name.startsWith("gpt-oss"); +} + +function formatModelName(model) { + return model.replace(/^[a-z]+\./, ""); +} + +// Extract model family from a full model id (without provider prefix) +// Each point release is its own family: +// "gpt-5-mini" → "gpt-5", "gpt-5.1-codex" → "gpt-5.1", "gpt-5.2-pro" → "gpt-5.2" +// "gpt-4o-mini" → "gpt-4o", "gpt-4.1" → "gpt-4.1" +// "grok-3-mini-fast" → "grok-3", "grok-4-1-fast-reasoning" → "grok-4-1" +// "o1" → "o-series", "o3-mini" → "o-series", "o4-mini" → "o-series" +function getFamily(modelName) { + // o-series: o1, o3-mini, o4-mini → "o-series" + if (/^o\d/.test(modelName)) return "o-series"; + // gpt-oss special case + if (modelName.startsWith("gpt-oss")) return "gpt-oss"; + // gpt-X.Y (e.g. gpt-5.1, gpt-5.2, gpt-4.1) → family "gpt-X.Y" + const gptDotMatch = modelName.match(/^(gpt-\d+\.\d+)/); + if (gptDotMatch) return gptDotMatch[1]; + // gpt-Xo (e.g. gpt-4o, gpt-4o-mini) → family "gpt-4o" + const gptOMatch = modelName.match(/^(gpt-\d+o)/); + if (gptOMatch) return gptOMatch[1]; + // gpt-X (e.g. gpt-5, gpt-5-mini) → family "gpt-X" + const gptMatch = modelName.match(/^(gpt-\d+)/); + if (gptMatch) return gptMatch[1]; + // grok-X-Y (e.g. grok-4-1-fast-reasoning) → family "grok-X-Y" where Y is a single digit + const grokSubMatch = modelName.match(/^(grok-\d+-\d+)/); + if (grokSubMatch) return grokSubMatch[1]; + // grok-X (e.g. grok-3, grok-4) → family "grok-X" + const grokMatch = modelName.match(/^(grok-\d+)/); + if (grokMatch) return grokMatch[1]; + // fallback + return modelName; +} + +function formatFamilyLabel(family) { + if (family === "o-series") return "o-series"; + if (family === "gpt-oss") return "OSS"; + // gpt-5.1 → "GPT-5.1", gpt-4o → "GPT-4o", grok-4-1 → "Grok 4.1" + if (family.startsWith("gpt-")) return "GPT-" + family.slice(4); + if (family.startsWith("grok-")) { + const ver = family.slice(5).replace("-", "."); + return "Grok " + ver; + } + return family; +} + +export default function BubbleModelSelector({ + models = [], + selectedModel, + onModelChange, + anchorEl, + open, + onClose, + accentColor = "#C74634", +}) { + const [activeProvider, setActiveProvider] = useState(null); + const [activeFamily, setActiveFamily] = useState(null); + + // Level 1: group by provider + const providerGroups = {}; + models.forEach((model) => { + const provider = model.split(".")[0]; + if (!providerGroups[provider]) providerGroups[provider] = []; + providerGroups[provider].push(model); + }); + + // Level 2: within a provider, group by family + const getFamilyGroups = (provider) => { + const familyGroups = {}; + (providerGroups[provider] || []).forEach((model) => { + const name = model.replace(/^[a-z]+\./, ""); + const family = getFamily(name); + if (!familyGroups[family]) familyGroups[family] = []; + familyGroups[family].push(model); + }); + return familyGroups; + }; + + const providers = Object.keys(providerGroups); + const selectedProvider = selectedModel?.split(".")[0]; + const selectedName = selectedModel?.replace(/^[a-z]+\./, ""); + const selectedFamily = selectedName ? getFamily(selectedName) : null; + + const handleProviderClick = (provider) => { + if (activeProvider === provider) { + setActiveProvider(null); + setActiveFamily(null); + } else { + setActiveProvider(provider); + setActiveFamily(null); + } + }; + + const handleFamilyClick = (family, familyModels) => { + // If only one model in family, select it directly + if (familyModels.length === 1) { + onModelChange(familyModels[0]); + setActiveProvider(null); + setActiveFamily(null); + onClose(); + return; + } + setActiveFamily((prev) => (prev === family ? null : family)); + }; + + const handleModelClick = (model) => { + onModelChange(model); + setActiveProvider(null); + setActiveFamily(null); + onClose(); + }; + + const bubbleStyle = (isActive, isSelected, meta, size = "large") => { + const large = size === "large"; + const sel = accentColor; + // Priority: selected (red) > active (outline) > default (level color) + const bw = large ? 2 : 1.5; + let bg, fg, borderColor, shadow; + if (isSelected) { + bg = sel; + fg = "white"; + borderColor = sel; + shadow = `0 2px 8px ${sel}40`; + } else if (isActive) { + bg = "white"; + fg = meta.color; + borderColor = meta.color; + shadow = `0 4px 16px ${meta.color}25`; + } else { + bg = "rgba(255,255,255,0.95)"; + fg = large ? meta.color : "rgba(0,0,0,0.7)"; + borderColor = large ? "rgba(255,255,255,0.8)" : "rgba(0,0,0,0.1)"; + shadow = large ? "0 2px 8px rgba(0,0,0,0.1)" : "0 1px 4px rgba(0,0,0,0.08)"; + } + return { + display: "flex", + alignItems: "center", + gap: large ? 0.75 : 0.5, + px: large ? 2.5 : 1.5, + py: large ? 1.2 : 0.7, + borderRadius: 10, + cursor: "pointer", + bgcolor: bg, + color: fg, + border: `${bw}px solid ${borderColor}`, + boxShadow: shadow, + transition: "all 0.2s ease", + "&:hover": { + bgcolor: isSelected ? sel : "white", + border: `${bw}px solid ${sel}`, + boxShadow: `0 4px 16px ${sel}30`, + transform: "translateY(-1px)", + }, + userSelect: "none", + }; + }; + + return ( + { + setActiveProvider(null); + setActiveFamily(null); + onClose(); + }} + anchorOrigin={{ vertical: "bottom", horizontal: "center" }} + transformOrigin={{ vertical: "top", horizontal: "center" }} + marginThreshold={0} + disableScrollLock + slotProps={{ + paper: { + sx: { + mt: 1.5, + borderRadius: 4, + bgcolor: "transparent", + boxShadow: "none", + overflow: "visible", + }, + }, + }} + > + + {/* Level 1: Provider bubbles */} + + {providers.map((provider, i) => { + const meta = PROVIDER_META[provider] || { label: provider, color: "#666", bg: "#f5f5f5" }; + const isActive = activeProvider === provider; + const isSelected = selectedProvider === provider; + + return ( + + handleProviderClick(provider)} sx={bubbleStyle(isActive, isSelected, meta, "large")}> + {meta.icon && } + + {meta.label} + + + + ); + })} + + + {/* Level 2: Family bubbles */} + + {activeProvider && ( + + + {Object.entries(getFamilyGroups(activeProvider)).map(([family, familyModels], i) => { + const familyMeta = { color: LEVEL_COLORS.family }; + const isActive = activeFamily === family; + const isSelected = selectedProvider === activeProvider && selectedFamily === family; + + return ( + + handleFamilyClick(family, familyModels)} + sx={bubbleStyle(isActive, isSelected, familyMeta, "medium")} + > + + {formatFamilyLabel(family)} + {familyModels.length > 1 && ( + + {familyModels.length} + + )} + + + + ); + })} + + + )} + + + {/* Level 3: Version bubbles */} + + {activeFamily && activeProvider && ( + + + {(getFamilyGroups(activeProvider)[activeFamily] || []).map((model, i) => { + const isSelected = selectedModel === model; + const meta = { color: LEVEL_COLORS.version }; + + return ( + + handleModelClick(model)} + sx={bubbleStyle(false, isSelected, meta, "small")} + > + + {formatModelName(model)} + + {isInternalOnly(model) && ( + + + internal + + )} + {model === RECOMMENDED && ( + + )} + + + ); + })} + + + )} + + + + ); +} diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/CitationCard.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/CitationCard.js new file mode 100644 index 000000000..684b4f788 --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/CitationCard.js @@ -0,0 +1,132 @@ +"use client"; + +import { ExitToApp as ExitToAppIcon } from "@mui/icons-material"; +import { + Box, + Button, + Link, + Paper, + Typography, + useTheme, +} from "@mui/material"; +import { useState } from "react"; + +export default function CitationCard({ citation, index }) { + const theme = useTheme(); + const [isExpanded, setIsExpanded] = useState(false); + const maxChars = 250; + const shouldTruncate = citation.sourceText?.length > maxChars; + + return ( + + + + {citation.title || `Source ${index + 1}`} + + {citation.pageNumbers && citation.pageNumbers.length > 0 && ( + + Pages: {citation.pageNumbers.join(", ")} + + )} + + + + + {isExpanded + ? citation.sourceText + : citation.sourceText?.slice(0, maxChars)} + {!isExpanded && shouldTruncate && "..."} + + + {shouldTruncate && ( + + )} + + + {citation.sourceLocation?.url && ( + + + + View Full Document + + + )} + + ); +} \ No newline at end of file diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/CollapsibleChip.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/CollapsibleChip.js new file mode 100644 index 000000000..822c29fa6 --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/CollapsibleChip.js @@ -0,0 +1,91 @@ +"use client"; + +import { Chip, CircularProgress } from "@mui/material"; +import { motion, AnimatePresence } from "framer-motion"; +import { useState, useEffect } from "react"; + +const CollapsibleChip = ({ + processingIcon, + completedIcon, + label, + isCompleted, + completionDelay = 1000 +}) => { + const [isCollapsed, setIsCollapsed] = useState(false); + + useEffect(() => { + if (isCompleted) { + const timer = setTimeout(() => { + setIsCollapsed(true); + }, completionDelay); + return () => clearTimeout(timer); + } + }, [isCompleted, completionDelay]); + + const chipStyles = { + height: 'auto', + fontSize: '0.85em !important', + cursor: 'pointer', + overflow: 'hidden', + '& .MuiChip-icon': { + fontSize: '0.85em !important' + }, + '& .MuiChip-label': { + fontSize: '0.85em !important', + display: 'flex', + alignItems: 'center', + gap: 0.5, + whiteSpace: 'nowrap' + } + }; + + const currentIcon = isCompleted + ? completedIcon + : ; + + return ( + + + + {label} + + } + color={isCompleted ? "success" : "default"} + variant="outlined" + sx={chipStyles} + /> + + + ); +}; + +export default CollapsibleChip; \ No newline at end of file diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/DotMatrixLoader.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/DotMatrixLoader.js new file mode 100644 index 000000000..011fcb283 --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/DotMatrixLoader.js @@ -0,0 +1,184 @@ +"use client"; + +import { useState, useEffect } from "react"; +import { Box } from "@mui/material"; +import { motion } from "framer-motion"; + +const animationSpeed = 3000; // Two-phase color cycle + +const grayColor = "#d0d0d0"; + +function getOffDotColor() { + if (typeof window === "undefined") return "#ffffff"; + try { + const settings = JSON.parse(localStorage.getItem("uiSettings") || "{}"); + return settings.darkMode ? "#3a3a3a" : "#ffffff"; + } catch { return "#ffffff"; } +} + +function lightenColor(hex, amount = 0.4) { + const r = parseInt(hex.slice(1, 3), 16); + const g = parseInt(hex.slice(3, 5), 16); + const b = parseInt(hex.slice(5, 7), 16); + const lr = Math.round(r + (255 - r) * amount); + const lg = Math.round(g + (255 - g) * amount); + const lb = Math.round(b + (255 - b) * amount); + return `#${lr.toString(16).padStart(2, '0')}${lg.toString(16).padStart(2, '0')}${lb.toString(16).padStart(2, '0')}`; +} + +function getAccentColor() { + try { + const settings = JSON.parse(localStorage.getItem("uiSettings") || "{}"); + return settings.accentColor || "#C74634"; + } catch { return "#C74634"; } +} + +export default function DotMatrixLoader({ size = "medium", delay = 400, alwaysShow = false, color }) { + const accentColor = color || getAccentColor(); + const lightAccentColor = lightenColor(accentColor, 0.4); + const offDotColor = getOffDotColor(); + const [show, setShow] = useState(alwaysShow); + + useEffect(() => { + if (alwaysShow) return; + const timer = setTimeout(() => setShow(true), delay); + return () => clearTimeout(timer); + }, [delay, alwaysShow]); + + // Size presets + const sizes = { + small: { dot: 6, radius: 1.5, gap: 1 }, + medium: { dot: 8, radius: 2, gap: 1.5 }, + large: { dot: 12, radius: 3, gap: 2 }, + }; + + const s = sizes[size] || sizes.medium; + + // Grid positions (1-indexed): + // 1 2 3 + // 4 5 6 + // 7 8 9 + // + // Animation: Clockwise rotation on cross (2→6→8→4), center (5) always on + // Corners (1,3,7,9) stay off + const keyframes = ` + @keyframes dot-1-spinner { + 0%, 100% { + background-color: ${offDotColor}; + } + } + + @keyframes dot-2-spinner { + 0% { background-color: ${accentColor}; } + 12% { background-color: ${lightAccentColor}; } + 24%, 34%, 44% { background-color: ${offDotColor}; } + 50% { background-color: ${grayColor}; } + 74%, 84%, 94% { background-color: ${offDotColor}; } + 97% { background-color: ${lightAccentColor}; } + 100% { background-color: ${accentColor}; } + } + + @keyframes dot-3-spinner { + 0%, 100% { + background-color: ${offDotColor}; + } + } + + @keyframes dot-4-spinner { + 0%, 10%, 20% { background-color: ${offDotColor}; } + 23% { background-color: ${lightAccentColor}; } + 26% { background-color: ${accentColor}; } + 32% { background-color: ${lightAccentColor}; } + 45%, 50%, 60%, 70% { background-color: ${offDotColor}; } + 76% { background-color: ${grayColor}; } + 95%, 100% { background-color: ${offDotColor}; } + } + + @keyframes dot-5-spinner { + 0% { background-color: ${accentColor}; } + 12% { background-color: ${lightAccentColor}; } + 25% { background-color: ${accentColor}; } + 37% { background-color: ${lightAccentColor}; } + 50%, 75% { background-color: ${grayColor}; } + 88% { background-color: ${lightAccentColor}; } + 100% { background-color: ${accentColor}; } + } + + @keyframes dot-6-spinner { + 0% { background-color: ${offDotColor}; } + 3% { background-color: ${lightAccentColor}; } + 6% { background-color: ${accentColor}; } + 15% { background-color: ${lightAccentColor}; } + 30%, 40%, 50% { background-color: ${offDotColor}; } + 56% { background-color: ${grayColor}; } + 80%, 90%, 100% { background-color: ${offDotColor}; } + } + + @keyframes dot-7-spinner { + 0%, 100% { + background-color: ${offDotColor}; + } + } + + @keyframes dot-8-spinner { + 0%, 10% { background-color: ${offDotColor}; } + 13% { background-color: ${lightAccentColor}; } + 16% { background-color: ${accentColor}; } + 25% { background-color: ${lightAccentColor}; } + 40%, 50%, 60% { background-color: ${offDotColor}; } + 66% { background-color: ${grayColor}; } + 90%, 100% { background-color: ${offDotColor}; } + } + + @keyframes dot-9-spinner { + 0%, 100% { + background-color: ${offDotColor}; + } + } + `; + + if (!show) return null; + + return ( + <> + + + div": { + width: s.dot, + height: s.dot, + backgroundColor: offDotColor, + borderRadius: `${s.radius}px`, + animationDuration: `${animationSpeed}ms`, + animationIterationCount: "infinite", + animationTimingFunction: "ease-in-out", + }, + "& > div:nth-of-type(1)": { animationName: "dot-1-spinner" }, + "& > div:nth-of-type(2)": { animationName: "dot-2-spinner" }, + "& > div:nth-of-type(3)": { animationName: "dot-3-spinner" }, + "& > div:nth-of-type(4)": { animationName: "dot-4-spinner" }, + "& > div:nth-of-type(5)": { animationName: "dot-5-spinner" }, + "& > div:nth-of-type(6)": { animationName: "dot-6-spinner" }, + "& > div:nth-of-type(7)": { animationName: "dot-7-spinner" }, + "& > div:nth-of-type(8)": { animationName: "dot-8-spinner" }, + "& > div:nth-of-type(9)": { animationName: "dot-9-spinner" }, + }} + > + {Array.from({ length: 9 }, (_, i) => ( +
+ ))} + + + + ); +} diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/DustReveal.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/DustReveal.js new file mode 100644 index 000000000..ee93e7e86 --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/DustReveal.js @@ -0,0 +1,101 @@ +"use client"; + +import { Typography } from '@mui/material'; +import { motion } from 'framer-motion'; +import { Fragment, useState, useEffect } from 'react'; + +const MAX_ANIMATED_LENGTH = 300; // Don't animate texts longer than this + +const DustReveal = ({ text, delay = 0, duration = 0.8, className = "", sx = {}, style = {} }) => { + const [isVisible, setIsVisible] = useState(false); + + useEffect(() => { + const timer = setTimeout(() => { + setIsVisible(true); + }, delay * 1000); + + return () => clearTimeout(timer); + }, [delay]); + + // For long texts, just render as plain text to avoid performance issues + if (text.length > MAX_ANIMATED_LENGTH) { + return ( + + {text} + + ); + } + + // Split preserving whitespace as separate tokens so the browser keeps real + // line-break opportunities between words (otherwise motion.span transforms + // turn each token into an atomic inline-block and the text never wraps). + const tokens = text.split(/(\s+)/).filter(t => t.length > 0); + const animatedCount = tokens.filter(t => !/^\s+$/.test(t)).length || 1; + const staggerDelay = (duration * 0.1) / animatedCount; + + const containerVariants = { + hidden: {}, + visible: { + transition: { + staggerChildren: staggerDelay, + delayChildren: 0.1 + } + } + }; + + const wordVariants = { + hidden: { + opacity: 0, + y: 20, + scale: 0.8, + filter: "blur(4px)", + rotateX: -90 + }, + visible: { + opacity: 1, + y: 0, + scale: 1, + filter: "blur(0px)", + rotateX: 0, + transition: { + type: "spring", + damping: 15, + stiffness: 200, + mass: 0.8, + duration: duration * 0.6 + } + } + }; + + return ( + + {tokens.map((token, index) => { + if (/^\s+$/.test(token)) { + return {token}; + } + return ( + + {token} + + ); + })} + + ); +}; + +export default DustReveal; \ No newline at end of file diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/DustText.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/DustText.js new file mode 100644 index 000000000..b370a3211 --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/DustText.js @@ -0,0 +1,117 @@ +"use client"; +import { Typography } from "@mui/material"; +import { motion } from "framer-motion"; +import { useEffect, useRef, useState } from "react"; + +const DustText = ({ + text, + duration = 1.5, + delay = 0.05, + blur = 6, + distance = -25, + sx = {}, +}) => { + const lines = text.split("\n"); + const scrollRef = useRef(null); + const [showTopGradient, setShowTopGradient] = useState(false); + const [showBottomGradient, setShowBottomGradient] = useState(false); + + useEffect(() => { + const checkScroll = () => { + if (!scrollRef.current) return; + + const { scrollTop, scrollHeight, clientHeight } = scrollRef.current; + + // Mostrar gradiente superior si no estamos arriba del todo + setShowTopGradient(scrollTop > 5); + + // Mostrar gradiente inferior si no estamos abajo del todo + setShowBottomGradient(scrollTop < scrollHeight - clientHeight - 5); + }; + + // Check inicial + checkScroll(); + + // Listener para scroll + const element = scrollRef.current; + element?.addEventListener("scroll", checkScroll); + + return () => { + element?.removeEventListener("scroll", checkScroll); + }; + }, [text]); // Re-check cuando cambie el texto + + return ( +
+ {/* Gradiente superior */} +
+ + {/* Contenedor con scroll */} +
+ {lines.map((line, index) => ( + + + {line} + + + ))} +
+ + {/* Gradiente inferior */} +
+
+ ); +}; + +export default DustText; \ No newline at end of file diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/DynamicChip.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/DynamicChip.js new file mode 100644 index 000000000..7f35a37e6 --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/DynamicChip.js @@ -0,0 +1,170 @@ +"use client"; + +import { ExpandMore as ExpandMoreIcon } from "@mui/icons-material"; +import { CircularProgress, Typography, useTheme } from "@mui/material"; +import { AnimatePresence, motion } from "framer-motion"; +import { useEffect, useState } from "react"; + +export default function DynamicChip({ + icon: Icon, + label, + status = "success", + content, + onExpand, + isActive, + startDelay = 0, +}) { + const theme = useTheme(); + const [isVisible, setIsVisible] = useState(true); // Start visible immediately + const [isLoading, setIsLoading] = useState(true); + const [isHovered, setIsHovered] = useState(false); + const [showExpandIcon, setShowExpandIcon] = useState(false); + + const getStatusColor = () => { + switch (status) { + case "error": + return theme.palette.error?.main || "#f44336"; + case "warning": + return theme.palette.warning?.main || "#ff9800"; + case "info": + return theme.palette.info?.main || "#2196f3"; + case "purple": + return "#9c27b0"; + case "success": + default: + return theme.palette.success?.main || theme.palette.secondary.main; + } + }; + + const statusColor = getStatusColor(); + + useEffect(() => { + // Se expande automáticamente + setTimeout(() => setShowExpandIcon(true), startDelay + 500); + + // Termina de cargar + setTimeout(() => setIsLoading(false), startDelay + 1700); + + // Se contrae automáticamente + setTimeout(() => setShowExpandIcon(false), startDelay + 2200); + }, [startDelay]); + + const handleClick = () => { + if (isVisible) { + if (isActive) { + onExpand(null); + } else { + onExpand({ + label, + status, + content: content || "No additional information available", + }); + } + } + }; + + // Mostrar texto si está en hover O si está mostrando el ícono de expandir O si está activo + const shouldShowText = isHovered || showExpandIcon || isActive; + + return ( + + {isVisible && ( + setIsHovered(true)} + onMouseLeave={() => setIsHovered(false)} + style={{ + height: 40, + minWidth: 40, + backgroundColor: isActive ? `${statusColor}15` : "transparent", + border: `1px solid ${!isLoading ? statusColor : "#999"}`, + borderRadius: 20, + display: "inline-flex", + alignItems: "center", + justifyContent: "flex-start", + paddingLeft: 12, + paddingRight: shouldShowText ? 16 : 12, + overflow: "hidden", + cursor: "pointer", + boxShadow: isHovered ? "0 4px 12px rgba(0, 0, 0, 0.15)" : "none", + }} + > + {/* Ícono principal */} + + {isLoading ? ( + + ) : ( + + )} + + + {/* Contenedor del texto y flecha con animación suave */} + + + {label} + + + {/* Ícono de expandir solo cuando showExpandIcon es true */} + + {showExpandIcon && ( + + + + )} + + + + )} + + ); +} diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/Header.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/Header.js new file mode 100644 index 000000000..99bb1ec13 --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/Header.js @@ -0,0 +1,460 @@ +"use client"; + +import { Avatar, Box, Button, Chip, Dialog, DialogActions, DialogContent, DialogTitle, Divider, IconButton, ListItemIcon, ListSubheader, Menu, MenuItem, Skeleton, Tooltip, Typography } from "@mui/material"; +import { AnimatePresence, motion } from "framer-motion"; +import Image from "next/image"; +import { Building2, Check, ChevronDown, ClipboardCopy, Download, LogOut, Menu as MenuIcon, Share2, SquarePen, Users, X } from "lucide-react"; +import { useEffect, useState } from "react"; +import BubbleModelSelector from "./BubbleModelSelector"; + +const BrainFreezeIcon = ({ size = 16, color = "currentColor" }) => ( + + + +); + +export default function Header({ + models = [], + selectedModel, + onModelChange, + loadingModels, + onNewConversation, + isMobile = false, + onMenuToggle, + chatHistory = [], + showLabChip = true, + showLabIcon = true, + appTitle = "", + + + accentColor = "#C74634", + minimal = false, + isDarkBg = false, + appMode, + onToggleAppMode, +}) { + const [menuAnchor, setMenuAnchor] = useState(null); + const [user, setUser] = useState(null); + const [loadingUser, setLoadingUser] = useState(true); + const [userMenuAnchor, setUserMenuAnchor] = useState(null); + const [shareOpen, setShareOpen] = useState(false); + const [copied, setCopied] = useState(false); + const [hasAnimated, setHasAnimated] = useState(false); + useEffect(() => { + const key = "header-animated"; + if (sessionStorage.getItem(key)) setHasAnimated(true); + else sessionStorage.setItem(key, "1"); + }, []); + + const buildExportData = () => ({ + exported_at: new Date().toISOString(), + model: selectedModel, + exchange_count: chatHistory.length, + exchanges: chatHistory.map(exchange => ({ + user: exchange.userMessage || null, + assistant: exchange.rawAssistantText || null, + assistant_parsed: exchange.responses || [], + })), + }); + + const handleDownloadConversation = () => { + const exportData = buildExportData(); + const blob = new Blob([JSON.stringify(exportData, null, 2)], { type: 'application/json' }); + const url = URL.createObjectURL(blob); + const a = document.createElement('a'); + a.href = url; + a.download = `conversation-${new Date().toISOString().slice(0, 19).replace(/:/g, '-')}.json`; + a.click(); + URL.revokeObjectURL(url); + setShareOpen(false); + }; + + const handleCopyConversation = () => { + const text = JSON.stringify(buildExportData(), null, 2); + const doCopy = () => { + if (navigator.clipboard?.writeText) { + return navigator.clipboard.writeText(text); + } + const ta = document.createElement("textarea"); + ta.value = text; + ta.style.cssText = "position:fixed;opacity:0"; + document.body.appendChild(ta); + ta.select(); + document.execCommand("copy"); + document.body.removeChild(ta); + return Promise.resolve(); + }; + doCopy().then(() => { + setCopied(true); + setTimeout(() => setCopied(false), 2000); + }); + }; + + useEffect(() => { + fetch('/api/auth/session') + .then(res => res.json()) + .then(data => { + if (data.authenticated) setUser(data.user); + }) + .catch(() => {}) + .finally(() => setLoadingUser(false)); + }, []); + + return ( + + {/* Left side: hamburger (mobile) + Title */} + + {isMobile && onMenuToggle && ( + + + + )} + + + {showLabIcon && Lab Flask} + + {appTitle || (<>OCI{" "}Enterprise AI Agents)} + + {showLabChip && ( + + )} + + + + + {/* Right controls */} + {!minimal && + {/* Model selector - desktop only */} + {!isMobile && ( + <> + + !loadingModels && setMenuAnchor(e.currentTarget)} + sx={{ + display: "flex", + alignItems: "center", + gap: 1, + cursor: loadingModels ? "default" : "pointer", + backgroundColor: "transparent", + borderRadius: 1, + px: 1.5, + py: 0.75, + "&:hover": { + backgroundColor: isDarkBg ? "rgba(255,255,255,0.06)" : "rgba(0,0,0,0.04)", + }, + }} + > + + {loadingModels ? ( + + + + ) : ( + + + + {selectedModel?.replace(/^[a-z]+\./, "") || "Select model"} + + + )} + + + + + + setMenuAnchor(null)} + accentColor={accentColor} + /> + + )} + + {/* App Mode toggle — mobile only */} + {isMobile && appMode && onToggleAppMode && ( + + + {appMode === "internal" ? : } + + + )} + + + + setShareOpen(true)} + disabled={chatHistory.length === 0} + sx={{ + color: isDarkBg ? "rgba(255,255,255,0.5)" : "rgba(0, 0, 0, 0.4)", + backgroundColor: "transparent", + "&:hover": { + backgroundColor: isDarkBg ? "rgba(255,255,255,0.06)" : "rgba(0,0,0,0.04)", + color: isDarkBg ? "rgba(255,255,255,0.7)" : "rgba(0, 0, 0, 0.6)", + }, + "&.Mui-disabled": { + color: isDarkBg ? "rgba(255,255,255,0.15)" : "rgba(0, 0, 0, 0.15)", + }, + }} + > + + + + + + + + + + + + {/* User avatar - desktop only */} + {!isMobile && loadingUser && ( + + + + )} + {!isMobile && !loadingUser && user && ( + <> + + setUserMenuAnchor(e.currentTarget)} + sx={{ ml: 0.5 }} + > + + {(user.name || user.email || "U").charAt(0).toUpperCase()} + + + + setUserMenuAnchor(null)} + PaperProps={{ sx: { minWidth: 180 } }} + > + + + + {user.name} + + + {user.email} + + + + + + { window.location.href = '/api/auth/logout'; }} + sx={{ fontSize: "0.85rem", color: "error.main" }} + > + + + + Sign out + + + + )} + } + + {/* Share Dialog */} + setShareOpen(false)} maxWidth="sm" fullWidth> + + + + + Share conversation + + setShareOpen(false)} size="small" sx={{ color: 'text.secondary' }}> + + + + + + + Download a JSON file with the full conversation. + + + + Summary + + + + Exchanges + {chatHistory.length} + + + Model + {selectedModel?.replace(/^[a-z]+\./, '') || '—'} + + + Exported at + {new Date().toLocaleString()} + + + + + + + + + + + ); +} diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/IOSSwitch.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/IOSSwitch.js new file mode 100644 index 000000000..87ecfab43 --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/IOSSwitch.js @@ -0,0 +1,54 @@ +"use client"; + +import { styled } from '@mui/material/styles'; +import Switch from '@mui/material/Switch'; + +const IOSSwitch = styled((props) => ( + +))(({ theme }) => ({ + width: 42, + height: 26, + padding: 0, + '& .MuiSwitch-switchBase': { + padding: 0, + margin: 2, + transitionDuration: '300ms', + '&.Mui-checked': { + transform: 'translateX(16px)', + color: '#fff', + '& + .MuiSwitch-track': { + backgroundColor: '#65C466', + opacity: 1, + border: 0, + }, + '&.Mui-disabled + .MuiSwitch-track': { + opacity: 0.5, + }, + }, + '&.Mui-focusVisible .MuiSwitch-thumb': { + color: '#33cf4d', + border: '6px solid #fff', + }, + '&.Mui-disabled .MuiSwitch-thumb': { + color: theme.palette.grey[100], + }, + '&.Mui-disabled + .MuiSwitch-track': { + opacity: 0.7, + }, + }, + '& .MuiSwitch-thumb': { + boxSizing: 'border-box', + width: 22, + height: 22, + }, + '& .MuiSwitch-track': { + borderRadius: 26 / 2, + backgroundColor: '#E9E9EA', + opacity: 1, + transition: theme.transitions.create(['background-color'], { + duration: 500, + }), + }, +})); + +export default IOSSwitch; diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/InteractiveChoice.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/InteractiveChoice.js new file mode 100644 index 000000000..a28bf8c20 --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/InteractiveChoice.js @@ -0,0 +1,84 @@ +"use client"; + +import { Button, Stack, Typography } from "@mui/material"; +import { ArrowForward } from "@mui/icons-material"; +import { motion } from "framer-motion"; + +export default function InteractiveChoice({ interactiveData, onChoiceSelect }) { + if (!interactiveData || interactiveData.inputType !== "choice") { + return null; + } + + return ( + + + {interactiveData.title && ( + + {interactiveData.title} + + )} + {interactiveData.options.map((option, index) => ( + + + + ))} + + + ); +} \ No newline at end of file diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/NeuralSpiralLoader.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/NeuralSpiralLoader.js new file mode 100644 index 000000000..b4932be8a --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/NeuralSpiralLoader.js @@ -0,0 +1,84 @@ +"use client"; + +import { useState, useEffect } from "react"; +import { Box } from "@mui/material"; +import { motion } from "framer-motion"; + +const redColor = "#C74634"; + +export default function NeuralSpiralLoader({ size = "medium", delay = 400, alwaysShow = false, color = redColor }) { + const [show, setShow] = useState(alwaysShow); + + useEffect(() => { + if (alwaysShow) return; + const timer = setTimeout(() => setShow(true), delay); + return () => clearTimeout(timer); + }, [delay, alwaysShow]); + + // Size presets + const sizes = { + small: { scale: 0.7 }, + medium: { scale: 1 }, + large: { scale: 1.3 }, + }; + + const s = sizes[size] || sizes.medium; + + const keyframes = ` + @keyframes cross-container-rotate-loader { + 0% { transform: rotate(0deg); } + 100% { transform: rotate(360deg); } + } + @keyframes breathe-cross-loader { + 0%, 100% { transform: scale(0.4); opacity: 0.2; } + 50% { transform: scale(1); opacity: 1; } + } + `; + + // Cross pattern: 5 dots in plus shape + const positions = [ + { x: 1, y: 0 }, // top + { x: 0, y: 1 }, // left + { x: 1, y: 1 }, // center + { x: 2, y: 1 }, // right + { x: 1, y: 2 }, // bottom + ]; + + if (!show) return null; + + return ( + <> + + + {positions.map((pos, i) => ( + + ))} + + + ); +} diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/OracleLogo.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/OracleLogo.js new file mode 100644 index 000000000..5557c1f82 --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/OracleLogo.js @@ -0,0 +1,70 @@ +"use client"; + +import { useId } from "react"; +import { motion } from "framer-motion"; + +export default function OracleLogo({ accentColor = "#C74634", isDarkBg = false, maxHeight = 100, style }) { + const bg = isDarkBg ? "#1a1a1a" : "#ffffff"; + const rawId = useId(); + const uid = rawId.replace(/:/g, ""); + const leftId = `clip-left-${uid}`; + const rightId = `clip-right-${uid}`; + + const leftTransition = { type: "spring", stiffness: 45, damping: 13, mass: 1.2 }; + const rightTransition = { type: "spring", stiffness: 45, damping: 13, mass: 1.2, delay: 0.08 }; + + return ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ); +} diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/ScrollableList.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/ScrollableList.js new file mode 100644 index 000000000..70b6f2416 --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/ScrollableList.js @@ -0,0 +1,377 @@ +"use client"; + +import { Box, CircularProgress, IconButton, Skeleton, Stack, Typography } from "@mui/material"; +import { AnimatePresence, motion } from "framer-motion"; +import { RefreshCw, Trash2 } from "lucide-react"; +import { memo, useCallback, useEffect, useRef, useState } from "react"; +import { formatRelativeTime } from "../../utils/relativeTime"; + +const SKELETON_COUNT = 4; +const MIN_LOADING_MS = 400; + +const scrollContainerSx = { + height: "200px", + width: "100%", + overflowY: "auto", + overflowX: "hidden", + paddingBottom: "40px", + "&::-webkit-scrollbar": { + display: "none", + }, + scrollbarWidth: "none", +}; + +const titleSx = { + fontSize: "0.75rem", + fontWeight: 500, + color: "rgba(0, 0, 0, 0.6)", + mb: 1, + letterSpacing: "0.08em", + textTransform: "uppercase", +}; + +const itemTextSx = { + fontSize: "0.9rem", + fontWeight: 200, + color: "rgba(0, 0, 0, 0.35)", + lineHeight: 1.3, + overflow: "hidden", + textOverflow: "ellipsis", + whiteSpace: "nowrap", + minWidth: 0, + flex: 1, +}; + +const itemContainerSx = { + padding: "6px 0", + cursor: "pointer", + borderRadius: "4px", + transition: "all 0.2s ease", + display: "flex", + alignItems: "center", + justifyContent: "space-between", + overflow: "hidden", + gap: 1, + position: "relative", + "&:hover": { + backgroundColor: "transparent", + transform: "translateX(2px)", + }, + "&:hover .delete-btn": { opacity: 1 }, + "&:hover .relative-date": { opacity: 0 }, +}; + +const gradientBaseSx = { + position: "absolute", + left: 0, + right: 0, + height: "60px", + pointerEvents: "none", + zIndex: 1, + transition: "opacity 0.3s ease", +}; + +const MAX_TITLE_LENGTH = 32; + +const ListItem = memo(({ item, index, isInitialRender, onClick, onDelete, isActive, accentColor, isDarkBg }) => { + const rawText = typeof item === 'string' ? item : item.title || item.id; + const displayText = rawText.length > MAX_TITLE_LENGTH + ? rawText.substring(0, MAX_TITLE_LENGTH) + '...' + : rawText; + const canDelete = typeof item === 'object' && item.id; + const timestamp = typeof item === 'object' ? (item.updatedAt || item.createdAt) : null; + const relativeLabel = formatRelativeTime(timestamp); + + const handleDelete = (e) => { + e.stopPropagation(); + if (onDelete && canDelete) { + onDelete(item, index); + } + }; + + return ( + + onClick && onClick(item, index)} + > + + {displayText} + + {relativeLabel && ( + + {relativeLabel} + + )} + {canDelete && ( + + + + )} + + + ); +}); + +ListItem.displayName = "ListItem"; + +export default memo(function ScrollableList({ + items, + title, + titleDelay = 0.8, + onItemClick, + onItemDelete, + emptyMessage = "No conversations yet", + activeId = null, + onRefresh, + initialLoading = false, + bgColor = "white", + accentColor = "#C74634", + isDarkBg = false, + hasMore = false, + isLoadingMore = false, + onLoadMore, +}) { + const scrollRef = useRef(null); + const [gradients, setGradients] = useState({ top: false, bottom: true }); + const [refreshing, setRefreshing] = useState(false); + const rafRef = useRef(null); + const isInitialRenderRef = useRef(true); + + // After first render, mark as not initial + useEffect(() => { + const timer = setTimeout(() => { + isInitialRenderRef.current = false; + }, 500); + return () => clearTimeout(timer); + }, []); + + const handleRefresh = useCallback(async () => { + if (refreshing || !onRefresh) return; + setRefreshing(true); + const start = Date.now(); + try { + await onRefresh(); + } finally { + const elapsed = Date.now() - start; + const remaining = MIN_LOADING_MS - elapsed; + if (remaining > 0) { + setTimeout(() => setRefreshing(false), remaining); + } else { + setRefreshing(false); + } + } + }, [onRefresh, refreshing]); + + const checkScrollPosition = useCallback(() => { + if (refreshing) return; + if (rafRef.current) cancelAnimationFrame(rafRef.current); + + rafRef.current = requestAnimationFrame(() => { + if (scrollRef.current) { + const { scrollTop, scrollHeight, clientHeight } = scrollRef.current; + setGradients({ + top: scrollTop > 0, + bottom: scrollTop + clientHeight < scrollHeight, + }); + // Infinite scroll: trigger load when within 40px of bottom + if (hasMore && !isLoadingMore && onLoadMore && scrollTop + clientHeight >= scrollHeight - 40) { + onLoadMore(); + } + } + }); + }, [refreshing, hasMore, isLoadingMore, onLoadMore]); + + useEffect(() => { + checkScrollPosition(); + return () => { + if (rafRef.current) cancelAnimationFrame(rafRef.current); + }; + }, [items, refreshing, checkScrollPosition]); + + // Get stable key for item + const getItemKey = (item, index) => { + if (typeof item === 'string') return `str-${item}`; + return item.id || `idx-${index}`; + }; + + return ( + + + + + {title} + + {onRefresh && ( + + + + )} + + + + + + {(refreshing || initialLoading) ? ( + + {Array.from({ length: SKELETON_COUNT }).map((_, i) => ( + + + + ))} + + ) : items.length === 0 ? ( + + {emptyMessage} + + ) : ( + + + {items.map((item, index) => ( + + ))} + + {isLoadingMore && ( + + + + )} + + )} + + + + + + + {/* Spin keyframes for refresh icon */} + + + ); +}); diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/TypingEffect.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/TypingEffect.js new file mode 100644 index 000000000..99c2641f5 --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/TypingEffect.js @@ -0,0 +1,51 @@ +"use client"; + +import { useEffect, useState, useRef } from "react"; + +const TypingEffect = ({ text, speed = 30, delay = 0, children }) => { + const [displayedText, setDisplayedText] = useState(""); + const currentIndexRef = useRef(0); + + useEffect(() => { + if (!text) { + setDisplayedText(""); + currentIndexRef.current = 0; + return; + } + + // If text has been shortened (shouldn't happen), reset + if (text.length < currentIndexRef.current) { + currentIndexRef.current = 0; + setDisplayedText(""); + } + + const startTyping = () => { + const interval = setInterval(() => { + if (currentIndexRef.current < text.length) { + setDisplayedText(text.substring(0, currentIndexRef.current + 1)); + currentIndexRef.current++; + } else { + clearInterval(interval); + } + }, speed); + + return interval; + }; + + const timeout = setTimeout(startTyping, delay); + + return () => { + clearTimeout(timeout); + }; + }, [text, speed, delay]); + + // If children is a function, call it with displayedText + if (typeof children === 'function') { + return children(displayedText); + } + + // Otherwise just return the text + return <>{displayedText}; +}; + +export default TypingEffect; \ No newline at end of file diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/VerticalTabs.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/VerticalTabs.js new file mode 100644 index 000000000..dc760ae73 --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/ui/VerticalTabs.js @@ -0,0 +1,74 @@ +"use client"; + +import { Box, Tabs, Tab, useMediaQuery, useTheme } from "@mui/material"; + +export default function VerticalTabs({ + activeTab, + onTabChange, + tabs, + tabsWidth = "200px", + footer, + children +}) { + const theme = useTheme(); + const isMobile = useMediaQuery(theme.breakpoints.down("md")); + + const tabsEl = ( + onTabChange(newValue)} + variant={isMobile ? "fullWidth" : "standard"} + sx={{ + ...(isMobile + ? { borderBottom: 1, borderColor: "divider" } + : { minWidth: tabsWidth }), + ".MuiTab-root": { + textAlign: isMobile ? "center" : "right", + alignItems: isMobile ? "center" : "flex-end", + fontWeight: 300, + fontSize: "0.95rem", + color: "var(--dm-muted, rgba(0, 0, 0, 0.6))", + minHeight: isMobile ? 42 : 48, + "&.Mui-selected": { + color: "var(--dm-text, #1a1a1a)", + fontWeight: 400, + }, + }, + }} + > + {tabs.map((tab, index) => ( + + ))} + + ); + + return ( + + {isMobile ? tabsEl : ( + + {tabsEl} + {footer && ( + + {footer} + + )} + + )} + + {/* Tab Content */} + + {children} + + + ); +} diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/widgets/Charts.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/widgets/Charts.js new file mode 100644 index 000000000..1dff3b94e --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/widgets/Charts.js @@ -0,0 +1,186 @@ +"use client"; + +import { Box } from "@mui/material"; +import { motion } from "framer-motion"; +import { + LineChart as ReLineChart, + Line, + BarChart as ReBarChart, + Bar, + PieChart as RePieChart, + Pie, + Cell, + XAxis, + YAxis, + CartesianGrid, + Tooltip, + Legend, + ResponsiveContainer, +} from "recharts"; +import { + parseSeriesChart, + parsePieChart, + getChartColor, + getChartColors, +} from "../../utils/chartParser"; + +const CHART_HEIGHT = { s: 150, m: 200, l: 280 }; + +const getHeight = (h) => { + if (!h) return CHART_HEIGHT.m; + if (typeof h === "number") return h; + return CHART_HEIGHT[h] || CHART_HEIGHT.m; +}; + +const ChartWrapper = ({ children, height }) => ( + + + {children} + + +); + +export function WidgetLineChart({ props }) { + const { data, series } = parseSeriesChart(props); + const colors = getChartColors(props._colors); + const showGrid = props._grid !== "0"; + const showLegend = props._legend && props._legend !== "n"; + const height = getHeight(props._h); + + return ( + + + {showGrid && } + + + + {showLegend && } + {series.map((s, i) => ( + + ))} + + + ); +} + +export function WidgetBarChart({ props }) { + const { data, series } = parseSeriesChart(props); + const colors = getChartColors(props._colors); + const showGrid = props._grid !== "0"; + const showLegend = props._legend && props._legend !== "n"; + const height = getHeight(props._h); + const stacked = props._stack === "1"; + + return ( + + + {showGrid && } + + + + {showLegend && } + {series.map((s, i) => ( + + ))} + + + ); +} + +export function WidgetPieChart({ props, isDonut = false }) { + const { data, centerValue, centerLabel } = parsePieChart(props); + const colors = getChartColors(props._colors); + const showLegend = props._legend !== "n"; + const baseHeight = getHeight(props._h); + const height = Math.max(baseHeight, 220) + (showLegend ? 40 : 0); + + return ( + + + { + if (percent < 0.08) return null; // Don't show label for slices < 8% + const RADIAN = Math.PI / 180; + const radius = innerRadius + (outerRadius - innerRadius) * 0.5; + const x = cx + radius * Math.cos(-midAngle * RADIAN); + const y = cy + radius * Math.sin(-midAngle * RADIAN); + return ( + + {`${(percent * 100).toFixed(0)}%`} + + ); + }} + labelLine={false} + > + {data.map((_, i) => ( + + ))} + + [`${value}`, name]} + /> + {showLegend && ( + + )} + {isDonut && centerValue && ( + + + {centerValue} + + {centerLabel && ( + + {centerLabel} + + )} + + )} + + + ); +} + +export function WidgetDonutChart({ props }) { + return ; +} diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/widgets/Widget.js b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/widgets/Widget.js new file mode 100644 index 000000000..0c3915434 --- /dev/null +++ b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/src/app/components/widgets/Widget.js @@ -0,0 +1,3280 @@ +"use client"; + +import { Box, Checkbox, CircularProgress, FormControlLabel, InputAdornment, LinearProgress, MenuItem, Radio, RadioGroup, Rating, Select, Skeleton, Slider, Switch, TextField, Typography } from "@mui/material"; +import { motion } from "framer-motion"; +import { + Sun, Cloud, CloudRain, CloudSnow, AlertCircle, Check, X, Info, + Star, Heart, User, Users, Mail, Phone, MapPin, Clock, Calendar, + Search, Settings, Home, File, Folder, Image as ImageIcon, Video, + Music, Download, Upload, Link, Share, Edit, Trash, Plus, Minus, + ArrowUp, ArrowDown, ArrowLeft, ArrowRight, Quote, Code, List, Send, + Volume2, Presentation, Maximize2, ExternalLink, Play, Copy +} from "lucide-react"; +import { useState, useCallback, useEffect, useMemo } from "react"; +import { DataGrid } from "@mui/x-data-grid"; +import { parseKey, INTERACTIVE_KEYS, CHART_KEYS } from "../../utils/widgetParser"; +import { WidgetLineChart, WidgetBarChart, WidgetPieChart, WidgetDonutChart } from "./Charts"; +import { + COLORS, + TYPOGRAPHY, + SPACING, + BORDER, + BUTTON, + INPUT, + ANIMATION, + getColor, + getSize, +} from "../../config/widgetTheme"; + +const ICONS = { + sun: Sun, cloud: Cloud, rain: CloudRain, snow: CloudSnow, + alert: AlertCircle, check: Check, x: X, info: Info, + star: Star, heart: Heart, user: User, users: Users, + mail: Mail, phone: Phone, map: MapPin, clock: Clock, + calendar: Calendar, search: Search, settings: Settings, home: Home, + file: File, folder: Folder, image: ImageIcon, video: Video, + music: Music, download: Download, upload: Upload, link: Link, + share: Share, edit: Edit, trash: Trash, plus: Plus, minus: Minus, + "arrow-up": ArrowUp, "arrow-down": ArrowDown, + "arrow-left": ArrowLeft, "arrow-right": ArrowRight, + quote: Quote, code: Code, list: List, send: Send +}; + +function WidgetSkeleton({ type }) { + const skeletonMap = { + t: { width: "60%", height: 24 }, + s: { width: "40%", height: 18 }, + d: { width: "100%", height: 16, lines: 2 }, + i: { width: "100%", height: 120, variant: "rectangular" }, + ic: { width: 24, height: 24, variant: "circular" }, + n: { width: 80, height: 32 }, + p: { width: "100%", height: 8 }, + bt: { width: 100, height: 36, variant: "rectangular" }, + in: { width: "100%", height: 40, variant: "rectangular" }, + sl: { width: "100%", height: 40, variant: "rectangular" }, + }; + + const config = skeletonMap[type] || { width: "50%", height: 20 }; + + if (config.lines) { + return ( + + {Array.from({ length: config.lines }).map((_, i) => ( + + ))} + + ); + } + + return ; +} + +function WidgetIcon({ name, size = 24, color }) { + const IconComponent = ICONS[name]; + if (!IconComponent) return null; + return ( + + + + ); +} + +function WidgetImage({ src, position }) { + const isUrl = src.startsWith('http://') || src.startsWith('https://') || src.startsWith('/'); + if (!isUrl) return null; + + if (position === "bg") { + return ( + + ); + } + + return ( + + { e.target.style.display = "none"; }} /> + + ); +} + +function WidgetProgress({ value, color }) { + return ( + + + + + + ); +} + +function WidgetList({ items }) { + const listItems = items.split(";").filter(Boolean); + return ( + + {listItems.map((item, i) => ( + {item.trim()} + ))} + + ); +} + +function WidgetLinks({ links, color }) { + // Format: "Label>url;Label2>url2" or just "url1;url2" + const linkItems = links.split(";").filter(Boolean).map(item => { + const trimmed = item.trim(); + if (trimmed.includes(">")) { + const [label, url] = trimmed.split(">"); + return { label: label.trim(), url: url.trim() }; + } + // If no label, use the URL as label (simplified) + const url = trimmed; + const label = url.replace(/^https?:\/\//, "").split("/")[0]; + return { label, url }; + }); + + return ( + + {linkItems.map((item, i) => ( + + + + {item.label} + + + ))} + + ); +} + +function WidgetCode({ code }) { + return ( + + + {code} + + + ); +} + +function WidgetQuote({ text, color }) { + return ( + + + “{text}” + + + ); +} + +function WidgetAudio({ src, color }) { + // src can be: base64 data URL, raw base64 string, or regular URL + const [audioSrc, setAudioSrc] = useState(null); + + useEffect(() => { + if (!src) return; + + // If it's already a data URL or regular URL, use it directly + if (src.startsWith('data:') || src.startsWith('http://') || src.startsWith('https://') || src.startsWith('/')) { + setAudioSrc(src); + } else { + // Assume it's raw base64 - try to detect format or default to mp3 + setAudioSrc(`data:audio/mp3;base64,${src}`); + } + }, [src]); + + if (!audioSrc) return null; + + return ( + + + ); +} + +// Status card configuration - using theme colors +const STATUS_CONFIG = { + success: { icon: "check", color: COLORS.success, bgColor: "rgba(76, 130, 92, 0.12)" }, // Pine 100 + error: { icon: "x", color: COLORS.error, bgColor: "rgba(199, 70, 52, 0.1)" }, // Oracle Red + warning: { icon: "alert", color: COLORS.warning, bgColor: "rgba(241, 177, 63, 0.12)" }, // Brand Yellow + info: { icon: "info", color: COLORS.info, bgColor: "rgba(53, 83, 92, 0.1)" }, // Pine 140 +}; + +// Convert URLs in text to clickable links +function linkifyText(text) { + if (!text || typeof text !== 'string') return text; + const urlRegex = /(https?:\/\/[^\s]+)/g; + const parts = text.split(urlRegex); + if (parts.length === 1) return text; + return parts.map((part, i) => + urlRegex.test(part) ? ( + {part} + ) : part + ); +} + +function WidgetStatusCard({ status, title, description, buttons, onButtonClick, clickedButton, loadingButton, disabled }) { + const config = STATUS_CONFIG[status] || STATUS_CONFIG.info; + const IconComponent = ICONS[config.icon]; + + return ( + + + {/* Circular icon badge */} + + + {IconComponent && } + + + + {/* Title and description */} + + {title && ( + + + {title} + + + )} + {description && ( + + + {linkifyText(description)} + + + )} + + + {/* Buttons row */} + {buttons && buttons.length > 0 && ( + + + {buttons.map((btn, i) => { + const isPrimary = i === 0; + const isThisClicked = clickedButton === btn; + const isAnyClicked = clickedButton !== null || disabled; + + return ( + + ); + })} + + + )} + + + ); +} + +// Interactive Components +function WidgetInput({ placeholder, value, onChange, onEnter, disabled }) { + return ( + onChange(e.target.value)} + onKeyDown={(e) => { + if (e.key === "Enter" && onEnter && !disabled) { + e.preventDefault(); + onEnter(); + } + }} + disabled={disabled} + fullWidth + sx={{ + "& .MuiOutlinedInput-root": { + backgroundColor: INPUT.backgroundColor, + "& fieldset": { border: INPUT.border }, + "&:hover": { backgroundColor: disabled ? INPUT.backgroundColor : INPUT.hoverBackground }, + "&.Mui-focused": { backgroundColor: INPUT.hoverBackground } + } + }} + /> + ); +} + +function WidgetSelect({ options, value, onChange, disabled }) { + let label = null; + let opts = options; + + // Check for label with ? separator + if (options.includes("?")) { + const parts = options.split("?"); + label = parts[0].trim(); + opts = parts.slice(1).join("?"); // In case there are ? in options + } + + const optList = opts.split(";").filter(Boolean); + + return ( + + {label && ( + + {label} + + )} + + + ); +} + +function WidgetCheckbox({ label, checked, onChange, disabled }) { + return ( + onChange(e.target.checked)} disabled={disabled} sx={{ color: COLORS.text.muted, "&.Mui-checked": { color: COLORS.secondary } }} />} + label={label} + disabled={disabled} + sx={{ "& .MuiFormControlLabel-label": { fontSize: BUTTON.fontSize } }} + /> + ); +} + +function WidgetRange({ range, value, onChange, disabled }) { + const [min, max] = range.split("-").map(n => parseInt(n) || 0); + return ( + + onChange(v)} + disabled={disabled} + sx={{ + color: COLORS.secondary, + "& .MuiSlider-thumb": { + "&:hover, &.Mui-focusVisible": { boxShadow: `0 0 0 8px ${COLORS.background.hover}` } + }, + "& .MuiSlider-track": { backgroundColor: COLORS.secondary }, + "& .MuiSlider-rail": { backgroundColor: COLORS.background.hover } + }} + /> + {value ?? min} + + ); +} + +// Radio buttons for single selection +function WidgetRadio({ options, value, onChange, disabled }) { + let label = null; + let opts = options; + + if (options.includes("?")) { + const parts = options.split("?"); + label = parts[0].trim(); + opts = parts.slice(1).join("?"); + } + + const optList = opts.split(";").filter(Boolean); + + return ( + + {label && ( + + {label} + + )} + onChange(e.target.value)}> + {optList.map((opt, i) => ( + } + label={opt.trim()} + disabled={disabled} + sx={{ "& .MuiFormControlLabel-label": { fontSize: "0.9rem" } }} + /> + ))} + + + ); +} + +// Multi-select dropdown +function WidgetMultiSelect({ options, value, onChange, disabled }) { + let label = null; + let opts = options; + + if (options.includes("?")) { + const parts = options.split("?"); + label = parts[0].trim(); + opts = parts.slice(1).join("?"); + } + + const optList = opts.split(";").filter(Boolean); + const selectedValues = value || []; + + return ( + + {label && ( + + {label} + + )} + + + ); +} + +// Date picker +function WidgetDate({ label, value, onChange, disabled }) { + return ( + + {label && ( + + {label} + + )} + onChange(e.target.value)} + disabled={disabled} + fullWidth + sx={{ + "& .MuiOutlinedInput-root": { + backgroundColor: INPUT.backgroundColor, + "& fieldset": { border: INPUT.border }, + "&:hover": { backgroundColor: disabled ? INPUT.backgroundColor : INPUT.hoverBackground }, + } + }} + /> + + ); +} + +// Time picker +function WidgetTime({ label, value, onChange, disabled }) { + return ( + + {label && ( + + {label} + + )} + onChange(e.target.value)} + disabled={disabled} + fullWidth + sx={{ + "& .MuiOutlinedInput-root": { + backgroundColor: INPUT.backgroundColor, + "& fieldset": { border: INPUT.border }, + "&:hover": { backgroundColor: disabled ? INPUT.backgroundColor : INPUT.hoverBackground }, + } + }} + /> + + ); +} + +// Star rating +function WidgetRating({ label, max, value, onChange, disabled }) { + const maxStars = parseInt(max) || 5; + return ( + + {label && ( + + {label} + + )} + onChange(v)} + disabled={disabled} + sx={{ color: COLORS.warning }} + /> + + ); +} + +// Toggle switch +function WidgetToggle({ label, checked, onChange, disabled }) { + return ( + onChange(e.target.checked)} + disabled={disabled} + sx={{ + "& .MuiSwitch-switchBase.Mui-checked": { color: COLORS.secondary }, + "& .MuiSwitch-switchBase.Mui-checked + .MuiSwitch-track": { backgroundColor: COLORS.secondary }, + }} + /> + } + label={label} + disabled={disabled} + sx={{ "& .MuiFormControlLabel-label": { fontSize: "0.9rem" } }} + /> + ); +} + +// Textarea (multiline input) +function WidgetTextarea({ placeholder, value, onChange, disabled, rows = 3 }) { + return ( + onChange(e.target.value)} + disabled={disabled} + multiline + rows={rows} + fullWidth + sx={{ + "& .MuiOutlinedInput-root": { + backgroundColor: INPUT.backgroundColor, + "& fieldset": { border: INPUT.border }, + "&:hover": { backgroundColor: disabled ? INPUT.backgroundColor : INPUT.hoverBackground }, + "&.Mui-focused": { backgroundColor: INPUT.hoverBackground } + } + }} + /> + ); +} + +// Row form layout - renders interactive elements in key-value rows +function WidgetRowForm({ + props, + formState, + updateFormState, + handleButtonClick, + clickedButton, + loadingButton, + disabled, + themeColor, +}) { + // Get all keys in order, filtering out style keys + const allKeys = Object.keys(props).filter(k => !k.startsWith("_")); + + // Separate into fields (non-buttons) and buttons + const fieldKeys = allKeys.filter(k => { + const base = k.replace(/\d+$/, ""); + return base !== "bt" && base !== "t" && base !== "d" && base !== "s"; + }); + const buttonKeys = allKeys.filter(k => k.startsWith("bt")); + const hasTitle = props.t || props.s; + + // Helper to extract label, options, and default value from value string + // Formats: "Label", "Label=default", "Label?opts", "Label?opts=default" + const parseFieldValue = (value) => { + let label = value; + let options = value; + let defaultValue = null; + + // First, extract default value (after =) + if (value.includes("=")) { + const eqIndex = value.lastIndexOf("="); + defaultValue = value.substring(eqIndex + 1).trim(); + value = value.substring(0, eqIndex); + } + + // Then extract label and options (before/after ?) + if (value.includes("?")) { + label = value.split("?")[0].trim(); + options = value.split("?").slice(1).join("?"); + } else { + label = value; + options = value; + } + + return { label, options, defaultValue }; + }; + + // Legacy helpers for backwards compatibility + const extractLabel = (value) => parseFieldValue(value).label; + const extractOptions = (value) => parseFieldValue(value).options; + + // Render a single row with label and component + const renderRow = (key, index) => { + const base = key.replace(/\d+$/, ""); + const value = props[key]; + const { label, options, defaultValue } = parseFieldValue(value); + const isFormDisabled = disabled || clickedButton !== null || loadingButton !== null; + const isLastField = index === fieldKeys.length - 1; + + let component = null; + + switch (base) { + case "in": + const inputVal = formState[label] !== undefined ? formState[label] : (defaultValue || ""); + component = ( + updateFormState(label, v)} + disabled={isFormDisabled} + /> + ); + break; + + case "ta": + // Convert literal \n to actual newlines for textarea defaults + const taDefault = defaultValue ? defaultValue.replace(/\\n/g, '\n') : ""; + const taVal = formState[label] !== undefined ? formState[label] : taDefault; + component = ( + updateFormState(label, v)} + disabled={isFormDisabled} + /> + ); + break; + + case "sl": + const selectKey = `select_${key}`; + const selectVal = formState[selectKey] !== undefined ? formState[selectKey] : (defaultValue || ""); + component = ( + + ); + break; + + case "dt": + const dateKey = `date_${key}`; + const dateVal = formState[dateKey] !== undefined ? formState[dateKey] : (defaultValue || ""); + component = ( + updateFormState(dateKey, e.target.value)} + disabled={isFormDisabled} + fullWidth + sx={{ + "& .MuiOutlinedInput-root": { + backgroundColor: INPUT.backgroundColor, + "& fieldset": { border: INPUT.border }, + } + }} + /> + ); + break; + + case "tm": + const timeKey = `time_${key}`; + const timeVal = formState[timeKey] !== undefined ? formState[timeKey] : (defaultValue || ""); + component = ( + updateFormState(timeKey, e.target.value)} + disabled={isFormDisabled} + fullWidth + sx={{ + "& .MuiOutlinedInput-root": { + backgroundColor: INPUT.backgroundColor, + "& fieldset": { border: INPUT.border }, + } + }} + /> + ); + break; + + case "tg": + const toggleKey = `toggle_${key}`; + const toggleRaw = formState[toggleKey] !== undefined ? formState[toggleKey] : (defaultValue === "true" || defaultValue === "1"); + const toggleVal = toggleRaw === true || toggleRaw === "true" || toggleRaw === "1"; + component = ( + updateFormState(toggleKey, e.target.checked)} + disabled={isFormDisabled} + sx={{ + "& .MuiSwitch-switchBase.Mui-checked": { color: COLORS.secondary }, + "& .MuiSwitch-switchBase.Mui-checked + .MuiSwitch-track": { backgroundColor: COLORS.secondary }, + }} + /> + ); + break; + + case "cb": + const cbRaw = formState[label] !== undefined ? formState[label] : (defaultValue === "true" || defaultValue === "1"); + const cbVal = cbRaw === true || cbRaw === "true" || cbRaw === "1"; + component = ( + updateFormState(label, e.target.checked)} + disabled={isFormDisabled} + sx={{ color: COLORS.text.muted, "&.Mui-checked": { color: COLORS.secondary } }} + /> + ); + break; + + case "rg": + const rangeKey = `range_${key}`; + const [min, max] = options.split("-").map(n => parseInt(n) || 0); + const rangeDefault = defaultValue ? parseInt(defaultValue) : min; + const rangeVal = formState[rangeKey] !== undefined ? formState[rangeKey] : rangeDefault; + component = ( + + updateFormState(rangeKey, v)} + disabled={isFormDisabled} + sx={{ color: COLORS.secondary, flex: 1 }} + /> + + {rangeVal} + + + ); + break; + + default: + return null; + } + + if (!component) return null; + + return ( + + + + {label} + + + {component} + + + + ); + }; + + return ( + + {/* Title/subtitle header */} + {hasTitle && ( + + {props.t && ( + + + {props.t} + + + )} + {props.s && ( + + + {props.s} + + + )} + + )} + + {/* Field rows */} + + {fieldKeys.map((key, index) => renderRow(key, index))} + + + {/* Buttons row */} + {buttonKeys.length > 0 && ( + + + {buttonKeys.map((key, i) => { + const label = props[key]; + const isPrimary = i === 0; + const isThisClicked = clickedButton === label; + const isAnyClicked = clickedButton !== null || disabled; + + return ( + + ); + })} + + + )} + + ); +} + +// Calendar/Agenda Widget +function WidgetCalendar({ props }) { + // Parse days and events from props + // Format: dy:Mon,3 for day, ev:Title,Time,Color for events + const days = []; + let currentDay = null; + + // Get all keys in order + const allKeys = Object.keys(props); + + for (const key of allKeys) { + const baseKey = key.replace(/\d+$/, ''); + const value = props[key]; + + if (baseKey === 'dy') { + // Parse day: DayName,DayNumber + const parts = value.split(','); + currentDay = { + name: parts[0]?.trim() || '', + number: parts[1]?.trim() || '', + events: [] + }; + days.push(currentDay); + } else if (baseKey === 'ev' && currentDay) { + // Parse event: Title,Time,Color + const parts = value.split(','); + currentDay.events.push({ + title: parts[0]?.trim() || '', + time: parts[1]?.trim() || '', + color: getColor(parts[2]?.trim()) || COLORS.primary + }); + } + } + + if (days.length === 0) return null; + + return ( + + + {/* Optional title */} + {props.t && ( + + + {props.t} + + + )} + + {/* Days */} + + {days.map((day, dayIndex) => ( + + 0 ? `1px solid ${COLORS.background.hover}` : 'none', + }} + > + {/* Day column */} + + + {day.name} + + + {day.number} + + + + {/* Events column */} + + {day.events.length > 0 ? ( + + {day.events.map((event, eventIndex) => ( + + + {/* Color indicator */} + + {/* Event details */} + + + {event.title} + + + {event.time} + + + + + ))} + + ) : ( + + No events + + )} + + + + ))} + + + + ); +} + +// Timeline Widget - Shows phases with dates +function WidgetTimeline({ props }) { + const phases = []; + const allKeys = Object.keys(props); + const isHorizontal = props._dir === 'h' || props._dir === 'horizontal'; + + for (const key of allKeys) { + const baseKey = key.replace(/\d+$/, ''); + const value = props[key]; + + if (baseKey === 'ph') { + // Parse phase: Name,DateRange + const parts = value.split(','); + phases.push({ + name: parts[0]?.trim() || '', + date: parts.slice(1).join(',').trim() || '', + }); + } + } + + if (phases.length === 0) return null; + + // Horizontal Timeline Layout + if (isHorizontal) { + return ( + + + {props.t && ( + + {props.t} + + )} + + + {/* Horizontal line */} + + + + {phases.map((phase, index) => ( + + {/* Dot */} + + + + {phase.name} + + {phase.date && ( + + {phase.date} + + )} + + ))} + + + + + ); + } + + // Vertical Timeline Layout (default) + return ( + + + {props.t && ( + + {props.t} + + )} + + + {/* Vertical line */} + + + {phases.map((phase, index) => ( + + + {/* Dot */} + + + + {phase.name} + + {phase.date && ( + + {phase.date} + + )} + + + ))} + + + + ); +} + +// Table Widget - Shows structured data in rows and columns + +function WidgetTable({ props }) { + const [copied, setCopied] = useState(false); + const headers = []; + const rowsRaw = []; + + for (const key of Object.keys(props)) { + const baseKey = key.replace(/\d+$/, ''); + const value = props[key]; + if (baseKey === 'h') headers.push(...value.split(';').map(h => h.trim())); + else if (baseKey === 'r') rowsRaw.push(value.split(';').map(v => v.trim())); + } + + const columns = useMemo(() => headers.map((h, i) => ({ + field: `col${i}`, + headerName: h, + flex: 1, + minWidth: 120, + sortable: true, + })), [headers.join(';')]); + + const rows = useMemo(() => rowsRaw.map((row, rowIndex) => { + const obj = { id: rowIndex }; + row.forEach((cell, i) => { obj[`col${i}`] = cell; }); + return obj; + }), [rowsRaw.length, headers.length]); + + const toTSV = useCallback(() => { + const headerLine = headers.join('\t'); + const dataLines = rowsRaw.map(r => r.join('\t')); + return [headerLine, ...dataLines].join('\n'); + }, [headers, rowsRaw]); + + const handleCopy = useCallback(() => { + const text = toTSV(); + if (navigator.clipboard?.writeText) { + navigator.clipboard.writeText(text); + } else { + const ta = document.createElement('textarea'); + ta.value = text; + document.body.appendChild(ta); + ta.select(); + document.execCommand('copy'); + document.body.removeChild(ta); + } + setCopied(true); + setTimeout(() => setCopied(false), 2000); + }, [toTSV]); + + const handleDownloadCSV = useCallback(() => { + const headerLine = headers.join(','); + const dataLines = rowsRaw.map(r => r.map(cell => cell.includes(',') ? `"${cell}"` : cell).join(',')); + const csv = [headerLine, ...dataLines].join('\n'); + const blob = new Blob([csv], { type: 'text/csv' }); + const url = URL.createObjectURL(blob); + const a = document.createElement('a'); + a.href = url; + a.download = `${props.t || 'table'}.csv`; + a.click(); + URL.revokeObjectURL(url); + }, [headers, rowsRaw, props.t]); + + if (columns.length === 0 && rows.length === 0) return null; + + return ( + + + + {props.t ? ( + + {props.t} + + ) : } + + + {copied ? : } + {copied ? 'Copied' : 'Copy'} + + + + CSV + + + + + + + + + + ); +} + +// Checklist Widget - Shows tasks with status (done/todo/blocked) +function WidgetChecklist({ props }) { + const items = []; + + for (const key of Object.keys(props)) { + const baseKey = key.replace(/\d+$/, ''); + const value = props[key]; + + if (baseKey === 'done' || baseKey === 'todo' || baseKey === 'blocked') { + items.push({ status: baseKey, text: value }); + } + } + + if (items.length === 0) return null; + + const statusStyles = { + done: { color: COLORS.success, icon: Check, bgColor: 'rgba(76, 130, 92, 0.12)' }, // Pine 100 + todo: { color: COLORS.text.muted, icon: null, bgColor: 'transparent' }, + blocked: { color: COLORS.error, icon: X, bgColor: 'rgba(199, 70, 52, 0.1)' }, // Oracle Red + }; + + return ( + + + {props.t && ( + + {props.t} + + )} + + + {items.map((item, index) => { + const style = statusStyles[item.status]; + const IconComponent = style.icon; + + return ( + + + + {IconComponent && } + + + {item.text} + + + + ); + })} + + + + ); +} + +// Section Widget - Collapsible content section +function WidgetSection({ props }) { + const [expanded, setExpanded] = useState(true); + + return ( + + + {/* Header - clickable to toggle */} + setExpanded(!expanded)} + sx={{ + display: 'flex', + alignItems: 'center', + gap: 1.5, + p: 2, + cursor: 'pointer', + '&:hover': { backgroundColor: 'rgba(0,0,0,0.02)' }, + }} + > + + + + + {props.t || 'Section'} + + + + {/* Content */} + + + {props.d && ( + + {props.d} + + )} + {props.ls && } + + + + + ); +} + +// Risk Widget - Risk card with severity level (using theme colors) +function WidgetRisk({ props, level }) { + const severityConfig = { + high: { color: COLORS.error, textColor: 'white', bgColor: '#d4594a', label: 'High Risk' }, // Oracle Red lighter + medium: { color: '#b87a2e', textColor: 'white', bgColor: COLORS.warning, label: 'Medium Risk' }, // Brand Yellow + low: { color: COLORS.success, textColor: 'white', bgColor: '#6a9b74', label: 'Low Risk' }, // Pine 100 lighter + }; + + const severity = severityConfig[level] || severityConfig.medium; + + return ( + + + + {/* Severity badge */} + + + + {severity.label} + + + + {props.t && ( + + {props.t} + + )} + + {props.d && ( + + {props.d} + + )} + + + + ); +} + +// Poll Widget - Choice selector with options + custom input +function WidgetPoll({ props, onSubmit, disabled, selectedData }) { + const [selected, setSelected] = useState(null); + const [customText, setCustomText] = useState(''); + const [isSubmitted, setIsSubmitted] = useState(false); + + useEffect(() => { + if (disabled && selectedData) { + setIsSubmitted(true); + if (selectedData._action === 'custom') { + setCustomText(selectedData.custom || ''); + } else { + setSelected(selectedData._action); + } + } + }, [disabled, selectedData]); + + const question = props.poll || props.t || 'Make a selection'; + const description = props.d; + const widgetId = props._id || null; + + const options = Object.keys(props) + .filter(k => k.match(/^op\d*$/)) + .map(k => props[k]); + + const handleOptionClick = (optionText) => { + if (isSubmitted || disabled) return; + setSelected(optionText); + setIsSubmitted(true); + if (onSubmit) onSubmit({ _action: optionText }, widgetId); + }; + + const handleCustomSubmit = () => { + if (isSubmitted || disabled || !customText.trim()) return; + setIsSubmitted(true); + if (onSubmit) onSubmit({ custom: customText.trim(), _action: 'custom' }, widgetId); + }; + + const isDisabled = isSubmitted || disabled; + + return ( + + + {/* Question */} + + + {question} + + + + {description && ( + + + {description} + + + )} + + {/* Option cards */} + + {options.map((option, index) => { + const isThisSelected = selected === option; + const isOtherSelected = selected !== null && !isThisSelected; + + return ( + + handleOptionClick(option)} + sx={{ + display: 'flex', + alignItems: 'center', + gap: 1.5, + px: 2, + py: 1.5, + borderRadius: 2, + border: `1.5px solid ${isThisSelected ? COLORS.primary : 'var(--dm-border, rgba(49, 45, 42, 0.12))'}`, + backgroundColor: isThisSelected ? 'rgba(199, 70, 52, 0.06)' : 'var(--dm-subtle, rgba(49, 45, 42, 0.02))', + cursor: isDisabled ? 'default' : 'pointer', + opacity: isOtherSelected ? 0.5 : 1, + transition: 'all 0.2s ease', + ...(!isDisabled && { + '&:hover': { + borderColor: COLORS.primary, + backgroundColor: 'rgba(199, 70, 52, 0.04)', + transform: 'translateX(4px)', + }, + }), + }} + > + {/* Number badge */} + + {isThisSelected ? : index + 1} + + + + {option} + + + + ); + })} + + + {/* Custom input area */} + + + setCustomText(e.target.value)} + onKeyDown={(e) => { + if (e.key === 'Enter' && !isDisabled && customText.trim()) { + e.preventDefault(); + handleCustomSubmit(); + } + }} + disabled={isDisabled} + fullWidth + sx={{ + '& .MuiOutlinedInput-root': { + backgroundColor: INPUT.backgroundColor, + '& fieldset': { border: INPUT.border }, + '&:hover': { backgroundColor: isDisabled ? INPUT.backgroundColor : INPUT.hoverBackground }, + '&.Mui-focused': { backgroundColor: INPUT.hoverBackground }, + }, + }} + /> + + + + + + ); +} + +// Mail Widget - Email preview card +// PPT Widget - Embeds PowerPoint presentation from URL +function WidgetPPT({ props }) { + const [isLoading, setIsLoading] = useState(true); + const [isFullscreen, setIsFullscreen] = useState(false); + const pptUrl = props.ppt; + const encodedUrl = encodeURIComponent(pptUrl); + const viewerUrl = `https://view.officeapps.live.com/op/embed.aspx?src=${encodedUrl}`; + + // Extract filename from URL for display + const filename = pptUrl.split('/').pop()?.split('?')[0]?.replace(/_/g, ' ')?.replace('.pptx', '') || 'Presentation'; + + const handleFullscreen = () => { + setIsFullscreen(!isFullscreen); + }; + + const handleOpenExternal = () => { + window.open(viewerUrl, '_blank'); + }; + + return ( + + + {/* Header */} + + + + + + + + {props.t || filename} + + + PowerPoint Presentation + + + + {/* Action buttons */} + + e.currentTarget.style.backgroundColor = 'rgba(255,255,255,0.25)'} + onMouseLeave={(e) => e.currentTarget.style.backgroundColor = 'rgba(255,255,255,0.15)'} + > + + + e.currentTarget.style.backgroundColor = 'rgba(255,255,255,0.25)'} + onMouseLeave={(e) => e.currentTarget.style.backgroundColor = 'rgba(255,255,255,0.15)'} + > + + + {isFullscreen && ( + + + + )} + + + + + {/* Slide viewer */} + + + {/* Loading overlay */} + {isLoading && ( + + + + + + Loading presentation... + + + )} + + +

+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 literal 0 HcmV?d00001 diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/public/fonts/OracleSans/OracleSansCd_It.ttf b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/public/fonts/OracleSans/OracleSansCd_It.ttf new file mode 100755 index 0000000000000000000000000000000000000000..96b7af8efe93c1fa128d46e198e97e61fecb4eec GIT binary patch literal 141496 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%0AnbOQryz!RFr^))kEkL2WZ@1R(ib;ZAI zV3yXqZ3YaxrpBj_@~-dQ!C$QA;bbs~jbLlA37MMj=iwBfz7;1P`X?z45Di4JgR7tX zysLrlAIQwo}4gmo2PYl_$GQ>FL$Qv z_GZ0wM*CVe;~E~SnwoHW`fD@#j6MI|&B0!$x~=|Ue2;wb%a0D16Ta-ZcSO@6x>^SZ z7c?0sRtp|pvypN3IlrYdf7v*L|_VX?rcMpmEZBX{~%r0~4q`A$#eB<^z?l)$Z zYn|z_cWmy23GIV^sed`hF5`UTYwNzxZT_%-g;_PVlLQS$*orK^9$Lg#bVdtTb>(@Z z)<)F8V|-fGnE+bwwoa@{2<5cyS~s8Ii9^C`H*M9Te!V@%hko}(tIr2Vi`6N*rq)w* zpWrse(ZBlY@5J%>V~4DW`gnQaTK$`K#O69%j7J+AJ#fd9G#Y8 zg%`vYlzDY6_&^l%8syc>F>z07f))I8{*!uSS9@m%lNBhT-@ZvXMT>7HL*3W|3P^xhLTaOB6smV7_7 zYuoSlyWYBB;A#x`ja%k;IWRWx_f5^iIu=xzIQ6YJTif;={hL?J58J{ckM-={=Cv*d z9;|OZ@XC>OwU32G23>vDXH}Dw!l1ev=O3JV{l|f8Tsm!yzjFCR^_Z1)k5^C5dz@X% zvv5?aPv-26@N~_6Kcc)-uPSmEM(xS% z`s0a>4+=aS?H9O>vD=#P2U$ap&8uG@FTZ?u&0`w^?o3*8s8WQ{z03BmFW2n(;nyus_U^FuZtr6c z2e0$Lo0kL&>pr{oeLnnLQhKiM8++yr zaC7H9hx)`#ackG5XpU>cIxdeUUvFo7cKPtdBki&mhV2~l=<1{^^Y%DLDkAU`h`^6T zM-miF1VW2qDgSi)M0bkyA$jO1+AGpSW2=&jqt|}YpngHZPd+0bg`D|vvF(oWes?V7 zqE*2;Fa#|`gs#Te&norYUCp;}J1Lk=LMn_6gGF^Q&cv z6}yO?@;c-N=LD5CyTnNPhX(jhTBrESc{AA?PPuw(JBb~{V4cIDoQ{0Xvm{>cA&8B| zK!tXQVBfM9R!pcc`P;OWF+GL*?44mhJbA<)Y!-An(EIv=F`qbYYjA(=p769YajwZ7 z%0GxWy`py0lQXBe?07xmP^;UU=euTHimIFCbh^TWjf>B{-^(L+$KB;N8|qA7qu*Kh z`-30OEo|ZRVe0ynw+}T4zGyeW=eHmB&wcCeR~5fKd$83fYmH-fHn&M@@yGS9&vzWk zd35$%Yv<(|>)O^7C$-An9eHHYCmkJyV~)m$p+#GM4_$pE_oEGC0@uIqw(XdMOT?G~ z)22V%{?$**W)y6E+@Rv;JND1MI&R?e**`fiJG{wx_`Vd~gZe(hvYNzPOV9YOmi^|d zkzQxc_SLwxet+7-mP3!&tvI{unBk01bxq2OGwpgTItJN$0&CE1rLI9I{V93mC3>Rw zAdkv-NNyh)6Elj|W%9z)AU32pjjL~mWN#Mf{g>CBoBwty>x*@XN(a|k3VX4|W?XWN zQXPwBro1-QxcZqY_19OK+b#3Zs5* z*`vyN_uwwQ){Yz&Jt=B-p>uq~`vqQZ(?gF12i%x?VcCieb)Qd&Tso>x{?`p2ye_uv z-{Fr%?z;{)Sb$@$deoVf5^YFW!*Z(pqV1uK#e*Co`w9O9S z7tql?o{ZRExgdQ?!S;Ec;Sr6x#E0!_ajH{;>KFEZ)8nZkV!a?@-Ct#u+2+9RIA}-8OBLy!X#P?|jKDR3J=!#oA&mMaW>4 z=_zvoTV<-5Kx{-}s=Bl+&GXHxonvAc$Wk?CT#R~U8A8dtwXchJEp$vnuVkK8DJBc3o-s z{o@^{-n_i|m!C&Pm2>>??9k{m!G9a`wuJ|l&px>Gj?nO%iV?TlSNzU?{px7}|K3zTvvKVU z+M6Hz7FoUGg(=CmLl*e1TV8vtz1`{t+7&Z*J>I1id8{cbL9X$VOta&b&Pei^mAfUd zSX+q`|946aT0%Av8~OW-P4IMUz(Y8mY|OV}Kb0)((9YnDYD19eU3H=KyRalf714_T z_O7lLKgx|yjK_aylvs_`Sd7CLKNlDE-THi2zb{(-KEC$t6;~#EZL3_cVd+E14S8qW zE~LEH@2)mAt8d|`$L@XXJnOX@bF6#!%S{}EN4B<|R(EPZ>(I}i9k3g*Ir&V#8ViHc zzCJ20>C7AaYA$K5P50 zztO(U2X}-0)>mHZnYm%6;g5Q8Pj5F4xt6l?`ra#iTw={#TO77~&)93zZQJ-?H*Ts> z<@ct(qo22UcY587E>$177(aT$W7gE|A#X;zKkwog^W%W`TP_H2>e~L31A!NJhp%dp zp7Zd%_iL^jvF%ClD!cuQvs@+xFN_cO5yoZL*wXBFjbEF0s<_Hy<`zX_O-4&iEVd|g zr4jFAu>#ast`zkXUPYS3$N8r|qUED-RsKLZcMJ_=y4i$%#Q8KnsQelA^sG3DzR&ZPls)lN%TZn9{GTp3LXtkhw z(0A36?d=@rXFfc?+GFqOMXwbb@NB_1IPcufh>D*tIJRm2Q!zC-!GXJy=&u~V?eyTLwvo#`Zl?Ke^^#x*hh2Dj2|OzI^KH1i51xqP5x-K-1oJyV}DP*J>XH- zSu4liov>GSU9FE>3KadE>}`Q3YedU{sTocpsTU5#6wekr@rA4^x< z?EUW6E*0B^cM!XFY@u<}Zp=&kN%*$rw|jRl+4;Qc#>Km?4%q$0hzVg%`>u?8;xVv& zi)TlY-wMvXJtC}jyQeKq-rUl!U60mNCg*$H>%As!R+AYgVvhFz=G5Ci8nU!kARI44 z=P6D+@V`_B;y9^&=1t5IT~vBnM*}^Jx#{d=U9K;0&}*P~fi_sIWKy--X$+34 zL|UdwJX4x`wt46X>>s-i!((;A@AI`NIaca4@GwEE>iZs+&%3bJO-uX9?>cTgQ_ zvv_Vpzc)smJo`kuyh_+7#`iwW%FaEhZ+7DFy&Dsw+}CyL+$Yrkqi46b9jSHc?I(`k z?HDn9Rm8@d8#_PlGwkx(DPRBlot>R-ZMalp;r8u!;`D3Boo}=^E&SVt)5is^zJGi8 zZQ=08zkW1G`)-SJm4_GpJ7d-O%RzO&UVNIL>9}>vM+-mb%N6x(lT`7m*PE?6n*E+P ze$o5)V2|x$|Kqc&MilMN*t2E9#anTH-5Xqp z+n1%Ce4*e@QE>M8yIxhtrPLd}C_Cc72=8|m{lH&Y9=_m*rN(PpPhWdduy@A2qrS0A zM>&o5xe|WC@5I){T?Yi!I+N11{rF+avxG!3ONckOp3aaZ^aH3j@%H1)?Gxs;ty%v>NV=Wd zsOg`rwZd?3otyhkZS8AgZVc+4y#Mf({ItER!>`08U+?kR#oR4+2bV1>IzBWm=T7@0 z&#&&j*|vFTfA_u}ZGKpF>v8s{@Avflup{3hV#1+Q!Na#M-F2_pn=2oT{c2$5)tuk^ zXa2Hbb^e<%Cl5>=`ThrPzxpn!k##o-Vr1ldb&EVIw~T1JHGiD@*!uT}d1s9bs`jjK zrl!-%4xW*f-w@!vm^h z&#h0ZWM;R#dgpFPzdHrL_J5ilcK^|u@P4D4ZvDL8*l(7lh)wo>y!dKPr)e!N4=Ues h-4Aa!AMcUhw)3gP1O3t_yyNFR?BPkjXU*<%{{@bHVP*gT literal 0 HcmV?d00001 diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/public/fonts/OracleSans/OracleSansCd_Lt.ttf b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/public/fonts/OracleSans/OracleSansCd_Lt.ttf new file mode 100755 index 0000000000000000000000000000000000000000..9170c20e05fd0747aae9528f380f858d645db85a GIT binary patch literal 142252 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 RI6sT5S9B%q$l5~g{{evdOV0oR literal 0 HcmV?d00001 diff --git a/ai/gen-ai-agents/oci-enterprise-ai-chat/files/public/fonts/OracleSans/OracleSansCd_LtIt.ttf b/ai/gen-ai-agents/oci-enterprise-ai-chat/files/public/fonts/OracleSans/OracleSansCd_LtIt.ttf new file mode 100755 index 0000000000000000000000000000000000000000..0bef3043821d178d31a1c55447a3a8808d80fb0f GIT binary patch literal 142740 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 z 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