@snowcone-app/canvas 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.txt +70 -0
- package/README.md +357 -0
- package/dist/CanvasStateV1-D5GzvmnY.cjs +65 -0
- package/dist/CanvasStateV1-D5GzvmnY.cjs.map +1 -0
- package/dist/CanvasStateV1-ejb4d_LM.js +3692 -0
- package/dist/CanvasStateV1-ejb4d_LM.js.map +1 -0
- package/dist/ElementFactory-B7UOaJSD.cjs +23865 -0
- package/dist/ElementFactory-B7UOaJSD.cjs.map +1 -0
- package/dist/ElementFactory-uJTXU-nP.js +29615 -0
- package/dist/ElementFactory-uJTXU-nP.js.map +1 -0
- package/dist/HybridHistoryManager-BV6XV0nD.js +8048 -0
- package/dist/HybridHistoryManager-BV6XV0nD.js.map +1 -0
- package/dist/HybridHistoryManager-BXD93pp8.cjs +8 -0
- package/dist/HybridHistoryManager-BXD93pp8.cjs.map +1 -0
- package/dist/ImportManager-BYwuK6n4.cjs +2 -0
- package/dist/ImportManager-BYwuK6n4.cjs.map +1 -0
- package/dist/ImportManager-CxiaRg1N.js +222 -0
- package/dist/ImportManager-CxiaRg1N.js.map +1 -0
- package/dist/ThemeContext-4mJ_y0Me.cjs +2 -0
- package/dist/ThemeContext-4mJ_y0Me.cjs.map +1 -0
- package/dist/ThemeContext-H0Z-MqqR.js +1077 -0
- package/dist/ThemeContext-H0Z-MqqR.js.map +1 -0
- package/dist/advanced.d.ts +2 -0
- package/dist/advanced.js +48 -0
- package/dist/advanced.js.map +1 -0
- package/dist/advanced.mjs +15679 -0
- package/dist/advanced.mjs.map +1 -0
- package/dist/api/advanced.d.ts +110 -0
- package/dist/api/internals.d.ts +39 -0
- package/dist/api/stable.d.ts +44 -0
- package/dist/api/testing.d.ts +25 -0
- package/dist/browser-module-D0gHY9rY.cjs +9 -0
- package/dist/browser-module-D0gHY9rY.cjs.map +1 -0
- package/dist/browser-module-DFvKXBUE.js +15474 -0
- package/dist/browser-module-DFvKXBUE.js.map +1 -0
- package/dist/components/ArtboardDistressPanel.d.ts +7 -0
- package/dist/components/ArtboardImageMaskPanel.d.ts +7 -0
- package/dist/components/ArtboardPropertiesToolbar.d.ts +19 -0
- package/dist/components/ArtboardToolbar.d.ts +10 -0
- package/dist/components/BackButton.d.ts +7 -0
- package/dist/components/BackgroundPickerDropdown.d.ts +11 -0
- package/dist/components/BackgroundSwitcher.d.ts +7 -0
- package/dist/components/CanvasA11yFallback.d.ts +62 -0
- package/dist/components/CanvasEditor/CanvasRendererComponent.d.ts +51 -0
- package/dist/components/CanvasEditor/handlers/cropModeHandlers.d.ts +114 -0
- package/dist/components/CanvasEditor/handlers/groupChildHandlers.d.ts +65 -0
- package/dist/components/CanvasEditor/handlers/index.d.ts +10 -0
- package/dist/components/CanvasEditor/handlers/multiSelectionHandlers.d.ts +86 -0
- package/dist/components/CanvasEditor/hooks/buildSpreadClipShape.d.ts +20 -0
- package/dist/components/CanvasEditor/hooks/index.d.ts +24 -0
- package/dist/components/CanvasEditor/hooks/useActiveChild.d.ts +23 -0
- package/dist/components/CanvasEditor/hooks/useAnimatedFocusRect.d.ts +17 -0
- package/dist/components/CanvasEditor/hooks/useCanvasInteraction.d.ts +284 -0
- package/dist/components/CanvasEditor/hooks/useCanvasLayout.d.ts +50 -0
- package/dist/components/CanvasEditor/hooks/useCanvasRenderLoop.d.ts +140 -0
- package/dist/components/CanvasEditor/hooks/useCropMode.d.ts +4 -0
- package/dist/components/CanvasEditor/hooks/useHoverState.d.ts +9 -0
- package/dist/components/CanvasEditor/hooks/useInteractionState.d.ts +23 -0
- package/dist/components/CanvasEditor/hooks/useKeyboardHandlers.d.ts +16 -0
- package/dist/components/CanvasEditor/hooks/useMarqueeSelection.d.ts +22 -0
- package/dist/components/CanvasEditor/hooks/useMultiSelection.d.ts +5 -0
- package/dist/components/CanvasEditor/hooks/usePenTool.d.ts +10 -0
- package/dist/components/CanvasEditor/hooks/useRenderState.d.ts +31 -0
- package/dist/components/CanvasEditor/hooks/useSnapAndSpacing.d.ts +42 -0
- package/dist/components/CanvasEditor/hooks/useTextEditing.d.ts +56 -0
- package/dist/components/CanvasEditor/hooks/useTextEditingHandlers.d.ts +75 -0
- package/dist/components/CanvasEditor/renderers/hoverRenderer.d.ts +12 -0
- package/dist/components/CanvasEditor/renderers/index.d.ts +10 -0
- package/dist/components/CanvasEditor/renderers/marqueeRenderer.d.ts +21 -0
- package/dist/components/CanvasEditor/renderers/multiSelectionRenderer.d.ts +52 -0
- package/dist/components/CanvasEditor/renderers/renderingConstants.d.ts +59 -0
- package/dist/components/CanvasEditor/types/index.d.ts +11 -0
- package/dist/components/CanvasEditor.d.ts +102 -0
- package/dist/components/ColorPickerDropdown.d.ts +29 -0
- package/dist/components/CompositingPanel.d.ts +8 -0
- package/dist/components/ContextualToolbars.d.ts +150 -0
- package/dist/components/CropPanel.d.ts +20 -0
- package/dist/components/DistressPanel.d.ts +7 -0
- package/dist/components/DocsPage.d.ts +6 -0
- package/dist/components/Drawer.d.ts +39 -0
- package/dist/components/EffectsPanel.d.ts +14 -0
- package/dist/components/ExportTestPanel.d.ts +16 -0
- package/dist/components/FontBrowserDrawer.d.ts +20 -0
- package/dist/components/FontSizeDropdown.d.ts +12 -0
- package/dist/components/GlyphBrowserDrawer.d.ts +13 -0
- package/dist/components/GlyphPicker.d.ts +14 -0
- package/dist/components/IconMatchTest.d.ts +3 -0
- package/dist/components/IconSizeTest.d.ts +3 -0
- package/dist/components/ImageBrowserDrawer.d.ts +27 -0
- package/dist/components/ImageToolbar.d.ts +47 -0
- package/dist/components/LayerEffects.d.ts +11 -0
- package/dist/components/LayerLeadingChip.d.ts +9 -0
- package/dist/components/LayersPanel.d.ts +30 -0
- package/dist/components/MaskItem.d.ts +12 -0
- package/dist/components/MasksPanel.d.ts +7 -0
- package/dist/components/MonotypeDemoPage.d.ts +2 -0
- package/dist/components/MoreMenu.d.ts +15 -0
- package/dist/components/OpenTypeFeaturesPanel.d.ts +12 -0
- package/dist/components/PathToolbar.d.ts +10 -0
- package/dist/components/PenToolDemo.d.ts +3 -0
- package/dist/components/ProgressiveBlur.d.ts +25 -0
- package/dist/components/RotationHandle.d.ts +47 -0
- package/dist/components/SaveLoadMenu.d.ts +15 -0
- package/dist/components/ShapeToolbar.d.ts +71 -0
- package/dist/components/ShapeTypeDrawer.d.ts +10 -0
- package/dist/components/StrokePanel.d.ts +7 -0
- package/dist/components/TailwindDemo.d.ts +3 -0
- package/dist/components/TextEffectsDropdown.d.ts +14 -0
- package/dist/components/TextToolbar.d.ts +47 -0
- package/dist/components/TextTypeDrawer.d.ts +8 -0
- package/dist/components/ThemeToggle.d.ts +2 -0
- package/dist/components/TransformControlPanel.d.ts +12 -0
- package/dist/components/VisualGuideOverlay.d.ts +156 -0
- package/dist/components/embed/ArtboardTabs.d.ts +74 -0
- package/dist/components/embed/Canvas.d.ts +72 -0
- package/dist/components/embed/EffectsPanel.d.ts +76 -0
- package/dist/components/embed/ErrorBoundary.d.ts +34 -0
- package/dist/components/embed/ExportPanel.d.ts +51 -0
- package/dist/components/embed/GlyphPanel.d.ts +70 -0
- package/dist/components/embed/ImagePanel.d.ts +58 -0
- package/dist/components/embed/LayersPanel.d.ts +13 -0
- package/dist/components/embed/LoadingStates.d.ts +32 -0
- package/dist/components/embed/MenuButton.d.ts +47 -0
- package/dist/components/embed/SnowconeCanvas.d.ts +844 -0
- package/dist/components/embed/ZoomControls.d.ts +16 -0
- package/dist/components/embed/index.d.ts +129 -0
- package/dist/components/embed/primitives/index.d.ts +42 -0
- package/dist/components/embed/ui/index.d.ts +52 -0
- package/dist/components/embed/utils/index.d.ts +31 -0
- package/dist/components/embedded/ArtboardEmbed.d.ts +70 -0
- package/dist/components/embedded/MerchifyThemeWrapper.d.ts +30 -0
- package/dist/components/embedded/ProductPreviewCard.d.ts +8 -0
- package/dist/components/embedded/index.d.ts +7 -0
- package/dist/components/primitives/ButtonGroup.d.ts +27 -0
- package/dist/components/primitives/ControlGroup.d.ts +15 -0
- package/dist/components/primitives/Dropdown.d.ts +27 -0
- package/dist/components/primitives/DropdownMenu.d.ts +9 -0
- package/dist/components/primitives/MenuItem.d.ts +13 -0
- package/dist/components/primitives/Panel.d.ts +25 -0
- package/dist/components/primitives/SecondaryToolbar.d.ts +9 -0
- package/dist/components/primitives/Switch.d.ts +10 -0
- package/dist/components/primitives/Toggle.d.ts +17 -0
- package/dist/components/primitives/index.d.ts +22 -0
- package/dist/components/stories/utils/MockEditorProvider.d.ts +32 -0
- package/dist/components/stories/utils/QACanvasCard.d.ts +41 -0
- package/dist/components/stories/utils/VisualQACard.d.ts +24 -0
- package/dist/components/stories/utils/element-factories.d.ts +188 -0
- package/dist/components/stories/utils/spec-to-elements.d.ts +74 -0
- package/dist/components/stories/utils/themeDecorator.d.ts +45 -0
- package/dist/components/stories/utils/unified-test-cases.d.ts +27 -0
- package/dist/components/text-toolbar/BoldButton.d.ts +5 -0
- package/dist/components/text-toolbar/FontColorButton.d.ts +6 -0
- package/dist/components/text-toolbar/FontSizeGroup.d.ts +5 -0
- package/dist/components/text-toolbar/ItalicButton.d.ts +5 -0
- package/dist/components/text-toolbar/TextAlignButton.d.ts +5 -0
- package/dist/components/text-toolbar/TextMoreMenu.d.ts +7 -0
- package/dist/components/text-toolbar/UnderlineButton.d.ts +5 -0
- package/dist/components/text-toolbar/UppercaseButton.d.ts +5 -0
- package/dist/components/text-toolbar/index.d.ts +25 -0
- package/dist/components/toolbars/EmbeddedToolbarLayout.d.ts +49 -0
- package/dist/components/toolbars/ExpandedPanelIcon.d.ts +13 -0
- package/dist/components/toolbars/FloatingPanels.d.ts +23 -0
- package/dist/components/toolbars/GroupElementToolbar.d.ts +35 -0
- package/dist/components/toolbars/SecondaryPanels.d.ts +125 -0
- package/dist/components/toolbars/index.d.ts +18 -0
- package/dist/components/toolbars/shared/ColorPanelWrapper.d.ts +9 -0
- package/dist/components/toolbars/shared/SecondaryPanelWrapper.d.ts +9 -0
- package/dist/components/ui/PresetCarousel.d.ts +21 -0
- package/dist/components/ui/SecondaryPanel.d.ts +28 -0
- package/dist/components/ui/SliderRow.d.ts +30 -0
- package/dist/components/ui/collapsed-toolbar-header.d.ts +14 -0
- package/dist/components/ui/custom-icons.d.ts +25 -0
- package/dist/components/ui/icons.d.ts +100 -0
- package/dist/components/ui/index.d.ts +48 -0
- package/dist/components/ui/normalized-icon.d.ts +63 -0
- package/dist/components/ui/toolbar-button.d.ts +24 -0
- package/dist/compose-Bo108juW.cjs +33 -0
- package/dist/compose-Bo108juW.cjs.map +1 -0
- package/dist/compose-DQ1FZS3O.js +7690 -0
- package/dist/compose-DQ1FZS3O.js.map +1 -0
- package/dist/constants.d.ts +121 -0
- package/dist/contexts/CommandContext.d.ts +87 -0
- package/dist/contexts/EditorContext.d.ts +190 -0
- package/dist/contexts/ElementsContext.d.ts +104 -0
- package/dist/contexts/HistoryContext.d.ts +60 -0
- package/dist/contexts/KitContext.d.ts +50 -0
- package/dist/contexts/SelectionContext.d.ts +51 -0
- package/dist/contexts/ThemeContext.d.ts +55 -0
- package/dist/contexts/ToolStateContext.d.ts +60 -0
- package/dist/contexts/ViewportContext.d.ts +87 -0
- package/dist/core/AlignmentSnapSystem.d.ts +270 -0
- package/dist/core/ArtboardElement.d.ts +106 -0
- package/dist/core/ArtboardManager.d.ts +130 -0
- package/dist/core/ArtboardRenderer.d.ts +97 -0
- package/dist/core/BaseElement.d.ts +94 -0
- package/dist/core/CanvasRenderer.d.ts +237 -0
- package/dist/core/CommandHistory.d.ts +173 -0
- package/dist/core/CoordinateTransform.d.ts +69 -0
- package/dist/core/CropModeController.d.ts +90 -0
- package/dist/core/EditModeRenderer.d.ts +51 -0
- package/dist/core/ElementFactory.d.ts +73 -0
- package/dist/core/ElementStore.d.ts +69 -0
- package/dist/core/EventBus.d.ts +163 -0
- package/dist/core/GeometryUtils.d.ts +247 -0
- package/dist/core/GroupElement.d.ts +134 -0
- package/dist/core/HoverRenderer.d.ts +103 -0
- package/dist/core/HybridHistoryManager.d.ts +137 -0
- package/dist/core/ImageCache.d.ts +63 -0
- package/dist/core/ImageElement.d.ts +226 -0
- package/dist/core/ImageLoadEvents.d.ts +23 -0
- package/dist/core/InteractionFeedbackRenderer.d.ts +15 -0
- package/dist/core/InteractionStateMachine.d.ts +199 -0
- package/dist/core/PathElement.d.ts +84 -0
- package/dist/core/PenToolManager.d.ts +112 -0
- package/dist/core/PinchHandler.d.ts +32 -0
- package/dist/core/ResizeHandler.d.ts +51 -0
- package/dist/core/ResizePipeline.d.ts +83 -0
- package/dist/core/ResizeUtils.d.ts +17 -0
- package/dist/core/RotationAnchorResolver.d.ts +60 -0
- package/dist/core/RotationUtils.d.ts +28 -0
- package/dist/core/SelectionRenderer.d.ts +24 -0
- package/dist/core/ShapeElement.d.ts +121 -0
- package/dist/core/SpacingSystem.d.ts +73 -0
- package/dist/core/SpatialGrid.d.ts +53 -0
- package/dist/core/TextElement.d.ts +80 -0
- package/dist/core/TextMetrics.d.ts +117 -0
- package/dist/core/Transform.d.ts +158 -0
- package/dist/core/TransformConverter.d.ts +16 -0
- package/dist/core/TransformHandles.d.ts +55 -0
- package/dist/core/artboardReducer.d.ts +46 -0
- package/dist/effects/DistressGenerator.d.ts +26 -0
- package/dist/effects/DistressTextureCache.d.ts +49 -0
- package/dist/effects/distress-presets.d.ts +86 -0
- package/dist/effects/distress-textures.d.ts +34 -0
- package/dist/effects/distress-utils.d.ts +39 -0
- package/dist/effects/mask-presets.d.ts +36 -0
- package/dist/fonts/google-fonts.d.ts +48 -0
- package/dist/google-fonts.json +1 -0
- package/dist/hooks/index.d.ts +42 -0
- package/dist/hooks/useArtboards.d.ts +71 -0
- package/dist/hooks/useAutoExport.d.ts +66 -0
- package/dist/hooks/useBreakpoint.d.ts +53 -0
- package/dist/hooks/useCanvasEvents.d.ts +8 -0
- package/dist/hooks/useCanvasReady.d.ts +22 -0
- package/dist/hooks/useClickOutside.d.ts +3 -0
- package/dist/hooks/useCommandHistory.d.ts +39 -0
- package/dist/hooks/useCommands.d.ts +47 -0
- package/dist/hooks/useContentReady.d.ts +18 -0
- package/dist/hooks/useElementById.d.ts +20 -0
- package/dist/hooks/useElementByName.d.ts +10 -0
- package/dist/hooks/useElementProperties.d.ts +29 -0
- package/dist/hooks/useExport.d.ts +89 -0
- package/dist/hooks/useImageBinding.d.ts +34 -0
- package/dist/hooks/useKeyboardShortcuts.d.ts +13 -0
- package/dist/hooks/useLayerDndKit.d.ts +24 -0
- package/dist/hooks/useLayerDragDrop.d.ts +58 -0
- package/dist/hooks/useLayerPreview.d.ts +31 -0
- package/dist/hooks/useLayerSelection.d.ts +76 -0
- package/dist/hooks/useLayers.d.ts +91 -0
- package/dist/hooks/usePerformance.d.ts +48 -0
- package/dist/hooks/useProjectLoader.d.ts +64 -0
- package/dist/hooks/useSelectedElement.d.ts +17 -0
- package/dist/hooks/useTextBinding.d.ts +26 -0
- package/dist/hooks/useTextToolbar.d.ts +61 -0
- package/dist/hooks/useViewport.d.ts +46 -0
- package/dist/icons/icon-data.d.ts +2 -0
- package/dist/icons/registry.d.ts +28 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +1138 -0
- package/dist/index.mjs.map +1 -0
- package/dist/internals.d.ts +2 -0
- package/dist/internals.js +2 -0
- package/dist/internals.js.map +1 -0
- package/dist/internals.mjs +219 -0
- package/dist/internals.mjs.map +1 -0
- package/dist/kits/compose.d.ts +69 -0
- package/dist/kits/index.d.ts +21 -0
- package/dist/kits/presets.d.ts +40 -0
- package/dist/kits/registry.d.ts +33 -0
- package/dist/kits/sections.d.ts +119 -0
- package/dist/kits/serialization.d.ts +78 -0
- package/dist/kits/types.d.ts +129 -0
- package/dist/kits/validation.d.ts +36 -0
- package/dist/lib/utils.d.ts +2 -0
- package/dist/plugins/ElementTypePlugin.d.ts +90 -0
- package/dist/presets/artboard-color-presets.d.ts +22 -0
- package/dist/presets/tshirt-presets.d.ts +60 -0
- package/dist/rendering/CompositingRenderer.d.ts +33 -0
- package/dist/rendering/DistressTextureRenderer.d.ts +39 -0
- package/dist/rendering/ElementRenderUtils.d.ts +17 -0
- package/dist/rendering/MaskRenderer.d.ts +41 -0
- package/dist/rendering/PieceGuideRenderer.d.ts +177 -0
- package/dist/rendering/StrokeRenderer.d.ts +24 -0
- package/dist/rendering/canvas-renderer.d.ts +18 -0
- package/dist/rendering/element-serializer.d.ts +143 -0
- package/dist/rendering/image-renderer.d.ts +6 -0
- package/dist/rendering/knockout-utils.d.ts +48 -0
- package/dist/rendering/mask-utils.d.ts +65 -0
- package/dist/rendering/renderer-types.d.ts +79 -0
- package/dist/rendering/rich-text-renderer.d.ts +43 -0
- package/dist/rendering/serialize-for-server.d.ts +45 -0
- package/dist/rendering/shape-renderer.d.ts +6 -0
- package/dist/rendering/stroke-utils.d.ts +18 -0
- package/dist/rendering/text-renderer.d.ts +71 -0
- package/dist/rendering/transform-renderer.d.ts +33 -0
- package/dist/services/AutoExportManager.d.ts +107 -0
- package/dist/services/falApi.d.ts +63 -0
- package/dist/services/nounProjectApi.d.ts +90 -0
- package/dist/services/recraftApi.d.ts +65 -0
- package/dist/services/runwareApi.d.ts +69 -0
- package/dist/state/CanvasStateV1.d.ts +373 -0
- package/dist/state/index.d.ts +10 -0
- package/dist/style.css +1 -0
- package/dist/taco-reference-cropped.jpg +0 -0
- package/dist/testing/MockEditorProvider.d.ts +49 -0
- package/dist/testing/index.d.ts +25 -0
- package/dist/testing/utils.d.ts +128 -0
- package/dist/testing.d.ts +2 -0
- package/dist/testing.js +2 -0
- package/dist/testing.js.map +1 -0
- package/dist/testing.mjs +140 -0
- package/dist/testing.mjs.map +1 -0
- package/dist/textures/glass-frame.svg +32 -0
- package/dist/theme.d.ts +99 -0
- package/dist/themes/index.d.ts +23 -0
- package/dist/transforms/ArchTransform.d.ts +14 -0
- package/dist/transforms/AscendTransform.d.ts +14 -0
- package/dist/transforms/CircleTransform.d.ts +51 -0
- package/dist/transforms/CustomTransform.d.ts +81 -0
- package/dist/transforms/FlagTransform.d.ts +14 -0
- package/dist/transforms/LeanTransform.d.ts +14 -0
- package/dist/transforms/WaveTransform.d.ts +16 -0
- package/dist/transforms/defaults.d.ts +33 -0
- package/dist/transforms/index.d.ts +10 -0
- package/dist/transforms/registry.d.ts +51 -0
- package/dist/types/capabilities.d.ts +50 -0
- package/dist/types/guards.d.ts +31 -0
- package/dist/types/index.d.ts +765 -0
- package/dist/types/public.d.ts +31 -0
- package/dist/types/react.d.ts +132 -0
- package/dist/utils/ArtworkPlacement.d.ts +97 -0
- package/dist/utils/ElementPreviewRenderer.d.ts +19 -0
- package/dist/utils/ExportManager.d.ts +208 -0
- package/dist/utils/FontAnalyzer.d.ts +137 -0
- package/dist/utils/GlyphRenderer.d.ts +55 -0
- package/dist/utils/GoogleFontsService.d.ts +37 -0
- package/dist/utils/ImageLoader.d.ts +124 -0
- package/dist/utils/ImportManager.d.ts +72 -0
- package/dist/utils/MonotypeCategoryMapping.d.ts +36 -0
- package/dist/utils/MonotypeService.d.ts +148 -0
- package/dist/utils/PerformanceMonitor.d.ts +54 -0
- package/dist/utils/TextureManager.d.ts +60 -0
- package/dist/utils/UnifiedFontService.d.ts +117 -0
- package/dist/utils/WorkerExportManager.d.ts +185 -0
- package/dist/utils/clickProtection.d.ts +39 -0
- package/dist/utils/cn.d.ts +4 -0
- package/dist/utils/colorConversion.d.ts +101 -0
- package/dist/utils/documentColors.d.ts +108 -0
- package/dist/utils/featureApplied.d.ts +14 -0
- package/dist/utils/google-fonts-loader.d.ts +67 -0
- package/dist/utils/logger.d.ts +66 -0
- package/dist/utils/selectionPreservation.d.ts +42 -0
- package/dist/utils/textCursorUtils.d.ts +39 -0
- package/dist/utils/textUtils.d.ts +11 -0
- package/dist/workers/export-protocol.d.ts +119 -0
- package/dist/workers/export-worker.bundle.string.d.ts +2 -0
- package/dist/workers/export-worker.d.ts +5 -0
- package/package.json +201 -0
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var js={},ir={};ir.byteLength=ri;ir.toByteArray=si;ir.fromByteArray=oi;var ht=[],_e=[],ei=typeof Uint8Array<"u"?Uint8Array:Array,Fr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var Kt=0,ti=Fr.length;Kt<ti;++Kt)ht[Kt]=Fr[Kt],_e[Fr.charCodeAt(Kt)]=Kt;_e[45]=62;_e[95]=63;function Ys(a){var e=a.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var t=a.indexOf("=");t===-1&&(t=e);var r=t===e?0:4-t%4;return[t,r]}function ri(a){var e=Ys(a),t=e[0],r=e[1];return(t+r)*3/4-r}function ni(a,e,t){return(e+t)*3/4-t}function si(a){var e,t=Ys(a),r=t[0],n=t[1],s=new ei(ni(a,r,n)),i=0,c=n>0?r-4:r,f;for(f=0;f<c;f+=4)e=_e[a.charCodeAt(f)]<<18|_e[a.charCodeAt(f+1)]<<12|_e[a.charCodeAt(f+2)]<<6|_e[a.charCodeAt(f+3)],s[i++]=e>>16&255,s[i++]=e>>8&255,s[i++]=e&255;return n===2&&(e=_e[a.charCodeAt(f)]<<2|_e[a.charCodeAt(f+1)]>>4,s[i++]=e&255),n===1&&(e=_e[a.charCodeAt(f)]<<10|_e[a.charCodeAt(f+1)]<<4|_e[a.charCodeAt(f+2)]>>2,s[i++]=e>>8&255,s[i++]=e&255),s}function ai(a){return ht[a>>18&63]+ht[a>>12&63]+ht[a>>6&63]+ht[a&63]}function ii(a,e,t){for(var r,n=[],s=e;s<t;s+=3)r=(a[s]<<16&16711680)+(a[s+1]<<8&65280)+(a[s+2]&255),n.push(ai(r));return n.join("")}function oi(a){for(var e,t=a.length,r=t%3,n=[],s=16383,i=0,c=t-r;i<c;i+=s)n.push(ii(a,i,i+s>c?c:i+s));return r===1?(e=a[t-1],n.push(ht[e>>2]+ht[e<<4&63]+"==")):r===2&&(e=(a[t-2]<<8)+a[t-1],n.push(ht[e>>10]+ht[e>>4&63]+ht[e<<2&63]+"=")),n.join("")}var ln={};/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */ln.read=function(a,e,t,r,n){var s,i,c=n*8-r-1,f=(1<<c)-1,p=f>>1,h=-7,b=t?n-1:0,C=t?-1:1,F=a[e+b];for(b+=C,s=F&(1<<-h)-1,F>>=-h,h+=c;h>0;s=s*256+a[e+b],b+=C,h-=8);for(i=s&(1<<-h)-1,s>>=-h,h+=r;h>0;i=i*256+a[e+b],b+=C,h-=8);if(s===0)s=1-p;else{if(s===f)return i?NaN:(F?-1:1)*(1/0);i=i+Math.pow(2,r),s=s-p}return(F?-1:1)*i*Math.pow(2,s-r)};ln.write=function(a,e,t,r,n,s){var i,c,f,p=s*8-n-1,h=(1<<p)-1,b=h>>1,C=n===23?Math.pow(2,-24)-Math.pow(2,-77):0,F=r?0:s-1,O=r?1:-1,G=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(c=isNaN(e)?1:0,i=h):(i=Math.floor(Math.log(e)/Math.LN2),e*(f=Math.pow(2,-i))<1&&(i--,f*=2),i+b>=1?e+=C/f:e+=C*Math.pow(2,1-b),e*f>=2&&(i++,f/=2),i+b>=h?(c=0,i=h):i+b>=1?(c=(e*f-1)*Math.pow(2,n),i=i+b):(c=e*Math.pow(2,b-1)*Math.pow(2,n),i=0));n>=8;a[t+F]=c&255,F+=O,c/=256,n-=8);for(i=i<<n|c,p+=n;p>0;a[t+F]=i&255,F+=O,i/=256,p-=8);a[t+F-O]|=G*128};/*!
|
|
2
|
+
* The buffer module from node.js, for the browser.
|
|
3
|
+
*
|
|
4
|
+
* @author Feross Aboukhadijeh <https://feross.org>
|
|
5
|
+
* @license MIT
|
|
6
|
+
*/(function(a){const e=ir,t=ln,r=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;a.Buffer=h,a.SlowBuffer=x,a.INSPECT_MAX_BYTES=50;const n=2147483647;a.kMaxLength=n;const{Uint8Array:s,ArrayBuffer:i,SharedArrayBuffer:c}=globalThis;h.TYPED_ARRAY_SUPPORT=f(),!h.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function f(){try{const d=new s(1),l={foo:function(){return 42}};return Object.setPrototypeOf(l,s.prototype),Object.setPrototypeOf(d,l),d.foo()===42}catch{return!1}}Object.defineProperty(h.prototype,"parent",{enumerable:!0,get:function(){if(h.isBuffer(this))return this.buffer}}),Object.defineProperty(h.prototype,"offset",{enumerable:!0,get:function(){if(h.isBuffer(this))return this.byteOffset}});function p(d){if(d>n)throw new RangeError('The value "'+d+'" is invalid for option "size"');const l=new s(d);return Object.setPrototypeOf(l,h.prototype),l}function h(d,l,u){if(typeof d=="number"){if(typeof l=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return O(d)}return b(d,l,u)}h.poolSize=8192;function b(d,l,u){if(typeof d=="string")return G(d,l);if(i.isView(d))return z(d);if(d==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof d);if(ke(d,i)||d&&ke(d.buffer,i)||typeof c<"u"&&(ke(d,c)||d&&ke(d.buffer,c)))return W(d,l,u);if(typeof d=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');const g=d.valueOf&&d.valueOf();if(g!=null&&g!==d)return h.from(g,l,u);const m=E(d);if(m)return m;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof d[Symbol.toPrimitive]=="function")return h.from(d[Symbol.toPrimitive]("string"),l,u);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof d)}h.from=function(d,l,u){return b(d,l,u)},Object.setPrototypeOf(h.prototype,s.prototype),Object.setPrototypeOf(h,s);function C(d){if(typeof d!="number")throw new TypeError('"size" argument must be of type number');if(d<0)throw new RangeError('The value "'+d+'" is invalid for option "size"')}function F(d,l,u){return C(d),d<=0?p(d):l!==void 0?typeof u=="string"?p(d).fill(l,u):p(d).fill(l):p(d)}h.alloc=function(d,l,u){return F(d,l,u)};function O(d){return C(d),p(d<0?0:U(d)|0)}h.allocUnsafe=function(d){return O(d)},h.allocUnsafeSlow=function(d){return O(d)};function G(d,l){if((typeof l!="string"||l==="")&&(l="utf8"),!h.isEncoding(l))throw new TypeError("Unknown encoding: "+l);const u=te(d,l)|0;let g=p(u);const m=g.write(d,l);return m!==u&&(g=g.slice(0,m)),g}function Q(d){const l=d.length<0?0:U(d.length)|0,u=p(l);for(let g=0;g<l;g+=1)u[g]=d[g]&255;return u}function z(d){if(ke(d,s)){const l=new s(d);return W(l.buffer,l.byteOffset,l.byteLength)}return Q(d)}function W(d,l,u){if(l<0||d.byteLength<l)throw new RangeError('"offset" is outside of buffer bounds');if(d.byteLength<l+(u||0))throw new RangeError('"length" is outside of buffer bounds');let g;return l===void 0&&u===void 0?g=new s(d):u===void 0?g=new s(d,l):g=new s(d,l,u),Object.setPrototypeOf(g,h.prototype),g}function E(d){if(h.isBuffer(d)){const l=U(d.length)|0,u=p(l);return u.length===0||d.copy(u,0,0,l),u}if(d.length!==void 0)return typeof d.length!="number"||qe(d.length)?p(0):Q(d);if(d.type==="Buffer"&&Array.isArray(d.data))return Q(d.data)}function U(d){if(d>=n)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+n.toString(16)+" bytes");return d|0}function x(d){return+d!=d&&(d=0),h.alloc(+d)}h.isBuffer=function(l){return l!=null&&l._isBuffer===!0&&l!==h.prototype},h.compare=function(l,u){if(ke(l,s)&&(l=h.from(l,l.offset,l.byteLength)),ke(u,s)&&(u=h.from(u,u.offset,u.byteLength)),!h.isBuffer(l)||!h.isBuffer(u))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(l===u)return 0;let g=l.length,m=u.length;for(let S=0,k=Math.min(g,m);S<k;++S)if(l[S]!==u[S]){g=l[S],m=u[S];break}return g<m?-1:m<g?1:0},h.isEncoding=function(l){switch(String(l).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},h.concat=function(l,u){if(!Array.isArray(l))throw new TypeError('"list" argument must be an Array of Buffers');if(l.length===0)return h.alloc(0);let g;if(u===void 0)for(u=0,g=0;g<l.length;++g)u+=l[g].length;const m=h.allocUnsafe(u);let S=0;for(g=0;g<l.length;++g){let k=l[g];if(ke(k,s))S+k.length>m.length?(h.isBuffer(k)||(k=h.from(k)),k.copy(m,S)):s.prototype.set.call(m,k,S);else if(h.isBuffer(k))k.copy(m,S);else throw new TypeError('"list" argument must be an Array of Buffers');S+=k.length}return m};function te(d,l){if(h.isBuffer(d))return d.length;if(i.isView(d)||ke(d,i))return d.byteLength;if(typeof d!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof d);const u=d.length,g=arguments.length>2&&arguments[2]===!0;if(!g&&u===0)return 0;let m=!1;for(;;)switch(l){case"ascii":case"latin1":case"binary":return u;case"utf8":case"utf-8":return Le(d).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return u*2;case"hex":return u>>>1;case"base64":return Me(d).length;default:if(m)return g?-1:Le(d).length;l=(""+l).toLowerCase(),m=!0}}h.byteLength=te;function K(d,l,u){let g=!1;if((l===void 0||l<0)&&(l=0),l>this.length||((u===void 0||u>this.length)&&(u=this.length),u<=0)||(u>>>=0,l>>>=0,u<=l))return"";for(d||(d="utf8");;)switch(d){case"hex":return $e(this,l,u);case"utf8":case"utf-8":return re(this,l,u);case"ascii":return se(this,l,u);case"latin1":case"binary":return je(this,l,u);case"base64":return Ie(this,l,u);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return it(this,l,u);default:if(g)throw new TypeError("Unknown encoding: "+d);d=(d+"").toLowerCase(),g=!0}}h.prototype._isBuffer=!0;function V(d,l,u){const g=d[l];d[l]=d[u],d[u]=g}h.prototype.swap16=function(){const l=this.length;if(l%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let u=0;u<l;u+=2)V(this,u,u+1);return this},h.prototype.swap32=function(){const l=this.length;if(l%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let u=0;u<l;u+=4)V(this,u,u+3),V(this,u+1,u+2);return this},h.prototype.swap64=function(){const l=this.length;if(l%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let u=0;u<l;u+=8)V(this,u,u+7),V(this,u+1,u+6),V(this,u+2,u+5),V(this,u+3,u+4);return this},h.prototype.toString=function(){const l=this.length;return l===0?"":arguments.length===0?re(this,0,l):K.apply(this,arguments)},h.prototype.toLocaleString=h.prototype.toString,h.prototype.equals=function(l){if(!h.isBuffer(l))throw new TypeError("Argument must be a Buffer");return this===l?!0:h.compare(this,l)===0},h.prototype.inspect=function(){let l="";const u=a.INSPECT_MAX_BYTES;return l=this.toString("hex",0,u).replace(/(.{2})/g,"$1 ").trim(),this.length>u&&(l+=" ... "),"<Buffer "+l+">"},r&&(h.prototype[r]=h.prototype.inspect),h.prototype.compare=function(l,u,g,m,S){if(ke(l,s)&&(l=h.from(l,l.offset,l.byteLength)),!h.isBuffer(l))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof l);if(u===void 0&&(u=0),g===void 0&&(g=l?l.length:0),m===void 0&&(m=0),S===void 0&&(S=this.length),u<0||g>l.length||m<0||S>this.length)throw new RangeError("out of range index");if(m>=S&&u>=g)return 0;if(m>=S)return-1;if(u>=g)return 1;if(u>>>=0,g>>>=0,m>>>=0,S>>>=0,this===l)return 0;let k=S-m,ee=g-u;const ve=Math.min(k,ee),Ae=this.slice(m,S),Fe=l.slice(u,g);for(let ge=0;ge<ve;++ge)if(Ae[ge]!==Fe[ge]){k=Ae[ge],ee=Fe[ge];break}return k<ee?-1:ee<k?1:0};function ae(d,l,u,g,m){if(d.length===0)return-1;if(typeof u=="string"?(g=u,u=0):u>2147483647?u=2147483647:u<-2147483648&&(u=-2147483648),u=+u,qe(u)&&(u=m?0:d.length-1),u<0&&(u=d.length+u),u>=d.length){if(m)return-1;u=d.length-1}else if(u<0)if(m)u=0;else return-1;if(typeof l=="string"&&(l=h.from(l,g)),h.isBuffer(l))return l.length===0?-1:Y(d,l,u,g,m);if(typeof l=="number")return l=l&255,typeof s.prototype.indexOf=="function"?m?s.prototype.indexOf.call(d,l,u):s.prototype.lastIndexOf.call(d,l,u):Y(d,[l],u,g,m);throw new TypeError("val must be string, number or Buffer")}function Y(d,l,u,g,m){let S=1,k=d.length,ee=l.length;if(g!==void 0&&(g=String(g).toLowerCase(),g==="ucs2"||g==="ucs-2"||g==="utf16le"||g==="utf-16le")){if(d.length<2||l.length<2)return-1;S=2,k/=2,ee/=2,u/=2}function ve(Fe,ge){return S===1?Fe[ge]:Fe.readUInt16BE(ge*S)}let Ae;if(m){let Fe=-1;for(Ae=u;Ae<k;Ae++)if(ve(d,Ae)===ve(l,Fe===-1?0:Ae-Fe)){if(Fe===-1&&(Fe=Ae),Ae-Fe+1===ee)return Fe*S}else Fe!==-1&&(Ae-=Ae-Fe),Fe=-1}else for(u+ee>k&&(u=k-ee),Ae=u;Ae>=0;Ae--){let Fe=!0;for(let ge=0;ge<ee;ge++)if(ve(d,Ae+ge)!==ve(l,ge)){Fe=!1;break}if(Fe)return Ae}return-1}h.prototype.includes=function(l,u,g){return this.indexOf(l,u,g)!==-1},h.prototype.indexOf=function(l,u,g){return ae(this,l,u,g,!0)},h.prototype.lastIndexOf=function(l,u,g){return ae(this,l,u,g,!1)};function ce(d,l,u,g){u=Number(u)||0;const m=d.length-u;g?(g=Number(g),g>m&&(g=m)):g=m;const S=l.length;g>S/2&&(g=S/2);let k;for(k=0;k<g;++k){const ee=parseInt(l.substr(k*2,2),16);if(qe(ee))return k;d[u+k]=ee}return k}function Oe(d,l,u,g){return Pe(Le(l,d.length-u),d,u,g)}function pe(d,l,u,g){return Pe(He(l),d,u,g)}function Ue(d,l,u,g){return Pe(Me(l),d,u,g)}function ye(d,l,u,g){return Pe(Ee(l,d.length-u),d,u,g)}h.prototype.write=function(l,u,g,m){if(u===void 0)m="utf8",g=this.length,u=0;else if(g===void 0&&typeof u=="string")m=u,g=this.length,u=0;else if(isFinite(u))u=u>>>0,isFinite(g)?(g=g>>>0,m===void 0&&(m="utf8")):(m=g,g=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");const S=this.length-u;if((g===void 0||g>S)&&(g=S),l.length>0&&(g<0||u<0)||u>this.length)throw new RangeError("Attempt to write outside buffer bounds");m||(m="utf8");let k=!1;for(;;)switch(m){case"hex":return ce(this,l,u,g);case"utf8":case"utf-8":return Oe(this,l,u,g);case"ascii":case"latin1":case"binary":return pe(this,l,u,g);case"base64":return Ue(this,l,u,g);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ye(this,l,u,g);default:if(k)throw new TypeError("Unknown encoding: "+m);m=(""+m).toLowerCase(),k=!0}},h.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function Ie(d,l,u){return l===0&&u===d.length?e.fromByteArray(d):e.fromByteArray(d.slice(l,u))}function re(d,l,u){u=Math.min(d.length,u);const g=[];let m=l;for(;m<u;){const S=d[m];let k=null,ee=S>239?4:S>223?3:S>191?2:1;if(m+ee<=u){let ve,Ae,Fe,ge;switch(ee){case 1:S<128&&(k=S);break;case 2:ve=d[m+1],(ve&192)===128&&(ge=(S&31)<<6|ve&63,ge>127&&(k=ge));break;case 3:ve=d[m+1],Ae=d[m+2],(ve&192)===128&&(Ae&192)===128&&(ge=(S&15)<<12|(ve&63)<<6|Ae&63,ge>2047&&(ge<55296||ge>57343)&&(k=ge));break;case 4:ve=d[m+1],Ae=d[m+2],Fe=d[m+3],(ve&192)===128&&(Ae&192)===128&&(Fe&192)===128&&(ge=(S&15)<<18|(ve&63)<<12|(Ae&63)<<6|Fe&63,ge>65535&&ge<1114112&&(k=ge))}}k===null?(k=65533,ee=1):k>65535&&(k-=65536,g.push(k>>>10&1023|55296),k=56320|k&1023),g.push(k),m+=ee}return ne(g)}const ie=4096;function ne(d){const l=d.length;if(l<=ie)return String.fromCharCode.apply(String,d);let u="",g=0;for(;g<l;)u+=String.fromCharCode.apply(String,d.slice(g,g+=ie));return u}function se(d,l,u){let g="";u=Math.min(d.length,u);for(let m=l;m<u;++m)g+=String.fromCharCode(d[m]&127);return g}function je(d,l,u){let g="";u=Math.min(d.length,u);for(let m=l;m<u;++m)g+=String.fromCharCode(d[m]);return g}function $e(d,l,u){const g=d.length;(!l||l<0)&&(l=0),(!u||u<0||u>g)&&(u=g);let m="";for(let S=l;S<u;++S)m+=oe[d[S]];return m}function it(d,l,u){const g=d.slice(l,u);let m="";for(let S=0;S<g.length-1;S+=2)m+=String.fromCharCode(g[S]+g[S+1]*256);return m}h.prototype.slice=function(l,u){const g=this.length;l=~~l,u=u===void 0?g:~~u,l<0?(l+=g,l<0&&(l=0)):l>g&&(l=g),u<0?(u+=g,u<0&&(u=0)):u>g&&(u=g),u<l&&(u=l);const m=this.subarray(l,u);return Object.setPrototypeOf(m,h.prototype),m};function Ce(d,l,u){if(d%1!==0||d<0)throw new RangeError("offset is not uint");if(d+l>u)throw new RangeError("Trying to access beyond buffer length")}h.prototype.readUintLE=h.prototype.readUIntLE=function(l,u,g){l=l>>>0,u=u>>>0,g||Ce(l,u,this.length);let m=this[l],S=1,k=0;for(;++k<u&&(S*=256);)m+=this[l+k]*S;return m},h.prototype.readUintBE=h.prototype.readUIntBE=function(l,u,g){l=l>>>0,u=u>>>0,g||Ce(l,u,this.length);let m=this[l+--u],S=1;for(;u>0&&(S*=256);)m+=this[l+--u]*S;return m},h.prototype.readUint8=h.prototype.readUInt8=function(l,u){return l=l>>>0,u||Ce(l,1,this.length),this[l]},h.prototype.readUint16LE=h.prototype.readUInt16LE=function(l,u){return l=l>>>0,u||Ce(l,2,this.length),this[l]|this[l+1]<<8},h.prototype.readUint16BE=h.prototype.readUInt16BE=function(l,u){return l=l>>>0,u||Ce(l,2,this.length),this[l]<<8|this[l+1]},h.prototype.readUint32LE=h.prototype.readUInt32LE=function(l,u){return l=l>>>0,u||Ce(l,4,this.length),(this[l]|this[l+1]<<8|this[l+2]<<16)+this[l+3]*16777216},h.prototype.readUint32BE=h.prototype.readUInt32BE=function(l,u){return l=l>>>0,u||Ce(l,4,this.length),this[l]*16777216+(this[l+1]<<16|this[l+2]<<8|this[l+3])},h.prototype.readBigUInt64LE=ot(function(l){l=l>>>0,_(l,"offset");const u=this[l],g=this[l+7];(u===void 0||g===void 0)&&j(l,this.length-8);const m=u+this[++l]*2**8+this[++l]*2**16+this[++l]*2**24,S=this[++l]+this[++l]*2**8+this[++l]*2**16+g*2**24;return BigInt(m)+(BigInt(S)<<BigInt(32))}),h.prototype.readBigUInt64BE=ot(function(l){l=l>>>0,_(l,"offset");const u=this[l],g=this[l+7];(u===void 0||g===void 0)&&j(l,this.length-8);const m=u*2**24+this[++l]*2**16+this[++l]*2**8+this[++l],S=this[++l]*2**24+this[++l]*2**16+this[++l]*2**8+g;return(BigInt(m)<<BigInt(32))+BigInt(S)}),h.prototype.readIntLE=function(l,u,g){l=l>>>0,u=u>>>0,g||Ce(l,u,this.length);let m=this[l],S=1,k=0;for(;++k<u&&(S*=256);)m+=this[l+k]*S;return S*=128,m>=S&&(m-=Math.pow(2,8*u)),m},h.prototype.readIntBE=function(l,u,g){l=l>>>0,u=u>>>0,g||Ce(l,u,this.length);let m=u,S=1,k=this[l+--m];for(;m>0&&(S*=256);)k+=this[l+--m]*S;return S*=128,k>=S&&(k-=Math.pow(2,8*u)),k},h.prototype.readInt8=function(l,u){return l=l>>>0,u||Ce(l,1,this.length),this[l]&128?(255-this[l]+1)*-1:this[l]},h.prototype.readInt16LE=function(l,u){l=l>>>0,u||Ce(l,2,this.length);const g=this[l]|this[l+1]<<8;return g&32768?g|4294901760:g},h.prototype.readInt16BE=function(l,u){l=l>>>0,u||Ce(l,2,this.length);const g=this[l+1]|this[l]<<8;return g&32768?g|4294901760:g},h.prototype.readInt32LE=function(l,u){return l=l>>>0,u||Ce(l,4,this.length),this[l]|this[l+1]<<8|this[l+2]<<16|this[l+3]<<24},h.prototype.readInt32BE=function(l,u){return l=l>>>0,u||Ce(l,4,this.length),this[l]<<24|this[l+1]<<16|this[l+2]<<8|this[l+3]},h.prototype.readBigInt64LE=ot(function(l){l=l>>>0,_(l,"offset");const u=this[l],g=this[l+7];(u===void 0||g===void 0)&&j(l,this.length-8);const m=this[l+4]+this[l+5]*2**8+this[l+6]*2**16+(g<<24);return(BigInt(m)<<BigInt(32))+BigInt(u+this[++l]*2**8+this[++l]*2**16+this[++l]*2**24)}),h.prototype.readBigInt64BE=ot(function(l){l=l>>>0,_(l,"offset");const u=this[l],g=this[l+7];(u===void 0||g===void 0)&&j(l,this.length-8);const m=(u<<24)+this[++l]*2**16+this[++l]*2**8+this[++l];return(BigInt(m)<<BigInt(32))+BigInt(this[++l]*2**24+this[++l]*2**16+this[++l]*2**8+g)}),h.prototype.readFloatLE=function(l,u){return l=l>>>0,u||Ce(l,4,this.length),t.read(this,l,!0,23,4)},h.prototype.readFloatBE=function(l,u){return l=l>>>0,u||Ce(l,4,this.length),t.read(this,l,!1,23,4)},h.prototype.readDoubleLE=function(l,u){return l=l>>>0,u||Ce(l,8,this.length),t.read(this,l,!0,52,8)},h.prototype.readDoubleBE=function(l,u){return l=l>>>0,u||Ce(l,8,this.length),t.read(this,l,!1,52,8)};function Te(d,l,u,g,m,S){if(!h.isBuffer(d))throw new TypeError('"buffer" argument must be a Buffer instance');if(l>m||l<S)throw new RangeError('"value" argument is out of bounds');if(u+g>d.length)throw new RangeError("Index out of range")}h.prototype.writeUintLE=h.prototype.writeUIntLE=function(l,u,g,m){if(l=+l,u=u>>>0,g=g>>>0,!m){const ee=Math.pow(2,8*g)-1;Te(this,l,u,g,ee,0)}let S=1,k=0;for(this[u]=l&255;++k<g&&(S*=256);)this[u+k]=l/S&255;return u+g},h.prototype.writeUintBE=h.prototype.writeUIntBE=function(l,u,g,m){if(l=+l,u=u>>>0,g=g>>>0,!m){const ee=Math.pow(2,8*g)-1;Te(this,l,u,g,ee,0)}let S=g-1,k=1;for(this[u+S]=l&255;--S>=0&&(k*=256);)this[u+S]=l/k&255;return u+g},h.prototype.writeUint8=h.prototype.writeUInt8=function(l,u,g){return l=+l,u=u>>>0,g||Te(this,l,u,1,255,0),this[u]=l&255,u+1},h.prototype.writeUint16LE=h.prototype.writeUInt16LE=function(l,u,g){return l=+l,u=u>>>0,g||Te(this,l,u,2,65535,0),this[u]=l&255,this[u+1]=l>>>8,u+2},h.prototype.writeUint16BE=h.prototype.writeUInt16BE=function(l,u,g){return l=+l,u=u>>>0,g||Te(this,l,u,2,65535,0),this[u]=l>>>8,this[u+1]=l&255,u+2},h.prototype.writeUint32LE=h.prototype.writeUInt32LE=function(l,u,g){return l=+l,u=u>>>0,g||Te(this,l,u,4,4294967295,0),this[u+3]=l>>>24,this[u+2]=l>>>16,this[u+1]=l>>>8,this[u]=l&255,u+4},h.prototype.writeUint32BE=h.prototype.writeUInt32BE=function(l,u,g){return l=+l,u=u>>>0,g||Te(this,l,u,4,4294967295,0),this[u]=l>>>24,this[u+1]=l>>>16,this[u+2]=l>>>8,this[u+3]=l&255,u+4};function tt(d,l,u,g,m){X(l,g,m,d,u,7);let S=Number(l&BigInt(4294967295));d[u++]=S,S=S>>8,d[u++]=S,S=S>>8,d[u++]=S,S=S>>8,d[u++]=S;let k=Number(l>>BigInt(32)&BigInt(4294967295));return d[u++]=k,k=k>>8,d[u++]=k,k=k>>8,d[u++]=k,k=k>>8,d[u++]=k,u}function Qe(d,l,u,g,m){X(l,g,m,d,u,7);let S=Number(l&BigInt(4294967295));d[u+7]=S,S=S>>8,d[u+6]=S,S=S>>8,d[u+5]=S,S=S>>8,d[u+4]=S;let k=Number(l>>BigInt(32)&BigInt(4294967295));return d[u+3]=k,k=k>>8,d[u+2]=k,k=k>>8,d[u+1]=k,k=k>>8,d[u]=k,u+8}h.prototype.writeBigUInt64LE=ot(function(l,u=0){return tt(this,l,u,BigInt(0),BigInt("0xffffffffffffffff"))}),h.prototype.writeBigUInt64BE=ot(function(l,u=0){return Qe(this,l,u,BigInt(0),BigInt("0xffffffffffffffff"))}),h.prototype.writeIntLE=function(l,u,g,m){if(l=+l,u=u>>>0,!m){const ve=Math.pow(2,8*g-1);Te(this,l,u,g,ve-1,-ve)}let S=0,k=1,ee=0;for(this[u]=l&255;++S<g&&(k*=256);)l<0&&ee===0&&this[u+S-1]!==0&&(ee=1),this[u+S]=(l/k>>0)-ee&255;return u+g},h.prototype.writeIntBE=function(l,u,g,m){if(l=+l,u=u>>>0,!m){const ve=Math.pow(2,8*g-1);Te(this,l,u,g,ve-1,-ve)}let S=g-1,k=1,ee=0;for(this[u+S]=l&255;--S>=0&&(k*=256);)l<0&&ee===0&&this[u+S+1]!==0&&(ee=1),this[u+S]=(l/k>>0)-ee&255;return u+g},h.prototype.writeInt8=function(l,u,g){return l=+l,u=u>>>0,g||Te(this,l,u,1,127,-128),l<0&&(l=255+l+1),this[u]=l&255,u+1},h.prototype.writeInt16LE=function(l,u,g){return l=+l,u=u>>>0,g||Te(this,l,u,2,32767,-32768),this[u]=l&255,this[u+1]=l>>>8,u+2},h.prototype.writeInt16BE=function(l,u,g){return l=+l,u=u>>>0,g||Te(this,l,u,2,32767,-32768),this[u]=l>>>8,this[u+1]=l&255,u+2},h.prototype.writeInt32LE=function(l,u,g){return l=+l,u=u>>>0,g||Te(this,l,u,4,2147483647,-2147483648),this[u]=l&255,this[u+1]=l>>>8,this[u+2]=l>>>16,this[u+3]=l>>>24,u+4},h.prototype.writeInt32BE=function(l,u,g){return l=+l,u=u>>>0,g||Te(this,l,u,4,2147483647,-2147483648),l<0&&(l=4294967295+l+1),this[u]=l>>>24,this[u+1]=l>>>16,this[u+2]=l>>>8,this[u+3]=l&255,u+4},h.prototype.writeBigInt64LE=ot(function(l,u=0){return tt(this,l,u,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),h.prototype.writeBigInt64BE=ot(function(l,u=0){return Qe(this,l,u,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function L(d,l,u,g,m,S){if(u+g>d.length)throw new RangeError("Index out of range");if(u<0)throw new RangeError("Index out of range")}function T(d,l,u,g,m){return l=+l,u=u>>>0,m||L(d,l,u,4),t.write(d,l,u,g,23,4),u+4}h.prototype.writeFloatLE=function(l,u,g){return T(this,l,u,!0,g)},h.prototype.writeFloatBE=function(l,u,g){return T(this,l,u,!1,g)};function B(d,l,u,g,m){return l=+l,u=u>>>0,m||L(d,l,u,8),t.write(d,l,u,g,52,8),u+8}h.prototype.writeDoubleLE=function(l,u,g){return B(this,l,u,!0,g)},h.prototype.writeDoubleBE=function(l,u,g){return B(this,l,u,!1,g)},h.prototype.copy=function(l,u,g,m){if(!h.isBuffer(l))throw new TypeError("argument should be a Buffer");if(g||(g=0),!m&&m!==0&&(m=this.length),u>=l.length&&(u=l.length),u||(u=0),m>0&&m<g&&(m=g),m===g||l.length===0||this.length===0)return 0;if(u<0)throw new RangeError("targetStart out of bounds");if(g<0||g>=this.length)throw new RangeError("Index out of range");if(m<0)throw new RangeError("sourceEnd out of bounds");m>this.length&&(m=this.length),l.length-u<m-g&&(m=l.length-u+g);const S=m-g;return this===l&&typeof s.prototype.copyWithin=="function"?this.copyWithin(u,g,m):s.prototype.set.call(l,this.subarray(g,m),u),S},h.prototype.fill=function(l,u,g,m){if(typeof l=="string"){if(typeof u=="string"?(m=u,u=0,g=this.length):typeof g=="string"&&(m=g,g=this.length),m!==void 0&&typeof m!="string")throw new TypeError("encoding must be a string");if(typeof m=="string"&&!h.isEncoding(m))throw new TypeError("Unknown encoding: "+m);if(l.length===1){const k=l.charCodeAt(0);(m==="utf8"&&k<128||m==="latin1")&&(l=k)}}else typeof l=="number"?l=l&255:typeof l=="boolean"&&(l=Number(l));if(u<0||this.length<u||this.length<g)throw new RangeError("Out of range index");if(g<=u)return this;u=u>>>0,g=g===void 0?this.length:g>>>0,l||(l=0);let S;if(typeof l=="number")for(S=u;S<g;++S)this[S]=l;else{const k=h.isBuffer(l)?l:h.from(l,m),ee=k.length;if(ee===0)throw new TypeError('The value "'+l+'" is invalid for argument "value"');for(S=0;S<g-u;++S)this[S+u]=k[S%ee]}return this};const I={};function q(d,l,u){I[d]=class extends u{constructor(){super(),Object.defineProperty(this,"message",{value:l.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${d}]`,this.stack,delete this.name}get code(){return d}set code(m){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:m,writable:!0})}toString(){return`${this.name} [${d}]: ${this.message}`}}}q("ERR_BUFFER_OUT_OF_BOUNDS",function(d){return d?`${d} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),q("ERR_INVALID_ARG_TYPE",function(d,l){return`The "${d}" argument must be of type number. Received type ${typeof l}`},TypeError),q("ERR_OUT_OF_RANGE",function(d,l,u){let g=`The value of "${d}" is out of range.`,m=u;return Number.isInteger(u)&&Math.abs(u)>2**32?m=H(String(u)):typeof u=="bigint"&&(m=String(u),(u>BigInt(2)**BigInt(32)||u<-(BigInt(2)**BigInt(32)))&&(m=H(m)),m+="n"),g+=` It must be ${l}. Received ${m}`,g},RangeError);function H(d){let l="",u=d.length;const g=d[0]==="-"?1:0;for(;u>=g+4;u-=3)l=`_${d.slice(u-3,u)}${l}`;return`${d.slice(0,u)}${l}`}function $(d,l,u){_(l,"offset"),(d[l]===void 0||d[l+u]===void 0)&&j(l,d.length-(u+1))}function X(d,l,u,g,m,S){if(d>u||d<l){const k=typeof l=="bigint"?"n":"";let ee;throw l===0||l===BigInt(0)?ee=`>= 0${k} and < 2${k} ** ${(S+1)*8}${k}`:ee=`>= -(2${k} ** ${(S+1)*8-1}${k}) and < 2 ** ${(S+1)*8-1}${k}`,new I.ERR_OUT_OF_RANGE("value",ee,d)}$(g,m,S)}function _(d,l){if(typeof d!="number")throw new I.ERR_INVALID_ARG_TYPE(l,"number",d)}function j(d,l,u){throw Math.floor(d)!==d?(_(d,u),new I.ERR_OUT_OF_RANGE("offset","an integer",d)):l<0?new I.ERR_BUFFER_OUT_OF_BOUNDS:new I.ERR_OUT_OF_RANGE("offset",`>= 0 and <= ${l}`,d)}const N=/[^+/0-9A-Za-z-_]/g;function de(d){if(d=d.split("=")[0],d=d.trim().replace(N,""),d.length<2)return"";for(;d.length%4!==0;)d=d+"=";return d}function Le(d,l){l=l||1/0;let u;const g=d.length;let m=null;const S=[];for(let k=0;k<g;++k){if(u=d.charCodeAt(k),u>55295&&u<57344){if(!m){if(u>56319){(l-=3)>-1&&S.push(239,191,189);continue}else if(k+1===g){(l-=3)>-1&&S.push(239,191,189);continue}m=u;continue}if(u<56320){(l-=3)>-1&&S.push(239,191,189),m=u;continue}u=(m-55296<<10|u-56320)+65536}else m&&(l-=3)>-1&&S.push(239,191,189);if(m=null,u<128){if((l-=1)<0)break;S.push(u)}else if(u<2048){if((l-=2)<0)break;S.push(u>>6|192,u&63|128)}else if(u<65536){if((l-=3)<0)break;S.push(u>>12|224,u>>6&63|128,u&63|128)}else if(u<1114112){if((l-=4)<0)break;S.push(u>>18|240,u>>12&63|128,u>>6&63|128,u&63|128)}else throw new Error("Invalid code point")}return S}function He(d){const l=[];for(let u=0;u<d.length;++u)l.push(d.charCodeAt(u)&255);return l}function Ee(d,l){let u,g,m;const S=[];for(let k=0;k<d.length&&!((l-=2)<0);++k)u=d.charCodeAt(k),g=u>>8,m=u%256,S.push(m),S.push(g);return S}function Me(d){return e.toByteArray(de(d))}function Pe(d,l,u,g){let m;for(m=0;m<g&&!(m+u>=l.length||m>=d.length);++m)l[m+u]=d[m];return m}function ke(d,l){return d instanceof l||d!=null&&d.constructor!=null&&d.constructor.name!=null&&d.constructor.name===l.name}function qe(d){return d!==d}const oe=function(){const d="0123456789abcdef",l=new Array(256);for(let u=0;u<16;++u){const g=u*16;for(let m=0;m<16;++m)l[g+m]=d[u]+d[m]}return l}();function ot(d){return typeof BigInt>"u"?jt:d}function jt(){throw new Error("BigInt not supported")}})(js);const d0=js.Buffer,li={utf16le:"utf-16le",ucs2:"utf-16le",utf16be:"utf-16be"};class Ge{constructor(e){this.buffer=e,this.view=new DataView(e.buffer,e.byteOffset,e.byteLength),this.pos=0,this.length=this.buffer.length}readString(e,t="ascii"){t=li[t]||t;let r=this.readBuffer(e);try{return new TextDecoder(t).decode(r)}catch{return r}}readBuffer(e){return this.buffer.slice(this.pos,this.pos+=e)}readUInt24BE(){return(this.readUInt16BE()<<8)+this.readUInt8()}readUInt24LE(){return this.readUInt16LE()+(this.readUInt8()<<16)}readInt24BE(){return(this.readInt16BE()<<8)+this.readUInt8()}readInt24LE(){return this.readUInt16LE()+(this.readInt8()<<16)}}Ge.TYPES={UInt8:1,UInt16:2,UInt24:3,UInt32:4,Int8:1,Int16:2,Int24:3,Int32:4,Float:4,Double:8};for(let a of Object.getOwnPropertyNames(DataView.prototype))if(a.slice(0,3)==="get"){let e=a.slice(3).replace("Ui","UI");e==="Float32"?e="Float":e==="Float64"&&(e="Double");let t=Ge.TYPES[e];Ge.prototype["read"+e+(t===1?"":"BE")]=function(){const r=this.view[a](this.pos,!1);return this.pos+=t,r},t!==1&&(Ge.prototype["read"+e+"LE"]=function(){const r=this.view[a](this.pos,!0);return this.pos+=t,r})}const ui=new TextEncoder,Gn=new Uint8Array(new Uint16Array([4660]).buffer)[0]==18;class X0{constructor(e){this.buffer=e,this.view=new DataView(this.buffer.buffer,this.buffer.byteOffset,this.buffer.byteLength),this.pos=0}writeBuffer(e){this.buffer.set(e,this.pos),this.pos+=e.length}writeString(e,t="ascii"){let r;switch(t){case"utf16le":case"utf16-le":case"ucs2":r=Vn(e,Gn);break;case"utf16be":case"utf16-be":r=Vn(e,!Gn);break;case"utf8":r=ui.encode(e);break;case"ascii":r=ci(e);break;default:throw new Error(`Unsupported encoding: ${t}`)}this.writeBuffer(r)}writeUInt24BE(e){this.buffer[this.pos++]=e>>>16&255,this.buffer[this.pos++]=e>>>8&255,this.buffer[this.pos++]=e&255}writeUInt24LE(e){this.buffer[this.pos++]=e&255,this.buffer[this.pos++]=e>>>8&255,this.buffer[this.pos++]=e>>>16&255}writeInt24BE(e){e>=0?this.writeUInt24BE(e):this.writeUInt24BE(e+16777215+1)}writeInt24LE(e){e>=0?this.writeUInt24LE(e):this.writeUInt24LE(e+16777215+1)}fill(e,t){if(t<this.buffer.length)this.buffer.fill(e,this.pos,this.pos+t),this.pos+=t;else{const r=new Uint8Array(t);r.fill(e),this.writeBuffer(r)}}}function Vn(a,e){let t=new Uint16Array(a.length);for(let r=0;r<a.length;r++){let n=a.charCodeAt(r);e&&(n=n>>8|(n&255)<<8),t[r]=n}return new Uint8Array(t.buffer)}function ci(a){let e=new Uint8Array(a.length);for(let t=0;t<a.length;t++)e[t]=a.charCodeAt(t);return e}for(let a of Object.getOwnPropertyNames(DataView.prototype))if(a.slice(0,3)==="set"){let e=a.slice(3).replace("Ui","UI");e==="Float32"?e="Float":e==="Float64"&&(e="Double");let t=Ge.TYPES[e];X0.prototype["write"+e+(t===1?"":"BE")]=function(r){this.view[a](this.pos,r,!1),this.pos+=t},t!==1&&(X0.prototype["write"+e+"LE"]=function(r){this.view[a](this.pos,r,!0),this.pos+=t})}class At{fromBuffer(e){let t=new Ge(e);return this.decode(t)}toBuffer(e){let t=this.size(e),r=new Uint8Array(t),n=new X0(r);return this.encode(n,e),r}}class be extends At{constructor(e,t="BE"){super(),this.type=e,this.endian=t,this.fn=this.type,this.type[this.type.length-1]!=="8"&&(this.fn+=this.endian)}size(){return Ge.TYPES[this.type]}decode(e){return e[`read${this.fn}`]()}encode(e,t){return e[`write${this.fn}`](t)}}const M=new be("UInt8"),fi=new be("UInt16","BE"),o=fi;new be("UInt16","LE");const hi=new be("UInt24","BE"),Bt=hi;new be("UInt24","LE");const di=new be("UInt32","BE"),y=di;new be("UInt32","LE");const Ne=new be("Int8"),pi=new be("Int16","BE"),P=pi;new be("Int16","LE");new be("Int24","BE");new be("Int24","LE");const bi=new be("Int32","BE"),Ut=bi;new be("Int32","LE");new be("Float","BE");new be("Float","LE");new be("Double","BE");new be("Double","LE");class Wt extends be{constructor(e,t,r=e>>1){super(`Int${e}`,t),this._point=1<<r}decode(e){return super.decode(e)/this._point}encode(e,t){return super.encode(e,t*this._point|0)}}const gi=new Wt(16,"BE"),xi=gi;new Wt(16,"LE");const mi=new Wt(32,"BE"),De=mi;new Wt(32,"LE");function xt(a,e,t){let r;if(typeof a=="number"?r=a:typeof a=="function"?r=a.call(t,t):t&&typeof a=="string"?r=t[a]:e&&a instanceof be&&(r=a.decode(e)),isNaN(r))throw new Error("Not a fixed size");return r}class un{constructor(e={}){this.enumerable=!0,this.configurable=!0;for(let t in e){const r=e[t];this[t]=r}}}class w extends At{constructor(e,t,r="count"){super(),this.type=e,this.length=t,this.lengthType=r}decode(e,t){let r;const{pos:n}=e,s=[];let i=t;if(this.length!=null&&(r=xt(this.length,e,t)),this.length instanceof be&&(Object.defineProperties(s,{parent:{value:t},_startOffset:{value:n},_currentOffset:{value:0,writable:!0},_length:{value:r}}),i=s),r==null||this.lengthType==="bytes"){const c=r!=null?e.pos+r:t!=null&&t._length?t._startOffset+t._length:e.length;for(;e.pos<c;)s.push(this.type.decode(e,i))}else for(let c=0,f=r;c<f;c++)s.push(this.type.decode(e,i));return s}size(e,t,r=!0){if(!e)return this.type.size(null,t)*xt(this.length,null,t);let n=0;this.length instanceof be&&(n+=this.length.size(),t={parent:t,pointerSize:0});for(let s of e)n+=this.type.size(s,t);return t&&r&&this.length instanceof be&&(n+=t.pointerSize),n}encode(e,t,r){let n=r;this.length instanceof be&&(n={pointers:[],startOffset:e.pos,parent:r},n.pointerOffset=e.pos+this.size(t,n,!1),this.length.encode(e,t.length));for(let s of t)this.type.encode(e,s,n);if(this.length instanceof be){let s=0;for(;s<n.pointers.length;){const i=n.pointers[s++];i.type.encode(e,i.val,i.parent)}}}}class we extends w{decode(e,t){const{pos:r}=e,n=xt(this.length,e,t);this.length instanceof be&&(t={parent:t,_startOffset:r,_currentOffset:0,_length:n});const s=new Br(this.type,n,e,t);return e.pos+=n*this.type.size(null,t),s}size(e,t){return e instanceof Br&&(e=e.toArray()),super.size(e,t)}encode(e,t,r){return t instanceof Br&&(t=t.toArray()),super.encode(e,t,r)}}class Br{constructor(e,t,r,n){this.type=e,this.length=t,this.stream=r,this.ctx=n,this.base=this.stream.pos,this.items=[]}get(e){if(!(e<0||e>=this.length)){if(this.items[e]==null){const{pos:t}=this.stream;this.stream.pos=this.base+this.type.size(null,this.ctx)*e,this.items[e]=this.type.decode(this.stream,this.ctx),this.stream.pos=t}return this.items[e]}}toArray(){const e=[];for(let t=0,r=this.length;t<r;t++)e.push(this.get(t));return e}}class st extends At{constructor(e,t=[]){super(),this.type=e,this.flags=t}decode(e){const t=this.type.decode(e),r={};for(let n=0;n<this.flags.length;n++){const s=this.flags[n];s!=null&&(r[s]=!!(t&1<<n))}return r}size(){return this.type.size()}encode(e,t){let r=0;for(let n=0;n<this.flags.length;n++){const s=this.flags[n];s!=null&&t[s]&&(r|=1<<n)}return this.type.encode(e,r)}}class gt extends At{constructor(e){super(),this.length=e}decode(e,t){const r=xt(this.length,e,t);return e.readBuffer(r)}size(e,t){if(!e)return xt(this.length,null,t);let r=e.length;return this.length instanceof be&&(r+=this.length.size()),r}encode(e,t,r){return this.length instanceof be&&this.length.encode(e,t.length),e.writeBuffer(t)}}class j0 extends At{constructor(e,t=!0){super(),this.type=e,this.condition=t}decode(e,t){let{condition:r}=this;if(typeof r=="function"&&(r=r.call(t,t)),r)return this.type.decode(e,t)}size(e,t){let{condition:r}=this;return typeof r=="function"&&(r=r.call(t,t)),r?this.type.size(e,t):0}encode(e,t,r){let{condition:n}=this;if(typeof n=="function"&&(n=n.call(r,r)),n)return this.type.encode(e,t,r)}}class Be extends At{constructor(e,t=1){super(),this.type=e,this.count=t}decode(e,t){e.pos+=this.size(null,t)}size(e,t){const r=xt(this.count,null,t);return this.type.size()*r}encode(e,t,r){return e.fill(0,this.size(t,r))}}class me extends At{constructor(e,t="ascii"){super(),this.length=e,this.encoding=t}decode(e,t){let r,n,{encoding:s}=this;typeof s=="function"&&(s=s.call(t,t)||"ascii");let i=Tr(s);if(this.length!=null)r=xt(this.length,e,t);else{let f;for({buffer:f,length:r,pos:n}=e;n<r-i+1&&(f[n]!==0||i===2&&f[n+1]!==0);)n+=i;r=n-e.pos}const c=e.readString(r,s);return this.length==null&&e.pos<e.length&&(e.pos+=i),c}size(e,t){if(e==null)return xt(this.length,null,t);let{encoding:r}=this;typeof r=="function"&&(r=r.call(t!=null?t.val:void 0,t!=null?t.val:void 0)||"ascii"),r==="utf16be"&&(r="utf16le");let n=zn(e,r);return this.length instanceof be&&(n+=this.length.size()),this.length==null&&(n+=Tr(r)),n}encode(e,t,r){let{encoding:n}=this;if(typeof n=="function"&&(n=n.call(r!=null?r.val:void 0,r!=null?r.val:void 0)||"ascii"),this.length instanceof be&&this.length.encode(e,zn(t,n)),e.writeString(t,n),this.length==null)return Tr(n)==2?e.writeUInt16LE(0):e.writeUInt8(0)}}function Tr(a){switch(a){case"ascii":case"utf8":return 1;case"utf16le":case"utf16-le":case"utf-16be":case"utf-16le":case"utf16be":case"utf16-be":case"ucs2":return 2;default:return 1}}function zn(a,e){switch(e){case"ascii":return a.length;case"utf8":let t=0;for(let r=0;r<a.length;r++){let n=a.charCodeAt(r);if(n>=55296&&n<=56319&&r<a.length-1){let s=a.charCodeAt(++r);(s&64512)===56320?n=((n&1023)<<10)+(s&1023)+65536:r--}(n&4294967168)===0?t++:(n&4294965248)===0?t+=2:(n&4294901760)===0?t+=3:(n&4292870144)===0&&(t+=4)}return t;case"utf16le":case"utf16-le":case"utf16be":case"utf16-be":case"ucs2":return a.length*2;default:throw new Error("Unknown encoding "+e)}}class A extends At{constructor(e={}){super(),this.fields=e}decode(e,t,r=0){const n=this._setup(e,t,r);return this._parseFields(e,n,this.fields),this.process!=null&&this.process.call(n,e),n}_setup(e,t,r){const n={};return Object.defineProperties(n,{parent:{value:t},_startOffset:{value:e.pos},_currentOffset:{value:0,writable:!0},_length:{value:r}}),n}_parseFields(e,t,r){for(let s in r){var n;const i=r[s];typeof i=="function"?n=i.call(t,t):n=i.decode(e,t),n!==void 0&&(n instanceof un?Object.defineProperty(t,s,n):t[s]=n),t._currentOffset=e.pos-t._startOffset}}size(e,t,r=!0){e==null&&(e={});const n={parent:t,val:e,pointerSize:0};this.preEncode!=null&&this.preEncode.call(e);let s=0;for(let i in this.fields){const c=this.fields[i];c.size!=null&&(s+=c.size(e[i],n))}return r&&(s+=n.pointerSize),s}encode(e,t,r){let n;this.preEncode!=null&&this.preEncode.call(t,e);const s={pointers:[],startOffset:e.pos,parent:r,val:t,pointerSize:0};s.pointerOffset=e.pos+this.size(t,s,!1);for(let c in this.fields)n=this.fields[c],n.encode!=null&&n.encode(e,t[c],s);let i=0;for(;i<s.pointers.length;){const c=s.pointers[i++];c.type.encode(e,c.val,c.parent)}}}const wi=(a,e)=>e.reduce((t,r)=>t&&t[r],a);class ue extends A{constructor(e,t={}){super(),this.type=e,this.versions=t,typeof e=="string"&&(this.versionPath=e.split("."))}decode(e,t,r=0){const n=this._setup(e,t,r);typeof this.type=="string"?n.version=wi(t,this.versionPath):n.version=this.type.decode(e),this.versions.header&&this._parseFields(e,n,this.versions.header);const s=this.versions[n.version];if(s==null)throw new Error(`Unknown version ${n.version}`);return s instanceof ue?s.decode(e,t):(this._parseFields(e,n,s),this.process!=null&&this.process.call(n,e),n)}size(e,t,r=!0){let n,s;if(!e)throw new Error("Not a fixed size");this.preEncode!=null&&this.preEncode.call(e);const i={parent:t,val:e,pointerSize:0};let c=0;if(typeof this.type!="string"&&(c+=this.type.size(e.version,i)),this.versions.header)for(n in this.versions.header)s=this.versions.header[n],s.size!=null&&(c+=s.size(e[n],i));const f=this.versions[e.version];if(f==null)throw new Error(`Unknown version ${e.version}`);for(n in f)s=f[n],s.size!=null&&(c+=s.size(e[n],i));return r&&(c+=i.pointerSize),c}encode(e,t,r){let n,s;this.preEncode!=null&&this.preEncode.call(t,e);const i={pointers:[],startOffset:e.pos,parent:r,val:t,pointerSize:0};if(i.pointerOffset=e.pos+this.size(t,i,!1),typeof this.type!="string"&&this.type.encode(e,t.version),this.versions.header)for(n in this.versions.header)s=this.versions.header[n],s.encode!=null&&s.encode(e,t[n],i);const c=this.versions[t.version];for(n in c)s=c[n],s.encode!=null&&s.encode(e,t[n],i);let f=0;for(;f<i.pointers.length;){const p=i.pointers[f++];p.type.encode(e,p.val,p.parent)}}}class v extends At{constructor(e,t,r={}){if(super(),this.offsetType=e,this.type=t,this.options=r,this.type==="void"&&(this.type=null),this.options.type==null&&(this.options.type="local"),this.options.allowNull==null&&(this.options.allowNull=!0),this.options.nullValue==null&&(this.options.nullValue=0),this.options.lazy==null&&(this.options.lazy=!1),this.options.relativeTo){if(typeof this.options.relativeTo!="function")throw new Error("relativeTo option must be a function");this.relativeToGetter=r.relativeTo}}decode(e,t){const r=this.offsetType.decode(e,t);if(r===this.options.nullValue&&this.options.allowNull)return null;let n;switch(this.options.type){case"local":n=t._startOffset;break;case"immediate":n=e.pos-this.offsetType.size();break;case"parent":n=t.parent._startOffset;break;default:for(var s=t;s.parent;)s=s.parent;n=s._startOffset||0}this.options.relativeTo&&(n+=this.relativeToGetter(t));const i=r+n;if(this.type!=null){let c=null;const f=()=>{if(c!=null)return c;const{pos:p}=e;return e.pos=i,c=this.type.decode(e,t),e.pos=p,c};return this.options.lazy?new un({get:f}):f()}else return i}size(e,t){const r=t;switch(this.options.type){case"local":case"immediate":break;case"parent":t=t.parent;break;default:for(;t.parent;)t=t.parent}let{type:n}=this;if(n==null){if(!(e instanceof Zr))throw new Error("Must be a VoidPointer");({type:n}=e),e=e.value}if(e&&t){let s=n.size(e,r);t.pointerSize+=s}return this.offsetType.size()}encode(e,t,r){let n;const s=r;if(t==null){this.offsetType.encode(e,this.options.nullValue);return}switch(this.options.type){case"local":n=r.startOffset;break;case"immediate":n=e.pos+this.offsetType.size(t,s);break;case"parent":r=r.parent,n=r.startOffset;break;default:for(n=0;r.parent;)r=r.parent}this.options.relativeTo&&(n+=this.relativeToGetter(s.val)),this.offsetType.encode(e,r.pointerOffset-n);let{type:i}=this;if(i==null){if(!(t instanceof Zr))throw new Error("Must be a VoidPointer");({type:i}=t),t=t.value}return r.pointers.push({type:i,val:t,parent:s}),r.pointerOffset+=i.size(t,s)}}class Zr{constructor(e,t){this.type=e,this.value=t}}function Ke(a,e,t){return e in a?Object.defineProperty(a,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):a[e]=t,a}function Ve(a,e,t,r){var n=arguments.length,s=n<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,i;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(a,e,t,r);else for(var c=a.length-1;c>=0;c--)(i=a[c])&&(s=(n<3?i(s):n>3?i(e,t,s):i(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s}function i0(a){return a&&a.__esModule&&Object.prototype.hasOwnProperty.call(a,"default")?a.default:a}var vi=function a(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(e.constructor!==t.constructor)return!1;var r,n,s;if(Array.isArray(e)){if(r=e.length,r!=t.length)return!1;for(n=r;n--!==0;)if(!a(e[n],t[n]))return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===t.toString();if(s=Object.keys(e),r=s.length,r!==Object.keys(t).length)return!1;for(n=r;n--!==0;)if(!Object.prototype.hasOwnProperty.call(t,s[n]))return!1;for(n=r;n--!==0;){var i=s[n];if(!a(e[i],t[i]))return!1}return!0}return e!==e&&t!==t};const qn=i0(vi);var F0={};F0.byteLength=Ai;F0.toByteArray=Ii;F0.fromByteArray=Fi;var dt=[],et=[],yi=typeof Uint8Array<"u"?Uint8Array:Array,Pr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var Jt=0,Ci=Pr.length;Jt<Ci;++Jt)dt[Jt]=Pr[Jt],et[Pr.charCodeAt(Jt)]=Jt;et[45]=62;et[95]=63;function Zs(a){var e=a.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var t=a.indexOf("=");t===-1&&(t=e);var r=t===e?0:4-t%4;return[t,r]}function Ai(a){var e=Zs(a),t=e[0],r=e[1];return(t+r)*3/4-r}function Si(a,e,t){return(e+t)*3/4-t}function Ii(a){var e,t=Zs(a),r=t[0],n=t[1],s=new yi(Si(a,r,n)),i=0,c=n>0?r-4:r,f;for(f=0;f<c;f+=4)e=et[a.charCodeAt(f)]<<18|et[a.charCodeAt(f+1)]<<12|et[a.charCodeAt(f+2)]<<6|et[a.charCodeAt(f+3)],s[i++]=e>>16&255,s[i++]=e>>8&255,s[i++]=e&255;return n===2&&(e=et[a.charCodeAt(f)]<<2|et[a.charCodeAt(f+1)]>>4,s[i++]=e&255),n===1&&(e=et[a.charCodeAt(f)]<<10|et[a.charCodeAt(f+1)]<<4|et[a.charCodeAt(f+2)]>>2,s[i++]=e>>8&255,s[i++]=e&255),s}function Ei(a){return dt[a>>18&63]+dt[a>>12&63]+dt[a>>6&63]+dt[a&63]}function ki(a,e,t){for(var r,n=[],s=e;s<t;s+=3)r=(a[s]<<16&16711680)+(a[s+1]<<8&65280)+(a[s+2]&255),n.push(Ei(r));return n.join("")}function Fi(a){for(var e,t=a.length,r=t%3,n=[],s=16383,i=0,c=t-r;i<c;i+=s)n.push(ki(a,i,i+s>c?c:i+s));return r===1?(e=a[t-1],n.push(dt[e>>2]+dt[e<<4&63]+"==")):r===2&&(e=(a[t-2]<<8)+a[t-1],n.push(dt[e>>10]+dt[e>>4&63]+dt[e<<2&63]+"=")),n.join("")}var cn=0,Ks=-3;function A0(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}function Bi(a,e){this.source=a,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=e,this.destLen=0,this.ltree=new A0,this.dtree=new A0}var Js=new A0,Qs=new A0,fn=new Uint8Array(30),hn=new Uint16Array(30),_s=new Uint8Array(30),ea=new Uint16Array(30),Ti=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Wn=new A0,lt=new Uint8Array(320);function ta(a,e,t,r){var n,s;for(n=0;n<t;++n)a[n]=0;for(n=0;n<30-t;++n)a[n+t]=n/t|0;for(s=r,n=0;n<30;++n)e[n]=s,s+=1<<a[n]}function Pi(a,e){var t;for(t=0;t<7;++t)a.table[t]=0;for(a.table[7]=24,a.table[8]=152,a.table[9]=112,t=0;t<24;++t)a.trans[t]=256+t;for(t=0;t<144;++t)a.trans[24+t]=t;for(t=0;t<8;++t)a.trans[168+t]=280+t;for(t=0;t<112;++t)a.trans[176+t]=144+t;for(t=0;t<5;++t)e.table[t]=0;for(e.table[5]=32,t=0;t<32;++t)e.trans[t]=t}var $n=new Uint16Array(16);function Or(a,e,t,r){var n,s;for(n=0;n<16;++n)a.table[n]=0;for(n=0;n<r;++n)a.table[e[t+n]]++;for(a.table[0]=0,s=0,n=0;n<16;++n)$n[n]=s,s+=a.table[n];for(n=0;n<r;++n)e[t+n]&&(a.trans[$n[e[t+n]]++]=n)}function Oi(a){a.bitcount--||(a.tag=a.source[a.sourceIndex++],a.bitcount=7);var e=a.tag&1;return a.tag>>>=1,e}function ct(a,e,t){if(!e)return t;for(;a.bitcount<24;)a.tag|=a.source[a.sourceIndex++]<<a.bitcount,a.bitcount+=8;var r=a.tag&65535>>>16-e;return a.tag>>>=e,a.bitcount-=e,r+t}function Kr(a,e){for(;a.bitcount<24;)a.tag|=a.source[a.sourceIndex++]<<a.bitcount,a.bitcount+=8;var t=0,r=0,n=0,s=a.tag;do r=2*r+(s&1),s>>>=1,++n,t+=e.table[n],r-=e.table[n];while(r>=0);return a.tag=s,a.bitcount-=n,e.trans[t+r]}function Di(a,e,t){var r,n,s,i,c,f;for(r=ct(a,5,257),n=ct(a,5,1),s=ct(a,4,4),i=0;i<19;++i)lt[i]=0;for(i=0;i<s;++i){var p=ct(a,3,0);lt[Ti[i]]=p}for(Or(Wn,lt,0,19),c=0;c<r+n;){var h=Kr(a,Wn);switch(h){case 16:var b=lt[c-1];for(f=ct(a,2,3);f;--f)lt[c++]=b;break;case 17:for(f=ct(a,3,3);f;--f)lt[c++]=0;break;case 18:for(f=ct(a,7,11);f;--f)lt[c++]=0;break;default:lt[c++]=h;break}}Or(e,lt,0,r),Or(t,lt,r,n)}function Hn(a,e,t){for(;;){var r=Kr(a,e);if(r===256)return cn;if(r<256)a.dest[a.destLen++]=r;else{var n,s,i,c;for(r-=257,n=ct(a,fn[r],hn[r]),s=Kr(a,t),i=a.destLen-ct(a,_s[s],ea[s]),c=i;c<i+n;++c)a.dest[a.destLen++]=a.dest[c]}}}function Li(a){for(var e,t,r;a.bitcount>8;)a.sourceIndex--,a.bitcount-=8;if(e=a.source[a.sourceIndex+1],e=256*e+a.source[a.sourceIndex],t=a.source[a.sourceIndex+3],t=256*t+a.source[a.sourceIndex+2],e!==(~t&65535))return Ks;for(a.sourceIndex+=4,r=e;r;--r)a.dest[a.destLen++]=a.source[a.sourceIndex++];return a.bitcount=0,cn}function Mi(a,e){var t=new Bi(a,e),r,n,s;do{switch(r=Oi(t),n=ct(t,2,0),n){case 0:s=Li(t);break;case 1:s=Hn(t,Js,Qs);break;case 2:Di(t,t.ltree,t.dtree),s=Hn(t,t.ltree,t.dtree);break;default:s=Ks}if(s!==cn)throw new Error("Data error")}while(!r);return t.destLen<t.dest.length?typeof t.dest.slice=="function"?t.dest.slice(0,t.destLen):t.dest.subarray(0,t.destLen):t.dest}Pi(Js,Qs);ta(fn,hn,4,3);ta(_s,ea,2,1);fn[28]=0;hn[28]=258;var ra=Mi;const Ri=i0(ra),Ui=new Uint8Array(new Uint32Array([305419896]).buffer)[0]===18,Xn=(a,e,t)=>{let r=a[e];a[e]=a[t],a[t]=r},Ni=a=>{const e=a.length;for(let t=0;t<e;t+=4)Xn(a,t,t+3),Xn(a,t+1,t+2)},Gi=a=>{Ui&&Ni(a)};var Vi={swap32LE:Gi};const jn=ra,{swap32LE:zi}=Vi,dn=11,zt=5,qi=dn-zt,Wi=65536>>dn,$i=1<<qi,Hi=$i-1,q0=2,Xi=1<<zt,Dr=Xi-1,na=65536>>zt,ji=1024>>zt,Yi=na+ji,Zi=Yi,Ki=32,Ji=Zi+Ki,Qi=1<<q0;class _i{constructor(e){const t=typeof e.readUInt32BE=="function"&&typeof e.slice=="function";if(t||e instanceof Uint8Array){let r;if(t)this.highStart=e.readUInt32LE(0),this.errorValue=e.readUInt32LE(4),r=e.readUInt32LE(8),e=e.slice(12);else{const n=new DataView(e.buffer);this.highStart=n.getUint32(0,!0),this.errorValue=n.getUint32(4,!0),r=n.getUint32(8,!0),e=e.subarray(12)}e=jn(e,new Uint8Array(r)),e=jn(e,new Uint8Array(r)),zi(e),this.data=new Uint32Array(e.buffer)}else({data:this.data,highStart:this.highStart,errorValue:this.errorValue}=e)}get(e){let t;return e<0||e>1114111?this.errorValue:e<55296||e>56319&&e<=65535?(t=(this.data[e>>zt]<<q0)+(e&Dr),this.data[t]):e<=65535?(t=(this.data[na+(e-55296>>zt)]<<q0)+(e&Dr),this.data[t]):e<this.highStart?(t=this.data[Ji-Wi+(e>>dn)],t=this.data[t+(e>>zt&Hi)],t=(t<<q0)+(e&Dr),this.data[t]):this.data[this.data.length-Qi]}}var eo=_i;const or=i0(eo);function $t(a){return a&&a.__esModule?a.default:a}var Lt={};Lt=JSON.parse('{"categories":["Cc","Zs","Po","Sc","Ps","Pe","Sm","Pd","Nd","Lu","Sk","Pc","Ll","So","Lo","Pi","Cf","No","Pf","Lt","Lm","Mn","Me","Mc","Nl","Zl","Zp","Cs","Co"],"combiningClasses":["Not_Reordered","Above","Above_Right","Below","Attached_Above_Right","Attached_Below","Overlay","Iota_Subscript","Double_Below","Double_Above","Below_Right","Above_Left","CCC10","CCC11","CCC12","CCC13","CCC14","CCC15","CCC16","CCC17","CCC18","CCC19","CCC20","CCC21","CCC22","CCC23","CCC24","CCC25","CCC30","CCC31","CCC32","CCC27","CCC28","CCC29","CCC33","CCC34","CCC35","CCC36","Nukta","Virama","CCC84","CCC91","CCC103","CCC107","CCC118","CCC122","CCC129","CCC130","CCC132","Attached_Above","Below_Left","Left","Kana_Voicing","CCC26","Right"],"scripts":["Common","Latin","Bopomofo","Inherited","Greek","Coptic","Cyrillic","Armenian","Hebrew","Arabic","Syriac","Thaana","Nko","Samaritan","Mandaic","Devanagari","Bengali","Gurmukhi","Gujarati","Oriya","Tamil","Telugu","Kannada","Malayalam","Sinhala","Thai","Lao","Tibetan","Myanmar","Georgian","Hangul","Ethiopic","Cherokee","Canadian_Aboriginal","Ogham","Runic","Tagalog","Hanunoo","Buhid","Tagbanwa","Khmer","Mongolian","Limbu","Tai_Le","New_Tai_Lue","Buginese","Tai_Tham","Balinese","Sundanese","Batak","Lepcha","Ol_Chiki","Braille","Glagolitic","Tifinagh","Han","Hiragana","Katakana","Yi","Lisu","Vai","Bamum","Syloti_Nagri","Phags_Pa","Saurashtra","Kayah_Li","Rejang","Javanese","Cham","Tai_Viet","Meetei_Mayek","null","Linear_B","Lycian","Carian","Old_Italic","Gothic","Old_Permic","Ugaritic","Old_Persian","Deseret","Shavian","Osmanya","Osage","Elbasan","Caucasian_Albanian","Linear_A","Cypriot","Imperial_Aramaic","Palmyrene","Nabataean","Hatran","Phoenician","Lydian","Meroitic_Hieroglyphs","Meroitic_Cursive","Kharoshthi","Old_South_Arabian","Old_North_Arabian","Manichaean","Avestan","Inscriptional_Parthian","Inscriptional_Pahlavi","Psalter_Pahlavi","Old_Turkic","Old_Hungarian","Hanifi_Rohingya","Old_Sogdian","Sogdian","Elymaic","Brahmi","Kaithi","Sora_Sompeng","Chakma","Mahajani","Sharada","Khojki","Multani","Khudawadi","Grantha","Newa","Tirhuta","Siddham","Modi","Takri","Ahom","Dogra","Warang_Citi","Nandinagari","Zanabazar_Square","Soyombo","Pau_Cin_Hau","Bhaiksuki","Marchen","Masaram_Gondi","Gunjala_Gondi","Makasar","Cuneiform","Egyptian_Hieroglyphs","Anatolian_Hieroglyphs","Mro","Bassa_Vah","Pahawh_Hmong","Medefaidrin","Miao","Tangut","Nushu","Duployan","SignWriting","Nyiakeng_Puachue_Hmong","Wancho","Mende_Kikakui","Adlam"],"eaw":["N","Na","A","W","H","F"]}');const pn=new or(F0.toByteArray("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")),to=Math.log2||(a=>Math.log(a)/Math.LN2),lr=a=>to(a)+1|0,ro=lr($t(Lt).categories.length-1),sa=lr($t(Lt).combiningClasses.length-1),bn=lr($t(Lt).scripts.length-1),gn=lr($t(Lt).eaw.length-1),xn=10,no=sa+bn+gn+xn,so=bn+gn+xn,ao=gn+xn,io=(1<<ro)-1,oo=(1<<sa)-1,lo=(1<<bn)-1;function ur(a){const e=pn.get(a);return $t(Lt).categories[e>>no&io]}function uo(a){const e=pn.get(a);return $t(Lt).combiningClasses[e>>so&oo]}function aa(a){const e=pn.get(a);return $t(Lt).scripts[e>>ao&lo]}function Yn(a){return ur(a)==="Nd"}function ia(a){const e=ur(a);return e==="Mn"||e==="Me"||e==="Mc"}var Lr=1,Mr=0;class co{constructor(e){this.stateTable=e.stateTable,this.accepting=e.accepting,this.tags=e.tags}match(e){var t=this;return{*[Symbol.iterator](){for(var r=Lr,n=null,s=null,i=null,c=0;c<e.length;c++){var f=e[c];i=r,r=t.stateTable[r][f],r===Mr&&(n!=null&&s!=null&&s>=n&&(yield[n,s,t.tags[i]]),r=t.stateTable[Lr][f],n=null),r!==Mr&&n==null&&(n=c),t.accepting[r]&&(s=c),r===Mr&&(r=Lr)}n!=null&&s!=null&&s>=n&&(yield[n,s,t.tags[r]])}}}apply(e,t){for(var[r,n,s]of this.match(e))for(var i of s)typeof t[i]=="function"&&t[i](r,n,e.slice(r,n+1))}}var fo=co;const oa=i0(fo);var la={exports:{}};(function(a){var e=function(){function t(C,F){return F!=null&&C instanceof F}var r;try{r=Map}catch{r=function(){}}var n;try{n=Set}catch{n=function(){}}var s;try{s=Promise}catch{s=function(){}}function i(C,F,O,G,Q){typeof F=="object"&&(O=F.depth,G=F.prototype,Q=F.includeNonEnumerable,F=F.circular);var z=[],W=[],E=typeof d0<"u";typeof F>"u"&&(F=!0),typeof O>"u"&&(O=1/0);function U(x,te){if(x===null)return null;if(te===0)return x;var K,V;if(typeof x!="object")return x;if(t(x,r))K=new r;else if(t(x,n))K=new n;else if(t(x,s))K=new s(function(re,ie){x.then(function(ne){re(U(ne,te-1))},function(ne){ie(U(ne,te-1))})});else if(i.__isArray(x))K=[];else if(i.__isRegExp(x))K=new RegExp(x.source,b(x)),x.lastIndex&&(K.lastIndex=x.lastIndex);else if(i.__isDate(x))K=new Date(x.getTime());else{if(E&&d0.isBuffer(x))return d0.allocUnsafe?K=d0.allocUnsafe(x.length):K=new d0(x.length),x.copy(K),K;t(x,Error)?K=Object.create(x):typeof G>"u"?(V=Object.getPrototypeOf(x),K=Object.create(V)):(K=Object.create(G),V=G)}if(F){var ae=z.indexOf(x);if(ae!=-1)return W[ae];z.push(x),W.push(K)}t(x,r)&&x.forEach(function(re,ie){var ne=U(ie,te-1),se=U(re,te-1);K.set(ne,se)}),t(x,n)&&x.forEach(function(re){var ie=U(re,te-1);K.add(ie)});for(var Y in x){var ce;V&&(ce=Object.getOwnPropertyDescriptor(V,Y)),!(ce&&ce.set==null)&&(K[Y]=U(x[Y],te-1))}if(Object.getOwnPropertySymbols)for(var Oe=Object.getOwnPropertySymbols(x),Y=0;Y<Oe.length;Y++){var pe=Oe[Y],Ue=Object.getOwnPropertyDescriptor(x,pe);Ue&&!Ue.enumerable&&!Q||(K[pe]=U(x[pe],te-1),Ue.enumerable||Object.defineProperty(K,pe,{enumerable:!1}))}if(Q)for(var ye=Object.getOwnPropertyNames(x),Y=0;Y<ye.length;Y++){var Ie=ye[Y],Ue=Object.getOwnPropertyDescriptor(x,Ie);Ue&&Ue.enumerable||(K[Ie]=U(x[Ie],te-1),Object.defineProperty(K,Ie,{enumerable:!1}))}return K}return U(C,O)}i.clonePrototype=function(F){if(F===null)return null;var O=function(){};return O.prototype=F,new O};function c(C){return Object.prototype.toString.call(C)}i.__objToStr=c;function f(C){return typeof C=="object"&&c(C)==="[object Date]"}i.__isDate=f;function p(C){return typeof C=="object"&&c(C)==="[object Array]"}i.__isArray=p;function h(C){return typeof C=="object"&&c(C)==="[object RegExp]"}i.__isRegExp=h;function b(C){var F="";return C.global&&(F+="g"),C.ignoreCase&&(F+="i"),C.multiline&&(F+="m"),F}return i.__getRegExpFlags=b,i}();a.exports&&(a.exports=e)})(la);var ho=la.exports;const Rr=i0(ho);var p0={},Y0={};function ua(a){this.buffer=a,this.pos=0}ua.prototype.read=function(a,e,t){this.pos+t>this.buffer.length&&(t=this.buffer.length-this.pos);for(var r=0;r<t;r++)a[e+r]=this.buffer[this.pos+r];return this.pos+=t,t};Y0.BrotliInput=ua;function ca(a){this.buffer=a,this.pos=0}ca.prototype.write=function(a,e){if(this.pos+e>this.buffer.length)throw new Error("Output buffer is not large enough");return this.buffer.set(a.subarray(0,e),this.pos),this.pos+=e,e};Y0.BrotliOutput=ca;var Nt=4096,po=2*Nt+32,fa=2*Nt-1,bo=new Uint32Array([0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535,131071,262143,524287,1048575,2097151,4194303,8388607,16777215]);function Ht(a){this.buf_=new Uint8Array(po),this.input_=a,this.reset()}Ht.READ_SIZE=Nt;Ht.IBUF_MASK=fa;Ht.prototype.reset=function(){this.buf_ptr_=0,this.val_=0,this.pos_=0,this.bit_pos_=0,this.bit_end_pos_=0,this.eos_=0,this.readMoreInput();for(var a=0;a<4;a++)this.val_|=this.buf_[this.pos_]<<8*a,++this.pos_;return this.bit_end_pos_>0};Ht.prototype.readMoreInput=function(){if(!(this.bit_end_pos_>256))if(this.eos_){if(this.bit_pos_>this.bit_end_pos_)throw new Error("Unexpected end of input "+this.bit_pos_+" "+this.bit_end_pos_)}else{var a=this.buf_ptr_,e=this.input_.read(this.buf_,a,Nt);if(e<0)throw new Error("Unexpected end of input");if(e<Nt){this.eos_=1;for(var t=0;t<32;t++)this.buf_[a+e+t]=0}if(a===0){for(var t=0;t<32;t++)this.buf_[(Nt<<1)+t]=this.buf_[t];this.buf_ptr_=Nt}else this.buf_ptr_=0;this.bit_end_pos_+=e<<3}};Ht.prototype.fillBitWindow=function(){for(;this.bit_pos_>=8;)this.val_>>>=8,this.val_|=this.buf_[this.pos_&fa]<<24,++this.pos_,this.bit_pos_=this.bit_pos_-8>>>0,this.bit_end_pos_=this.bit_end_pos_-8>>>0};Ht.prototype.readBits=function(a){32-this.bit_pos_<a&&this.fillBitWindow();var e=this.val_>>>this.bit_pos_&bo[a];return this.bit_pos_+=a,e};var go=Ht,St={},Ur={},Nr,Zn;function xo(){return Zn||(Zn=1,Nr="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"),Nr}var Kn;function mo(){if(Kn)return Ur;Kn=1;var a=F0;return Ur.init=function(){var e=da().BrotliDecompressBuffer,t=a.toByteArray(xo());return e(t)},Ur}var Jn;function ha(){if(Jn)return St;Jn=1;var a=mo();return St.init=function(){St.dictionary=a.init()},St.offsetsByLength=new Uint32Array([0,0,0,0,0,4096,9216,21504,35840,44032,53248,63488,74752,87040,93696,100864,104704,106752,108928,113536,115968,118528,119872,121280,122016]),St.sizeBitsByLength=new Uint8Array([0,0,0,0,10,10,11,11,10,10,10,10,10,9,9,8,7,7,8,7,7,6,6,5,5]),St.minDictionaryWordLength=4,St.maxDictionaryWordLength=24,St}var Z0={};function t0(a,e){this.bits=a,this.value=e}Z0.HuffmanCode=t0;var _t=15;function Qn(a,e){for(var t=1<<e-1;a&t;)t>>=1;return(a&t-1)+t}function _n(a,e,t,r,n){do r-=t,a[e+r]=new t0(n.bits,n.value);while(r>0)}function wo(a,e,t){for(var r=1<<e-t;e<_t&&(r-=a[e],!(r<=0));)++e,r<<=1;return e-t}Z0.BrotliBuildHuffmanTable=function(a,e,t,r,n){var s=e,i,c,f,p,h,b,C,F,O,G,Q,z=new Int32Array(_t+1),W=new Int32Array(_t+1);for(Q=new Int32Array(n),f=0;f<n;f++)z[r[f]]++;for(W[1]=0,c=1;c<_t;c++)W[c+1]=W[c]+z[c];for(f=0;f<n;f++)r[f]!==0&&(Q[W[r[f]]++]=f);if(F=t,O=1<<F,G=O,W[_t]===1){for(p=0;p<G;++p)a[e+p]=new t0(0,Q[0]&65535);return G}for(p=0,f=0,c=1,h=2;c<=t;++c,h<<=1)for(;z[c]>0;--z[c])i=new t0(c&255,Q[f++]&65535),_n(a,e+p,h,O,i),p=Qn(p,c);for(C=G-1,b=-1,c=t+1,h=2;c<=_t;++c,h<<=1)for(;z[c]>0;--z[c])(p&C)!==b&&(e+=O,F=wo(z,c,t),O=1<<F,G+=O,b=p&C,a[s+b]=new t0(F+t&255,e-s-b&65535)),i=new t0(c-t&255,Q[f++]&65535),_n(a,e+(p>>t),h,O,i),p=Qn(p,c);return G};var mn={};mn.lookup=new Uint8Array([0,0,0,0,0,0,0,0,0,4,4,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,12,16,12,12,20,12,16,24,28,12,12,32,12,36,12,44,44,44,44,44,44,44,44,44,44,32,32,24,40,28,12,12,48,52,52,52,48,52,52,52,48,52,52,52,52,52,48,52,52,52,52,52,48,52,52,52,52,52,24,12,28,12,12,12,56,60,60,60,56,60,60,60,56,60,60,60,60,60,56,60,60,60,60,60,56,60,60,60,60,60,24,12,28,12,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,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,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,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,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,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,1,1,1,1,1,1,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,1,1,1,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,0,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,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,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,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,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,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,56,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,22,22,22,22,23,23,23,23,24,24,24,24,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,36,36,36,36,37,37,37,37,38,38,38,38,39,39,39,39,40,40,40,40,41,41,41,41,42,42,42,42,43,43,43,43,44,44,44,44,45,45,45,45,46,46,46,46,47,47,47,47,48,48,48,48,49,49,49,49,50,50,50,50,51,51,51,51,52,52,52,52,53,53,53,53,54,54,54,54,55,55,55,55,56,56,56,56,57,57,57,57,58,58,58,58,59,59,59,59,60,60,60,60,61,61,61,61,62,62,62,62,63,63,63,63,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,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,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]);mn.lookupOffsets=new Uint16Array([1024,1536,1280,1536,0,256,768,512]);var o0={};function R(a,e){this.offset=a,this.nbits=e}o0.kBlockLengthPrefixCode=[new R(1,2),new R(5,2),new R(9,2),new R(13,2),new R(17,3),new R(25,3),new R(33,3),new R(41,3),new R(49,4),new R(65,4),new R(81,4),new R(97,4),new R(113,5),new R(145,5),new R(177,5),new R(209,5),new R(241,6),new R(305,6),new R(369,7),new R(497,8),new R(753,9),new R(1265,10),new R(2289,11),new R(4337,12),new R(8433,13),new R(16625,24)];o0.kInsertLengthPrefixCode=[new R(0,0),new R(1,0),new R(2,0),new R(3,0),new R(4,0),new R(5,0),new R(6,1),new R(8,1),new R(10,2),new R(14,2),new R(18,3),new R(26,3),new R(34,4),new R(50,4),new R(66,5),new R(98,5),new R(130,6),new R(194,7),new R(322,8),new R(578,9),new R(1090,10),new R(2114,12),new R(6210,14),new R(22594,24)];o0.kCopyLengthPrefixCode=[new R(2,0),new R(3,0),new R(4,0),new R(5,0),new R(6,0),new R(7,0),new R(8,0),new R(9,0),new R(10,1),new R(12,1),new R(14,2),new R(18,2),new R(22,3),new R(30,3),new R(38,4),new R(54,4),new R(70,5),new R(102,5),new R(134,6),new R(198,7),new R(326,8),new R(582,9),new R(1094,10),new R(2118,24)];o0.kInsertRangeLut=[0,0,8,8,0,16,8,16,16];o0.kCopyRangeLut=[0,8,0,8,16,0,16,8,16];var b0={},es;function vo(){if(es)return b0;es=1;var a=ha(),e=0,t=1,r=2,n=3,s=4,i=5,c=6,f=7,p=8,h=9,b=10,C=11,F=12,O=13,G=14,Q=15,z=16,W=17,E=18,U=20;function x(V,ae,Y){this.prefix=new Uint8Array(V.length),this.transform=ae,this.suffix=new Uint8Array(Y.length);for(var ce=0;ce<V.length;ce++)this.prefix[ce]=V.charCodeAt(ce);for(var ce=0;ce<Y.length;ce++)this.suffix[ce]=Y.charCodeAt(ce)}var te=[new x("",e,""),new x("",e," "),new x(" ",e," "),new x("",F,""),new x("",b," "),new x("",e," the "),new x(" ",e,""),new x("s ",e," "),new x("",e," of "),new x("",b,""),new x("",e," and "),new x("",O,""),new x("",t,""),new x(", ",e," "),new x("",e,", "),new x(" ",b," "),new x("",e," in "),new x("",e," to "),new x("e ",e," "),new x("",e,'"'),new x("",e,"."),new x("",e,'">'),new x("",e,`
|
|
7
|
+
`),new x("",n,""),new x("",e,"]"),new x("",e," for "),new x("",G,""),new x("",r,""),new x("",e," a "),new x("",e," that "),new x(" ",b,""),new x("",e,". "),new x(".",e,""),new x(" ",e,", "),new x("",Q,""),new x("",e," with "),new x("",e,"'"),new x("",e," from "),new x("",e," by "),new x("",z,""),new x("",W,""),new x(" the ",e,""),new x("",s,""),new x("",e,". The "),new x("",C,""),new x("",e," on "),new x("",e," as "),new x("",e," is "),new x("",f,""),new x("",t,"ing "),new x("",e,`
|
|
8
|
+
`),new x("",e,":"),new x(" ",e,". "),new x("",e,"ed "),new x("",U,""),new x("",E,""),new x("",c,""),new x("",e,"("),new x("",b,", "),new x("",p,""),new x("",e," at "),new x("",e,"ly "),new x(" the ",e," of "),new x("",i,""),new x("",h,""),new x(" ",b,", "),new x("",b,'"'),new x(".",e,"("),new x("",C," "),new x("",b,'">'),new x("",e,'="'),new x(" ",e,"."),new x(".com/",e,""),new x(" the ",e," of the "),new x("",b,"'"),new x("",e,". This "),new x("",e,","),new x(".",e," "),new x("",b,"("),new x("",b,"."),new x("",e," not "),new x(" ",e,'="'),new x("",e,"er "),new x(" ",C," "),new x("",e,"al "),new x(" ",C,""),new x("",e,"='"),new x("",C,'"'),new x("",b,". "),new x(" ",e,"("),new x("",e,"ful "),new x(" ",b,". "),new x("",e,"ive "),new x("",e,"less "),new x("",C,"'"),new x("",e,"est "),new x(" ",b,"."),new x("",C,'">'),new x(" ",e,"='"),new x("",b,","),new x("",e,"ize "),new x("",C,"."),new x(" ",e,""),new x(" ",e,","),new x("",b,'="'),new x("",C,'="'),new x("",e,"ous "),new x("",C,", "),new x("",b,"='"),new x(" ",b,","),new x(" ",C,'="'),new x(" ",C,", "),new x("",C,","),new x("",C,"("),new x("",C,". "),new x(" ",C,"."),new x("",C,"='"),new x(" ",C,". "),new x(" ",b,'="'),new x(" ",C,"='"),new x(" ",b,"='")];b0.kTransforms=te,b0.kNumTransforms=te.length;function K(V,ae){return V[ae]<192?(V[ae]>=97&&V[ae]<=122&&(V[ae]^=32),1):V[ae]<224?(V[ae+1]^=32,2):(V[ae+2]^=5,3)}return b0.transformDictionaryWord=function(V,ae,Y,ce,Oe){var pe=te[Oe].prefix,Ue=te[Oe].suffix,ye=te[Oe].transform,Ie=ye<F?0:ye-(F-1),re=0,ie=ae,ne;Ie>ce&&(Ie=ce);for(var se=0;se<pe.length;)V[ae++]=pe[se++];for(Y+=Ie,ce-=Ie,ye<=h&&(ce-=ye),re=0;re<ce;re++)V[ae++]=a.dictionary[Y+re];if(ne=ae-ce,ye===b)K(V,ne);else if(ye===C)for(;ce>0;){var je=K(V,ne);ne+=je,ce-=je}for(var $e=0;$e<Ue.length;)V[ae++]=Ue[$e++];return ae-ie},b0}var ts;function da(){if(ts)return p0;ts=1;var a=Y0.BrotliInput,e=Y0.BrotliOutput,t=go,r=ha(),n=Z0.HuffmanCode,s=Z0.BrotliBuildHuffmanTable,i=mn,c=o0,f=vo(),p=8,h=16,b=256,C=704,F=26,O=6,G=2,Q=8,z=255,W=1080,E=18,U=new Uint8Array([1,2,3,4,0,5,17,6,16,7,8,9,10,11,12,13,14,15]),x=16,te=new Uint8Array([3,2,1,0,3,3,3,3,3,3,2,2,2,2,2,2]),K=new Int8Array([0,0,0,0,-1,1,-2,2,-3,3,-1,1,-2,2,-3,3]),V=new Uint16Array([256,402,436,468,500,534,566,598,630,662,694,726,758,790,822,854,886,920,952,984,1016,1048,1080]);function ae(L){var T;return L.readBits(1)===0?16:(T=L.readBits(3),T>0?17+T:(T=L.readBits(3),T>0?8+T:17))}function Y(L){if(L.readBits(1)){var T=L.readBits(3);return T===0?1:L.readBits(T)+(1<<T)}return 0}function ce(){this.meta_block_length=0,this.input_end=0,this.is_uncompressed=0,this.is_metadata=!1}function Oe(L){var T=new ce,B,I,q;if(T.input_end=L.readBits(1),T.input_end&&L.readBits(1))return T;if(B=L.readBits(2)+4,B===7){if(T.is_metadata=!0,L.readBits(1)!==0)throw new Error("Invalid reserved bit");if(I=L.readBits(2),I===0)return T;for(q=0;q<I;q++){var H=L.readBits(8);if(q+1===I&&I>1&&H===0)throw new Error("Invalid size byte");T.meta_block_length|=H<<q*8}}else for(q=0;q<B;++q){var $=L.readBits(4);if(q+1===B&&B>4&&$===0)throw new Error("Invalid size nibble");T.meta_block_length|=$<<q*4}return++T.meta_block_length,!T.input_end&&!T.is_metadata&&(T.is_uncompressed=L.readBits(1)),T}function pe(L,T,B){var I;return B.fillBitWindow(),T+=B.val_>>>B.bit_pos_&z,I=L[T].bits-Q,I>0&&(B.bit_pos_+=Q,T+=L[T].value,T+=B.val_>>>B.bit_pos_&(1<<I)-1),B.bit_pos_+=L[T].bits,L[T].value}function Ue(L,T,B,I){for(var q=0,H=p,$=0,X=0,_=32768,j=[],N=0;N<32;N++)j.push(new n(0,0));for(s(j,0,5,L,E);q<T&&_>0;){var de=0,Le;if(I.readMoreInput(),I.fillBitWindow(),de+=I.val_>>>I.bit_pos_&31,I.bit_pos_+=j[de].bits,Le=j[de].value&255,Le<h)$=0,B[q++]=Le,Le!==0&&(H=Le,_-=32768>>Le);else{var He=Le-14,Ee,Me,Pe=0;if(Le===h&&(Pe=H),X!==Pe&&($=0,X=Pe),Ee=$,$>0&&($-=2,$<<=He),$+=I.readBits(He)+3,Me=$-Ee,q+Me>T)throw new Error("[ReadHuffmanCodeLengths] symbol + repeat_delta > num_symbols");for(var ke=0;ke<Me;ke++)B[q+ke]=X;q+=Me,X!==0&&(_-=Me<<15-X)}}if(_!==0)throw new Error("[ReadHuffmanCodeLengths] space = "+_);for(;q<T;q++)B[q]=0}function ye(L,T,B,I){var q=0,H,$=new Uint8Array(L);if(I.readMoreInput(),H=I.readBits(2),H===1){for(var X,_=L-1,j=0,N=new Int32Array(4),de=I.readBits(2)+1;_;)_>>=1,++j;for(X=0;X<de;++X)N[X]=I.readBits(j)%L,$[N[X]]=2;switch($[N[0]]=1,de){case 1:break;case 3:if(N[0]===N[1]||N[0]===N[2]||N[1]===N[2])throw new Error("[ReadHuffmanCode] invalid symbols");break;case 2:if(N[0]===N[1])throw new Error("[ReadHuffmanCode] invalid symbols");$[N[1]]=1;break;case 4:if(N[0]===N[1]||N[0]===N[2]||N[0]===N[3]||N[1]===N[2]||N[1]===N[3]||N[2]===N[3])throw new Error("[ReadHuffmanCode] invalid symbols");I.readBits(1)?($[N[2]]=3,$[N[3]]=3):$[N[0]]=2;break}}else{var X,Le=new Uint8Array(E),He=32,Ee=0,Me=[new n(2,0),new n(2,4),new n(2,3),new n(3,2),new n(2,0),new n(2,4),new n(2,3),new n(4,1),new n(2,0),new n(2,4),new n(2,3),new n(3,2),new n(2,0),new n(2,4),new n(2,3),new n(4,5)];for(X=H;X<E&&He>0;++X){var Pe=U[X],ke=0,qe;I.fillBitWindow(),ke+=I.val_>>>I.bit_pos_&15,I.bit_pos_+=Me[ke].bits,qe=Me[ke].value,Le[Pe]=qe,qe!==0&&(He-=32>>qe,++Ee)}if(!(Ee===1||He===0))throw new Error("[ReadHuffmanCode] invalid num_codes or space");Ue(Le,L,$,I)}if(q=s(T,B,Q,$,L),q===0)throw new Error("[ReadHuffmanCode] BuildHuffmanTable failed: ");return q}function Ie(L,T,B){var I,q;return I=pe(L,T,B),q=c.kBlockLengthPrefixCode[I].nbits,c.kBlockLengthPrefixCode[I].offset+B.readBits(q)}function re(L,T,B){var I;return L<x?(B+=te[L],B&=3,I=T[B]+K[L]):I=L-x+1,I}function ie(L,T){for(var B=L[T],I=T;I;--I)L[I]=L[I-1];L[0]=B}function ne(L,T){var B=new Uint8Array(256),I;for(I=0;I<256;++I)B[I]=I;for(I=0;I<T;++I){var q=L[I];L[I]=B[q],q&&ie(B,q)}}function se(L,T){this.alphabet_size=L,this.num_htrees=T,this.codes=new Array(T+T*V[L+31>>>5]),this.htrees=new Uint32Array(T)}se.prototype.decode=function(L){var T,B,I=0;for(T=0;T<this.num_htrees;++T)this.htrees[T]=I,B=ye(this.alphabet_size,this.codes,I,L),I+=B};function je(L,T){var B={num_htrees:null,context_map:null},I,q=0,H,$;T.readMoreInput();var X=B.num_htrees=Y(T)+1,_=B.context_map=new Uint8Array(L);if(X<=1)return B;for(I=T.readBits(1),I&&(q=T.readBits(4)+1),H=[],$=0;$<W;$++)H[$]=new n(0,0);for(ye(X+q,H,0,T),$=0;$<L;){var j;if(T.readMoreInput(),j=pe(H,0,T),j===0)_[$]=0,++$;else if(j<=q)for(var N=1+(1<<j)+T.readBits(j);--N;){if($>=L)throw new Error("[DecodeContextMap] i >= context_map_size");_[$]=0,++$}else _[$]=j-q,++$}return T.readBits(1)&&ne(_,L),B}function $e(L,T,B,I,q,H,$){var X=B*2,_=B,j=pe(T,B*W,$),N;j===0?N=q[X+(H[_]&1)]:j===1?N=q[X+(H[_]-1&1)]+1:N=j-2,N>=L&&(N-=L),I[B]=N,q[X+(H[_]&1)]=N,++H[_]}function it(L,T,B,I,q,H){var $=q+1,X=B&q,_=H.pos_&t.IBUF_MASK,j;if(T<8||H.bit_pos_+(T<<3)<H.bit_end_pos_){for(;T-- >0;)H.readMoreInput(),I[X++]=H.readBits(8),X===$&&(L.write(I,$),X=0);return}if(H.bit_end_pos_<32)throw new Error("[CopyUncompressedBlockToOutput] br.bit_end_pos_ < 32");for(;H.bit_pos_<32;)I[X]=H.val_>>>H.bit_pos_,H.bit_pos_+=8,++X,--T;if(j=H.bit_end_pos_-H.bit_pos_>>3,_+j>t.IBUF_MASK){for(var N=t.IBUF_MASK+1-_,de=0;de<N;de++)I[X+de]=H.buf_[_+de];j-=N,X+=N,T-=N,_=0}for(var de=0;de<j;de++)I[X+de]=H.buf_[_+de];if(X+=j,T-=j,X>=$){L.write(I,$),X-=$;for(var de=0;de<X;de++)I[de]=I[$+de]}for(;X+T>=$;){if(j=$-X,H.input_.read(I,X,j)<j)throw new Error("[CopyUncompressedBlockToOutput] not enough bytes");L.write(I,$),T-=j,X=0}if(H.input_.read(I,X,T)<T)throw new Error("[CopyUncompressedBlockToOutput] not enough bytes");H.reset()}function Ce(L){var T=L.bit_pos_+7&-8,B=L.readBits(T-L.bit_pos_);return B==0}function Te(L){var T=new a(L),B=new t(T);ae(B);var I=Oe(B);return I.meta_block_length}p0.BrotliDecompressedSize=Te;function tt(L,T){var B=new a(L);T==null&&(T=Te(L));var I=new Uint8Array(T),q=new e(I);return Qe(B,q),q.pos<q.buffer.length&&(q.buffer=q.buffer.subarray(0,q.pos)),q.buffer}p0.BrotliDecompressBuffer=tt;function Qe(L,T){var B,I=0,q=0,H=0,$,X=0,_,j,N,de,Le=[16,15,11,4],He=0,Ee=0,Me=0,Pe=[new se(0,0),new se(0,0),new se(0,0)],ke,qe,oe,ot=128+t.READ_SIZE;oe=new t(L),H=ae(oe),$=(1<<H)-16,_=1<<H,j=_-1,N=new Uint8Array(_+ot+r.maxDictionaryWordLength),de=_,ke=[],qe=[];for(var jt=0;jt<3*W;jt++)ke[jt]=new n(0,0),qe[jt]=new n(0,0);for(;!q;){var d=0,l,u=[1<<28,1<<28,1<<28],g=[0],m=[1,1,1],S=[0,1,0,1,0,1],k=[0],ee,ve,Ae,Fe,ge=null,O0=null,In,En=null,kn,Fn=0,mr=null,Bn=0,Tn=0,wr=null,Pn=0,vr=0,yr=0,Yt,Cr;for(B=0;B<3;++B)Pe[B].codes=null,Pe[B].htrees=null;oe.readMoreInput();var D0=Oe(oe);if(d=D0.meta_block_length,I+d>T.buffer.length){var On=new Uint8Array(I+d);On.set(T.buffer),T.buffer=On}if(q=D0.input_end,l=D0.is_uncompressed,D0.is_metadata){for(Ce(oe);d>0;--d)oe.readMoreInput(),oe.readBits(8);continue}if(d!==0){if(l){oe.bit_pos_=oe.bit_pos_+7&-8,it(T,d,I,N,j,oe),I+=d;continue}for(B=0;B<3;++B)m[B]=Y(oe)+1,m[B]>=2&&(ye(m[B]+2,ke,B*W,oe),ye(F,qe,B*W,oe),u[B]=Ie(qe,B*W,oe),k[B]=1);for(oe.readMoreInput(),ee=oe.readBits(2),ve=x+(oe.readBits(4)<<ee),Ae=(1<<ee)-1,Fe=ve+(48<<ee),O0=new Uint8Array(m[0]),B=0;B<m[0];++B)oe.readMoreInput(),O0[B]=oe.readBits(2)<<1;var Dn=je(m[0]<<O,oe);In=Dn.num_htrees,ge=Dn.context_map;var Ln=je(m[2]<<G,oe);for(kn=Ln.num_htrees,En=Ln.context_map,Pe[0]=new se(b,In),Pe[1]=new se(C,m[1]),Pe[2]=new se(Fe,kn),B=0;B<3;++B)Pe[B].decode(oe);for(mr=0,wr=0,Yt=O0[g[0]],vr=i.lookupOffsets[Yt],yr=i.lookupOffsets[Yt+1],Cr=Pe[1].htrees[0];d>0;){var L0,u0,Ar,Sr,Ir,Ye,Je,wt,c0,Zt,f0;for(oe.readMoreInput(),u[1]===0&&($e(m[1],ke,1,g,S,k,oe),u[1]=Ie(qe,W,oe),Cr=Pe[1].htrees[g[1]]),--u[1],L0=pe(Pe[1].codes,Cr,oe),u0=L0>>6,u0>=2?(u0-=2,Je=-1):Je=0,Ar=c.kInsertRangeLut[u0]+(L0>>3&7),Sr=c.kCopyRangeLut[u0]+(L0&7),Ir=c.kInsertLengthPrefixCode[Ar].offset+oe.readBits(c.kInsertLengthPrefixCode[Ar].nbits),Ye=c.kCopyLengthPrefixCode[Sr].offset+oe.readBits(c.kCopyLengthPrefixCode[Sr].nbits),Ee=N[I-1&j],Me=N[I-2&j],Zt=0;Zt<Ir;++Zt)oe.readMoreInput(),u[0]===0&&($e(m[0],ke,0,g,S,k,oe),u[0]=Ie(qe,0,oe),Fn=g[0]<<O,mr=Fn,Yt=O0[g[0]],vr=i.lookupOffsets[Yt],yr=i.lookupOffsets[Yt+1]),c0=i.lookup[vr+Ee]|i.lookup[yr+Me],Bn=ge[mr+c0],--u[0],Me=Ee,Ee=pe(Pe[0].codes,Pe[0].htrees[Bn],oe),N[I&j]=Ee,(I&j)===j&&T.write(N,_),++I;if(d-=Ir,d<=0)break;if(Je<0){var c0;if(oe.readMoreInput(),u[2]===0&&($e(m[2],ke,2,g,S,k,oe),u[2]=Ie(qe,2*W,oe),Tn=g[2]<<G,wr=Tn),--u[2],c0=(Ye>4?3:Ye-2)&255,Pn=En[wr+c0],Je=pe(Pe[2].codes,Pe[2].htrees[Pn],oe),Je>=ve){var Er,Mn,h0;Je-=ve,Mn=Je&Ae,Je>>=ee,Er=(Je>>1)+1,h0=(2+(Je&1)<<Er)-4,Je=ve+(h0+oe.readBits(Er)<<ee)+Mn}}if(wt=re(Je,Le,He),wt<0)throw new Error("[BrotliDecompress] invalid distance");if(I<$&&X!==$?X=I:X=$,f0=I&j,wt>X)if(Ye>=r.minDictionaryWordLength&&Ye<=r.maxDictionaryWordLength){var h0=r.offsetsByLength[Ye],Rn=wt-X-1,Un=r.sizeBitsByLength[Ye],Qa=(1<<Un)-1,_a=Rn&Qa,Nn=Rn>>Un;if(h0+=_a*Ye,Nn<f.kNumTransforms){var kr=f.transformDictionaryWord(N,f0,h0,Ye,Nn);if(f0+=kr,I+=kr,d-=kr,f0>=de){T.write(N,_);for(var M0=0;M0<f0-de;M0++)N[M0]=N[de+M0]}}else throw new Error("Invalid backward reference. pos: "+I+" distance: "+wt+" len: "+Ye+" bytes left: "+d)}else throw new Error("Invalid backward reference. pos: "+I+" distance: "+wt+" len: "+Ye+" bytes left: "+d);else{if(Je>0&&(Le[He&3]=wt,++He),Ye>d)throw new Error("Invalid backward reference. pos: "+I+" distance: "+wt+" len: "+Ye+" bytes left: "+d);for(Zt=0;Zt<Ye;++Zt)N[I&j]=N[I-wt&j],(I&j)===j&&T.write(N,_),++I,--d}Ee=N[I-1&j],Me=N[I-2&j]}I&=1073741823}}T.write(N,I&j)}return p0.BrotliDecompress=Qe,r.init(),p0}var yo=da().BrotliDecompressBuffer;const Co=i0(yo);function B0(a,e,t,r){Object.defineProperty(a,e,{get:t,set:r,enumerable:!0,configurable:!0})}function cr(a){return a&&a.__esModule?a.default:a}var T0={};B0(T0,"logErrors",()=>pa);B0(T0,"registerFormat",()=>Xt);B0(T0,"create",()=>ba);B0(T0,"defaultLanguage",()=>exports.defaultLanguage);B0(T0,"setDefaultLanguage",()=>ga);let pa=!1,Jr=[];function Xt(a){Jr.push(a)}function ba(a,e){for(let t=0;t<Jr.length;t++){let r=Jr[t];if(r.probe(a)){let n=new r(new Ge(a));return e?n.getFont(e):n}}throw new Error("Unknown font format")}exports.defaultLanguage="en";function ga(a="en"){exports.defaultLanguage=a}function ze(a,e,t){if(t.get){let r=t.get;t.get=function(){let n=r.call(this);return Object.defineProperty(this,e,{value:n}),n}}else if(typeof t.value=="function"){let r=t.value;return{get(){let n=new Map;function s(...i){let c=i.length>0?i[0]:"value";if(n.has(c))return n.get(c);let f=r.apply(this,i);return n.set(c,f),f}return Object.defineProperty(this,e,{value:s}),s}}}}let Ao=new A({firstCode:o,entryCount:o,idDelta:P,idRangeOffset:o}),Gr=new A({startCharCode:y,endCharCode:y,glyphID:y}),So=new A({startUnicodeValue:Bt,additionalCount:M}),Io=new A({unicodeValue:Bt,glyphID:o}),Eo=new w(So,y),ko=new w(Io,y),Fo=new A({varSelector:Bt,defaultUVS:new v(y,Eo,{type:"parent"}),nonDefaultUVS:new v(y,ko,{type:"parent"})}),Bo=new ue(o,{0:{length:o,language:o,codeMap:new we(M,256)},2:{length:o,language:o,subHeaderKeys:new w(o,256),subHeaderCount:a=>Math.max.apply(Math,a.subHeaderKeys),subHeaders:new we(Ao,"subHeaderCount"),glyphIndexArray:new we(o,"subHeaderCount")},4:{length:o,language:o,segCountX2:o,segCount:a=>a.segCountX2>>1,searchRange:o,entrySelector:o,rangeShift:o,endCode:new we(o,"segCount"),reservedPad:new Be(o),startCode:new we(o,"segCount"),idDelta:new we(P,"segCount"),idRangeOffset:new we(o,"segCount"),glyphIndexArray:new we(o,a=>(a.length-a._currentOffset)/2)},6:{length:o,language:o,firstCode:o,entryCount:o,glyphIndices:new we(o,"entryCount")},8:{reserved:new Be(o),length:y,language:o,is32:new we(M,8192),nGroups:y,groups:new we(Gr,"nGroups")},10:{reserved:new Be(o),length:y,language:y,firstCode:y,entryCount:y,glyphIndices:new we(o,"numChars")},12:{reserved:new Be(o),length:y,language:y,nGroups:y,groups:new we(Gr,"nGroups")},13:{reserved:new Be(o),length:y,language:y,nGroups:y,groups:new we(Gr,"nGroups")},14:{length:y,numRecords:y,varSelectors:new we(Fo,"numRecords")}}),To=new A({platformID:o,encodingID:o,table:new v(y,Bo,{type:"parent",lazy:!0})});var Po=new A({version:o,numSubtables:o,tables:new w(To,"numSubtables")}),Oo=new A({version:Ut,revision:Ut,checkSumAdjustment:y,magicNumber:y,flags:o,unitsPerEm:o,created:new w(Ut,2),modified:new w(Ut,2),xMin:P,yMin:P,xMax:P,yMax:P,macStyle:new st(o,["bold","italic","underline","outline","shadow","condensed","extended"]),lowestRecPPEM:o,fontDirectionHint:P,indexToLocFormat:P,glyphDataFormat:P}),Do=new A({version:Ut,ascent:P,descent:P,lineGap:P,advanceWidthMax:o,minLeftSideBearing:P,minRightSideBearing:P,xMaxExtent:P,caretSlopeRise:P,caretSlopeRun:P,caretOffset:P,reserved:new Be(P,4),metricDataFormat:P,numberOfMetrics:o});let Lo=new A({advance:o,bearing:P});var Mo=new A({metrics:new we(Lo,a=>a.parent.hhea.numberOfMetrics),bearings:new we(P,a=>a.parent.maxp.numGlyphs-a.parent.hhea.numberOfMetrics)}),Ro=new A({version:Ut,numGlyphs:o,maxPoints:o,maxContours:o,maxComponentPoints:o,maxComponentContours:o,maxZones:o,maxTwilightPoints:o,maxStorage:o,maxFunctionDefs:o,maxInstructionDefs:o,maxStackElements:o,maxSizeOfInstructions:o,maxComponentElements:o,maxComponentDepth:o});function xa(a,e,t=0){return a===1&&rs[t]?rs[t]:Vo[a][e]}const Uo=new Set(["x-mac-roman","x-mac-cyrillic","iso-8859-6","iso-8859-8"]),No={"x-mac-croatian":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®Š™´¨≠ŽØ∞±≤≥∆µ∂∑∏š∫ªºΩžø¿¡¬√ƒ≈ƫȅ ÀÃÕŒœĐ—“”‘’÷◊©⁄€‹›Æ»–·‚„‰ÂćÁčÈÍÎÏÌÓÔđÒÚÛÙıˆ˜¯πË˚¸Êæˇ","x-mac-gaelic":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØḂ±≤≥ḃĊċḊḋḞḟĠġṀæøṁṖṗɼƒſṠ«»… ÀÃÕŒœ–—“”‘’ṡẛÿŸṪ€‹›Ŷŷṫ·Ỳỳ⁊ÂÊÁËÈÍÎÏÌÓÔ♣ÒÚÛÙıÝýŴŵẄẅẀẁẂẃ","x-mac-greek":"Ĺ²É³ÖÜ΅àâä΄¨çéèê룙î‰ôö¦€ùûü†ΓΔΘΛΞΠß®©ΣΪ§≠°·Α±≤≥¥ΒΕΖΗΙΚΜΦΫΨΩάΝ¬ΟΡ≈Τ«»… ΥΧΆΈœ–―“”‘’÷ΉΊΌΎέήίόΏύαβψδεφγηιξκλμνοπώρστθωςχυζϊϋΐΰ","x-mac-icelandic":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûüݰ¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€ÐðÞþý·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ","x-mac-inuit":"ᐃᐄᐅᐆᐊᐋᐱᐲᐳᐴᐸᐹᑉᑎᑏᑐᑑᑕᑖᑦᑭᑮᑯᑰᑲᑳᒃᒋᒌᒍᒎᒐᒑ°ᒡᒥᒦ•¶ᒧ®©™ᒨᒪᒫᒻᓂᓃᓄᓅᓇᓈᓐᓯᓰᓱᓲᓴᓵᔅᓕᓖᓗᓘᓚᓛᓪᔨᔩᔪᔫᔭ… ᔮᔾᕕᕖᕗ–—“”‘’ᕘᕙᕚᕝᕆᕇᕈᕉᕋᕌᕐᕿᖀᖁᖂᖃᖄᖅᖏᖐᖑᖒᖓᖔᖕᙱᙲᙳᙴᙵᙶᖖᖠᖡᖢᖣᖤᖥᖦᕼŁł","x-mac-ce":"ÄĀāÉĄÖÜáąČäčĆć鏟ĎíďĒēĖóėôöõúĚěü†°Ę£§•¶ß®©™ę¨≠ģĮįĪ≤≥īĶ∂∑łĻļĽľĹĺŅņѬ√ńŇ∆«»… ňŐÕőŌ–—“”‘’÷◊ōŔŕŘ‹›řŖŗŠ‚„šŚśÁŤťÍŽžŪÓÔūŮÚůŰűŲųÝýķŻŁżĢˇ","x-mac-romanian":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ĂȘ∞±≤≥¥µ∂∑∏π∫ªºΩăș¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€‹›Țț‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ","x-mac-turkish":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙˆ˜¯˘˙˚¸˝˛ˇ"},Vr=new Map;function Go(a){let e=Vr.get(a);if(e)return e;let t=No[a];if(t){let r=new Map;for(let n=0;n<t.length;n++)r.set(t.charCodeAt(n),128+n);return Vr.set(a,r),r}if(Uo.has(a)){let r=new TextDecoder(a),n=new Uint8Array(128);for(let c=0;c<128;c++)n[c]=128+c;let s=new Map,i=r.decode(n);for(let c=0;c<128;c++)s.set(i.charCodeAt(c),128+c);return Vr.set(a,s),s}}const Vo=[["utf-16be","utf-16be","utf-16be","utf-16be","utf-16be","utf-16be","utf-16be"],["x-mac-roman","shift-jis","big5","euc-kr","iso-8859-6","iso-8859-8","x-mac-greek","x-mac-cyrillic","x-mac-symbol","x-mac-devanagari","x-mac-gurmukhi","x-mac-gujarati","Oriya","Bengali","Tamil","Telugu","Kannada","Malayalam","Sinhalese","Burmese","Khmer","iso-8859-11","Laotian","Georgian","Armenian","gbk","Tibetan","Mongolian","Geez","x-mac-ce","Vietnamese","Sindhi"],["ascii",null,"iso-8859-1"],["symbol","utf-16be","shift-jis","gb18030","big5","euc-kr","johab",null,null,null,"utf-16be"]],rs={15:"x-mac-icelandic",17:"x-mac-turkish",18:"x-mac-croatian",24:"x-mac-ce",25:"x-mac-ce",26:"x-mac-ce",27:"x-mac-ce",28:"x-mac-ce",30:"x-mac-icelandic",37:"x-mac-romanian",38:"x-mac-ce",39:"x-mac-ce",40:"x-mac-ce",143:"x-mac-inuit",146:"x-mac-gaelic"},zo=[[],{0:"en",30:"fo",60:"ks",90:"rw",1:"fr",31:"fa",61:"ku",91:"rn",2:"de",32:"ru",62:"sd",92:"ny",3:"it",33:"zh",63:"bo",93:"mg",4:"nl",34:"nl-BE",64:"ne",94:"eo",5:"sv",35:"ga",65:"sa",128:"cy",6:"es",36:"sq",66:"mr",129:"eu",7:"da",37:"ro",67:"bn",130:"ca",8:"pt",38:"cz",68:"as",131:"la",9:"no",39:"sk",69:"gu",132:"qu",10:"he",40:"si",70:"pa",133:"gn",11:"ja",41:"yi",71:"or",134:"ay",12:"ar",42:"sr",72:"ml",135:"tt",13:"fi",43:"mk",73:"kn",136:"ug",14:"el",44:"bg",74:"ta",137:"dz",15:"is",45:"uk",75:"te",138:"jv",16:"mt",46:"be",76:"si",139:"su",17:"tr",47:"uz",77:"my",140:"gl",18:"hr",48:"kk",78:"km",141:"af",19:"zh-Hant",49:"az-Cyrl",79:"lo",142:"br",20:"ur",50:"az-Arab",80:"vi",143:"iu",21:"hi",51:"hy",81:"id",144:"gd",22:"th",52:"ka",82:"tl",145:"gv",23:"ko",53:"mo",83:"ms",146:"ga",24:"lt",54:"ky",84:"ms-Arab",147:"to",25:"pl",55:"tg",85:"am",148:"el-polyton",26:"hu",56:"tk",86:"ti",149:"kl",27:"es",57:"mn-CN",87:"om",150:"az",28:"lv",58:"mn",88:"so",151:"nn",29:"se",59:"ps",89:"sw"},[],{1078:"af",16393:"en-IN",1159:"rw",1074:"tn",1052:"sq",6153:"en-IE",1089:"sw",1115:"si",1156:"gsw",8201:"en-JM",1111:"kok",1051:"sk",1118:"am",17417:"en-MY",1042:"ko",1060:"sl",5121:"ar-DZ",5129:"en-NZ",1088:"ky",11274:"es-AR",15361:"ar-BH",13321:"en-PH",1108:"lo",16394:"es-BO",3073:"ar",18441:"en-SG",1062:"lv",13322:"es-CL",2049:"ar-IQ",7177:"en-ZA",1063:"lt",9226:"es-CO",11265:"ar-JO",11273:"en-TT",2094:"dsb",5130:"es-CR",13313:"ar-KW",2057:"en-GB",1134:"lb",7178:"es-DO",12289:"ar-LB",1033:"en",1071:"mk",12298:"es-EC",4097:"ar-LY",12297:"en-ZW",2110:"ms-BN",17418:"es-SV",6145:"ary",1061:"et",1086:"ms",4106:"es-GT",8193:"ar-OM",1080:"fo",1100:"ml",18442:"es-HN",16385:"ar-QA",1124:"fil",1082:"mt",2058:"es-MX",1025:"ar-SA",1035:"fi",1153:"mi",19466:"es-NI",10241:"ar-SY",2060:"fr-BE",1146:"arn",6154:"es-PA",7169:"aeb",3084:"fr-CA",1102:"mr",15370:"es-PY",14337:"ar-AE",1036:"fr",1148:"moh",10250:"es-PE",9217:"ar-YE",5132:"fr-LU",1104:"mn",20490:"es-PR",1067:"hy",6156:"fr-MC",2128:"mn-CN",3082:"es",1101:"as",4108:"fr-CH",1121:"ne",1034:"es",2092:"az-Cyrl",1122:"fy",1044:"nb",21514:"es-US",1068:"az",1110:"gl",2068:"nn",14346:"es-UY",1133:"ba",1079:"ka",1154:"oc",8202:"es-VE",1069:"eu",3079:"de-AT",1096:"or",2077:"sv-FI",1059:"be",1031:"de",1123:"ps",1053:"sv",2117:"bn",5127:"de-LI",1045:"pl",1114:"syr",1093:"bn-IN",4103:"de-LU",1046:"pt",1064:"tg",8218:"bs-Cyrl",2055:"de-CH",2070:"pt-PT",2143:"tzm",5146:"bs",1032:"el",1094:"pa",1097:"ta",1150:"br",1135:"kl",1131:"qu-BO",1092:"tt",1026:"bg",1095:"gu",2155:"qu-EC",1098:"te",1027:"ca",1128:"ha",3179:"qu",1054:"th",3076:"zh-HK",1037:"he",1048:"ro",1105:"bo",5124:"zh-MO",1081:"hi",1047:"rm",1055:"tr",2052:"zh",1038:"hu",1049:"ru",1090:"tk",4100:"zh-SG",1039:"is",9275:"smn",1152:"ug",1028:"zh-TW",1136:"ig",4155:"smj-NO",1058:"uk",1155:"co",1057:"id",5179:"smj",1070:"hsb",1050:"hr",1117:"iu",3131:"se-FI",1056:"ur",4122:"hr-BA",2141:"iu-Latn",1083:"se",2115:"uz-Cyrl",1029:"cs",2108:"ga",2107:"se-SE",1091:"uz",1030:"da",1076:"xh",8251:"sms",1066:"vi",1164:"prs",1077:"zu",6203:"sma-NO",1106:"cy",1125:"dv",1040:"it",7227:"sms",1160:"wo",2067:"nl-BE",2064:"it-CH",1103:"sa",1157:"sah",1043:"nl",1041:"ja",7194:"sr-Cyrl-BA",1144:"ii",3081:"en-AU",1099:"kn",3098:"sr",1130:"yo",10249:"en-BZ",1087:"kk",6170:"sr-Latn-BA",4105:"en-CA",1107:"km",2074:"sr-Latn",9225:"en-029",1158:"quc",1132:"nso"}];let ns=new A({platformID:o,encodingID:o,languageID:o,nameID:o,length:o,string:new v(o,new me("length",a=>xa(a.platformID,a.encodingID,a.languageID)),{type:"parent",relativeTo:a=>a.parent.stringOffset,allowNull:!1})}),qo=new A({length:o,tag:new v(o,new me("length","utf16be"),{type:"parent",relativeTo:a=>a.stringOffset})});var K0=new ue(o,{0:{count:o,stringOffset:o,records:new w(ns,"count")},1:{count:o,stringOffset:o,records:new w(ns,"count"),langTagCount:o,langTags:new w(qo,"langTagCount")}}),Wo=K0;const Qr=["copyright","fontFamily","fontSubfamily","uniqueSubfamily","fullName","version","postscriptName","trademark","manufacturer","designer","description","vendorURL","designerURL","license","licenseURL",null,"preferredFamily","preferredSubfamily","compatibleFull","sampleText","postscriptCIDFontName","wwsFamilyName","wwsSubfamilyName"];K0.process=function(a){var e={};for(let t of this.records){let r=zo[t.platformID][t.languageID];r==null&&this.langTags!=null&&t.languageID>=32768&&(r=this.langTags[t.languageID-32768].tag),r==null&&(r=t.platformID+"-"+t.languageID);let n=t.nameID>=256?"fontFeatures":Qr[t.nameID]||t.nameID;e[n]==null&&(e[n]={});let s=e[n];t.nameID>=256&&(s=s[t.nameID]||(s[t.nameID]={})),(typeof t.string=="string"||typeof s[r]!="string")&&(s[r]=t.string)}this.records=e};K0.preEncode=function(){if(Array.isArray(this.records))return;this.version=0;let a=[];for(let e in this.records){let t=this.records[e];e!=="fontFeatures"&&(a.push({platformID:3,encodingID:1,languageID:1033,nameID:Qr.indexOf(e),length:t.en.length*2,string:t.en}),e==="postscriptName"&&a.push({platformID:1,encodingID:0,languageID:0,nameID:Qr.indexOf(e),length:t.en.length,string:t.en}))}this.records=a,this.count=a.length,this.stringOffset=K0.size(this,null,!1)};var ma=new ue(o,{header:{xAvgCharWidth:P,usWeightClass:o,usWidthClass:o,fsType:new st(o,[null,"noEmbedding","viewOnly","editable",null,null,null,null,"noSubsetting","bitmapOnly"]),ySubscriptXSize:P,ySubscriptYSize:P,ySubscriptXOffset:P,ySubscriptYOffset:P,ySuperscriptXSize:P,ySuperscriptYSize:P,ySuperscriptXOffset:P,ySuperscriptYOffset:P,yStrikeoutSize:P,yStrikeoutPosition:P,sFamilyClass:P,panose:new w(M,10),ulCharRange:new w(y,4),vendorID:new me(4),fsSelection:new st(o,["italic","underscore","negative","outlined","strikeout","bold","regular","useTypoMetrics","wws","oblique"]),usFirstCharIndex:o,usLastCharIndex:o},0:{},1:{typoAscender:P,typoDescender:P,typoLineGap:P,winAscent:o,winDescent:o,codePageRange:new w(y,2)},2:{typoAscender:P,typoDescender:P,typoLineGap:P,winAscent:o,winDescent:o,codePageRange:new w(y,2),xHeight:P,capHeight:P,defaultChar:o,breakChar:o,maxContent:o},5:{typoAscender:P,typoDescender:P,typoLineGap:P,winAscent:o,winDescent:o,codePageRange:new w(y,2),xHeight:P,capHeight:P,defaultChar:o,breakChar:o,maxContent:o,usLowerOpticalPointSize:o,usUpperOpticalPointSize:o}});let zr=ma.versions;zr[3]=zr[4]=zr[2];var $o=ma,Ho=new ue(De,{header:{italicAngle:De,underlinePosition:P,underlineThickness:P,isFixedPitch:y,minMemType42:y,maxMemType42:y,minMemType1:y,maxMemType1:y},1:{},2:{numberOfGlyphs:o,glyphNameIndex:new w(o,"numberOfGlyphs"),names:new w(new me(M))},2.5:{numberOfGlyphs:o,offsets:new w(M,"numberOfGlyphs")},3:{},4:{map:new w(y,a=>a.parent.maxp.numGlyphs)}}),Xo=new A({controlValues:new w(P)}),jo=new A({instructions:new w(M)});let wn=new ue("head.indexToLocFormat",{0:{offsets:new w(o)},1:{offsets:new w(y)}});wn.process=function(){if(this.version===0&&!this._processed){for(let a=0;a<this.offsets.length;a++)this.offsets[a]<<=1;this._processed=!0}};wn.preEncode=function(){if(this.version===0&&this._processed!==!1){for(let a=0;a<this.offsets.length;a++)this.offsets[a]>>>=1;this._processed=!1}};var Yo=wn,Zo=new A({controlValueProgram:new w(M)}),Ko=new w(new gt);class pt{getCFFVersion(e){for(;e&&!e.hdrSize;)e=e.parent;return e?e.version:-1}decode(e,t){let n=this.getCFFVersion(t)>=2?e.readUInt32BE():e.readUInt16BE();if(n===0)return[];let s=e.readUInt8(),i;if(s===1)i=M;else if(s===2)i=o;else if(s===3)i=Bt;else if(s===4)i=y;else throw new Error(`Bad offset size in CFFIndex: ${s} ${e.pos}`);let c=[],f=e.pos+(n+1)*s-1,p=i.decode(e);for(let h=0;h<n;h++){let b=i.decode(e);if(this.type!=null){let C=e.pos;e.pos=f+p,t.length=b-p,c.push(this.type.decode(e,t)),e.pos=C}else c.push({offset:f+p,length:b-p});p=b}return e.pos=f+p,c}size(e,t){let r=2;if(e.length===0)return r;let n=this.type||new gt,s=1;for(let c=0;c<e.length;c++){let f=e[c];s+=n.size(f,t)}let i;if(s<=255)i=M;else if(s<=65535)i=o;else if(s<=16777215)i=Bt;else if(s<=4294967295)i=y;else throw new Error("Bad offset in CFFIndex");return r+=1+i.size()*(e.length+1),r+=s-1,r}encode(e,t,r){if(e.writeUInt16BE(t.length),t.length===0)return;let n=this.type||new gt,s=[],i=1;for(let f of t){let p=n.size(f,r);s.push(p),i+=p}let c;if(i<=255)c=M;else if(i<=65535)c=o;else if(i<=16777215)c=Bt;else if(i<=4294967295)c=y;else throw new Error("Bad offset in CFFIndex");e.writeUInt8(c.size()),i=1,c.encode(e,i);for(let f of s)i+=f,c.encode(e,i);for(let f of t)n.encode(e,f,r)}constructor(e){this.type=e}}const g0=15,ss=["0","1","2","3","4","5","6","7","8","9",".","E","E-",null,"-"],as={".":10,E:11,"E-":12,"-":14};class qr{static decode(e,t){if(32<=t&&t<=246)return t-139;if(247<=t&&t<=250)return(t-247)*256+e.readUInt8()+108;if(251<=t&&t<=254)return-(t-251)*256-e.readUInt8()-108;if(t===28)return e.readInt16BE();if(t===29)return e.readInt32BE();if(t===30){let r="";for(;;){let n=e.readUInt8(),s=n>>4;if(s===g0)break;r+=ss[s];let i=n&15;if(i===g0)break;r+=ss[i]}return parseFloat(r)}return null}static size(e){if(e.forceLarge&&(e=32768),(e|0)!==e){let t=""+e;return 1+Math.ceil((t.length+1)/2)}else return-107<=e&&e<=107?1:108<=e&&e<=1131||-1131<=e&&e<=-108?2:-32768<=e&&e<=32767?3:5}static encode(e,t){let r=Number(t);if(t.forceLarge)return e.writeUInt8(29),e.writeInt32BE(r);if((r|0)!==r){e.writeUInt8(30);let s=""+r;for(let i=0;i<s.length;i+=2){let c=s[i],f=as[c]||+c;if(i===s.length-1)var n=g0;else{let p=s[i+1];var n=as[p]||+p}e.writeUInt8(f<<4|n&15)}if(n!==g0)return e.writeUInt8(g0<<4)}else return-107<=r&&r<=107?e.writeUInt8(r+139):108<=r&&r<=1131?(r-=108,e.writeUInt8((r>>8)+247),e.writeUInt8(r&255)):-1131<=r&&r<=-108?(r=-r-108,e.writeUInt8((r>>8)+251),e.writeUInt8(r&255)):-32768<=r&&r<=32767?(e.writeUInt8(28),e.writeInt16BE(r)):(e.writeUInt8(29),e.writeInt32BE(r))}}class fr{decodeOperands(e,t,r,n){if(Array.isArray(e))return n.map((s,i)=>this.decodeOperands(e[i],t,r,[s]));if(e.decode!=null)return e.decode(t,r,n);switch(e){case"number":case"offset":case"sid":return n[0];case"boolean":return!!n[0];default:return n}}encodeOperands(e,t,r,n){return Array.isArray(e)?n.map((s,i)=>this.encodeOperands(e[i],t,r,s)[0]):e.encode!=null?e.encode(t,n,r):typeof n=="number"?[n]:typeof n=="boolean"?[+n]:Array.isArray(n)?n:[n]}decode(e,t){let r=e.pos+t.length,n={},s=[];Object.defineProperties(n,{parent:{value:t},_startOffset:{value:e.pos}});for(let i in this.fields){let c=this.fields[i];n[c[1]]=c[3]}for(;e.pos<r;){let i=e.readUInt8();if(i<28){i===12&&(i=i<<8|e.readUInt8());let c=this.fields[i];if(!c)throw new Error(`Unknown operator ${i}`);let f=this.decodeOperands(c[2],e,n,s);f!=null&&(f instanceof un?Object.defineProperty(n,c[1],f):n[c[1]]=f),s=[]}else s.push(qr.decode(e,i))}return n}size(e,t,r=!0){let n={parent:t,val:e,pointerSize:0,startOffset:t.startOffset||0},s=0;for(let i in this.fields){let c=this.fields[i],f=e[c[1]];if(f==null||qn(f,c[3]))continue;let p=this.encodeOperands(c[2],null,n,f);for(let b of p)s+=qr.size(b);let h=Array.isArray(c[0])?c[0]:[c[0]];s+=h.length}return r&&(s+=n.pointerSize),s}encode(e,t,r){let n={pointers:[],startOffset:e.pos,parent:r,val:t,pointerSize:0};n.pointerOffset=e.pos+this.size(t,n,!1);for(let i of this.ops){let c=t[i[1]];if(c==null||qn(c,i[3]))continue;let f=this.encodeOperands(i[2],e,n,c);for(let h of f)qr.encode(e,h);let p=Array.isArray(i[0])?i[0]:[i[0]];for(let h of p)e.writeUInt8(h)}let s=0;for(;s<n.pointers.length;){let i=n.pointers[s++];i.type.encode(e,i.val,i.parent)}}constructor(e=[]){this.ops=e,this.fields={};for(let t of e){let r=Array.isArray(t[0])?t[0][0]<<8|t[0][1]:t[0];this.fields[r]=t}}}class nt extends v{decode(e,t,r){return this.offsetType={decode:()=>r[0]},super.decode(e,t,r)}encode(e,t,r){if(!e)return this.offsetType={size:()=>0},this.size(t,r),[new is(0)];let n=null;return this.offsetType={encode:(s,i)=>n=i},super.encode(e,t,r),[new is(n)]}constructor(e,t={}){t.type==null&&(t.type="global"),super(null,e,t)}}class is{valueOf(){return this.val}constructor(e){this.val=e,this.forceLarge=!0}}class Jo{static decode(e,t,r){let n=r.pop();for(;r.length>n;)r.pop()}}var _r=new fr([[6,"BlueValues","delta",null],[7,"OtherBlues","delta",null],[8,"FamilyBlues","delta",null],[9,"FamilyOtherBlues","delta",null],[[12,9],"BlueScale","number",.039625],[[12,10],"BlueShift","number",7],[[12,11],"BlueFuzz","number",1],[10,"StdHW","number",null],[11,"StdVW","number",null],[[12,12],"StemSnapH","delta",null],[[12,13],"StemSnapV","delta",null],[[12,14],"ForceBold","boolean",!1],[[12,17],"LanguageGroup","number",0],[[12,18],"ExpansionFactor","number",.06],[[12,19],"initialRandomSeed","number",0],[20,"defaultWidthX","number",0],[21,"nominalWidthX","number",0],[22,"vsindex","number",0],[23,"blend",Jo,null],[19,"Subrs",new nt(new pt,{type:"local"}),null]]),W0=[".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"];let wa=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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"],Qo=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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"],va=[".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"],_o=[".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"],el=[".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"],ya=new A({reserved:new Be(o),reqFeatureIndex:o,featureCount:o,featureIndexes:new w(o,"featureCount")}),tl=new A({tag:new me(4),langSys:new v(o,ya,{type:"parent"})}),rl=new A({defaultLangSys:new v(o,ya),count:o,langSysRecords:new w(tl,"count")}),nl=new A({tag:new me(4),script:new v(o,rl,{type:"parent"})}),Ca=new w(nl,o),sl=new A({version:o,nameID:o}),Aa=new A({featureParams:new v(o,sl),lookupCount:o,lookupListIndexes:new w(o,"lookupCount")}),al=new A({tag:new me(4),feature:new v(o,Aa,{type:"parent"})}),Sa=new w(al,o),il=new A({markAttachmentType:M,flags:new st(M,["rightToLeft","ignoreBaseGlyphs","ignoreLigatures","ignoreMarks","useMarkFilteringSet"])});function J0(a){let e=new A({lookupType:o,flags:il,subTableCount:o,subTables:new w(new v(o,a),"subTableCount"),markFilteringSet:new j0(o,t=>t.flags.flags.useMarkFilteringSet)});return new we(new v(o,e),o)}let ol=new A({start:o,end:o,startCoverageIndex:o}),xe=new ue(o,{1:{glyphCount:o,glyphs:new w(o,"glyphCount")},2:{rangeCount:o,rangeRecords:new w(ol,"rangeCount")}}),ll=new A({start:o,end:o,class:o}),Tt=new ue(o,{1:{startGlyph:o,glyphCount:o,classValueArray:new w(o,"glyphCount")},2:{classRangeCount:o,classRangeRecord:new w(ll,"classRangeCount")}}),Ft=new A({a:o,b:o,deltaFormat:o}),P0=new A({sequenceIndex:o,lookupListIndex:o}),ul=new A({glyphCount:o,lookupCount:o,input:new w(o,a=>a.glyphCount-1),lookupRecords:new w(P0,"lookupCount")}),cl=new w(new v(o,ul),o),fl=new A({glyphCount:o,lookupCount:o,classes:new w(o,a=>a.glyphCount-1),lookupRecords:new w(P0,"lookupCount")}),hl=new w(new v(o,fl),o),Ia=new ue(o,{1:{coverage:new v(o,xe),ruleSetCount:o,ruleSets:new w(new v(o,cl),"ruleSetCount")},2:{coverage:new v(o,xe),classDef:new v(o,Tt),classSetCnt:o,classSet:new w(new v(o,hl),"classSetCnt")},3:{glyphCount:o,lookupCount:o,coverages:new w(new v(o,xe),"glyphCount"),lookupRecords:new w(P0,"lookupCount")}}),dl=new A({backtrackGlyphCount:o,backtrack:new w(o,"backtrackGlyphCount"),inputGlyphCount:o,input:new w(o,a=>a.inputGlyphCount-1),lookaheadGlyphCount:o,lookahead:new w(o,"lookaheadGlyphCount"),lookupCount:o,lookupRecords:new w(P0,"lookupCount")}),os=new w(new v(o,dl),o),Ea=new ue(o,{1:{coverage:new v(o,xe),chainCount:o,chainRuleSets:new w(new v(o,os),"chainCount")},2:{coverage:new v(o,xe),backtrackClassDef:new v(o,Tt),inputClassDef:new v(o,Tt),lookaheadClassDef:new v(o,Tt),chainCount:o,chainClassSet:new w(new v(o,os),"chainCount")},3:{backtrackGlyphCount:o,backtrackCoverage:new w(new v(o,xe),"backtrackGlyphCount"),inputGlyphCount:o,inputCoverage:new w(new v(o,xe),"inputGlyphCount"),lookaheadGlyphCount:o,lookaheadCoverage:new w(new v(o,xe),"lookaheadGlyphCount"),lookupCount:o,lookupRecords:new w(P0,"lookupCount")}}),w0=new Wt(16,"BE",14),pl=new A({startCoord:w0,peakCoord:w0,endCoord:w0}),bl=new A({axisCount:o,regionCount:o,variationRegions:new w(new w(pl,"axisCount"),"regionCount")}),gl=new A({shortDeltas:new w(P,a=>a.parent.shortDeltaCount),regionDeltas:new w(Ne,a=>a.parent.regionIndexCount-a.parent.shortDeltaCount),deltas:a=>a.shortDeltas.concat(a.regionDeltas)}),xl=new A({itemCount:o,shortDeltaCount:o,regionIndexCount:o,regionIndexes:new w(o,"regionIndexCount"),deltaSets:new w(gl,"itemCount")}),hr=new A({format:o,variationRegionList:new v(y,bl),variationDataCount:o,itemVariationData:new w(new v(y,xl),"variationDataCount")}),ml=new ue(o,{1:{axisIndex:o,axisIndex:o,filterRangeMinValue:w0,filterRangeMaxValue:w0}}),wl=new A({conditionCount:o,conditionTable:new w(new v(y,ml),"conditionCount")}),vl=new A({featureIndex:o,alternateFeatureTable:new v(y,Aa,{type:"parent"})}),yl=new A({version:De,substitutionCount:o,substitutions:new w(vl,"substitutionCount")}),Cl=new A({conditionSet:new v(y,wl,{type:"parent"}),featureTableSubstitution:new v(y,yl,{type:"parent"})}),ka=new A({majorVersion:o,minorVersion:o,featureVariationRecordCount:y,featureVariationRecords:new w(Cl,"featureVariationRecordCount")});class Fa{decode(e,t,r){return this.predefinedOps[r[0]]?this.predefinedOps[r[0]]:this.type.decode(e,t,r)}size(e,t){return this.type.size(e,t)}encode(e,t,r){let n=this.predefinedOps.indexOf(t);return n!==-1?n:this.type.encode(e,t,r)}constructor(e,t){this.predefinedOps=e,this.type=t}}class Al extends be{decode(e){return M.decode(e)&127}constructor(){super("UInt8")}}let Ba=new A({first:o,nLeft:M}),Sl=new A({first:o,nLeft:o}),Il=new ue(new Al,{0:{nCodes:M,codes:new w(M,"nCodes")},1:{nRanges:M,ranges:new w(Ba,"nRanges")}}),El=new Fa([wa,Qo],new nt(Il,{lazy:!0}));class ls extends w{decode(e,t){let r=xt(this.length,e,t),n=0,s=[];for(;n<r;){let i=this.type.decode(e,t);i.offset=n,n+=i.nLeft+1,s.push(i)}return s}}let kl=new ue(M,{0:{glyphs:new w(o,a=>a.parent.CharStrings.length-1)},1:{ranges:new ls(Ba,a=>a.parent.CharStrings.length-1)},2:{ranges:new ls(Sl,a=>a.parent.CharStrings.length-1)}}),Fl=new Fa([va,_o,el],new nt(kl,{lazy:!0})),Bl=new A({first:o,fd:M}),Tl=new A({first:y,fd:o}),Ta=new ue(M,{0:{fds:new w(M,a=>a.parent.CharStrings.length)},3:{nRanges:o,ranges:new w(Bl,"nRanges"),sentinel:o},4:{nRanges:y,ranges:new w(Tl,"nRanges"),sentinel:y}}),Wr=new nt(_r);class Pa{decode(e,t,r){return t.length=r[0],Wr.decode(e,t,[r[1]])}size(e,t){return[_r.size(e,t,!1),Wr.size(e,t)[0]]}encode(e,t,r){return[_r.size(t,r,!1),Wr.encode(e,t,r)[0]]}}let Oa=new fr([[18,"Private",new Pa,null],[[12,38],"FontName","sid",null],[[12,7],"FontMatrix","array",[.001,0,0,.001,0,0]],[[12,5],"PaintType","number",0]]),Pl=new fr([[[12,30],"ROS",["sid","sid","number"],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","boolean",!1],[[12,2],"ItalicAngle","number",0],[[12,3],"UnderlinePosition","number",-100],[[12,4],"UnderlineThickness","number",50],[[12,5],"PaintType","number",0],[[12,6],"CharstringType","number",2],[[12,7],"FontMatrix","array",[.001,0,0,.001,0,0]],[13,"UniqueID","number",null],[5,"FontBBox","array",[0,0,0,0]],[[12,8],"StrokeWidth","number",0],[14,"XUID","array",null],[15,"charset",Fl,va],[16,"Encoding",El,wa],[17,"CharStrings",new nt(new pt),null],[18,"Private",new Pa,null],[[12,20],"SyntheticBase","number",null],[[12,21],"PostScript","sid",null],[[12,22],"BaseFontName","sid",null],[[12,23],"BaseFontBlend","delta",null],[[12,31],"CIDFontVersion","number",0],[[12,32],"CIDFontRevision","number",0],[[12,33],"CIDFontType","number",0],[[12,34],"CIDCount","number",8720],[[12,35],"UIDBase","number",null],[[12,37],"FDSelect",new nt(Ta),null],[[12,36],"FDArray",new nt(new pt(Oa)),null],[[12,38],"FontName","sid",null]]),Ol=new A({length:o,itemVariationStore:hr}),Dl=new fr([[[12,7],"FontMatrix","array",[.001,0,0,.001,0,0]],[17,"CharStrings",new nt(new pt),null],[[12,37],"FDSelect",new nt(Ta),null],[[12,36],"FDArray",new nt(new pt(Oa)),null],[24,"vstore",new nt(Ol),null],[25,"maxstack","number",193]]),Ll=new ue(xi,{1:{hdrSize:M,offSize:M,nameIndex:new pt(new me("length")),topDictIndex:new pt(Pl),stringIndex:new pt(new me("length")),globalSubrIndex:new pt},2:{hdrSize:M,length:o,topDict:Dl,globalSubrIndex:new pt}});var Da=Ll;class vn{static decode(e){return new vn(e)}decode(){this.stream.pos;let e=Da.decode(this.stream);for(let t in e){let r=e[t];this[t]=r}if(this.version<2){if(this.topDictIndex.length!==1)throw new Error("Only a single font is allowed in CFF");this.topDict=this.topDictIndex[0]}return this.isCIDFont=this.topDict.ROS!=null,this}string(e){return this.version>=2?null:e<W0.length?W0[e]:this.stringIndex[e-W0.length]}get postscriptName(){return this.version<2?this.nameIndex[0]:null}get fullName(){return this.string(this.topDict.FullName)}get familyName(){return this.string(this.topDict.FamilyName)}getCharString(e){return this.stream.pos=this.topDict.CharStrings[e].offset,this.stream.readBuffer(this.topDict.CharStrings[e].length)}getGlyphName(e){if(this.version>=2||this.isCIDFont)return null;let{charset:t}=this.topDict;if(Array.isArray(t))return t[e];if(e===0)return".notdef";switch(e-=1,t.version){case 0:return this.string(t.glyphs[e]);case 1:case 2:for(let r=0;r<t.ranges.length;r++){let n=t.ranges[r];if(n.offset<=e&&e<=n.offset+n.nLeft)return this.string(n.first+(e-n.offset))}break}return null}fdForGlyph(e){if(!this.topDict.FDSelect)return null;switch(this.topDict.FDSelect.version){case 0:return this.topDict.FDSelect.fds[e];case 3:case 4:let{ranges:t}=this.topDict.FDSelect,r=0,n=t.length-1;for(;r<=n;){let s=r+n>>1;if(e<t[s].first)n=s-1;else if(s<n&&e>=t[s+1].first)r=s+1;else return t[s].fd}default:throw new Error(`Unknown FDSelect version: ${this.topDict.FDSelect.version}`)}}privateDictForGlyph(e){if(this.topDict.FDSelect){let t=this.fdForGlyph(e);return this.topDict.FDArray[t]?this.topDict.FDArray[t].Private:null}return this.version<2?this.topDict.Private:this.topDict.FDArray[0].Private}constructor(e){this.stream=e,this.decode()}}var La=vn;let Ml=new A({glyphIndex:o,vertOriginY:P});var Rl=new A({majorVersion:o,minorVersion:o,defaultVertOriginY:P,numVertOriginYMetrics:o,metrics:new w(Ml,"numVertOriginYMetrics")});let r0=new A({height:M,width:M,horiBearingX:Ne,horiBearingY:Ne,horiAdvance:M,vertBearingX:Ne,vertBearingY:Ne,vertAdvance:M}),R0=new A({height:M,width:M,bearingX:Ne,bearingY:Ne,advance:M}),us=new A({glyph:o,xOffset:Ne,yOffset:Ne});class cs{}class $r{}new ue("version",{1:{metrics:R0,data:cs},2:{metrics:R0,data:$r},5:{data:$r},6:{metrics:r0,data:cs},7:{metrics:r0,data:$r},8:{metrics:R0,pad:new Be(M),numComponents:o,components:new w(us,"numComponents")},9:{metrics:r0,pad:new Be(M),numComponents:o,components:new w(us,"numComponents")},17:{metrics:R0,dataLen:y,data:new gt("dataLen")},18:{metrics:r0,dataLen:y,data:new gt("dataLen")},19:{dataLen:y,data:new gt("dataLen")}});let fs=new A({ascender:Ne,descender:Ne,widthMax:M,caretSlopeNumerator:Ne,caretSlopeDenominator:Ne,caretOffset:Ne,minOriginSB:Ne,minAdvanceSB:Ne,maxBeforeBL:Ne,minAfterBL:Ne,pad:new Be(Ne,2)}),Ul=new A({glyphCode:o,offset:o}),Nl=new ue(o,{header:{imageFormat:o,imageDataOffset:y},1:{offsetArray:new w(y,a=>a.parent.lastGlyphIndex-a.parent.firstGlyphIndex+1)},2:{imageSize:y,bigMetrics:r0},3:{offsetArray:new w(o,a=>a.parent.lastGlyphIndex-a.parent.firstGlyphIndex+1)},4:{numGlyphs:y,glyphArray:new w(Ul,a=>a.numGlyphs+1)},5:{imageSize:y,bigMetrics:r0,numGlyphs:y,glyphCodeArray:new w(o,"numGlyphs")}}),Gl=new A({firstGlyphIndex:o,lastGlyphIndex:o,subtable:new v(y,Nl)}),Vl=new A({indexSubTableArray:new v(y,new w(Gl,1),{type:"parent"}),indexTablesSize:y,numberOfIndexSubTables:y,colorRef:y,hori:fs,vert:fs,startGlyphIndex:o,endGlyphIndex:o,ppemX:M,ppemY:M,bitDepth:M,flags:new st(M,["horizontal","vertical"])});var zl=new A({version:y,numSizes:y,sizes:new w(Vl,"numSizes")});let ql=new A({ppem:o,resolution:o,imageOffsets:new w(new v(y,"void"),a=>a.parent.parent.maxp.numGlyphs+1)});var Wl=new A({version:o,flags:new st(o,["renderOutlines"]),numImgTables:y,imageTables:new w(new v(y,ql),"numImgTables")});let $l=new A({gid:o,paletteIndex:o}),Hl=new A({gid:o,firstLayerIndex:o,numLayers:o});var Xl=new A({version:o,numBaseGlyphRecords:o,baseGlyphRecord:new v(y,new w(Hl,"numBaseGlyphRecords")),layerRecords:new v(y,new w($l,"numLayerRecords"),{lazy:!0}),numLayerRecords:o});let jl=new A({blue:M,green:M,red:M,alpha:M});var Yl=new ue(o,{header:{numPaletteEntries:o,numPalettes:o,numColorRecords:o,colorRecords:new v(y,new w(jl,"numColorRecords")),colorRecordIndices:new w(o,"numPalettes")},0:{},1:{offsetPaletteTypeArray:new v(y,new w(y,"numPalettes")),offsetPaletteLabelArray:new v(y,new w(o,"numPalettes")),offsetPaletteEntryLabelArray:new v(y,new w(o,"numPaletteEntries"))}});let S0=new ue(o,{1:{coordinate:P},2:{coordinate:P,referenceGlyph:o,baseCoordPoint:o},3:{coordinate:P,deviceTable:new v(o,Ft)}}),Zl=new A({defaultIndex:o,baseCoordCount:o,baseCoords:new w(new v(o,S0),"baseCoordCount")}),Kl=new A({tag:new me(4),minCoord:new v(o,S0,{type:"parent"}),maxCoord:new v(o,S0,{type:"parent"})}),Ma=new A({minCoord:new v(o,S0),maxCoord:new v(o,S0),featMinMaxCount:o,featMinMaxRecords:new w(Kl,"featMinMaxCount")}),Jl=new A({tag:new me(4),minMax:new v(o,Ma,{type:"parent"})}),Ql=new A({baseValues:new v(o,Zl),defaultMinMax:new v(o,Ma),baseLangSysCount:o,baseLangSysRecords:new w(Jl,"baseLangSysCount")}),_l=new A({tag:new me(4),script:new v(o,Ql,{type:"parent"})}),eu=new w(_l,o),tu=new w(new me(4),o),hs=new A({baseTagList:new v(o,tu),baseScriptList:new v(o,eu)});var ru=new ue(y,{header:{horizAxis:new v(o,hs),vertAxis:new v(o,hs)},65536:{},65537:{itemVariationStore:new v(y,hr)}});let nu=new w(o,o),su=new A({coverage:new v(o,xe),glyphCount:o,attachPoints:new w(new v(o,nu),"glyphCount")}),au=new ue(o,{1:{coordinate:P},2:{caretValuePoint:o},3:{coordinate:P,deviceTable:new v(o,Ft)}}),iu=new w(new v(o,au),o),ou=new A({coverage:new v(o,xe),ligGlyphCount:o,ligGlyphs:new w(new v(o,iu),"ligGlyphCount")}),ds=new A({markSetTableFormat:o,markSetCount:o,coverage:new w(new v(y,xe),"markSetCount")});var lu=new ue(y,{header:{glyphClassDef:new v(o,Tt),attachList:new v(o,su),ligCaretList:new v(o,ou),markAttachClassDef:new v(o,Tt)},65536:{},65538:{markGlyphSetsDef:new v(o,ds)},65539:{markGlyphSetsDef:new v(o,ds),itemVariationStore:new v(y,hr)}});let Qt=new st(o,["xPlacement","yPlacement","xAdvance","yAdvance","xPlaDevice","yPlaDevice","xAdvDevice","yAdvDevice"]),uu={xPlacement:P,yPlacement:P,xAdvance:P,yAdvance:P,xPlaDevice:new v(o,Ft,{type:"global",relativeTo:a=>a.rel}),yPlaDevice:new v(o,Ft,{type:"global",relativeTo:a=>a.rel}),xAdvDevice:new v(o,Ft,{type:"global",relativeTo:a=>a.rel}),yAdvDevice:new v(o,Ft,{type:"global",relativeTo:a=>a.rel})};class n0{buildStruct(e){let t=e;for(;!t[this.key]&&t.parent;)t=t.parent;if(!t[this.key])return;let r={};r.rel=()=>t._startOffset;let n=t[this.key];for(let s in n)n[s]&&(r[s]=uu[s]);return new A(r)}size(e,t){return this.buildStruct(t).size(e,t)}decode(e,t){let r=this.buildStruct(t).decode(e,t);return delete r.rel,r}constructor(e="valueFormat"){this.key=e}}let cu=new A({secondGlyph:o,value1:new n0("valueFormat1"),value2:new n0("valueFormat2")}),fu=new w(cu,o),hu=new A({value1:new n0("valueFormat1"),value2:new n0("valueFormat2")}),I0=new ue(o,{1:{xCoordinate:P,yCoordinate:P},2:{xCoordinate:P,yCoordinate:P,anchorPoint:o},3:{xCoordinate:P,yCoordinate:P,xDeviceTable:new v(o,Ft),yDeviceTable:new v(o,Ft)}}),du=new A({entryAnchor:new v(o,I0,{type:"parent"}),exitAnchor:new v(o,I0,{type:"parent"})}),pu=new A({class:o,markAnchor:new v(o,I0,{type:"parent"})}),Hr=new w(pu,o),bu=new w(new v(o,I0),a=>a.parent.classCount),ps=new w(bu,o),gu=new w(new v(o,I0),a=>a.parent.parent.classCount),xu=new w(gu,o),mu=new w(new v(o,xu),o),E0=new ue("lookupType",{1:new ue(o,{1:{coverage:new v(o,xe),valueFormat:Qt,value:new n0},2:{coverage:new v(o,xe),valueFormat:Qt,valueCount:o,values:new we(new n0,"valueCount")}}),2:new ue(o,{1:{coverage:new v(o,xe),valueFormat1:Qt,valueFormat2:Qt,pairSetCount:o,pairSets:new we(new v(o,fu),"pairSetCount")},2:{coverage:new v(o,xe),valueFormat1:Qt,valueFormat2:Qt,classDef1:new v(o,Tt),classDef2:new v(o,Tt),class1Count:o,class2Count:o,classRecords:new we(new we(hu,"class2Count"),"class1Count")}}),3:{format:o,coverage:new v(o,xe),entryExitCount:o,entryExitRecords:new w(du,"entryExitCount")},4:{format:o,markCoverage:new v(o,xe),baseCoverage:new v(o,xe),classCount:o,markArray:new v(o,Hr),baseArray:new v(o,ps)},5:{format:o,markCoverage:new v(o,xe),ligatureCoverage:new v(o,xe),classCount:o,markArray:new v(o,Hr),ligatureArray:new v(o,mu)},6:{format:o,mark1Coverage:new v(o,xe),mark2Coverage:new v(o,xe),classCount:o,mark1Array:new v(o,Hr),mark2Array:new v(o,ps)},7:Ia,8:Ea,9:{posFormat:o,lookupType:o,extension:new v(y,null)}});E0.versions[9].extension.type=E0;var wu=new ue(y,{header:{scriptList:new v(o,Ca),featureList:new v(o,Sa),lookupList:new v(o,new J0(E0))},65536:{},65537:{featureVariations:new v(y,ka)}});let Ra=new w(o,o),vu=Ra,yu=new A({glyph:o,compCount:o,components:new w(o,a=>a.compCount-1)}),Cu=new w(new v(o,yu),o),en=new ue("lookupType",{1:new ue(o,{1:{coverage:new v(o,xe),deltaGlyphID:P},2:{coverage:new v(o,xe),glyphCount:o,substitute:new we(o,"glyphCount")}}),2:{substFormat:o,coverage:new v(o,xe),count:o,sequences:new we(new v(o,Ra),"count")},3:{substFormat:o,coverage:new v(o,xe),count:o,alternateSet:new we(new v(o,vu),"count")},4:{substFormat:o,coverage:new v(o,xe),count:o,ligatureSets:new we(new v(o,Cu),"count")},5:Ia,6:Ea,7:{substFormat:o,lookupType:o,extension:new v(y,null)},8:{substFormat:o,coverage:new v(o,xe),backtrackCoverage:new w(new v(o,xe),"backtrackGlyphCount"),lookaheadGlyphCount:o,lookaheadCoverage:new w(new v(o,xe),"lookaheadGlyphCount"),glyphCount:o,substitutes:new w(o,"glyphCount")}});en.versions[7].extension.type=en;var Au=new ue(y,{header:{scriptList:new v(o,Ca),featureList:new v(o,Sa),lookupList:new v(o,new J0(en))},65536:{},65537:{featureVariations:new v(y,ka)}});let It=new w(o,o),Su=new A({shrinkageEnableGSUB:new v(o,It),shrinkageDisableGSUB:new v(o,It),shrinkageEnableGPOS:new v(o,It),shrinkageDisableGPOS:new v(o,It),shrinkageJstfMax:new v(o,new J0(E0)),extensionEnableGSUB:new v(o,It),extensionDisableGSUB:new v(o,It),extensionEnableGPOS:new v(o,It),extensionDisableGPOS:new v(o,It),extensionJstfMax:new v(o,new J0(E0))}),Ua=new w(new v(o,Su),o),Iu=new A({tag:new me(4),jstfLangSys:new v(o,Ua)}),Eu=new A({extenderGlyphs:new v(o,new w(o,o)),defaultLangSys:new v(o,Ua),langSysCount:o,langSysRecords:new w(Iu,"langSysCount")}),ku=new A({tag:new me(4),script:new v(o,Eu,{type:"parent"})});var Fu=new A({version:y,scriptCount:o,scriptList:new w(ku,"scriptCount")});class Bu{decode(e,t){switch(this.size(0,t)){case 1:return e.readUInt8();case 2:return e.readUInt16BE();case 3:return e.readUInt24BE();case 4:return e.readUInt32BE()}}size(e,t){return xt(this._size,null,t)}constructor(e){this._size=e}}let Tu=new A({entry:new Bu(a=>((a.parent.entryFormat&48)>>4)+1),outerIndex:a=>a.entry>>(a.parent.entryFormat&15)+1,innerIndex:a=>a.entry&(1<<(a.parent.entryFormat&15)+1)-1}),Xr=new A({entryFormat:o,mapCount:o,mapData:new w(Tu,"mapCount")});var Pu=new A({majorVersion:o,minorVersion:o,itemVariationStore:new v(y,hr),advanceWidthMapping:new v(y,Xr),LSBMapping:new v(y,Xr),RSBMapping:new v(y,Xr)});let Ou=new A({format:y,length:y,offset:y}),Du=new A({reserved:new Be(o,2),cbSignature:y,signature:new gt("cbSignature")});var Lu=new A({ulVersion:y,usNumSigs:o,usFlag:o,signatures:new w(Ou,"usNumSigs"),signatureBlocks:new w(Du,"usNumSigs")});let Mu=new A({rangeMaxPPEM:o,rangeGaspBehavior:new st(o,["grayscale","gridfit","symmetricSmoothing","symmetricGridfit"])});var Ru=new A({version:o,numRanges:o,gaspRanges:new w(Mu,"numRanges")});let Uu=new A({pixelSize:M,maximumWidth:M,widths:new w(M,a=>a.parent.parent.maxp.numGlyphs)});var Nu=new A({version:o,numRecords:P,sizeDeviceRecord:Ut,records:new w(Uu,"numRecords")});let Gu=new A({left:o,right:o,value:P}),bs=new A({firstGlyph:o,nGlyphs:o,offsets:new w(o,"nGlyphs"),max:a=>a.offsets.length&&Math.max.apply(Math,a.offsets)}),Vu=new A({off:a=>a._startOffset-a.parent.parent._startOffset,len:a=>((a.parent.leftTable.max-a.off)/a.parent.rowWidth+1)*(a.parent.rowWidth/2),values:new we(P,"len")}),gs=new ue("format",{0:{nPairs:o,searchRange:o,entrySelector:o,rangeShift:o,pairs:new w(Gu,"nPairs")},2:{rowWidth:o,leftTable:new v(o,bs,{type:"parent"}),rightTable:new v(o,bs,{type:"parent"}),array:new v(o,Vu,{type:"parent"})},3:{glyphCount:o,kernValueCount:M,leftClassCount:M,rightClassCount:M,flags:M,kernValue:new w(P,"kernValueCount"),leftClass:new w(M,"glyphCount"),rightClass:new w(M,"glyphCount"),kernIndex:new w(M,a=>a.leftClassCount*a.rightClassCount)}}),xs=new ue("version",{0:{subVersion:o,length:o,format:M,coverage:new st(M,["horizontal","minimum","crossStream","override"]),subtable:gs,padding:new Be(M,a=>a.length-a._currentOffset)},1:{length:y,coverage:new st(M,[null,null,null,null,null,"variation","crossStream","vertical"]),format:M,tupleIndex:o,subtable:gs,padding:new Be(M,a=>a.length-a._currentOffset)}});var zu=new ue(o,{0:{nTables:o,tables:new w(xs,"nTables")},1:{reserved:new Be(o),nTables:y,tables:new w(xs,"nTables")}}),qu=new A({version:o,numGlyphs:o,yPels:new w(M,"numGlyphs")}),Wu=new A({version:o,fontNumber:y,pitch:o,xHeight:o,style:o,typeFamily:o,capHeight:o,symbolSet:o,typeface:new me(16),characterComplement:new me(8),fileName:new me(6),strokeWeight:new me(1),widthType:new me(1),serifStyle:M,reserved:new Be(M)});let $u=new A({bCharSet:M,xRatio:M,yStartRatio:M,yEndRatio:M}),Hu=new A({yPelHeight:o,yMax:P,yMin:P}),Xu=new A({recs:o,startsz:M,endsz:M,entries:new w(Hu,"recs")});var ju=new A({version:o,numRecs:o,numRatios:o,ratioRanges:new w($u,"numRatios"),offsets:new w(o,"numRatios"),groups:new w(Xu,"numRecs")}),Yu=new A({version:o,ascent:P,descent:P,lineGap:P,advanceHeightMax:P,minTopSideBearing:P,minBottomSideBearing:P,yMaxExtent:P,caretSlopeRise:P,caretSlopeRun:P,caretOffset:P,reserved:new Be(P,4),metricDataFormat:P,numberOfMetrics:o});let Zu=new A({advance:o,bearing:P});var Ku=new A({metrics:new we(Zu,a=>a.parent.vhea.numberOfMetrics),bearings:new we(P,a=>a.parent.maxp.numGlyphs-a.parent.vhea.numberOfMetrics)});let ms=new Wt(16,"BE",14),Ju=new A({fromCoord:ms,toCoord:ms}),Qu=new A({pairCount:o,correspondence:new w(Ju,"pairCount")});var _u=new A({version:De,axisCount:y,segment:new w(Qu,"axisCount")});class ec{getItem(e){if(this._items[e]==null){let t=this.stream.pos;this.stream.pos=this.base+this.type.size(null,this.parent)*e,this._items[e]=this.type.decode(this.stream,this.parent),this.stream.pos=t}return this._items[e]}inspect(){return`[UnboundedArray ${this.type.constructor.name}]`}constructor(e,t,r){this.type=e,this.stream=t,this.parent=r,this.base=this.stream.pos,this._items=[]}}class bt extends w{decode(e,t){return new ec(this.type,e,t)}constructor(e){super(e,0)}}let Pt=function(a=o){class e{decode(c,f){return f=f.parent.parent,this.type.decode(c,f)}size(c,f){return f=f.parent.parent,this.type.size(c,f)}encode(c,f,p){return p=p.parent.parent,this.type.encode(c,f,p)}constructor(c){this.type=c}}a=new e(a);let t=new A({unitSize:o,nUnits:o,searchRange:o,entrySelector:o,rangeShift:o}),r=new A({lastGlyph:o,firstGlyph:o,value:a}),n=new A({lastGlyph:o,firstGlyph:o,values:new v(o,new w(a,i=>i.lastGlyph-i.firstGlyph+1),{type:"parent"})}),s=new A({glyph:o,value:a});return new ue(o,{0:{values:new bt(a)},2:{binarySearchHeader:t,segments:new w(r,i=>i.binarySearchHeader.nUnits)},4:{binarySearchHeader:t,segments:new w(n,i=>i.binarySearchHeader.nUnits)},6:{binarySearchHeader:t,segments:new w(s,i=>i.binarySearchHeader.nUnits)},8:{firstGlyph:o,count:o,values:new w(a,"count")}})};function U0(a={},e=o){let t=Object.assign({newState:o,flags:o},a),r=new A(t),n=new bt(new w(o,i=>i.nClasses));return new A({nClasses:y,classTable:new v(y,new Pt(e)),stateArray:new v(y,n),entryTable:new v(y,new bt(r))})}function tc(a={},e=o){let t=new A({version(){return 8},firstGlyph:o,values:new w(M,o)}),r=Object.assign({newStateOffset:o,newState:c=>(c.newStateOffset-(c.parent.stateArray.base-c.parent._startOffset))/c.parent.nClasses,flags:o},a),n=new A(r),s=new bt(new w(M,c=>c.nClasses));return new A({nClasses:o,classTable:new v(o,t),stateArray:new v(o,s),entryTable:new v(o,new bt(n))})}let rc=new ue("format",{0:{deltas:new w(P,32)},1:{deltas:new w(P,32),mappingData:new Pt(o)},2:{standardGlyph:o,controlPoints:new w(o,32)},3:{standardGlyph:o,controlPoints:new w(o,32),mappingData:new Pt(o)}});var nc=new A({version:De,format:o,defaultBaseline:o,subtable:rc});let sc=new A({setting:o,nameIndex:P,name:a=>a.parent.parent.parent.name.records.fontFeatures[a.nameIndex]}),ac=new A({feature:o,nSettings:o,settingTable:new v(y,new w(sc,"nSettings"),{type:"parent"}),featureFlags:new st(M,[null,null,null,null,null,null,"hasDefault","exclusive"]),defaultSetting:M,nameIndex:P,name:a=>a.parent.parent.name.records.fontFeatures[a.nameIndex]});var ic=new A({version:De,featureNameCount:o,reserved1:new Be(o),reserved2:new Be(y),featureNames:new w(ac,"featureNameCount")});let oc=new A({axisTag:new me(4),minValue:De,defaultValue:De,maxValue:De,flags:o,nameID:o,name:a=>a.parent.parent.name.records.fontFeatures[a.nameID]}),lc=new A({nameID:o,name:a=>a.parent.parent.name.records.fontFeatures[a.nameID],flags:o,coord:new w(De,a=>a.parent.axisCount),postscriptNameID:new j0(o,a=>a.parent.instanceSize-a._currentOffset>0)});var uc=new A({version:De,offsetToData:o,countSizePairs:o,axisCount:o,axisSize:o,instanceCount:o,instanceSize:o,axis:new w(oc,"axisCount"),instance:new w(lc,"instanceCount")});let cc=new Wt(16,"BE",14);class fc{static decode(e,t){return t.flags?e.readUInt32BE():e.readUInt16BE()*2}}let hc=new A({version:o,reserved:new Be(o),axisCount:o,globalCoordCount:o,globalCoords:new v(y,new w(new w(cc,"axisCount"),"globalCoordCount")),glyphCount:o,flags:o,offsetToData:y,offsets:new w(new v(fc,"void",{relativeTo:a=>a.offsetToData,allowNull:!1}),a=>a.glyphCount+1)});var dc=hc;let pc=new A({length:o,coverage:o,subFeatureFlags:y,stateTable:new tc}),bc=new A({justClass:y,beforeGrowLimit:De,beforeShrinkLimit:De,afterGrowLimit:De,afterShrinkLimit:De,growFlags:o,shrinkFlags:o}),gc=new w(bc,y),xc=new ue("actionType",{0:{lowerLimit:De,upperLimit:De,order:o,glyphs:new w(o,o)},1:{addGlyph:o},2:{substThreshold:De,addGlyph:o,substGlyph:o},3:{},4:{variationAxis:y,minimumLimit:De,noStretchValue:De,maximumLimit:De},5:{flags:o,glyph:o}}),mc=new A({actionClass:o,actionType:o,actionLength:y,actionData:xc,padding:new Be(M,a=>a.actionLength-a._currentOffset)}),wc=new w(mc,y),vc=new A({lookupTable:new Pt(new v(o,wc))}),ws=new A({classTable:new v(o,pc,{type:"parent"}),wdcOffset:o,postCompensationTable:new v(o,vc,{type:"parent"}),widthDeltaClusters:new Pt(new v(o,gc,{type:"parent",relativeTo:a=>a.wdcOffset}))});var yc=new A({version:y,format:o,horizontal:new v(o,ws),vertical:new v(o,ws)});let Cc={action:o},Ac={markIndex:o,currentIndex:o},Sc={currentInsertIndex:o,markedInsertIndex:o},Ic=new A({items:new bt(new v(y,new Pt))}),Ec=new ue("type",{0:{stateTable:new U0},1:{stateTable:new U0(Ac),substitutionTable:new v(y,Ic)},2:{stateTable:new U0(Cc),ligatureActions:new v(y,new bt(y)),components:new v(y,new bt(o)),ligatureList:new v(y,new bt(o))},4:{lookupTable:new Pt},5:{stateTable:new U0(Sc),insertionActions:new v(y,new bt(o))}}),kc=new A({length:y,coverage:Bt,type:M,subFeatureFlags:y,table:Ec,padding:new Be(M,a=>a.length-a._currentOffset)}),Fc=new A({featureType:o,featureSetting:o,enableFlags:y,disableFlags:y}),Bc=new A({defaultFlags:y,chainLength:y,nFeatureEntries:y,nSubtables:y,features:new w(Fc,"nFeatureEntries"),subtables:new w(kc,"nSubtables")});var Tc=new A({version:o,unused:new Be(o),nChains:y,chains:new w(Bc,"nChains")});let Pc=new A({left:P,top:P,right:P,bottom:P});var Oc=new A({version:De,format:o,lookupTable:new Pt(Pc)});let J={};var Q0=J;J.cmap=Po;J.head=Oo;J.hhea=Do;J.hmtx=Mo;J.maxp=Ro;J.name=Wo;J["OS/2"]=$o;J.post=Ho;J.fpgm=jo;J.loca=Yo;J.prep=Zo;J["cvt "]=Xo;J.glyf=Ko;J["CFF "]=La;J.CFF2=La;J.VORG=Rl;J.EBLC=zl;J.CBLC=J.EBLC;J.sbix=Wl;J.COLR=Xl;J.CPAL=Yl;J.BASE=ru;J.GDEF=lu;J.GPOS=wu;J.GSUB=Au;J.JSTF=Fu;J.HVAR=Pu;J.DSIG=Lu;J.gasp=Ru;J.hdmx=Nu;J.kern=zu;J.LTSH=qu;J.PCLT=Wu;J.VDMX=ju;J.vhea=Yu;J.vmtx=Ku;J.avar=_u;J.bsln=nc;J.feat=ic;J.fvar=uc;J.gvar=dc;J.just=yc;J.morx=Tc;J.opbd=Oc;let Dc=new A({tag:new me(4),checkSum:y,offset:new v(y,"void",{type:"global"}),length:y}),yn=new A({tag:new me(4),numTables:o,searchRange:o,entrySelector:o,rangeShift:o,tables:new w(Dc,"numTables")});yn.process=function(){let a={};for(let e of this.tables)a[e.tag]=e;this.tables=a};yn.preEncode=function(){if(!Array.isArray(this.tables)){let t=[];for(let r in this.tables){let n=this.tables[r];n&&t.push({tag:r,checkSum:0,offset:new Zr(Q0[r],n),length:Q0[r].size(n)})}this.tables=t}this.tag="true",this.numTables=this.tables.length;let a=Math.floor(Math.log(this.numTables)/Math.LN2),e=Math.pow(2,a);this.searchRange=e*16,this.entrySelector=Math.log(e)/Math.LN2,this.rangeShift=this.numTables*16-this.searchRange};var Na=yn;function $0(a,e){let t=0,r=a.length-1;for(;t<=r;){let n=t+r>>1,s=e(a[n]);if(s<0)r=n-1;else if(s>0)t=n+1;else return n}return-1}function e0(a,e){let t=[];for(;a<e;)t.push(a++);return t}const dr=new TextDecoder("ascii"),vs="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",m0=new Uint8Array(256);for(let a=0;a<vs.length;a++)m0[vs.charCodeAt(a)]=a;function Cn(a){let e=a.length*.75;a[a.length-1]==="="&&(e--,a[a.length-2]==="="&&e--);let t=new Uint8Array(e),r=0;for(let n=0,s=a.length;n<s;n+=4){let i=m0[a.charCodeAt(n)],c=m0[a.charCodeAt(n+1)],f=m0[a.charCodeAt(n+2)],p=m0[a.charCodeAt(n+3)];t[r++]=i<<2|c>>4,t[r++]=(c&15)<<4|f>>2,t[r++]=(f&3)<<6|p&63}return t}class An{findSubtable(e,t){for(let[r,n]of t)for(let s of e.tables)if(s.platformID===r&&s.encodingID===n)return s.table;return null}lookup(e,t){if(this.encoding)e=this.encoding.get(e)||e;else if(t){let n=this.getVariationSelector(e,t);if(n)return n}let r=this.cmap;switch(r.version){case 0:return r.codeMap.get(e)||0;case 4:{let n=0,s=r.segCount-1;for(;n<=s;){let i=n+s>>1;if(e<r.startCode.get(i))s=i-1;else if(e>r.endCode.get(i))n=i+1;else{let c=r.idRangeOffset.get(i),f;if(c===0)f=e+r.idDelta.get(i);else{let p=c/2+(e-r.startCode.get(i))-(r.segCount-i);f=r.glyphIndexArray.get(p)||0,f!==0&&(f+=r.idDelta.get(i))}return f&65535}}return 0}case 8:throw new Error("TODO: cmap format 8");case 6:case 10:return r.glyphIndices.get(e-r.firstCode)||0;case 12:case 13:{let n=0,s=r.nGroups-1;for(;n<=s;){let i=n+s>>1,c=r.groups.get(i);if(e<c.startCharCode)s=i-1;else if(e>c.endCharCode)n=i+1;else return r.version===12?c.glyphID+(e-c.startCharCode):c.glyphID}return 0}case 14:throw new Error("TODO: cmap format 14");default:throw new Error(`Unknown cmap format ${r.version}`)}}getVariationSelector(e,t){if(!this.uvs)return 0;let r=this.uvs.varSelectors.toArray(),n=$0(r,i=>t-i.varSelector),s=r[n];return n!==-1&&s.defaultUVS&&(n=$0(s.defaultUVS,i=>e<i.startUnicodeValue?-1:e>i.startUnicodeValue+i.additionalCount?1:0)),n!==-1&&s.nonDefaultUVS&&(n=$0(s.nonDefaultUVS,i=>e-i.unicodeValue),n!==-1)?s.nonDefaultUVS[n].glyphID:0}getCharacterSet(){let e=this.cmap;switch(e.version){case 0:return e0(0,e.codeMap.length);case 4:{let t=[],r=e.endCode.toArray();for(let n=0;n<r.length;n++){let s=r[n]+1,i=e.startCode.get(n);t.push(...e0(i,s))}return t}case 8:throw new Error("TODO: cmap format 8");case 6:case 10:return e0(e.firstCode,e.firstCode+e.glyphIndices.length);case 12:case 13:{let t=[];for(let r of e.groups.toArray())t.push(...e0(r.startCharCode,r.endCharCode+1));return t}case 14:throw new Error("TODO: cmap format 14");default:throw new Error(`Unknown cmap format ${e.version}`)}}codePointsForGlyph(e){let t=this.cmap;switch(t.version){case 0:{let n=[];for(let s=0;s<256;s++)t.codeMap.get(s)===e&&n.push(s);return n}case 4:{let n=[];for(let s=0;s<t.segCount;s++){let i=t.endCode.get(s),c=t.startCode.get(s),f=t.idRangeOffset.get(s),p=t.idDelta.get(s);for(var r=c;r<=i;r++){let h=0;if(f===0)h=r+p;else{let b=f/2+(r-c)-(t.segCount-s);h=t.glyphIndexArray.get(b)||0,h!==0&&(h+=p)}h===e&&n.push(r)}}return n}case 12:{let n=[];for(let s of t.groups.toArray())e>=s.glyphID&&e<=s.glyphID+(s.endCharCode-s.startCharCode)&&n.push(s.startCharCode+(e-s.glyphID));return n}case 13:{let n=[];for(let s of t.groups.toArray())e===s.glyphID&&n.push(...e0(s.startCharCode,s.endCharCode+1));return n}default:throw new Error(`Unknown cmap format ${t.version}`)}}constructor(e){if(this.encoding=null,this.cmap=this.findSubtable(e,[[3,10],[0,6],[0,4],[3,1],[0,3],[0,2],[0,1],[0,0]]),!this.cmap)for(let t of e.tables){let r=xa(t.platformID,t.encodingID,t.table.language-1),n=Go(r);n&&(this.cmap=t.table,this.encoding=n)}if(!this.cmap)throw new Error("Could not find a supported cmap table");this.uvs=this.findSubtable(e,[[0,5]]),this.uvs&&this.uvs.version!==14&&(this.uvs=null)}}Ve([ze],An.prototype,"getCharacterSet",null);Ve([ze],An.prototype,"codePointsForGlyph",null);class Lc{process(e,t){for(let r=0;r<e.length-1;r++){let n=e[r].id,s=e[r+1].id;t[r].xAdvance+=this.getKerning(n,s)}}getKerning(e,t){let r=0;for(let n of this.kern.tables){if(n.coverage.crossStream)continue;switch(n.version){case 0:if(!n.coverage.horizontal)continue;break;case 1:if(n.coverage.vertical||n.coverage.variation)continue;break;default:throw new Error(`Unsupported kerning table version ${n.version}`)}let s=0,i=n.subtable;switch(n.format){case 0:let c=$0(i.pairs,function(b){return e-b.left||t-b.right});c>=0&&(s=i.pairs[c].value);break;case 2:let f=0,p=0;e>=i.leftTable.firstGlyph&&e<i.leftTable.firstGlyph+i.leftTable.nGlyphs?f=i.leftTable.offsets[e-i.leftTable.firstGlyph]:f=i.array.off,t>=i.rightTable.firstGlyph&&t<i.rightTable.firstGlyph+i.rightTable.nGlyphs&&(p=i.rightTable.offsets[t-i.rightTable.firstGlyph]);let h=(f+p-i.array.off)/2;s=i.array.values.get(h);break;case 3:if(e>=i.glyphCount||t>=i.glyphCount)return 0;s=i.kernValue[i.kernIndex[i.leftClass[e]*i.rightClassCount+i.rightClass[t]]];break;default:throw new Error(`Unsupported kerning sub-table format ${n.format}`)}n.coverage.override?r=s:r+=s}return r}constructor(e){this.kern=e.kern}}class Mc{positionGlyphs(e,t){let r=0,n=0;for(let s=0;s<e.length;s++)e[s].isMark?n=s:(r!==n&&this.positionCluster(e,t,r,n),r=n=s);return r!==n&&this.positionCluster(e,t,r,n),t}positionCluster(e,t,r,n){let s=e[r],i=s.cbox.copy();s.codePoints.length>1&&(i.minX+=(s.codePoints.length-1)*i.width/s.codePoints.length);let c=-t[r].xAdvance,f=0,p=this.font.unitsPerEm/16;for(let h=r+1;h<=n;h++){let b=e[h],C=b.cbox,F=t[h],O=this.getCombiningClass(b.codePoints[0]);if(O!=="Not_Reordered"){switch(F.xOffset=F.yOffset=0,O){case"Double_Above":case"Double_Below":F.xOffset+=i.minX-C.width/2-C.minX;break;case"Attached_Below_Left":case"Below_Left":case"Above_Left":F.xOffset+=i.minX-C.minX;break;case"Attached_Above_Right":case"Below_Right":case"Above_Right":F.xOffset+=i.maxX-C.width-C.minX;break;default:F.xOffset+=i.minX+(i.width-C.width)/2-C.minX}switch(O){case"Double_Below":case"Below_Left":case"Below":case"Below_Right":case"Attached_Below_Left":case"Attached_Below":(O==="Attached_Below_Left"||O==="Attached_Below")&&(i.minY+=p),F.yOffset=-i.minY-C.maxY,i.minY+=C.height;break;case"Double_Above":case"Above_Left":case"Above":case"Above_Right":case"Attached_Above":case"Attached_Above_Right":(O==="Attached_Above"||O==="Attached_Above_Right")&&(i.maxY+=p),F.yOffset=i.maxY-C.minY,i.maxY+=C.height;break}F.xAdvance=F.yAdvance=0,F.xOffset+=c,F.yOffset+=f}else c-=F.xAdvance,f-=F.yAdvance}}getCombiningClass(e){let t=uo(e);if((e&-256)===3584){if(t==="Not_Reordered")switch(e){case 3633:case 3636:case 3637:case 3638:case 3639:case 3655:case 3660:case 3645:case 3662:return"Above_Right";case 3761:case 3764:case 3765:case 3766:case 3767:case 3771:case 3788:case 3789:return"Above";case 3772:return"Below"}else if(e===3642)return"Below_Right"}switch(t){case"CCC10":case"CCC11":case"CCC12":case"CCC13":case"CCC14":case"CCC15":case"CCC16":case"CCC17":case"CCC18":case"CCC20":case"CCC22":return"Below";case"CCC23":return"Attached_Above";case"CCC24":return"Above_Right";case"CCC25":case"CCC19":return"Above_Left";case"CCC26":return"Above";case"CCC21":break;case"CCC27":case"CCC28":case"CCC30":case"CCC31":case"CCC33":case"CCC34":case"CCC35":case"CCC36":return"Above";case"CCC29":case"CCC32":return"Below";case"CCC103":return"Below_Right";case"CCC107":return"Above_Right";case"CCC118":return"Below";case"CCC122":return"Above";case"CCC129":case"CCC132":return"Below";case"CCC130":return"Above"}return t}constructor(e){this.font=e}}class Ot{get width(){return this.maxX-this.minX}get height(){return this.maxY-this.minY}addPoint(e,t){Math.abs(e)!==1/0&&(e<this.minX&&(this.minX=e),e>this.maxX&&(this.maxX=e)),Math.abs(t)!==1/0&&(t<this.minY&&(this.minY=t),t>this.maxY&&(this.maxY=t))}copy(){return new Ot(this.minX,this.minY,this.maxX,this.maxY)}constructor(e=1/0,t=1/0,r=-1/0,n=-1/0){this.minX=e,this.minY=t,this.maxX=r,this.maxY=n}}const s0={Caucasian_Albanian:"aghb",Arabic:"arab",Imperial_Aramaic:"armi",Armenian:"armn",Avestan:"avst",Balinese:"bali",Bamum:"bamu",Bassa_Vah:"bass",Batak:"batk",Bengali:["bng2","beng"],Bopomofo:"bopo",Brahmi:"brah",Braille:"brai",Buginese:"bugi",Buhid:"buhd",Chakma:"cakm",Canadian_Aboriginal:"cans",Carian:"cari",Cham:"cham",Cherokee:"cher",Coptic:"copt",Cypriot:"cprt",Cyrillic:"cyrl",Devanagari:["dev2","deva"],Deseret:"dsrt",Duployan:"dupl",Egyptian_Hieroglyphs:"egyp",Elbasan:"elba",Ethiopic:"ethi",Georgian:"geor",Glagolitic:"glag",Gothic:"goth",Grantha:"gran",Greek:"grek",Gujarati:["gjr2","gujr"],Gurmukhi:["gur2","guru"],Hangul:"hang",Han:"hani",Hanunoo:"hano",Hebrew:"hebr",Hiragana:"hira",Pahawh_Hmong:"hmng",Katakana_Or_Hiragana:"hrkt",Old_Italic:"ital",Javanese:"java",Kayah_Li:"kali",Katakana:"kana",Kharoshthi:"khar",Khmer:"khmr",Khojki:"khoj",Kannada:["knd2","knda"],Kaithi:"kthi",Tai_Tham:"lana",Lao:"lao ",Latin:"latn",Lepcha:"lepc",Limbu:"limb",Linear_A:"lina",Linear_B:"linb",Lisu:"lisu",Lycian:"lyci",Lydian:"lydi",Mahajani:"mahj",Mandaic:"mand",Manichaean:"mani",Mende_Kikakui:"mend",Meroitic_Cursive:"merc",Meroitic_Hieroglyphs:"mero",Malayalam:["mlm2","mlym"],Modi:"modi",Mongolian:"mong",Mro:"mroo",Meetei_Mayek:"mtei",Myanmar:["mym2","mymr"],Old_North_Arabian:"narb",Nabataean:"nbat",Nko:"nko ",Ogham:"ogam",Ol_Chiki:"olck",Old_Turkic:"orkh",Oriya:["ory2","orya"],Osmanya:"osma",Palmyrene:"palm",Pau_Cin_Hau:"pauc",Old_Permic:"perm",Phags_Pa:"phag",Inscriptional_Pahlavi:"phli",Psalter_Pahlavi:"phlp",Phoenician:"phnx",Miao:"plrd",Inscriptional_Parthian:"prti",Rejang:"rjng",Runic:"runr",Samaritan:"samr",Old_South_Arabian:"sarb",Saurashtra:"saur",Shavian:"shaw",Sharada:"shrd",Siddham:"sidd",Khudawadi:"sind",Sinhala:"sinh",Sora_Sompeng:"sora",Sundanese:"sund",Syloti_Nagri:"sylo",Syriac:"syrc",Tagbanwa:"tagb",Takri:"takr",Tai_Le:"tale",New_Tai_Lue:"talu",Tamil:["tml2","taml"],Tai_Viet:"tavt",Telugu:["tel2","telu"],Tifinagh:"tfng",Tagalog:"tglg",Thaana:"thaa",Thai:"thai",Tibetan:"tibt",Tirhuta:"tirh",Ugaritic:"ugar",Vai:"vai ",Warang_Citi:"wara",Old_Persian:"xpeo",Cuneiform:"xsux",Yi:"yi ",Inherited:"zinh",Common:"zyyy",Unknown:"zzzz"},tn={};for(let a in s0){let e=s0[a];if(Array.isArray(e))for(let t of e)tn[t]=a;else tn[e]=a}function Rc(a){return tn[a]}function Uc(a){let e=a.length,t=0;for(;t<e;){let r=a.charCodeAt(t++);if(55296<=r&&r<=56319&&t<e){let s=a.charCodeAt(t);56320<=s&&s<=57343&&(t++,r=((r&1023)<<10)+(s&1023)+65536)}let n=aa(r);if(n!=="Common"&&n!=="Inherited"&&n!=="Unknown")return s0[n]}return s0.Unknown}function Nc(a){for(let e=0;e<a.length;e++){let t=a[e],r=aa(t);if(r!=="Common"&&r!=="Inherited"&&r!=="Unknown")return s0[r]}return s0.Unknown}const Gc={arab:!0,hebr:!0,syrc:!0,thaa:!0,cprt:!0,khar:!0,phnx:!0,"nko ":!0,lydi:!0,avst:!0,armi:!0,phli:!0,prti:!0,sarb:!0,orkh:!0,samr:!0,mand:!0,merc:!0,mero:!0,mani:!0,mend:!0,nbat:!0,narb:!0,palm:!0,phlp:!0};function Ga(a){return Gc[a]?"rtl":"ltr"}class Vc{get advanceWidth(){let e=0;for(let t of this.positions)e+=t.xAdvance;return e}get advanceHeight(){let e=0;for(let t of this.positions)e+=t.yAdvance;return e}get bbox(){let e=new Ot,t=0,r=0;for(let n=0;n<this.glyphs.length;n++){let s=this.glyphs[n],i=this.positions[n],c=s.bbox;e.addPoint(c.minX+t+i.xOffset,c.minY+r+i.yOffset),e.addPoint(c.maxX+t+i.xOffset,c.maxY+r+i.yOffset),t+=i.xAdvance,r+=i.yAdvance}return e}constructor(e,t,r,n,s){if(this.glyphs=e,this.positions=null,this.script=r,this.language=n||null,this.direction=s||Ga(r),this.features={},Array.isArray(t))for(let i of t)this.features[i]=!0;else typeof t=="object"&&(this.features=t)}}class zc{constructor(e=0,t=0,r=0,n=0){this.xAdvance=e,this.yAdvance=t,this.xOffset=r,this.yOffset=n}}const Gt={allTypographicFeatures:{code:0,exclusive:!1,allTypeFeatures:0},ligatures:{code:1,exclusive:!1,requiredLigatures:0,commonLigatures:2,rareLigatures:4,rebusPictures:8,diphthongLigatures:10,squaredLigatures:12,abbrevSquaredLigatures:14,symbolLigatures:16,contextualLigatures:18,historicalLigatures:20},cursiveConnection:{code:2,exclusive:!0,unconnected:0,partiallyConnected:1,cursive:2},letterCase:{code:3,exclusive:!0},verticalSubstitution:{code:4,exclusive:!1,substituteVerticalForms:0},linguisticRearrangement:{code:5,exclusive:!1,linguisticRearrangement:0},numberSpacing:{code:6,exclusive:!0,monospacedNumbers:0,proportionalNumbers:1,thirdWidthNumbers:2,quarterWidthNumbers:3},smartSwash:{code:8,exclusive:!1,wordInitialSwashes:0,wordFinalSwashes:2,nonFinalSwashes:8},diacritics:{code:9,exclusive:!0,showDiacritics:0,hideDiacritics:1,decomposeDiacritics:2},verticalPosition:{code:10,exclusive:!0,normalPosition:0,superiors:1,inferiors:2,ordinals:3,scientificInferiors:4},fractions:{code:11,exclusive:!0,noFractions:0,verticalFractions:1,diagonalFractions:2},overlappingCharacters:{code:13,exclusive:!1,preventOverlap:0},typographicExtras:{code:14,exclusive:!1,slashedZero:4},mathematicalExtras:{code:15,exclusive:!1,mathematicalGreek:10},ornamentSets:{code:16,exclusive:!0,noOrnaments:0,dingbats:1,piCharacters:2,fleurons:3,decorativeBorders:4,internationalSymbols:5,mathSymbols:6},characterAlternatives:{code:17,exclusive:!0,noAlternates:0},designComplexity:{code:18,exclusive:!0,designLevel1:0,designLevel2:1,designLevel3:2,designLevel4:3,designLevel5:4},styleOptions:{code:19,exclusive:!0,noStyleOptions:0,displayText:1,engravedText:2,illuminatedCaps:3,titlingCaps:4,tallCaps:5},characterShape:{code:20,exclusive:!0,traditionalCharacters:0,simplifiedCharacters:1,JIS1978Characters:2,JIS1983Characters:3,JIS1990Characters:4,traditionalAltOne:5,traditionalAltTwo:6,traditionalAltThree:7,traditionalAltFour:8,traditionalAltFive:9,expertCharacters:10,JIS2004Characters:11,hojoCharacters:12,NLCCharacters:13,traditionalNamesCharacters:14},numberCase:{code:21,exclusive:!0,lowerCaseNumbers:0,upperCaseNumbers:1},textSpacing:{code:22,exclusive:!0,proportionalText:0,monospacedText:1,halfWidthText:2,thirdWidthText:3,quarterWidthText:4,altProportionalText:5,altHalfWidthText:6},transliteration:{code:23,exclusive:!0,noTransliteration:0},annotation:{code:24,exclusive:!0,noAnnotation:0,boxAnnotation:1,roundedBoxAnnotation:2,circleAnnotation:3,invertedCircleAnnotation:4,parenthesisAnnotation:5,periodAnnotation:6,romanNumeralAnnotation:7,diamondAnnotation:8,invertedBoxAnnotation:9,invertedRoundedBoxAnnotation:10},kanaSpacing:{code:25,exclusive:!0,fullWidthKana:0,proportionalKana:1},ideographicSpacing:{code:26,exclusive:!0,fullWidthIdeographs:0,proportionalIdeographs:1,halfWidthIdeographs:2},unicodeDecomposition:{code:27,exclusive:!1,canonicalComposition:0,compatibilityComposition:2,transcodingComposition:4},rubyKana:{code:28,exclusive:!1,rubyKana:2},CJKSymbolAlternatives:{code:29,exclusive:!0,noCJKSymbolAlternatives:0,CJKSymbolAltOne:1,CJKSymbolAltTwo:2,CJKSymbolAltThree:3,CJKSymbolAltFour:4,CJKSymbolAltFive:5},ideographicAlternatives:{code:30,exclusive:!0,noIdeographicAlternatives:0,ideographicAltOne:1,ideographicAltTwo:2,ideographicAltThree:3,ideographicAltFour:4,ideographicAltFive:5},CJKVerticalRomanPlacement:{code:31,exclusive:!0,CJKVerticalRomanCentered:0,CJKVerticalRomanHBaseline:1},italicCJKRoman:{code:32,exclusive:!1,CJKItalicRoman:2},caseSensitiveLayout:{code:33,exclusive:!1,caseSensitiveLayout:0,caseSensitiveSpacing:2},alternateKana:{code:34,exclusive:!1,alternateHorizKana:0,alternateVertKana:2},stylisticAlternatives:{code:35,exclusive:!1,noStylisticAlternates:0,stylisticAltOne:2,stylisticAltTwo:4,stylisticAltThree:6,stylisticAltFour:8,stylisticAltFive:10,stylisticAltSix:12,stylisticAltSeven:14,stylisticAltEight:16,stylisticAltNine:18,stylisticAltTen:20,stylisticAltEleven:22,stylisticAltTwelve:24,stylisticAltThirteen:26,stylisticAltFourteen:28,stylisticAltFifteen:30,stylisticAltSixteen:32,stylisticAltSeventeen:34,stylisticAltEighteen:36,stylisticAltNineteen:38,stylisticAltTwenty:40},contextualAlternates:{code:36,exclusive:!1,contextualAlternates:0,swashAlternates:2,contextualSwashAlternates:4},lowerCase:{code:37,exclusive:!0,defaultLowerCase:0,lowerCaseSmallCaps:1,lowerCasePetiteCaps:2},upperCase:{code:38,exclusive:!0,defaultUpperCase:0,upperCaseSmallCaps:1,upperCasePetiteCaps:2},languageTag:{code:39,exclusive:!0},CJKRomanSpacing:{code:103,exclusive:!0,halfWidthCJKRoman:0,proportionalCJKRoman:1,defaultCJKRoman:2,fullWidthCJKRoman:3}},D=(a,e)=>[Gt[a].code,Gt[a][e]],_0={rlig:D("ligatures","requiredLigatures"),clig:D("ligatures","contextualLigatures"),dlig:D("ligatures","rareLigatures"),hlig:D("ligatures","historicalLigatures"),liga:D("ligatures","commonLigatures"),hist:D("ligatures","historicalLigatures"),smcp:D("lowerCase","lowerCaseSmallCaps"),pcap:D("lowerCase","lowerCasePetiteCaps"),frac:D("fractions","diagonalFractions"),dnom:D("fractions","diagonalFractions"),numr:D("fractions","diagonalFractions"),afrc:D("fractions","verticalFractions"),case:D("caseSensitiveLayout","caseSensitiveLayout"),ccmp:D("unicodeDecomposition","canonicalComposition"),cpct:D("CJKVerticalRomanPlacement","CJKVerticalRomanCentered"),valt:D("CJKVerticalRomanPlacement","CJKVerticalRomanCentered"),swsh:D("contextualAlternates","swashAlternates"),cswh:D("contextualAlternates","contextualSwashAlternates"),curs:D("cursiveConnection","cursive"),c2pc:D("upperCase","upperCasePetiteCaps"),c2sc:D("upperCase","upperCaseSmallCaps"),init:D("smartSwash","wordInitialSwashes"),fin2:D("smartSwash","wordFinalSwashes"),medi:D("smartSwash","nonFinalSwashes"),med2:D("smartSwash","nonFinalSwashes"),fin3:D("smartSwash","wordFinalSwashes"),fina:D("smartSwash","wordFinalSwashes"),pkna:D("kanaSpacing","proportionalKana"),half:D("textSpacing","halfWidthText"),halt:D("textSpacing","altHalfWidthText"),hkna:D("alternateKana","alternateHorizKana"),vkna:D("alternateKana","alternateVertKana"),ital:D("italicCJKRoman","CJKItalicRoman"),lnum:D("numberCase","upperCaseNumbers"),onum:D("numberCase","lowerCaseNumbers"),mgrk:D("mathematicalExtras","mathematicalGreek"),calt:D("contextualAlternates","contextualAlternates"),vrt2:D("verticalSubstitution","substituteVerticalForms"),vert:D("verticalSubstitution","substituteVerticalForms"),tnum:D("numberSpacing","monospacedNumbers"),pnum:D("numberSpacing","proportionalNumbers"),sups:D("verticalPosition","superiors"),subs:D("verticalPosition","inferiors"),ordn:D("verticalPosition","ordinals"),pwid:D("textSpacing","proportionalText"),hwid:D("textSpacing","halfWidthText"),qwid:D("textSpacing","quarterWidthText"),twid:D("textSpacing","thirdWidthText"),fwid:D("textSpacing","proportionalText"),palt:D("textSpacing","altProportionalText"),trad:D("characterShape","traditionalCharacters"),smpl:D("characterShape","simplifiedCharacters"),jp78:D("characterShape","JIS1978Characters"),jp83:D("characterShape","JIS1983Characters"),jp90:D("characterShape","JIS1990Characters"),jp04:D("characterShape","JIS2004Characters"),expt:D("characterShape","expertCharacters"),hojo:D("characterShape","hojoCharacters"),nlck:D("characterShape","NLCCharacters"),tnam:D("characterShape","traditionalNamesCharacters"),ruby:D("rubyKana","rubyKana"),titl:D("styleOptions","titlingCaps"),zero:D("typographicExtras","slashedZero"),ss01:D("stylisticAlternatives","stylisticAltOne"),ss02:D("stylisticAlternatives","stylisticAltTwo"),ss03:D("stylisticAlternatives","stylisticAltThree"),ss04:D("stylisticAlternatives","stylisticAltFour"),ss05:D("stylisticAlternatives","stylisticAltFive"),ss06:D("stylisticAlternatives","stylisticAltSix"),ss07:D("stylisticAlternatives","stylisticAltSeven"),ss08:D("stylisticAlternatives","stylisticAltEight"),ss09:D("stylisticAlternatives","stylisticAltNine"),ss10:D("stylisticAlternatives","stylisticAltTen"),ss11:D("stylisticAlternatives","stylisticAltEleven"),ss12:D("stylisticAlternatives","stylisticAltTwelve"),ss13:D("stylisticAlternatives","stylisticAltThirteen"),ss14:D("stylisticAlternatives","stylisticAltFourteen"),ss15:D("stylisticAlternatives","stylisticAltFifteen"),ss16:D("stylisticAlternatives","stylisticAltSixteen"),ss17:D("stylisticAlternatives","stylisticAltSeventeen"),ss18:D("stylisticAlternatives","stylisticAltEighteen"),ss19:D("stylisticAlternatives","stylisticAltNineteen"),ss20:D("stylisticAlternatives","stylisticAltTwenty")};for(let a=1;a<=99;a++)_0[`cv${`00${a}`.slice(-2)}`]=[Gt.characterAlternatives.code,a];let Vt={};for(let a in _0){let e=_0[a];Vt[e[0]]==null&&(Vt[e[0]]={}),Vt[e[0]][e[1]]=a}function qc(a){let e={};for(let t in a){let r;(r=_0[t])&&(e[r[0]]==null&&(e[r[0]]={}),e[r[0]][r[1]]=a[t])}return e}function ys(a){let[e,t]=a;if(isNaN(e))var r=Gt[e]&&Gt[e].code;else var r=e;if(isNaN(t))var n=Gt[e]&&Gt[e][t];else var n=t;return[r,n]}function Wc(a){let e={};if(Array.isArray(a))for(let t=0;t<a.length;t++){let r,n=ys(a[t]);(r=Vt[n[0]]&&Vt[n[0]][n[1]])&&(e[r]=!0)}else if(typeof a=="object")for(let t in a){let r=a[t];for(let n in r){let s,i=ys([t,n]);r[n]&&(s=Vt[i[0]]&&Vt[i[0]][i[1]])&&(e[s]=!0)}}return Object.keys(e)}class v0{lookup(e){switch(this.table.version){case 0:return this.table.values.getItem(e);case 2:case 4:{let n=0,s=this.table.binarySearchHeader.nUnits-1;for(;n<=s;){var t=n+s>>1,r=this.table.segments[t];if(r.firstGlyph===65535)return null;if(e<r.firstGlyph)s=t-1;else if(e>r.lastGlyph)n=t+1;else return this.table.version===2?r.value:r.values[e-r.firstGlyph]}return null}case 6:{let n=0,s=this.table.binarySearchHeader.nUnits-1;for(;n<=s;){var t=n+s>>1,r=this.table.segments[t];if(r.glyph===65535)return null;if(e<r.glyph)s=t-1;else if(e>r.glyph)n=t+1;else return r.value}return null}case 8:return this.table.values[e-this.table.firstGlyph];default:throw new Error(`Unknown lookup table format: ${this.table.version}`)}}glyphsForValue(e){let t=[];switch(this.table.version){case 2:case 4:for(let r of this.table.segments)if(this.table.version===2&&r.value===e)t.push(...e0(r.firstGlyph,r.lastGlyph+1));else for(let n=0;n<r.values.length;n++)r.values[n]===e&&t.push(r.firstGlyph+n);break;case 6:for(let r of this.table.segments)r.value===e&&t.push(r.glyph);break;case 8:for(let r=0;r<this.table.values.length;r++)this.table.values[r]===e&&t.push(this.table.firstGlyph+r);break;default:throw new Error(`Unknown lookup table format: ${this.table.version}`)}return t}constructor(e){this.table=e}}Ve([ze],v0.prototype,"glyphsForValue",null);const $c=0,Cs=0,As=1,Ss=2,Hc=16384;class Xc{process(e,t,r){let n=$c,s=t?e.length-1:0,i=t?-1:1;for(;i===1&&s<=e.length||i===-1&&s>=-1;){let c=null,f=As,p=!0;s===e.length||s===-1?f=Cs:(c=e[s],c.id===65535?f=Ss:(f=this.lookupTable.lookup(c.id),f==null&&(f=As)));let b=this.stateTable.stateArray.getItem(n)[f],C=this.stateTable.entryTable.getItem(b);f!==Cs&&f!==Ss&&(r(c,C,s),p=!(C.flags&Hc)),n=C.newState,p&&(s+=i)}return e}traverse(e,t=0,r=new Set){if(r.has(t))return;r.add(t);let{nClasses:n,stateArray:s,entryTable:i}=this.stateTable,c=s.getItem(t);for(let f=4;f<n;f++){let p=c[f],h=i.getItem(p);for(let b of this.lookupTable.glyphsForValue(f))e.enter&&e.enter(b,h),h.newState!==0&&this.traverse(e,h.newState,r),e.exit&&e.exit(b,h)}}constructor(e){this.stateTable=e,this.lookupTable=new v0(e.classTable)}}const jc=32768,Yc=8192,Zc=15,Is=32768,Kc=32768,Jc=8192,Qc=2147483648,_c=1073741824,ef=1073741823,Es=4194304,tf=2048,rf=1024,nf=992,sf=31;class Va{process(e,t={}){for(let n of this.morx.chains){let s=n.defaultFlags;for(let i of n.features){let c;(c=t[i.featureType])&&(c[i.featureSetting]?(s&=i.disableFlags,s|=i.enableFlags):c[i.featureSetting]===!1&&(s|=~i.disableFlags,s&=~i.enableFlags))}for(let i of n.subtables)i.subFeatureFlags&s&&this.processSubtable(i,e)}let r=e.length-1;for(;r>=0;)e[r].id===65535&&e.splice(r,1),r--;return e}processSubtable(e,t){if(this.subtable=e,this.glyphs=t,this.subtable.type===4){this.processNoncontextualSubstitutions(this.subtable,this.glyphs);return}this.ligatureStack=[],this.markedGlyph=null,this.firstGlyph=null,this.lastGlyph=null,this.markedIndex=null;let r=this.getStateMachine(e),n=this.getProcessor(),s=!!(this.subtable.coverage&Es);return r.process(this.glyphs,s,n)}getStateMachine(e){return new Xc(e.table.stateTable)}getProcessor(){switch(this.subtable.type){case 0:return this.processIndicRearragement;case 1:return this.processContextualSubstitution;case 2:return this.processLigature;case 4:return this.processNoncontextualSubstitutions;case 5:return this.processGlyphInsertion;default:throw new Error(`Invalid morx subtable type: ${this.subtable.type}`)}}processIndicRearragement(e,t,r){t.flags&jc&&(this.firstGlyph=r),t.flags&Yc&&(this.lastGlyph=r),af(this.glyphs,t.flags&Zc,this.firstGlyph,this.lastGlyph)}processContextualSubstitution(e,t,r){let n=this.subtable.table.substitutionTable.items;if(t.markIndex!==65535){let i=n.getItem(t.markIndex),c=new v0(i);e=this.glyphs[this.markedGlyph];var s=c.lookup(e.id);s&&(this.glyphs[this.markedGlyph]=this.font.getGlyph(s,e.codePoints))}if(t.currentIndex!==65535){let i=n.getItem(t.currentIndex),c=new v0(i);e=this.glyphs[r];var s=c.lookup(e.id);s&&(this.glyphs[r]=this.font.getGlyph(s,e.codePoints))}t.flags&Is&&(this.markedGlyph=r)}processLigature(e,t,r){if(t.flags&Kc&&this.ligatureStack.push(r),t.flags&Jc){let n=this.subtable.table.ligatureActions,s=this.subtable.table.components,i=this.subtable.table.ligatureList,c=t.action,f=!1,p=0,h=[],b=[];for(;!f;){let C=this.ligatureStack.pop();h.unshift(...this.glyphs[C].codePoints);let F=n.getItem(c++);f=!!(F&Qc);let O=!!(F&_c),G=(F&ef)<<2>>2;G+=this.glyphs[C].id;let Q=s.getItem(G);if(p+=Q,f||O){let z=i.getItem(p);this.glyphs[C]=this.font.getGlyph(z,h),b.push(C),p=0,h=[]}else this.glyphs[C]=this.font.getGlyph(65535)}this.ligatureStack.push(...b)}}processNoncontextualSubstitutions(e,t,r){let n=new v0(e.table.lookupTable);for(r=0;r<t.length;r++){let s=t[r];if(s.id!==65535){let i=n.lookup(s.id);i&&(t[r]=this.font.getGlyph(i,s.codePoints))}}}_insertGlyphs(e,t,r,n){let s=[];for(;r--;){let i=this.subtable.table.insertionActions.getItem(t++);s.push(this.font.getGlyph(i))}n||e++,this.glyphs.splice(e,0,...s)}processGlyphInsertion(e,t,r){if(t.flags&Is&&(this.markedIndex=r),t.markedInsertIndex!==65535){let n=(t.flags&sf)>>>5,s=!!(t.flags&rf);this._insertGlyphs(this.markedIndex,t.markedInsertIndex,n,s)}if(t.currentInsertIndex!==65535){let n=(t.flags&nf)>>>5,s=!!(t.flags&tf);this._insertGlyphs(r,t.currentInsertIndex,n,s)}}getSupportedFeatures(){let e=[];for(let t of this.morx.chains)for(let r of t.features)e.push([r.featureType,r.featureSetting]);return e}generateInputs(e){return this.inputCache||this.generateInputCache(),this.inputCache[e]||[]}generateInputCache(){this.inputCache={};for(let e of this.morx.chains){let t=e.defaultFlags;for(let r of e.subtables)r.subFeatureFlags&t&&this.generateInputsForSubtable(r)}}generateInputsForSubtable(e){if(e.type!==2)return;if(!!(e.coverage&Es))throw new Error("Reverse subtable, not supported.");this.subtable=e,this.ligatureStack=[];let r=this.getStateMachine(e),n=this.getProcessor(),s=[],i=[];this.glyphs=[],r.traverse({enter:(c,f)=>{let p=this.glyphs;i.push({glyphs:p.slice(),ligatureStack:this.ligatureStack.slice()});let h=this.font.getGlyph(c);s.push(h),p.push(s[s.length-1]),n(p[p.length-1],f,p.length-1);let b=0,C=0;for(let F=0;F<p.length&&b<=1;F++)p[F].id!==65535&&(b++,C=p[F].id);if(b===1){let F=s.map(G=>G.id),O=this.inputCache[C];O?O.push(F):this.inputCache[C]=[F]}},exit:()=>{({glyphs:this.glyphs,ligatureStack:this.ligatureStack}=i.pop()),s.pop()}})}constructor(e){this.processIndicRearragement=this.processIndicRearragement.bind(this),this.processContextualSubstitution=this.processContextualSubstitution.bind(this),this.processLigature=this.processLigature.bind(this),this.processNoncontextualSubstitutions=this.processNoncontextualSubstitutions.bind(this),this.processGlyphInsertion=this.processGlyphInsertion.bind(this),this.font=e,this.morx=e.morx,this.inputCache=null}}Ve([ze],Va.prototype,"getStateMachine",null);function Xe(a,e,t,r=!1,n=!1){let s=a.splice(t[0]-(t[1]-1),t[1]);n&&s.reverse();let i=a.splice(e[0],e[1],...s);return r&&i.reverse(),a.splice(t[0]-(e[1]-1),0,...i),a}function af(a,e,t,r){switch(e){case 0:return a;case 1:return Xe(a,[t,1],[r,0]);case 2:return Xe(a,[t,0],[r,1]);case 3:return Xe(a,[t,1],[r,1]);case 4:return Xe(a,[t,2],[r,0]);case 5:return Xe(a,[t,2],[r,0],!0,!1);case 6:return Xe(a,[t,0],[r,2]);case 7:return Xe(a,[t,0],[r,2],!1,!0);case 8:return Xe(a,[t,1],[r,2]);case 9:return Xe(a,[t,1],[r,2],!1,!0);case 10:return Xe(a,[t,2],[r,1]);case 11:return Xe(a,[t,2],[r,1],!0,!1);case 12:return Xe(a,[t,2],[r,2]);case 13:return Xe(a,[t,2],[r,2],!0,!1);case 14:return Xe(a,[t,2],[r,2],!1,!0);case 15:return Xe(a,[t,2],[r,2],!0,!0);default:throw new Error(`Unknown verb: ${e}`)}}class of{substitute(e){e.direction==="rtl"&&e.glyphs.reverse(),this.morxProcessor.process(e.glyphs,qc(e.features))}getAvailableFeatures(e,t){return Wc(this.morxProcessor.getSupportedFeatures())}stringsForGlyph(e){let t=this.morxProcessor.generateInputs(e),r=new Set;for(let n of t)this._addStrings(n,0,r,"");return r}_addStrings(e,t,r,n){let s=this.font._cmapProcessor.codePointsForGlyph(e[t]);for(let i of s){let c=n+String.fromCodePoint(i);t<e.length-1?this._addStrings(e,t+1,r,c):r.add(c)}}constructor(e){this.font=e,this.morxProcessor=new Va(e),this.fallbackPosition=!1}}class lf{_addFeatures(e,t){let r=this.stages.length-1,n=this.stages[r];for(let s of e)this.allFeatures[s]==null&&(n.push(s),this.allFeatures[s]=r,t&&(this.globalFeatures[s]=!0))}add(e,t=!0){if(this.stages.length===0&&this.stages.push([]),typeof e=="string"&&(e=[e]),Array.isArray(e))this._addFeatures(e,t);else if(typeof e=="object")this._addFeatures(e.global||[],!0),this._addFeatures(e.local||[],!1);else throw new Error("Unsupported argument to ShapingPlan#add")}addStage(e,t){typeof e=="function"?this.stages.push(e,[]):(this.stages.push([]),this.add(e,t))}setFeatureOverrides(e){if(Array.isArray(e))this.add(e);else if(typeof e=="object"){for(let t in e)if(e[t])this.add(t);else if(this.allFeatures[t]!=null){let r=this.stages[this.allFeatures[t]];r.splice(r.indexOf(t),1),delete this.allFeatures[t],delete this.globalFeatures[t]}}}assignGlobalFeatures(e){for(let t of e)for(let r in this.globalFeatures)t.features[r]=!0}process(e,t,r){for(let n of this.stages)typeof n=="function"?r||n(this.font,t,this):n.length>0&&e.applyFeatures(n,t,r)}constructor(e,t,r){this.font=e,this.script=t,this.direction=r,this.stages=[],this.globalFeatures={},this.allFeatures={}}}const uf=["rvrn"],cf=["ccmp","locl","rlig","mark","mkmk"],ff=["frac","numr","dnom"],hf=["calt","clig","liga","rclt","curs","kern"],df={ltr:["ltra","ltrm"],rtl:["rtla","rtlm"]};class Dt{static plan(e,t,r){this.planPreprocessing(e),this.planFeatures(e),this.planPostprocessing(e,r),e.assignGlobalFeatures(t),this.assignFeatures(e,t)}static planPreprocessing(e){e.add({global:[...uf,...df[e.direction]],local:ff})}static planFeatures(e){}static planPostprocessing(e,t){e.add([...cf,...hf]),e.setFeatureOverrides(t)}static assignFeatures(e,t){for(let r=0;r<t.length;r++){let n=t[r];if(n.codePoints[0]===8260){let s=r,i=r+1;for(;s>0&&Yn(t[s-1].codePoints[0]);)t[s-1].features.numr=!0,t[s-1].features.frac=!0,s--;for(;i<t.length&&Yn(t[i].codePoints[0]);)t[i].features.dnom=!0,t[i].features.frac=!0,i++;n.features.frac=!0,r=i-1}}}}Ke(Dt,"zeroMarkWidths","AFTER_GPOS");const pf=new or(Cn("APABAAAAAAAAOAAAAf0BAv7tmi1MxDAUx7vtvjhAgcDgkEgEAnmXEBIMCYaEcygEiqBQ4FAkCE4ikUgMiiBJSAgSiUQSDMn9L9eSl6bddddug9t7yS/trevre+3r27pcNxZiG+yCfdCVv/9LeQxOwRm4AJegD27ALbgD9+ABPJF+z+BN/h7yDj5k/VOWX6SdmU5+wLWknggxDxaS8u0qiiX4uiz9XamQ3wzDMAzDMAzDMAzDVI/h959V/v7BMAzDMAzDMLlyNTNiMSdewVxbiA44B4/guz1qW58VYlMI0WsJ0W+N6kXw0spvPtdwhtkwnGM6uLaV4Xyzg3v3PM9DPfQ/sOg4xPWjipy31P8LTqbU304c/cLCUmWJLNB2Uz2U1KTeRKNmKHVMfbJC+/0loTZRH/W5cvEvBJPMbREkWt3FD1NcqXZBSpuE2Ad0PBehPtNrPtIEdYP+hiRt/V1jIiE69X4NT/uVZI3PUHE9bm5M7ePGdZWy951v7Nn6j8v1WWKP3mt6ttnsigx6VN7Vc0VomSSGqW2mGNP1muZPl7LfjNUaKNFtDGVf2fvE9O7VlBS5j333c5p/eeoOqcs1R/hIqDWLJ7TTlksirVT1SI7l8k4Yp+g3jafGcrU1RM6l9th80XOpnlN97bDNY4i4s61B0Si/ipa0uHMl6zqEjlFfCZm/TM8KmzQDjmuTAQ==")),ks=["isol","fina","fin2","fin3","medi","med2","init"],rn={Non_Joining:0,Transparent:6},Se="isol",Et="fina",jr="fin2",bf="fin3",N0="medi",G0="med2",V0="init",he=null,gf=[[[he,he,0],[he,Se,2],[he,Se,1],[he,Se,2],[he,Se,1],[he,Se,6]],[[he,he,0],[he,Se,2],[he,Se,1],[he,Se,2],[he,jr,5],[he,Se,6]],[[he,he,0],[he,Se,2],[V0,Et,1],[V0,Et,3],[V0,Et,4],[V0,Et,6]],[[he,he,0],[he,Se,2],[N0,Et,1],[N0,Et,3],[N0,Et,4],[N0,Et,6]],[[he,he,0],[he,Se,2],[G0,Se,1],[G0,Se,2],[G0,jr,5],[G0,Se,6]],[[he,he,0],[he,Se,2],[Se,Se,1],[Se,Se,2],[Se,jr,5],[Se,Se,6]],[[he,he,0],[he,Se,2],[he,Se,1],[he,Se,2],[he,bf,5],[he,Se,6]]];class kt extends Dt{static planFeatures(e){e.add(["ccmp","locl"]);for(let t=0;t<ks.length;t++){let r=ks[t];e.addStage(r,!1)}e.addStage("mset")}static assignFeatures(e,t){super.assignFeatures(e,t);let r=-1,n=0,s=[];for(let c=0;c<t.length;c++){let f,p;var i=t[c];let h=xf(i.codePoints[0]);if(h===rn.Transparent){s[c]=he;continue}[p,f,n]=gf[n][h],p!==he&&r!==-1&&(s[r]=p),s[c]=f,r=c}for(let c=0;c<t.length;c++){let f;var i=t[c];(f=s[c])&&(i.features[f]=!0)}}}function xf(a){let e=pf.get(a);if(e)return e-1;let t=ur(a);return t==="Mn"||t==="Me"||t==="Cf"?rn.Transparent:rn.Non_Joining}class mf{reset(e={},t=0){this.options=e,this.flags=e.flags||{},this.markAttachmentType=e.markAttachmentType||0,this.index=t}get cur(){return this.glyphs[this.index]||null}shouldIgnore(e){return this.flags.ignoreMarks&&e.isMark||this.flags.ignoreBaseGlyphs&&e.isBase||this.flags.ignoreLigatures&&e.isLigature||this.markAttachmentType&&e.isMark&&e.markAttachmentType!==this.markAttachmentType}move(e){for(this.index+=e;0<=this.index&&this.index<this.glyphs.length&&this.shouldIgnore(this.glyphs[this.index]);)this.index+=e;return 0>this.index||this.index>=this.glyphs.length?null:this.glyphs[this.index]}next(){return this.move(1)}prev(){return this.move(-1)}peek(e=1){let t=this.index,r=this.increment(e);return this.index=t,r}peekIndex(e=1){let t=this.index;this.increment(e);let r=this.index;return this.index=t,r}increment(e=1){let t=e<0?-1:1;for(e=Math.abs(e);e--;)this.move(t);return this.glyphs[this.index]}constructor(e,t){this.glyphs=e,this.reset(t)}}const wf=["DFLT","dflt","latn"];class er{findScript(e){if(this.table.scriptList==null)return null;Array.isArray(e)||(e=[e]);for(let t of e)for(let r of this.table.scriptList)if(r.tag===t)return r;return null}selectScript(e,t,r){let n=!1,s;if(!this.script||e!==this.scriptTag){if(s=this.findScript(e),s||(s=this.findScript(wf)),!s)return this.scriptTag;this.scriptTag=s.tag,this.script=s.script,this.language=null,this.languageTag=null,n=!0}if((!r||r!==this.direction)&&(this.direction=r||Ga(e)),t&&t.length<4&&(t+=" ".repeat(4-t.length)),!t||t!==this.languageTag){this.language=null;for(let i of this.script.langSysRecords)if(i.tag===t){this.language=i.langSys,this.languageTag=i.tag;break}this.language||(this.language=this.script.defaultLangSys,this.languageTag=null),n=!0}if(n&&(this.features={},this.language))for(let i of this.language.featureIndexes){let c=this.table.featureList[i],f=this.substituteFeatureForVariations(i);this.features[c.tag]=f||c.feature}return this.scriptTag}lookupsForFeatures(e=[],t){let r=[];for(let n of e){let s=this.features[n];if(s)for(let i of s.lookupListIndexes)t&&t.indexOf(i)!==-1||r.push({feature:n,index:i,lookup:this.table.lookupList.get(i)})}return r.sort((n,s)=>n.index-s.index),r}substituteFeatureForVariations(e){if(this.variationsIndex===-1)return null;let r=this.table.featureVariations.featureVariationRecords[this.variationsIndex].featureTableSubstitution.substitutions;for(let n of r)if(n.featureIndex===e)return n.alternateFeatureTable;return null}findVariationsIndex(e){let t=this.table.featureVariations;if(!t)return-1;let r=t.featureVariationRecords;for(let n=0;n<r.length;n++){let s=r[n].conditionSet.conditionTable;if(this.variationConditionsMatch(s,e))return n}return-1}variationConditionsMatch(e,t){return e.every(r=>{let n=r.axisIndex<t.length?t[r.axisIndex]:0;return r.filterRangeMinValue<=n&&n<=r.filterRangeMaxValue})}applyFeatures(e,t,r){let n=this.lookupsForFeatures(e);this.applyLookups(n,t,r)}applyLookups(e,t,r){this.glyphs=t,this.positions=r,this.glyphIterator=new mf(t);for(let{feature:n,lookup:s}of e)for(this.currentFeature=n,this.glyphIterator.reset(s.flags);this.glyphIterator.index<t.length;){if(!(n in this.glyphIterator.cur.features)){this.glyphIterator.next();continue}for(let i of s.subTables)if(this.applyLookup(s.lookupType,i))break;this.glyphIterator.next()}}applyLookup(e,t){throw new Error("applyLookup must be implemented by subclasses")}applyLookupList(e){let t=this.glyphIterator.options,r=this.glyphIterator.index;for(let n of e){this.glyphIterator.reset(t,r),this.glyphIterator.increment(n.sequenceIndex);let s=this.table.lookupList.get(n.lookupListIndex);this.glyphIterator.reset(s.flags,this.glyphIterator.index);for(let i of s.subTables)if(this.applyLookup(s.lookupType,i))break}return this.glyphIterator.reset(t,r),!0}coverageIndex(e,t){switch(t==null&&(t=this.glyphIterator.cur.id),e.version){case 1:return e.glyphs.indexOf(t);case 2:for(let r of e.rangeRecords)if(r.start<=t&&t<=r.end)return r.startCoverageIndex+t-r.start;break}return-1}match(e,t,r,n){let s=this.glyphIterator.index,i=this.glyphIterator.increment(e),c=0;for(;c<t.length&&i&&r(t[c],i);)n&&n.push(this.glyphIterator.index),c++,i=this.glyphIterator.next();return this.glyphIterator.index=s,c<t.length?!1:n||!0}sequenceMatches(e,t){return this.match(e,t,(r,n)=>r===n.id)}sequenceMatchIndices(e,t){return this.match(e,t,(r,n)=>this.currentFeature in n.features?r===n.id:!1,[])}coverageSequenceMatches(e,t){return this.match(e,t,(r,n)=>this.coverageIndex(r,n.id)>=0)}getClassID(e,t){switch(t.version){case 1:let r=e-t.startGlyph;if(r>=0&&r<t.classValueArray.length)return t.classValueArray[r];break;case 2:for(let n of t.classRangeRecord)if(n.start<=e&&e<=n.end)return n.class;break}return 0}classSequenceMatches(e,t,r){return this.match(e,t,(n,s)=>n===this.getClassID(s.id,r))}applyContext(e){let t,r;switch(e.version){case 1:if(t=this.coverageIndex(e.coverage),t===-1)return!1;r=e.ruleSets[t];for(let n of r)if(this.sequenceMatches(1,n.input))return this.applyLookupList(n.lookupRecords);break;case 2:if(this.coverageIndex(e.coverage)===-1||(t=this.getClassID(this.glyphIterator.cur.id,e.classDef),t===-1))return!1;r=e.classSet[t];for(let n of r)if(this.classSequenceMatches(1,n.classes,e.classDef))return this.applyLookupList(n.lookupRecords);break;case 3:if(this.coverageSequenceMatches(0,e.coverages))return this.applyLookupList(e.lookupRecords);break}return!1}applyChainingContext(e){let t;switch(e.version){case 1:if(t=this.coverageIndex(e.coverage),t===-1)return!1;let r=e.chainRuleSets[t];for(let s of r)if(this.sequenceMatches(-s.backtrack.length,s.backtrack)&&this.sequenceMatches(1,s.input)&&this.sequenceMatches(1+s.input.length,s.lookahead))return this.applyLookupList(s.lookupRecords);break;case 2:if(this.coverageIndex(e.coverage)===-1)return!1;t=this.getClassID(this.glyphIterator.cur.id,e.inputClassDef);let n=e.chainClassSet[t];if(!n)return!1;for(let s of n)if(this.classSequenceMatches(-s.backtrack.length,s.backtrack,e.backtrackClassDef)&&this.classSequenceMatches(1,s.input,e.inputClassDef)&&this.classSequenceMatches(1+s.input.length,s.lookahead,e.lookaheadClassDef))return this.applyLookupList(s.lookupRecords);break;case 3:if(this.coverageSequenceMatches(-e.backtrackGlyphCount,e.backtrackCoverage)&&this.coverageSequenceMatches(0,e.inputCoverage)&&this.coverageSequenceMatches(e.inputGlyphCount,e.lookaheadCoverage))return this.applyLookupList(e.lookupRecords);break}return!1}constructor(e,t){this.font=e,this.table=t,this.script=null,this.scriptTag=null,this.language=null,this.languageTag=null,this.features={},this.lookups={},this.variationsIndex=e._variationProcessor?this.findVariationsIndex(e._variationProcessor.normalizedCoords):-1,this.selectScript(),this.glyphs=[],this.positions=[],this.ligatureID=1,this.currentFeature=null}}class at{get id(){return this._id}set id(e){this._id=e,this.substituted=!0;let t=this._font.GDEF;if(t&&t.glyphClassDef){let r=er.prototype.getClassID(e,t.glyphClassDef);this.isBase=r===1,this.isLigature=r===2,this.isMark=r===3,this.markAttachmentType=t.markAttachClassDef?er.prototype.getClassID(e,t.markAttachClassDef):0}else this.isMark=this.codePoints.length>0&&this.codePoints.every(ia),this.isBase=!this.isMark,this.isLigature=this.codePoints.length>1,this.markAttachmentType=0}copy(){return new at(this._font,this.id,this.codePoints,this.features)}constructor(e,t,r=[],n){if(this._font=e,this.codePoints=r,this.id=t,this.features={},Array.isArray(n))for(let s=0;s<n.length;s++){let i=n[s];this.features[i]=!0}else typeof n=="object"&&Object.assign(this.features,n);this.ligatureID=null,this.ligatureComponent=null,this.isLigated=!1,this.cursiveAttachment=null,this.markAttachment=null,this.shaperInfo=null,this.substituted=!1,this.isMultiplied=!1}}class za extends Dt{static planFeatures(e){e.add(["ljmo","vjmo","tjmo"],!1)}static assignFeatures(e,t){let r=0,n=0;for(;n<t.length;){let s,c=t[n].codePoints[0],f=sr(c);switch([s,r]=Uf[r][f],s){case yt:e.font.hasGlyphForCodePoint(c)||(n=$a(t,n,e.font));break;case nn:n=Nf(t,n,e.font);break;case sn:Vf(t,n,e.font);break;case an:n=zf(t,n,e.font);break}n++}}}Ke(za,"zeroMarkWidths","NONE");const a0=44032,qa=55204,vf=qa-a0+1,pr=4352,br=4449,qt=4519,yf=19,tr=21,k0=28,Cf=pr+yf-1,Af=br+tr-1,Sf=qt+k0-1,Fs=9676,If=a=>4352<=a&&a<=4447||43360<=a&&a<=43388,Ef=a=>4448<=a&&a<=4519||55216<=a&&a<=55238,kf=a=>4520<=a&&a<=4607||55243<=a&&a<=55291,Ff=a=>12334<=a&&a<=12335,Bf=a=>a0<=a&&a<=qa,Tf=a=>a-a0<vf&&(a-a0)%k0===0,Pf=a=>pr<=a&&a<=Cf,Of=a=>br<=a&&a<=Af,Df=a=>1<=a&&a<=Sf,Lf=0,Mf=1,rr=2,Sn=3,nr=4,Wa=5,Rf=6;function sr(a){return If(a)?Mf:Ef(a)?rr:kf(a)?Sn:Tf(a)?nr:Bf(a)?Wa:Ff(a)?Rf:Lf}const Ze=0,yt=1,nn=2,sn=4,an=5,Uf=[[[Ze,0],[Ze,1],[Ze,0],[Ze,0],[yt,2],[yt,3],[an,0]],[[Ze,0],[Ze,1],[nn,2],[Ze,0],[yt,2],[yt,3],[an,0]],[[Ze,0],[Ze,1],[Ze,0],[nn,3],[yt,2],[yt,3],[sn,0]],[[Ze,0],[Ze,1],[Ze,0],[Ze,0],[yt,2],[yt,3],[sn,0]]];function y0(a,e,t){return new at(a,a.glyphForCodePoint(e).id,[e],t)}function $a(a,e,t){let r=a[e],s=r.codePoints[0]-a0,i=qt+s%k0;s=s/k0|0;let c=pr+s/tr|0,f=br+s%tr;if(!t.hasGlyphForCodePoint(c)||!t.hasGlyphForCodePoint(f)||i!==qt&&!t.hasGlyphForCodePoint(i))return e;let p=y0(t,c,r.features);p.features.ljmo=!0;let h=y0(t,f,r.features);h.features.vjmo=!0;let b=[p,h];if(i>qt){let C=y0(t,i,r.features);C.features.tjmo=!0,b.push(C)}return a.splice(e,1,...b),e+b.length-1}function Nf(a,e,t){let r=a[e],n=a[e].codePoints[0],s=sr(n),i=a[e-1].codePoints[0],c=sr(i),f,p,h,b;if(c===nr&&s===Sn)f=i,b=r;else{s===rr?(p=a[e-1],h=r):(p=a[e-2],h=a[e-1],b=r);let F=p.codePoints[0],O=h.codePoints[0];Pf(F)&&Of(O)&&(f=a0+((F-pr)*tr+(O-br))*k0)}let C=b&&b.codePoints[0]||qt;if(f!=null&&(C===qt||Df(C))){let F=f+(C-qt);if(t.hasGlyphForCodePoint(F)){let O=c===rr?3:2;return a.splice(e-O+1,O,y0(t,F,r.features)),e-O+1}}return p&&(p.features.ljmo=!0),h&&(h.features.vjmo=!0),b&&(b.features.tjmo=!0),c===nr?($a(a,e-1,t),e+1):e}function Gf(a){switch(sr(a)){case nr:case Wa:return 1;case rr:return 2;case Sn:return 3}}function Vf(a,e,t){let r=a[e],n=a[e].codePoints[0];if(t.glyphForCodePoint(n).advanceWidth===0)return;let s=a[e-1].codePoints[0],i=Gf(s);return a.splice(e,1),a.splice(e-i,0,r)}function zf(a,e,t){let r=a[e],n=a[e].codePoints[0];if(t.hasGlyphForCodePoint(Fs)){let s=y0(t,Fs,r.features),i=t.glyphForCodePoint(n).advanceWidth===0?e:e+1;a.splice(i,0,s),e++}return e}var Ha={};Ha=JSON.parse('{"stateTable":[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,2,3,4,5,6,7,8,9,0,10,11,11,12,13,14,15,16,17],[0,0,0,18,19,20,21,22,23,0,24,0,0,25,26,0,0,27,0],[0,0,0,28,29,30,31,32,33,0,34,0,0,35,36,0,0,37,0],[0,0,0,38,5,7,7,8,9,0,10,0,0,0,13,0,0,16,0],[0,39,0,0,0,40,41,0,9,0,10,0,0,0,42,0,39,0,0],[0,0,0,0,43,44,44,8,9,0,0,0,0,12,43,0,0,0,0],[0,0,0,0,43,44,44,8,9,0,0,0,0,0,43,0,0,0,0],[0,0,0,45,46,47,48,49,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,50,0,0,51,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,52,0,0,0,0,0,0,0,0],[0,0,0,53,54,55,56,57,58,0,59,0,0,60,61,0,0,62,0],[0,0,0,4,5,7,7,8,9,0,10,0,0,0,13,0,0,16,0],[0,63,64,0,0,40,41,0,9,0,10,0,0,0,42,0,63,0,0],[0,2,3,4,5,6,7,8,9,0,10,11,11,12,13,0,2,16,0],[0,0,0,18,65,20,21,22,23,0,24,0,0,25,26,0,0,27,0],[0,0,0,0,66,67,67,8,9,0,10,0,0,0,68,0,0,0,0],[0,0,0,69,0,70,70,0,71,0,72,0,0,0,0,0,0,0,0],[0,0,0,73,19,74,74,22,23,0,24,0,0,0,26,0,0,27,0],[0,75,0,0,0,76,77,0,23,0,24,0,0,0,78,0,75,0,0],[0,0,0,0,79,80,80,22,23,0,0,0,0,25,79,0,0,0,0],[0,0,0,18,19,20,74,22,23,0,24,0,0,25,26,0,0,27,0],[0,0,0,81,82,83,84,85,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,86,0,0,87,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,88,0,0,0,0,0,0,0,0],[0,0,0,18,19,74,74,22,23,0,24,0,0,0,26,0,0,27,0],[0,89,90,0,0,76,77,0,23,0,24,0,0,0,78,0,89,0,0],[0,0,0,0,91,92,92,22,23,0,24,0,0,0,93,0,0,0,0],[0,0,0,94,29,95,31,32,33,0,34,0,0,0,36,0,0,37,0],[0,96,0,0,0,97,98,0,33,0,34,0,0,0,99,0,96,0,0],[0,0,0,0,100,101,101,32,33,0,0,0,0,35,100,0,0,0,0],[0,0,0,0,100,101,101,32,33,0,0,0,0,0,100,0,0,0,0],[0,0,0,102,103,104,105,106,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,107,0,0,108,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,109,0,0,0,0,0,0,0,0],[0,0,0,28,29,95,31,32,33,0,34,0,0,0,36,0,0,37,0],[0,110,111,0,0,97,98,0,33,0,34,0,0,0,99,0,110,0,0],[0,0,0,0,112,113,113,32,33,0,34,0,0,0,114,0,0,0,0],[0,0,0,0,5,7,7,8,9,0,10,0,0,0,13,0,0,16,0],[0,0,0,115,116,117,118,8,9,0,10,0,0,119,120,0,0,16,0],[0,0,0,0,0,121,121,0,9,0,10,0,0,0,42,0,0,0,0],[0,39,0,122,0,123,123,8,9,0,10,0,0,0,42,0,39,0,0],[0,124,64,0,0,0,0,0,0,0,0,0,0,0,0,0,124,0,0],[0,39,0,0,0,121,125,0,9,0,10,0,0,0,42,0,39,0,0],[0,0,0,0,0,126,126,8,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,46,47,48,49,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,47,47,49,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,127,127,49,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,128,127,127,49,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,129,130,131,132,133,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,50,0,0,0,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,134,0,0,0,0,0,0,0,0],[0,0,0,135,54,56,56,57,58,0,59,0,0,0,61,0,0,62,0],[0,136,0,0,0,137,138,0,58,0,59,0,0,0,139,0,136,0,0],[0,0,0,0,140,141,141,57,58,0,0,0,0,60,140,0,0,0,0],[0,0,0,0,140,141,141,57,58,0,0,0,0,0,140,0,0,0,0],[0,0,0,142,143,144,145,146,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,147,0,0,148,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,149,0,0,0,0,0,0,0,0],[0,0,0,53,54,56,56,57,58,0,59,0,0,0,61,0,0,62,0],[0,150,151,0,0,137,138,0,58,0,59,0,0,0,139,0,150,0,0],[0,0,0,0,152,153,153,57,58,0,59,0,0,0,154,0,0,0,0],[0,0,0,155,116,156,157,8,9,0,10,0,0,158,120,0,0,16,0],[0,0,0,0,0,121,121,0,9,0,10,0,0,0,0,0,0,0,0],[0,75,3,4,5,159,160,8,161,0,162,0,11,12,163,0,75,16,0],[0,0,0,0,0,40,164,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,165,44,44,8,9,0,0,0,0,0,165,0,0,0,0],[0,124,64,0,0,40,164,0,9,0,10,0,0,0,42,0,124,0,0],[0,0,0,0,0,70,70,0,71,0,72,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,71,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,166,0,0,167,0,72,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,168,0,0,0,0,0,0,0,0],[0,0,0,0,19,74,74,22,23,0,24,0,0,0,26,0,0,27,0],[0,0,0,0,79,80,80,22,23,0,0,0,0,0,79,0,0,0,0],[0,0,0,169,170,171,172,22,23,0,24,0,0,173,174,0,0,27,0],[0,0,0,0,0,175,175,0,23,0,24,0,0,0,78,0,0,0,0],[0,75,0,176,0,177,177,22,23,0,24,0,0,0,78,0,75,0,0],[0,178,90,0,0,0,0,0,0,0,0,0,0,0,0,0,178,0,0],[0,75,0,0,0,175,179,0,23,0,24,0,0,0,78,0,75,0,0],[0,0,0,0,0,180,180,22,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,82,83,84,85,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,83,83,85,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,181,181,85,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,182,181,181,85,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,183,184,185,186,187,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,86,0,0,0,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,188,0,0,0,0,0,0,0,0],[0,0,0,189,170,190,191,22,23,0,24,0,0,192,174,0,0,27,0],[0,0,0,0,0,175,175,0,23,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,76,193,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,194,80,80,22,23,0,0,0,0,0,194,0,0,0,0],[0,178,90,0,0,76,193,0,23,0,24,0,0,0,78,0,178,0,0],[0,0,0,0,29,95,31,32,33,0,34,0,0,0,36,0,0,37,0],[0,0,0,0,100,101,101,32,33,0,0,0,0,0,100,0,0,0,0],[0,0,0,195,196,197,198,32,33,0,34,0,0,199,200,0,0,37,0],[0,0,0,0,0,201,201,0,33,0,34,0,0,0,99,0,0,0,0],[0,96,0,202,0,203,203,32,33,0,34,0,0,0,99,0,96,0,0],[0,204,111,0,0,0,0,0,0,0,0,0,0,0,0,0,204,0,0],[0,96,0,0,0,201,205,0,33,0,34,0,0,0,99,0,96,0,0],[0,0,0,0,0,206,206,32,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,103,104,105,106,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,104,104,106,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,207,207,106,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,208,207,207,106,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,209,210,211,212,213,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,107,0,0,0,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,214,0,0,0,0,0,0,0,0],[0,0,0,215,196,216,217,32,33,0,34,0,0,218,200,0,0,37,0],[0,0,0,0,0,201,201,0,33,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,97,219,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,220,101,101,32,33,0,0,0,0,0,220,0,0,0,0],[0,204,111,0,0,97,219,0,33,0,34,0,0,0,99,0,204,0,0],[0,0,0,221,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,223,0,0,0,40,224,0,9,0,10,0,0,0,42,0,223,0,0],[0,0,0,0,225,44,44,8,9,0,0,0,0,119,225,0,0,0,0],[0,0,0,115,116,117,222,8,9,0,10,0,0,119,120,0,0,16,0],[0,0,0,115,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,226,64,0,0,40,224,0,9,0,10,0,0,0,42,0,226,0,0],[0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0],[0,39,0,0,0,121,121,0,9,0,10,0,0,0,42,0,39,0,0],[0,0,0,0,0,44,44,8,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,227,0,228,229,0,9,0,10,0,0,230,0,0,0,0,0],[0,39,0,122,0,121,121,0,9,0,10,0,0,0,42,0,39,0,0],[0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,231,231,49,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,232,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,130,131,132,133,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,131,131,133,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,233,233,133,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,234,233,233,133,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,235,236,237,238,239,9,0,10,0,0,0,42,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,54,56,56,57,58,0,59,0,0,0,61,0,0,62,0],[0,0,0,240,241,242,243,57,58,0,59,0,0,244,245,0,0,62,0],[0,0,0,0,0,246,246,0,58,0,59,0,0,0,139,0,0,0,0],[0,136,0,247,0,248,248,57,58,0,59,0,0,0,139,0,136,0,0],[0,249,151,0,0,0,0,0,0,0,0,0,0,0,0,0,249,0,0],[0,136,0,0,0,246,250,0,58,0,59,0,0,0,139,0,136,0,0],[0,0,0,0,0,251,251,57,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,143,144,145,146,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,144,144,146,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,252,252,146,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,253,252,252,146,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,254,255,256,257,258,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,147,0,0,0,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,259,0,0,0,0,0,0,0,0],[0,0,0,260,241,261,262,57,58,0,59,0,0,263,245,0,0,62,0],[0,0,0,0,0,246,246,0,58,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,137,264,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,265,141,141,57,58,0,0,0,0,0,265,0,0,0,0],[0,249,151,0,0,137,264,0,58,0,59,0,0,0,139,0,249,0,0],[0,0,0,221,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,9,0,0,0,0,158,225,0,0,0,0],[0,0,0,155,116,156,222,8,9,0,10,0,0,158,120,0,0,16,0],[0,0,0,155,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,0,0,0,43,266,266,8,161,0,24,0,0,12,267,0,0,0,0],[0,75,0,176,43,268,268,269,161,0,24,0,0,0,267,0,75,0,0],[0,0,0,0,0,270,0,0,271,0,162,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,272,0,0,0,0,0,0,0,0],[0,273,274,0,0,40,41,0,9,0,10,0,0,0,42,0,273,0,0],[0,0,0,40,0,123,123,8,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,121,275,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,72,0,0,0,0,0,0,0,0],[0,0,0,0,0,166,0,0,0,0,72,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,276,0,0,0,0,0,0,0,0],[0,0,0,277,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,279,0,0,0,76,280,0,23,0,24,0,0,0,78,0,279,0,0],[0,0,0,0,281,80,80,22,23,0,0,0,0,173,281,0,0,0,0],[0,0,0,169,170,171,278,22,23,0,24,0,0,173,174,0,0,27,0],[0,0,0,169,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,282,90,0,0,76,280,0,23,0,24,0,0,0,78,0,282,0,0],[0,0,0,0,0,0,0,0,23,0,0,0,0,0,0,0,0,0,0],[0,75,0,0,0,175,175,0,23,0,24,0,0,0,78,0,75,0,0],[0,0,0,0,0,80,80,22,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,283,0,284,285,0,23,0,24,0,0,286,0,0,0,0,0],[0,75,0,176,0,175,175,0,23,0,24,0,0,0,78,0,75,0,0],[0,0,0,0,0,0,0,22,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,287,287,85,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,288,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,184,185,186,187,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,185,185,187,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,289,289,187,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,290,289,289,187,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,291,292,293,294,295,23,0,24,0,0,0,78,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,277,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,0,0,0,281,80,80,22,23,0,0,0,0,192,281,0,0,0,0],[0,0,0,189,170,190,278,22,23,0,24,0,0,192,174,0,0,27,0],[0,0,0,189,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,0,0,76,0,177,177,22,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,175,296,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,297,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,299,0,0,0,97,300,0,33,0,34,0,0,0,99,0,299,0,0],[0,0,0,0,301,101,101,32,33,0,0,0,0,199,301,0,0,0,0],[0,0,0,195,196,197,298,32,33,0,34,0,0,199,200,0,0,37,0],[0,0,0,195,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,302,111,0,0,97,300,0,33,0,34,0,0,0,99,0,302,0,0],[0,0,0,0,0,0,0,0,33,0,0,0,0,0,0,0,0,0,0],[0,96,0,0,0,201,201,0,33,0,34,0,0,0,99,0,96,0,0],[0,0,0,0,0,101,101,32,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,303,0,304,305,0,33,0,34,0,0,306,0,0,0,0,0],[0,96,0,202,0,201,201,0,33,0,34,0,0,0,99,0,96,0,0],[0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,307,307,106,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,308,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,210,211,212,213,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,211,211,213,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,309,309,213,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,310,309,309,213,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,311,312,313,314,315,33,0,34,0,0,0,99,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,297,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,0,0,0,301,101,101,32,33,0,0,0,0,218,301,0,0,0,0],[0,0,0,215,196,216,298,32,33,0,34,0,0,218,200,0,0,37,0],[0,0,0,215,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,0,0,97,0,203,203,32,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,201,316,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,9,0,0,0,0,0,225,0,0,0,0],[0,0,0,317,318,319,320,8,9,0,10,0,0,321,322,0,0,16,0],[0,223,0,323,0,123,123,8,9,0,10,0,0,0,42,0,223,0,0],[0,223,0,0,0,121,324,0,9,0,10,0,0,0,42,0,223,0,0],[0,0,0,325,318,326,327,8,9,0,10,0,0,328,322,0,0,16,0],[0,0,0,64,0,121,121,0,9,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,9,0,0,0,0,230,0,0,0,0,0],[0,0,0,227,0,228,121,0,9,0,10,0,0,230,0,0,0,0,0],[0,0,0,227,0,121,121,0,9,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,49,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,46,0,0],[0,0,0,0,0,329,329,133,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,330,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,236,237,238,239,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,237,237,239,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,331,331,239,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,332,331,331,239,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,333,40,121,334,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,335,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,337,0,0,0,137,338,0,58,0,59,0,0,0,139,0,337,0,0],[0,0,0,0,339,141,141,57,58,0,0,0,0,244,339,0,0,0,0],[0,0,0,240,241,242,336,57,58,0,59,0,0,244,245,0,0,62,0],[0,0,0,240,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,340,151,0,0,137,338,0,58,0,59,0,0,0,139,0,340,0,0],[0,0,0,0,0,0,0,0,58,0,0,0,0,0,0,0,0,0,0],[0,136,0,0,0,246,246,0,58,0,59,0,0,0,139,0,136,0,0],[0,0,0,0,0,141,141,57,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,341,0,342,343,0,58,0,59,0,0,344,0,0,0,0,0],[0,136,0,247,0,246,246,0,58,0,59,0,0,0,139,0,136,0,0],[0,0,0,0,0,0,0,57,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,345,345,146,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,346,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,255,256,257,258,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,256,256,258,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,347,347,258,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,348,347,347,258,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,349,350,351,352,353,58,0,59,0,0,0,139,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,335,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,0,0,0,339,141,141,57,58,0,0,0,0,263,339,0,0,0,0],[0,0,0,260,241,261,336,57,58,0,59,0,0,263,245,0,0,62,0],[0,0,0,260,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,0,0,137,0,248,248,57,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,246,354,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,126,126,8,23,0,0,0,0,0,0,0,0,0,0],[0,355,90,0,0,121,125,0,9,0,10,0,0,0,42,0,355,0,0],[0,0,0,0,0,356,356,269,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,357,358,359,360,361,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,162,0,0,0,0,0,0,0,0],[0,0,0,0,0,270,0,0,0,0,162,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,363,0,0,0,0,0,0,0,0],[0,0,0,364,116,365,366,8,161,0,162,0,0,367,120,0,0,16,0],[0,0,0,0,0,368,368,0,161,0,162,0,0,0,0,0,0,0,0],[0,0,0,40,0,121,121,0,9,0,10,0,0,0,42,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,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,0,0,0,281,80,80,22,23,0,0,0,0,0,281,0,0,0,0],[0,0,0,369,370,371,372,22,23,0,24,0,0,373,374,0,0,27,0],[0,279,0,375,0,177,177,22,23,0,24,0,0,0,78,0,279,0,0],[0,279,0,0,0,175,376,0,23,0,24,0,0,0,78,0,279,0,0],[0,0,0,377,370,378,379,22,23,0,24,0,0,380,374,0,0,27,0],[0,0,0,90,0,175,175,0,23,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,23,0,0,0,0,286,0,0,0,0,0],[0,0,0,283,0,284,175,0,23,0,24,0,0,286,0,0,0,0,0],[0,0,0,283,0,175,175,0,23,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,85,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,82,0,0],[0,0,0,0,0,381,381,187,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,382,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,292,293,294,295,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,293,293,295,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,383,383,295,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,384,383,383,295,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,385,76,175,386,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,76,0,175,175,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,0,0,0,301,101,101,32,33,0,0,0,0,0,301,0,0,0,0],[0,0,0,387,388,389,390,32,33,0,34,0,0,391,392,0,0,37,0],[0,299,0,393,0,203,203,32,33,0,34,0,0,0,99,0,299,0,0],[0,299,0,0,0,201,394,0,33,0,34,0,0,0,99,0,299,0,0],[0,0,0,395,388,396,397,32,33,0,34,0,0,398,392,0,0,37,0],[0,0,0,111,0,201,201,0,33,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,33,0,0,0,0,306,0,0,0,0,0],[0,0,0,303,0,304,201,0,33,0,34,0,0,306,0,0,0,0,0],[0,0,0,303,0,201,201,0,33,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,106,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,103,0,0],[0,0,0,0,0,399,399,213,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,400,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,312,313,314,315,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,313,313,315,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,401,401,315,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,402,401,401,315,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,403,97,201,404,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,97,0,201,201,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,405,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,407,0,0,0,40,408,0,9,0,10,0,0,0,42,0,407,0,0],[0,0,0,0,409,44,44,8,9,0,0,0,0,321,409,0,0,0,0],[0,0,0,317,318,319,406,8,9,0,10,0,0,321,322,0,0,16,0],[0,0,0,317,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,410,64,0,0,40,408,0,9,0,10,0,0,0,42,0,410,0,0],[0,223,0,0,0,121,121,0,9,0,10,0,0,0,42,0,223,0,0],[0,223,0,323,0,121,121,0,9,0,10,0,0,0,42,0,223,0,0],[0,0,0,405,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,0,0,0,409,44,44,8,9,0,0,0,0,328,409,0,0,0,0],[0,0,0,325,318,326,406,8,9,0,10,0,0,328,322,0,0,16,0],[0,0,0,325,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,0,0,0,0,0,0,133,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,130,0,0],[0,0,0,0,0,411,411,239,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,412,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,40,121,334,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,413,0,0,0,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,0,0,0,339,141,141,57,58,0,0,0,0,0,339,0,0,0,0],[0,0,0,414,415,416,417,57,58,0,59,0,0,418,419,0,0,62,0],[0,337,0,420,0,248,248,57,58,0,59,0,0,0,139,0,337,0,0],[0,337,0,0,0,246,421,0,58,0,59,0,0,0,139,0,337,0,0],[0,0,0,422,415,423,424,57,58,0,59,0,0,425,419,0,0,62,0],[0,0,0,151,0,246,246,0,58,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,58,0,0,0,0,344,0,0,0,0,0],[0,0,0,341,0,342,246,0,58,0,59,0,0,344,0,0,0,0,0],[0,0,0,341,0,246,246,0,58,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,146,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,143,0,0],[0,0,0,0,0,426,426,258,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,427,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,350,351,352,353,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,351,351,353,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,428,428,353,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,429,428,428,353,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,430,137,246,431,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,137,0,246,246,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,432,116,433,434,8,161,0,162,0,0,435,120,0,0,16,0],[0,0,0,0,0,180,180,269,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,358,359,360,361,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,359,359,361,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,436,436,361,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,437,436,436,361,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,438,439,440,441,442,161,0,162,0,0,0,362,0,0,0,0],[0,443,274,0,0,0,0,0,0,0,0,0,0,0,0,0,443,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,444,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,161,0,0,0,0,367,225,0,0,0,0],[0,0,0,364,116,365,445,8,161,0,162,0,0,367,120,0,0,16,0],[0,0,0,364,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,0,0,0,0,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,446,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,448,0,0,0,76,449,0,23,0,24,0,0,0,78,0,448,0,0],[0,0,0,0,450,80,80,22,23,0,0,0,0,373,450,0,0,0,0],[0,0,0,369,370,371,447,22,23,0,24,0,0,373,374,0,0,27,0],[0,0,0,369,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,451,90,0,0,76,449,0,23,0,24,0,0,0,78,0,451,0,0],[0,279,0,0,0,175,175,0,23,0,24,0,0,0,78,0,279,0,0],[0,279,0,375,0,175,175,0,23,0,24,0,0,0,78,0,279,0,0],[0,0,0,446,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,0,0,0,450,80,80,22,23,0,0,0,0,380,450,0,0,0,0],[0,0,0,377,370,378,447,22,23,0,24,0,0,380,374,0,0,27,0],[0,0,0,377,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,0,0,0,0,0,0,187,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,184,0,0],[0,0,0,0,0,452,452,295,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,453,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,76,175,386,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,454,0,0,0,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,455,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,457,0,0,0,97,458,0,33,0,34,0,0,0,99,0,457,0,0],[0,0,0,0,459,101,101,32,33,0,0,0,0,391,459,0,0,0,0],[0,0,0,387,388,389,456,32,33,0,34,0,0,391,392,0,0,37,0],[0,0,0,387,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,460,111,0,0,97,458,0,33,0,34,0,0,0,99,0,460,0,0],[0,299,0,0,0,201,201,0,33,0,34,0,0,0,99,0,299,0,0],[0,299,0,393,0,201,201,0,33,0,34,0,0,0,99,0,299,0,0],[0,0,0,455,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,0,0,0,459,101,101,32,33,0,0,0,0,398,459,0,0,0,0],[0,0,0,395,388,396,456,32,33,0,34,0,0,398,392,0,0,37,0],[0,0,0,395,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,0,0,0,0,0,0,213,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,210,0,0],[0,0,0,0,0,461,461,315,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,462,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,97,201,404,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,463,0,0,0,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,0,0,0,409,44,44,8,9,0,0,0,0,0,409,0,0,0,0],[0,0,0,464,465,466,467,8,9,0,10,0,0,468,469,0,0,16,0],[0,407,0,470,0,123,123,8,9,0,10,0,0,0,42,0,407,0,0],[0,407,0,0,0,121,471,0,9,0,10,0,0,0,42,0,407,0,0],[0,0,0,472,465,473,474,8,9,0,10,0,0,475,469,0,0,16,0],[0,0,0,0,0,0,0,239,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,236,0,0],[0,0,0,0,0,0,476,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,477,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,479,0,0,0,137,480,0,58,0,59,0,0,0,139,0,479,0,0],[0,0,0,0,481,141,141,57,58,0,0,0,0,418,481,0,0,0,0],[0,0,0,414,415,416,478,57,58,0,59,0,0,418,419,0,0,62,0],[0,0,0,414,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,482,151,0,0,137,480,0,58,0,59,0,0,0,139,0,482,0,0],[0,337,0,0,0,246,246,0,58,0,59,0,0,0,139,0,337,0,0],[0,337,0,420,0,246,246,0,58,0,59,0,0,0,139,0,337,0,0],[0,0,0,477,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,0,0,0,481,141,141,57,58,0,0,0,0,425,481,0,0,0,0],[0,0,0,422,415,423,478,57,58,0,59,0,0,425,419,0,0,62,0],[0,0,0,422,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,0,0,0,0,0,0,258,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,255,0,0],[0,0,0,0,0,483,483,353,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,484,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,137,246,431,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,485,0,0,0,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,444,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,161,0,0,0,0,435,225,0,0,0,0],[0,0,0,432,116,433,445,8,161,0,162,0,0,435,120,0,0,16,0],[0,0,0,432,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,0,486,486,361,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,487,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,439,440,441,442,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,440,440,442,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,488,488,442,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,489,488,488,442,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,490,491,492,493,494,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,495,0,496,497,0,161,0,162,0,0,498,0,0,0,0,0],[0,0,0,0,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,161,0,0,0,0,0,225,0,0,0,0],[0,0,0,0,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,0,0,0,450,80,80,22,23,0,0,0,0,0,450,0,0,0,0],[0,0,0,499,500,501,502,22,23,0,24,0,0,503,504,0,0,27,0],[0,448,0,505,0,177,177,22,23,0,24,0,0,0,78,0,448,0,0],[0,448,0,0,0,175,506,0,23,0,24,0,0,0,78,0,448,0,0],[0,0,0,507,500,508,509,22,23,0,24,0,0,510,504,0,0,27,0],[0,0,0,0,0,0,0,295,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,292,0,0],[0,0,0,0,0,0,511,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,0,0,0,459,101,101,32,33,0,0,0,0,0,459,0,0,0,0],[0,0,0,512,513,514,515,32,33,0,34,0,0,516,517,0,0,37,0],[0,457,0,518,0,203,203,32,33,0,34,0,0,0,99,0,457,0,0],[0,457,0,0,0,201,519,0,33,0,34,0,0,0,99,0,457,0,0],[0,0,0,520,513,521,522,32,33,0,34,0,0,523,517,0,0,37,0],[0,0,0,0,0,0,0,315,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,312,0,0],[0,0,0,0,0,0,524,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,525,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,527,0,0,0,40,528,0,9,0,10,0,0,0,42,0,527,0,0],[0,0,0,0,529,44,44,8,9,0,0,0,0,468,529,0,0,0,0],[0,0,0,464,465,466,526,8,9,0,10,0,0,468,469,0,0,16,0],[0,0,0,464,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,530,64,0,0,40,528,0,9,0,10,0,0,0,42,0,530,0,0],[0,407,0,0,0,121,121,0,9,0,10,0,0,0,42,0,407,0,0],[0,407,0,470,0,121,121,0,9,0,10,0,0,0,42,0,407,0,0],[0,0,0,525,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,0,0,0,529,44,44,8,9,0,0,0,0,475,529,0,0,0,0],[0,0,0,472,465,473,526,8,9,0,10,0,0,475,469,0,0,16,0],[0,0,0,472,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,0,0],[0,0,0,0,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,0,0,0,481,141,141,57,58,0,0,0,0,0,481,0,0,0,0],[0,0,0,531,532,533,534,57,58,0,59,0,0,535,536,0,0,62,0],[0,479,0,537,0,248,248,57,58,0,59,0,0,0,139,0,479,0,0],[0,479,0,0,0,246,538,0,58,0,59,0,0,0,139,0,479,0,0],[0,0,0,539,532,540,541,57,58,0,59,0,0,542,536,0,0,62,0],[0,0,0,0,0,0,0,353,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,350,0,0],[0,0,0,0,0,0,543,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,361,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,358,0,0],[0,0,0,0,0,544,544,442,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,545,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,491,492,493,494,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,492,492,494,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,546,546,494,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,547,546,546,494,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,548,549,368,550,0,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,274,0,368,368,0,161,0,162,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,161,0,0,0,0,498,0,0,0,0,0],[0,0,0,495,0,496,368,0,161,0,162,0,0,498,0,0,0,0,0],[0,0,0,495,0,368,368,0,161,0,162,0,0,0,0,0,0,0,0],[0,0,0,551,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,553,0,0,0,76,554,0,23,0,24,0,0,0,78,0,553,0,0],[0,0,0,0,555,80,80,22,23,0,0,0,0,503,555,0,0,0,0],[0,0,0,499,500,501,552,22,23,0,24,0,0,503,504,0,0,27,0],[0,0,0,499,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,556,90,0,0,76,554,0,23,0,24,0,0,0,78,0,556,0,0],[0,448,0,0,0,175,175,0,23,0,24,0,0,0,78,0,448,0,0],[0,448,0,505,0,175,175,0,23,0,24,0,0,0,78,0,448,0,0],[0,0,0,551,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,0,0,0,555,80,80,22,23,0,0,0,0,510,555,0,0,0,0],[0,0,0,507,500,508,552,22,23,0,24,0,0,510,504,0,0,27,0],[0,0,0,507,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,76,0,0],[0,0,0,557,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,559,0,0,0,97,560,0,33,0,34,0,0,0,99,0,559,0,0],[0,0,0,0,561,101,101,32,33,0,0,0,0,516,561,0,0,0,0],[0,0,0,512,513,514,558,32,33,0,34,0,0,516,517,0,0,37,0],[0,0,0,512,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,562,111,0,0,97,560,0,33,0,34,0,0,0,99,0,562,0,0],[0,457,0,0,0,201,201,0,33,0,34,0,0,0,99,0,457,0,0],[0,457,0,518,0,201,201,0,33,0,34,0,0,0,99,0,457,0,0],[0,0,0,557,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,0,0,0,561,101,101,32,33,0,0,0,0,523,561,0,0,0,0],[0,0,0,520,513,521,558,32,33,0,34,0,0,523,517,0,0,37,0],[0,0,0,520,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,0,0],[0,0,0,0,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,0,0,0,529,44,44,8,9,0,0,0,0,0,529,0,0,0,0],[0,0,0,563,66,564,565,8,9,0,10,0,0,566,68,0,0,16,0],[0,527,0,567,0,123,123,8,9,0,10,0,0,0,42,0,527,0,0],[0,527,0,0,0,121,568,0,9,0,10,0,0,0,42,0,527,0,0],[0,0,0,569,66,570,571,8,9,0,10,0,0,572,68,0,0,16,0],[0,0,0,573,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,575,0,0,0,137,576,0,58,0,59,0,0,0,139,0,575,0,0],[0,0,0,0,577,141,141,57,58,0,0,0,0,535,577,0,0,0,0],[0,0,0,531,532,533,574,57,58,0,59,0,0,535,536,0,0,62,0],[0,0,0,531,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,578,151,0,0,137,576,0,58,0,59,0,0,0,139,0,578,0,0],[0,479,0,0,0,246,246,0,58,0,59,0,0,0,139,0,479,0,0],[0,479,0,537,0,246,246,0,58,0,59,0,0,0,139,0,479,0,0],[0,0,0,573,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,0,0,0,577,141,141,57,58,0,0,0,0,542,577,0,0,0,0],[0,0,0,539,532,540,574,57,58,0,59,0,0,542,536,0,0,62,0],[0,0,0,539,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,137,0,0],[0,0,0,0,0,0,0,442,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,439,0,0],[0,0,0,0,0,579,579,494,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,580,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,549,368,550,0,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,368,368,0,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,581,0,0,0,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,0,0,0,555,80,80,22,23,0,0,0,0,0,555,0,0,0,0],[0,0,0,582,91,583,584,22,23,0,24,0,0,585,93,0,0,27,0],[0,553,0,586,0,177,177,22,23,0,24,0,0,0,78,0,553,0,0],[0,553,0,0,0,175,587,0,23,0,24,0,0,0,78,0,553,0,0],[0,0,0,588,91,589,590,22,23,0,24,0,0,591,93,0,0,27,0],[0,0,0,0,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,0,0,0,561,101,101,32,33,0,0,0,0,0,561,0,0,0,0],[0,0,0,592,112,593,594,32,33,0,34,0,0,595,114,0,0,37,0],[0,559,0,596,0,203,203,32,33,0,34,0,0,0,99,0,559,0,0],[0,559,0,0,0,201,597,0,33,0,34,0,0,0,99,0,559,0,0],[0,0,0,598,112,599,600,32,33,0,34,0,0,601,114,0,0,37,0],[0,0,0,602,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,0,0,0,165,44,44,8,9,0,0,0,0,566,165,0,0,0,0],[0,0,0,563,66,564,67,8,9,0,10,0,0,566,68,0,0,16,0],[0,0,0,563,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,527,0,0,0,121,121,0,9,0,10,0,0,0,42,0,527,0,0],[0,527,0,567,0,121,121,0,9,0,10,0,0,0,42,0,527,0,0],[0,0,0,602,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,0,0,0,165,44,44,8,9,0,0,0,0,572,165,0,0,0,0],[0,0,0,569,66,570,67,8,9,0,10,0,0,572,68,0,0,16,0],[0,0,0,569,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,0,0,0,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,0,0,0,577,141,141,57,58,0,0,0,0,0,577,0,0,0,0],[0,0,0,603,152,604,605,57,58,0,59,0,0,606,154,0,0,62,0],[0,575,0,607,0,248,248,57,58,0,59,0,0,0,139,0,575,0,0],[0,575,0,0,0,246,608,0,58,0,59,0,0,0,139,0,575,0,0],[0,0,0,609,152,610,611,57,58,0,59,0,0,612,154,0,0,62,0],[0,0,0,0,0,0,0,494,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,491,0,0],[0,0,0,0,0,0,613,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,614,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,0,0,0,194,80,80,22,23,0,0,0,0,585,194,0,0,0,0],[0,0,0,582,91,583,92,22,23,0,24,0,0,585,93,0,0,27,0],[0,0,0,582,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,553,0,0,0,175,175,0,23,0,24,0,0,0,78,0,553,0,0],[0,553,0,586,0,175,175,0,23,0,24,0,0,0,78,0,553,0,0],[0,0,0,614,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,0,0,0,194,80,80,22,23,0,0,0,0,591,194,0,0,0,0],[0,0,0,588,91,589,92,22,23,0,24,0,0,591,93,0,0,27,0],[0,0,0,588,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,0,0,615,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,0,0,0,220,101,101,32,33,0,0,0,0,595,220,0,0,0,0],[0,0,0,592,112,593,113,32,33,0,34,0,0,595,114,0,0,37,0],[0,0,0,592,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,559,0,0,0,201,201,0,33,0,34,0,0,0,99,0,559,0,0],[0,559,0,596,0,201,201,0,33,0,34,0,0,0,99,0,559,0,0],[0,0,0,615,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,0,0,0,220,101,101,32,33,0,0,0,0,601,220,0,0,0,0],[0,0,0,598,112,599,113,32,33,0,34,0,0,601,114,0,0,37,0],[0,0,0,598,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,0,0,0,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,0,0,616,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0],[0,0,0,0,265,141,141,57,58,0,0,0,0,606,265,0,0,0,0],[0,0,0,603,152,604,153,57,58,0,59,0,0,606,154,0,0,62,0],[0,0,0,603,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0],[0,575,0,0,0,246,246,0,58,0,59,0,0,0,139,0,575,0,0],[0,575,0,607,0,246,246,0,58,0,59,0,0,0,139,0,575,0,0],[0,0,0,616,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0],[0,0,0,0,265,141,141,57,58,0,0,0,0,612,265,0,0,0,0],[0,0,0,609,152,610,153,57,58,0,59,0,0,612,154,0,0,62,0],[0,0,0,609,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,549,0,0],[0,0,0,0,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,0,0,0,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,0,0,0,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0]],"accepting":[false,true,true,true,true,true,false,false,true,true,true,true,true,true,true,true,true,true,true,true,false,true,true,true,true,true,true,true,true,true,false,true,true,true,true,true,true,true,true,true,true,true,false,true,false,true,true,false,false,true,true,true,true,true,true,false,false,true,true,true,true,true,true,true,true,true,true,false,true,true,false,true,true,true,false,true,true,true,false,true,false,true,true,false,false,true,true,true,true,true,true,true,false,true,true,false,true,true,true,false,true,false,true,true,false,false,true,true,true,true,true,true,true,false,true,true,true,false,true,true,true,false,true,false,true,true,false,false,false,true,true,false,false,true,true,true,true,true,true,false,true,false,true,true,false,false,true,true,true,true,true,true,true,false,true,true,false,true,true,true,true,true,true,true,true,true,true,true,true,true,true,false,true,true,true,false,true,false,true,true,false,false,false,true,true,false,false,true,true,true,false,true,true,true,true,true,true,false,true,true,true,false,true,false,true,true,false,false,false,true,true,false,false,true,true,true,false,true,true,true,true,true,false,true,true,true,true,true,false,true,true,false,false,false,false,true,true,false,false,true,true,true,false,true,true,true,false,true,false,true,true,false,false,false,true,true,false,false,true,true,true,false,true,true,true,true,false,true,false,true,true,true,true,true,true,true,true,true,false,true,true,true,true,true,false,true,true,false,false,false,false,true,true,false,false,true,true,true,false,true,true,true,true,true,false,true,true,false,false,false,false,true,true,false,false,true,true,true,true,false,true,true,true,true,true,true,false,true,true,false,false,false,false,true,false,true,false,true,true,true,true,true,false,true,true,false,false,false,false,true,true,false,false,true,true,true,false,true,true,false,false,true,false,true,true,false,true,true,false,true,true,false,true,true,true,true,true,true,false,true,true,false,false,false,false,true,false,true,true,false,true,true,true,true,true,true,false,true,true,false,false,false,false,true,false,true,false,true,true,true,true,false,false,false,true,true,false,true,true,true,true,true,true,false,true,true,false,false,false,false,true,false,true,false,true,true,false,false,true,true,false,false,true,true,true,false,true,false,true,true,true,true,false,false,false,true,false,true,true,true,true,false,false,false,true,true,false,true,true,true,true,true,true,false,true,true,false,true,false,true,true,true,true,false,false,false,false,false,false,false,true,true,false,false,true,true,false,true,true,true,true,false,true,true,true,true,true,true,false,true,true,false,true,true,false,true,true,true,true,true,true,false,true,true,false,true,false,true,true,true,true,true,true,false,true,true,true,true,true,true,false,true,true,false,false,false,false,false,true,true,false,true,false,true,true,true,true,true,false,true,true,true,true,true,false,true,true,true,true,true,false,true,true,true,false,true,true,true,true,false,false,false,true,false,true,true,true,true,true,false,true,true,true,false,true,true,true,true,true,false,true,true,true,true,false,true,true,true,true,true,false,true,true,false,true,true,true],"tags":[[],["broken_cluster"],["consonant_syllable"],["vowel_syllable"],["broken_cluster"],["broken_cluster"],[],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["standalone_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["consonant_syllable"],["broken_cluster"],["symbol_cluster"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],[],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["standalone_cluster"],["standalone_cluster"],[],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["broken_cluster"],["broken_cluster"],["consonant_syllable","broken_cluster"],["broken_cluster"],[],["broken_cluster"],["symbol_cluster"],[],["symbol_cluster"],["symbol_cluster"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],[],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],[],[],[],["broken_cluster"],["broken_cluster"],[],[],["broken_cluster"],["broken_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["symbol_cluster"],["symbol_cluster"],["symbol_cluster"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],[],[],[],["consonant_syllable"],["consonant_syllable"],[],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],[],[],["vowel_syllable"],["vowel_syllable"],[],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],[],[],[],[],["broken_cluster"],["broken_cluster"],[],[],["broken_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],[],[],["standalone_cluster"],["standalone_cluster"],[],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["broken_cluster"],["symbol_cluster"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],[],[],[],[],["consonant_syllable"],["consonant_syllable"],[],[],["consonant_syllable"],["consonant_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],[],[],[],["vowel_syllable"],["vowel_syllable"],[],[],["vowel_syllable"],["vowel_syllable"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],[],[],[],[],["broken_cluster"],[],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],[],[],[],["standalone_cluster"],["standalone_cluster"],[],[],["standalone_cluster"],["standalone_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],[],["consonant_syllable","broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],[],[],[],[],["consonant_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],[],[],[],["vowel_syllable"],[],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],[],[],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],[],[],[],["standalone_cluster"],[],["consonant_syllable","broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],[],[],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],[],[],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],[],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],[],[],[],[],[],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],[],[],[],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],[],[],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["broken_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],["consonant_syllable"],["vowel_syllable"],["standalone_cluster"]]}');var gr={};gr=JSON.parse('{"categories":["O","IND","S","GB","B","FM","CGJ","VMAbv","VMPst","VAbv","VPst","CMBlw","VPre","VBlw","H","VMBlw","CMAbv","MBlw","CS","R","SUB","MPst","MPre","FAbv","FPst","FBlw","null","SMAbv","SMBlw","VMPre","ZWNJ","ZWJ","WJ","M","VS","N","HN","MAbv"],"decompositions":{"2507":[2503,2494],"2508":[2503,2519],"2888":[2887,2902],"2891":[2887,2878],"2892":[2887,2903],"3018":[3014,3006],"3019":[3015,3006],"3020":[3014,3031],"3144":[3142,3158],"3264":[3263,3285],"3271":[3270,3285],"3272":[3270,3286],"3274":[3270,3266],"3275":[3270,3266,3285],"3402":[3398,3390],"3403":[3399,3390],"3404":[3398,3415],"3546":[3545,3530],"3548":[3545,3535],"3549":[3545,3535,3530],"3550":[3545,3551],"3635":[3661,3634],"3763":[3789,3762],"3955":[3953,3954],"3957":[3953,3956],"3958":[4018,3968],"3959":[4018,3953,3968],"3960":[4019,3968],"3961":[4019,3953,3968],"3969":[3953,3968],"6971":[6970,6965],"6973":[6972,6965],"6976":[6974,6965],"6977":[6975,6965],"6979":[6978,6965],"69934":[69937,69927],"69935":[69938,69927],"70475":[70471,70462],"70476":[70471,70487],"70843":[70841,70842],"70844":[70841,70832],"70846":[70841,70845],"71098":[71096,71087],"71099":[71097,71087]},"stateTable":[[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],[2,2,3,4,4,5,0,6,7,8,9,10,11,12,13,14,15,16,0,17,18,11,19,20,21,22,0,0,0,23,0,0,2,0,0,24,0,25],[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,26,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,27,28,0,0,0,0,0,27,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,34,35,36,37,38,39,40,0,0,41,35,42,43,44,45,0,0,0,46,0,0,0,0,39,0,0,47],[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,5,0,6,7,0,0,0,0,0,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,21,22,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,8,9,0,0,12,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,0,9,0,0,0,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,8,9,10,11,12,13,14,0,16,0,0,18,11,19,20,21,22,0,0,0,23,0,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,0,11,12,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,0,9,0,0,12,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,0,18,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,5,0,0,7,0,0,0,0,0,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,8,9,10,11,12,13,14,15,16,0,0,18,11,19,20,21,22,0,0,0,23,0,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,0,11,12,0,14,0,0,0,0,0,11,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,4,4,5,0,6,7,8,9,10,11,12,13,14,15,16,0,0,18,11,19,20,21,22,0,0,0,23,0,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,48,11,12,13,14,48,16,0,0,18,11,19,20,21,22,0,0,0,23,0,0,0,0,49,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,0,11,12,0,14,0,16,0,0,0,11,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,21,22,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,22,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,0,0,0,0,0,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,23,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,50,0,51,0],[0,0,0,0,0,5,0,6,7,8,9,0,11,12,0,14,0,16,0,0,0,11,0,20,21,22,0,0,0,23,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,27,28,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,28,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,29,0,30,31,0,0,0,0,0,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,44,45,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,0,0,36,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,0,33,0,0,0,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,34,35,36,37,38,0,40,0,0,41,35,42,43,44,45,0,0,0,46,0,0,0,0,0,0,0,47],[0,0,0,0,0,29,0,30,31,32,33,0,35,36,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,0,33,0,0,36,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,41,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,29,0,0,31,0,0,0,0,0,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,34,35,36,37,38,39,40,0,0,41,35,42,43,44,45,0,0,0,46,0,0,0,0,0,0,0,47],[0,0,0,0,0,29,0,30,31,32,33,0,35,36,0,38,0,0,0,0,0,35,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,52,35,36,37,38,52,40,0,0,41,35,42,43,44,45,0,0,0,46,0,0,0,0,53,0,0,47],[0,0,0,0,0,29,0,30,31,32,33,0,35,36,0,38,0,40,0,0,0,35,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,47],[0,0,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,44,45,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,45,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,0,0,0,0,0,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,0,35,36,0,38,0,40,0,0,0,35,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,8,9,48,11,12,13,14,0,16,0,0,18,11,19,20,21,22,0,0,0,23,0,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,48,11,12,13,14,48,16,0,0,18,11,19,20,21,22,0,0,0,23,0,0,0,0,0,0,0,25],[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,51,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,54,0,0],[0,0,0,0,0,29,0,30,31,32,33,52,35,36,37,38,0,40,0,0,41,35,42,43,44,45,0,0,0,46,0,0,0,0,0,0,0,47],[0,0,0,0,0,29,0,30,31,32,33,52,35,36,37,38,52,40,0,0,41,35,42,43,44,45,0,0,0,46,0,0,0,0,0,0,0,47],[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,50,0,51,0]],"accepting":[false,true,true,true,true,true,true,true,true,true,true,true,true,false,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true],"tags":[[],["broken_cluster"],["independent_cluster"],["symbol_cluster"],["standard_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["numeral_cluster"],["broken_cluster"],["independent_cluster"],["symbol_cluster"],["symbol_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["virama_terminated_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["broken_cluster"],["broken_cluster"],["numeral_cluster"],["number_joiner_terminated_cluster"],["standard_cluster"],["standard_cluster"],["numeral_cluster"]]}');const fe={X:1,C:2,V:4,N:8,H:16,ZWNJ:32,ZWJ:64,M:128,Placeholder:2048,Dotted_Circle:4096,RS:8192,Coeng:16384,Repha:32768,Ra:65536,CM:131072},Z={Start:1,Ra_To_Become_Reph:2,Pre_M:4,Pre_C:8,Base_C:16,After_Main:32,Before_Sub:128,Below_C:256,After_Sub:512,Before_Post:1024,Post_C:2048,After_Post:4096,Final_C:8192,SMVD:16384,End:32768},qf=fe.C|fe.Ra|fe.CM|fe.V|fe.Placeholder|fe.Dotted_Circle,Xa=fe.ZWJ|fe.ZWNJ,C0=fe.H|fe.Coeng,Bs={Default:{hasOldSpec:!1,virama:0,basePos:"Last",rephPos:Z.Before_Post,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Devanagari:{hasOldSpec:!0,virama:2381,basePos:"Last",rephPos:Z.Before_Post,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Bengali:{hasOldSpec:!0,virama:2509,basePos:"Last",rephPos:Z.After_Sub,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Gurmukhi:{hasOldSpec:!0,virama:2637,basePos:"Last",rephPos:Z.Before_Sub,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Gujarati:{hasOldSpec:!0,virama:2765,basePos:"Last",rephPos:Z.Before_Post,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Oriya:{hasOldSpec:!0,virama:2893,basePos:"Last",rephPos:Z.After_Main,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Tamil:{hasOldSpec:!0,virama:3021,basePos:"Last",rephPos:Z.After_Post,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Telugu:{hasOldSpec:!0,virama:3149,basePos:"Last",rephPos:Z.After_Post,rephMode:"Explicit",blwfMode:"Post_Only"},Kannada:{hasOldSpec:!0,virama:3277,basePos:"Last",rephPos:Z.After_Post,rephMode:"Implicit",blwfMode:"Post_Only"},Malayalam:{hasOldSpec:!0,virama:3405,basePos:"Last",rephPos:Z.After_Main,rephMode:"Log_Repha",blwfMode:"Pre_And_Post"},Khmer:{hasOldSpec:!1,virama:6098,basePos:"First",rephPos:Z.Ra_To_Become_Reph,rephMode:"Vis_Repha",blwfMode:"Pre_And_Post"}},Wf={6078:[6081,6078],6079:[6081,6079],6080:[6081,6080],6084:[6081,6084],6085:[6081,6085]},{decompositions:$f}=cr(gr),ja=new or(Cn("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")),Hf=new oa(cr(Ha));class Re extends Dt{static planFeatures(e){e.addStage(Xf),e.addStage(["locl","ccmp"]),e.addStage(Yf),e.addStage("nukt"),e.addStage("akhn"),e.addStage("rphf",!1),e.addStage("rkrf"),e.addStage("pref",!1),e.addStage("blwf",!1),e.addStage("abvf",!1),e.addStage("half",!1),e.addStage("pstf",!1),e.addStage("vatu"),e.addStage("cjct"),e.addStage("cfar",!1),e.addStage(Zf),e.addStage({local:["init"],global:["pres","abvs","blws","psts","haln","dist","abvm","blwm","calt","clig"]}),e.unicodeScript=Rc(e.script),e.indicConfig=Bs[e.unicodeScript]||Bs.Default,e.isOldSpec=e.indicConfig.hasOldSpec&&e.script[e.script.length-1]!=="2"}static assignFeatures(e,t){for(let r=t.length-1;r>=0;r--){let n=t[r].codePoints[0],s=Wf[n]||$f[n];if(s){let i=s.map(c=>{let f=e.font.glyphForCodePoint(c);return new at(e.font,f.id,[c],t[r].features)});t.splice(r,1,...i)}}}}Ke(Re,"zeroMarkWidths","NONE");function on(a){return ja.get(a.codePoints[0])>>8}function Ya(a){return 1<<(ja.get(a.codePoints[0])&255)}class H0{constructor(e,t,r,n){this.category=e,this.position=t,this.syllableType=r,this.syllable=n}}function Xf(a,e){let t=0,r=0;for(let[n,s,i]of Hf.match(e.map(on))){if(n>r){++t;for(let c=r;c<n;c++)e[c].shaperInfo=new H0(fe.X,Z.End,"non_indic_cluster",t)}++t;for(let c=n;c<=s;c++)e[c].shaperInfo=new H0(1<<on(e[c]),Ya(e[c]),i[0],t);r=s+1}if(r<e.length){++t;for(let n=r;n<e.length;n++)e[n].shaperInfo=new H0(fe.X,Z.End,"non_indic_cluster",t)}}function Rt(a){return a.shaperInfo.category&qf}function ft(a){return a.shaperInfo.category&Xa}function vt(a){return a.shaperInfo.category&C0}function Ct(a,e){for(let r of a)r.features={[e]:!0};return a[0]._font._layoutEngine.engine.GSUBProcessor.applyFeatures([e],a),a.length===1}function jf(a,e,t){let r=[t,e,t];return Ct(r.slice(0,2),"blwf")||Ct(r.slice(1,3),"blwf")?Z.Below_C:Ct(r.slice(0,2),"pstf")||Ct(r.slice(1,3),"pstf")||Ct(r.slice(0,2),"pref")||Ct(r.slice(1,3),"pref")?Z.Post_C:Z.Base_C}function Yf(a,e,t){let r=t.indicConfig,n=a._layoutEngine.engine.GSUBProcessor.features,s=a.glyphForCodePoint(9676).id,i=a.glyphForCodePoint(r.virama).id;if(i){let c=new at(a,i,[r.virama]);for(let f=0;f<e.length;f++)e[f].shaperInfo.position===Z.Base_C&&(e[f].shaperInfo.position=jf(a,e[f].copy(),c))}for(let c=0,f=ar(e,0);c<e.length;c=f,f=ar(e,c)){let{category:p,syllableType:h}=e[c].shaperInfo;if(h==="symbol_cluster"||h==="non_indic_cluster")continue;if(h==="broken_cluster"&&s){let E=new at(a,s,[9676]);E.shaperInfo=new H0(1<<on(E),Ya(E),e[c].shaperInfo.syllableType,e[c].shaperInfo.syllable);let U=c;for(;U<f&&e[U].shaperInfo.category===fe.Repha;)U++;e.splice(U++,0,E),f++}let b=f,C=c,F=!1;if(r.rephPos!==Z.Ra_To_Become_Reph&&n.rphf&&c+3<=f&&(r.rephMode==="Implicit"&&!ft(e[c+2])||r.rephMode==="Explicit"&&e[c+2].shaperInfo.category===fe.ZWJ)){let E=[e[c].copy(),e[c+1].copy(),e[c+2].copy()];if(Ct(E.slice(0,2),"rphf")||r.rephMode==="Explicit"&&Ct(E,"rphf")){for(C+=2;C<f&&ft(e[C]);)C++;b=c,F=!0}}else if(r.rephMode==="Log_Repha"&&e[c].shaperInfo.category===fe.Repha){for(C++;C<f&&ft(e[C]);)C++;b=c,F=!0}switch(r.basePos){case"Last":{let E=f,U=!1;do{let x=e[--E].shaperInfo;if(Rt(e[E])){if(x.position!==Z.Below_C&&(x.position!==Z.Post_C||U)){b=E;break}x.position===Z.Below_C&&(U=!0),b=E}else if(c<E&&x.category===fe.ZWJ&&e[E-1].shaperInfo.category===fe.H)break}while(E>C);break}case"First":b=c;for(let E=b+1;E<f;E++)Rt(e[E])&&(e[E].shaperInfo.position=Z.Below_C)}F&&b===c&&C-b<=2&&(F=!1);for(let E=c;E<b;E++){let U=e[E].shaperInfo;U.position=Math.min(Z.Pre_C,U.position)}b<f&&(e[b].shaperInfo.position=Z.Base_C);for(let E=b+1;E<f;E++)if(e[E].shaperInfo.category===fe.M){for(let U=E+1;U<f;U++)if(Rt(e[U])){e[U].shaperInfo.position=Z.Final_C;break}break}if(F&&(e[c].shaperInfo.position=Z.Ra_To_Become_Reph),t.isOldSpec){let E=t.unicodeScript!=="Malayalam";for(let U=b+1;U<f;U++)if(e[U].shaperInfo.category===fe.H){let x;for(x=f-1;x>U&&!(Rt(e[x])||E&&e[x].shaperInfo.category===fe.H);x--);if(e[x].shaperInfo.category!==fe.H&&x>U){let te=e[U];e.splice(U,0,...e.splice(U+1,x-U)),e[x]=te}break}}let O=Z.Start;for(let E=c;E<f;E++){let U=e[E].shaperInfo;if(U.category&(Xa|fe.N|fe.RS|fe.CM|C0&U.category)){if(U.position=O,U.category===fe.H&&U.position===Z.Pre_M){for(let x=E;x>c;x--)if(e[x-1].shaperInfo.position!==Z.Pre_M){U.position=e[x-1].shaperInfo.position;break}}}else U.position!==Z.SMVD&&(O=U.position)}let G=b;for(let E=b+1;E<f;E++)if(Rt(e[E])){for(let U=G+1;U<E;U++)e[U].shaperInfo.position<Z.SMVD&&(e[U].shaperInfo.position=e[E].shaperInfo.position);G=E}else e[E].shaperInfo.category===fe.M&&(G=E);let Q=e.slice(c,f);Q.sort((E,U)=>E.shaperInfo.position-U.shaperInfo.position),e.splice(c,Q.length,...Q);for(let E=c;E<f;E++)if(e[E].shaperInfo.position===Z.Base_C){b=E;break}for(let E=c;E<f&&e[E].shaperInfo.position===Z.Ra_To_Become_Reph;E++)e[E].features.rphf=!0;let z=!t.isOldSpec&&r.blwfMode==="Pre_And_Post";for(let E=c;E<b;E++)e[E].features.half=!0,z&&(e[E].features.blwf=!0);for(let E=b+1;E<f;E++)e[E].features.abvf=!0,e[E].features.pstf=!0,e[E].features.blwf=!0;if(t.isOldSpec&&t.unicodeScript==="Devanagari")for(let E=c;E+1<b;E++)e[E].shaperInfo.category===fe.Ra&&e[E+1].shaperInfo.category===fe.H&&(E+1===b||e[E+2].shaperInfo.category===fe.ZWJ)&&(e[E].features.blwf=!0,e[E+1].features.blwf=!0);let W=2;if(n.pref&&b+W<f)for(let E=b+1;E+W-1<f;E++){let U=[e[E].copy(),e[E+1].copy()];if(Ct(U,"pref")){for(let x=0;x<W;x++)e[E++].features.pref=!0;if(n.cfar)for(;E<f;E++)e[E].features.cfar=!0;break}}for(let E=c+1;E<f;E++)if(ft(e[E])){let U=e[E].shaperInfo.category===fe.ZWNJ,x=E;do x--,U&&delete e[x].features.half;while(x>c&&!Rt(e[x]))}}}function Zf(a,e,t){let r=t.indicConfig,n=a._layoutEngine.engine.GSUBProcessor.features;for(let s=0,i=ar(e,0);s<e.length;s=i,i=ar(e,s)){let c=!!n.pref,f=s;for(;f<i;f++)if(e[f].shaperInfo.position>=Z.Base_C){if(c&&f+1<i){for(let p=f+1;p<i;p++)if(e[p].features.pref){if(!(e[p].substituted&&e[p].isLigated&&!e[p].isMultiplied)){for(f=p;f<i&&vt(e[f]);)f++;e[f].shaperInfo.position=Z.BASE_C,c=!1}break}}if(t.unicodeScript==="Malayalam")for(let p=f+1;p<i;p++){for(;p<i&&ft(e[p]);)p++;if(p===i||!vt(e[p]))break;for(p++;p<i&&ft(e[p]);)p++;p<i&&Rt(e[p])&&e[p].shaperInfo.position===Z.Below_C&&(f=p,e[f].shaperInfo.position=Z.Base_C)}s<f&&e[f].shaperInfo.position>Z.Base_C&&f--;break}if(f===i&&s<f&&e[f-1].shaperInfo.category===fe.ZWJ&&f--,f<i)for(;s<f&&e[f].shaperInfo.category&(fe.N|C0);)f--;if(s+1<i&&s<f){let p=f===i?f-2:f-1;if(t.unicodeScript!=="Malayalam"&&t.unicodeScript!=="Tamil"){for(;p>s&&!(e[p].shaperInfo.category&(fe.M|C0));)p--;vt(e[p])&&e[p].shaperInfo.position!==Z.Pre_M?p+1<i&&ft(e[p+1])&&p++:p=s}if(s<p&&e[p].shaperInfo.position!==Z.Pre_M){for(let h=p;h>s;h--)if(e[h-1].shaperInfo.position===Z.Pre_M){let b=h-1;b<f&&f<=p&&f--;let C=e[b];e.splice(b,0,...e.splice(b+1,p-b)),e[p]=C,p--}}}if(s+1<i&&e[s].shaperInfo.position===Z.Ra_To_Become_Reph&&e[s].shaperInfo.category===fe.Repha!==(e[s].isLigated&&!e[s].isMultiplied)){let p,h=r.rephPos,b=!1;if(h!==Z.After_Post){for(p=s+1;p<f&&!vt(e[p]);)p++;if(p<f&&vt(e[p])&&(p+1<f&&ft(e[p+1])&&p++,b=!0),!b&&h===Z.After_Main){for(p=f;p+1<i&&e[p+1].shaperInfo.position<=Z.After_Main;)p++;b=p<i}if(!b&&h===Z.After_Sub){for(p=f;p+1<i&&!(e[p+1].shaperInfo.position&(Z.Post_C|Z.After_Post|Z.SMVD));)p++;b=p<i}}if(!b){for(p=s+1;p<f&&!vt(e[p]);)p++;p<f&&vt(e[p])&&(p+1<f&&ft(e[p+1])&&p++,b=!0)}if(!b){for(p=i-1;p>s&&e[p].shaperInfo.position===Z.SMVD;)p--;if(vt(e[p]))for(let F=f+1;F<p;F++)e[F].shaperInfo.category===fe.M&&p--}let C=e[s];e.splice(s,0,...e.splice(s+1,p-s)),e[p]=C,s<f&&f<=p&&f--}if(c&&f+1<i){for(let p=f+1;p<i;p++)if(e[p].features.pref){if(e[p].isLigated&&!e[p].isMultiplied){let h=f;if(t.unicodeScript!=="Malayalam"&&t.unicodeScript!=="Tamil"){for(;h>s&&!(e[h-1].shaperInfo.category&(fe.M|C0));)h--;if(h>s&&e[h-1].shaperInfo.category===fe.M){let F=p;for(let O=f+1;O<F;O++)if(e[O].shaperInfo.category===fe.M){h--;break}}}h>s&&vt(e[h-1])&&h<i&&ft(e[h])&&h++;let b=p,C=e[b];e.splice(h+1,0,...e.splice(h,b-h)),e[h]=C,h<=f&&f<b&&f++}break}}e[s].shaperInfo.position===Z.Pre_M&&(!s||!/Cf|Mn/.test(ur(e[s-1].codePoints[0])))&&(e[s].features.init=!0)}}function ar(a,e){if(e>=a.length)return e;let t=a[e].shaperInfo.syllable;for(;++e<a.length&&a[e].shaperInfo.syllable===t;);return e}const{categories:Kf,decompositions:Ts}=cr(gr),Jf=new or(Cn("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")),Qf=new oa(cr(gr));class le extends Dt{static planFeatures(e){e.addStage(e1),e.addStage(["locl","ccmp","nukt","akhn"]),e.addStage(Os),e.addStage(["rphf"],!1),e.addStage(t1),e.addStage(Os),e.addStage(["pref"]),e.addStage(r1),e.addStage(["rkrf","abvf","blwf","half","pstf","vatu","cjct"]),e.addStage(n1),e.addStage(["abvs","blws","pres","psts","dist","abvm","blwm"])}static assignFeatures(e,t){for(let r=t.length-1;r>=0;r--){let n=t[r].codePoints[0];if(Ts[n]){let s=Ts[n].map(i=>{let c=e.font.glyphForCodePoint(i);return new at(e.font,c.id,[i],t[r].features)});t.splice(r,1,...s)}}}}Ke(le,"zeroMarkWidths","BEFORE_GPOS");function Ps(a){return Jf.get(a.codePoints[0])}class _f{constructor(e,t,r){this.category=e,this.syllableType=t,this.syllable=r}}function e1(a,e){let t=0;for(let[r,n,s]of Qf.match(e.map(Ps))){++t;for(let c=r;c<=n;c++)e[c].shaperInfo=new _f(Kf[Ps(e[c])],s[0],t);let i=e[r].shaperInfo.category==="R"?1:Math.min(3,n-r);for(let c=r;c<r+i;c++)e[c].features.rphf=!0}}function Os(a,e){for(let t of e)t.substituted=!1}function t1(a,e){for(let t of e)t.substituted&&t.features.rphf&&(t.shaperInfo.category="R")}function r1(a,e){for(let t of e)t.substituted&&(t.shaperInfo.category="VPre")}function n1(a,e){let t=a.glyphForCodePoint(9676).id;for(let r=0,n=Ds(e,0);r<e.length;r=n,n=Ds(e,r)){let s,i,c=e[r].shaperInfo,f=c.syllableType;if(!(f!=="virama_terminated_cluster"&&f!=="standard_cluster"&&f!=="broken_cluster")){if(f==="broken_cluster"&&t){let p=new at(a,t,[9676]);for(p.shaperInfo=c,s=r;s<n&&e[s].shaperInfo.category==="R";s++);e.splice(++s,0,p),n++}if(c.category==="R"&&n-r>1){for(s=r+1;s<n;s++)if(c=e[s].shaperInfo,Ls(c)||z0(e[s])){z0(e[s])&&s--,e.splice(r,0,...e.splice(r+1,s-r),e[s]);break}}for(s=r,i=n;s<n;s++)c=e[s].shaperInfo,Ls(c)||z0(e[s])?i=z0(e[s])?s+1:s:(c.category==="VPre"||c.category==="VMPre")&&i<s&&e.splice(i,1,e[s],...e.splice(i,s-i))}}}function Ds(a,e){if(e>=a.length)return e;let t=a[e].shaperInfo.syllable;for(;++e<a.length&&a[e].shaperInfo.syllable===t;);return e}function z0(a){return a.shaperInfo.category==="H"&&!a.isLigated}function Ls(a){return a.category==="B"||a.category==="GB"}const s1={arab:kt,mong:kt,syrc:kt,"nko ":kt,phag:kt,mand:kt,mani:kt,phlp:kt,hang:za,bng2:Re,beng:Re,dev2:Re,deva:Re,gjr2:Re,gujr:Re,guru:Re,gur2:Re,knda:Re,knd2:Re,mlm2:Re,mlym:Re,ory2:Re,orya:Re,taml:Re,tml2:Re,telu:Re,tel2:Re,khmr:Re,bali:le,batk:le,brah:le,bugi:le,buhd:le,cakm:le,cham:le,dupl:le,egyp:le,gran:le,hano:le,java:le,kthi:le,kali:le,khar:le,khoj:le,sind:le,lepc:le,limb:le,mahj:le,mtei:le,modi:le,hmng:le,rjng:le,saur:le,shrd:le,sidd:le,sinh:Re,sund:le,sylo:le,tglg:le,tagb:le,tale:le,lana:le,tavt:le,takr:le,tibt:le,tfng:le,tirh:le,latn:Dt,DFLT:Dt};function a1(a){Array.isArray(a)||(a=[a]);for(let e of a){let t=s1[e];if(t)return t}return Dt}class i1 extends er{applyLookup(e,t){switch(e){case 1:{let n=this.coverageIndex(t.coverage);if(n===-1)return!1;let s=this.glyphIterator.cur;switch(t.version){case 1:s.id=s.id+t.deltaGlyphID&65535;break;case 2:s.id=t.substitute.get(n);break}return!0}case 2:{let n=this.coverageIndex(t.coverage);if(n!==-1){let s=t.sequences.get(n);if(s.length===0)return this.glyphs.splice(this.glyphIterator.index,1),!0;this.glyphIterator.cur.id=s[0],this.glyphIterator.cur.ligatureComponent=0;let i=this.glyphIterator.cur.features,c=this.glyphIterator.cur,f=s.slice(1).map((p,h)=>{let b=new at(this.font,p,void 0,i);return b.shaperInfo=c.shaperInfo,b.isLigated=c.isLigated,b.ligatureComponent=h+1,b.substituted=!0,b.isMultiplied=!0,b});return this.glyphs.splice(this.glyphIterator.index+1,0,...f),!0}return!1}case 3:{let n=this.coverageIndex(t.coverage);if(n!==-1){let s=0;return this.glyphIterator.cur.id=t.alternateSet.get(n)[s],!0}return!1}case 4:{let n=this.coverageIndex(t.coverage);if(n===-1)return!1;for(let s of t.ligatureSets.get(n)){let i=this.sequenceMatchIndices(1,s.components);if(!i)continue;let c=this.glyphIterator.cur,f=c.codePoints.slice();for(let G of i)f.push(...this.glyphs[G].codePoints);let p=new at(this.font,s.glyph,f,c.features);p.shaperInfo=c.shaperInfo,p.isLigated=!0,p.substituted=!0;let h=c.isMark;for(let G=0;G<i.length&&h;G++)h=this.glyphs[i[G]].isMark;p.ligatureID=h?null:this.ligatureID++;let b=c.ligatureID,C=c.codePoints.length,F=C,O=this.glyphIterator.index+1;for(let G of i){if(h)O=G;else for(;O<G;){var r=F-C+Math.min(this.glyphs[O].ligatureComponent||1,C);this.glyphs[O].ligatureID=p.ligatureID,this.glyphs[O].ligatureComponent=r,O++}b=this.glyphs[O].ligatureID,C=this.glyphs[O].codePoints.length,F+=C,O++}if(b&&!h)for(let G=O;G<this.glyphs.length&&this.glyphs[G].ligatureID===b;G++){var r=F-C+Math.min(this.glyphs[G].ligatureComponent||1,C);this.glyphs[G].ligatureComponent=r}for(let G=i.length-1;G>=0;G--)this.glyphs.splice(i[G],1);return this.glyphs[this.glyphIterator.index]=p,!0}return!1}case 5:return this.applyContext(t);case 6:return this.applyChainingContext(t);case 7:return this.applyLookup(t.lookupType,t.extension);default:throw new Error(`GSUB lookupType ${e} is not supported`)}}}class o1 extends er{applyPositionValue(e,t){let r=this.positions[this.glyphIterator.peekIndex(e)];t.xAdvance!=null&&(r.xAdvance+=t.xAdvance),t.yAdvance!=null&&(r.yAdvance+=t.yAdvance),t.xPlacement!=null&&(r.xOffset+=t.xPlacement),t.yPlacement!=null&&(r.yOffset+=t.yPlacement);let n=this.font._variationProcessor,s=this.font.GDEF&&this.font.GDEF.itemVariationStore;n&&s&&(t.xPlaDevice&&(r.xOffset+=n.getDelta(s,t.xPlaDevice.a,t.xPlaDevice.b)),t.yPlaDevice&&(r.yOffset+=n.getDelta(s,t.yPlaDevice.a,t.yPlaDevice.b)),t.xAdvDevice&&(r.xAdvance+=n.getDelta(s,t.xAdvDevice.a,t.xAdvDevice.b)),t.yAdvDevice&&(r.yAdvance+=n.getDelta(s,t.yAdvDevice.a,t.yAdvDevice.b)))}applyLookup(e,t){switch(e){case 1:{let n=this.coverageIndex(t.coverage);if(n===-1)return!1;switch(t.version){case 1:this.applyPositionValue(0,t.value);break;case 2:this.applyPositionValue(0,t.values.get(n));break}return!0}case 2:{let n=this.glyphIterator.peek();if(!n)return!1;let s=this.coverageIndex(t.coverage);if(s===-1)return!1;switch(t.version){case 1:let i=t.pairSets.get(s);for(let p of i)if(p.secondGlyph===n.id)return this.applyPositionValue(0,p.value1),this.applyPositionValue(1,p.value2),!0;return!1;case 2:let c=this.getClassID(this.glyphIterator.cur.id,t.classDef1),f=this.getClassID(n.id,t.classDef2);if(c===-1||f===-1)return!1;var r=t.classRecords.get(c).get(f);return this.applyPositionValue(0,r.value1),this.applyPositionValue(1,r.value2),!0}}case 3:{let n=this.glyphIterator.peekIndex(),s=this.glyphs[n];if(!s)return!1;let i=t.entryExitRecords[this.coverageIndex(t.coverage)];if(!i||!i.exitAnchor)return!1;let c=t.entryExitRecords[this.coverageIndex(t.coverage,s.id)];if(!c||!c.entryAnchor)return!1;let f=this.getAnchor(c.entryAnchor),p=this.getAnchor(i.exitAnchor),h=this.positions[this.glyphIterator.index],b=this.positions[n],C;switch(this.direction){case"ltr":h.xAdvance=p.x+h.xOffset,C=f.x+b.xOffset,b.xAdvance-=C,b.xOffset-=C;break;case"rtl":C=p.x+h.xOffset,h.xAdvance-=C,h.xOffset-=C,b.xAdvance=f.x+b.xOffset;break}return this.glyphIterator.flags.rightToLeft?(this.glyphIterator.cur.cursiveAttachment=n,h.yOffset=f.y-p.y):(s.cursiveAttachment=this.glyphIterator.index,h.yOffset=p.y-f.y),!0}case 4:{let n=this.coverageIndex(t.markCoverage);if(n===-1)return!1;let s=this.glyphIterator.index;for(;--s>=0&&(this.glyphs[s].isMark||this.glyphs[s].ligatureComponent>0););if(s<0)return!1;let i=this.coverageIndex(t.baseCoverage,this.glyphs[s].id);if(i===-1)return!1;let c=t.markArray[n],f=t.baseArray[i][c.class];return this.applyAnchor(c,f,s),!0}case 5:{let n=this.coverageIndex(t.markCoverage);if(n===-1)return!1;let s=this.glyphIterator.index;for(;--s>=0&&this.glyphs[s].isMark;);if(s<0)return!1;let i=this.coverageIndex(t.ligatureCoverage,this.glyphs[s].id);if(i===-1)return!1;let c=t.ligatureArray[i],f=this.glyphIterator.cur,p=this.glyphs[s],h=p.ligatureID&&p.ligatureID===f.ligatureID&&f.ligatureComponent>0?Math.min(f.ligatureComponent,p.codePoints.length)-1:p.codePoints.length-1,b=t.markArray[n],C=c[h][b.class];return this.applyAnchor(b,C,s),!0}case 6:{let n=this.coverageIndex(t.mark1Coverage);if(n===-1)return!1;let s=this.glyphIterator.peekIndex(-1),i=this.glyphs[s];if(!i||!i.isMark)return!1;let c=this.glyphIterator.cur,f=!1;if(c.ligatureID===i.ligatureID?c.ligatureID?c.ligatureComponent===i.ligatureComponent&&(f=!0):f=!0:(c.ligatureID&&!c.ligatureComponent||i.ligatureID&&!i.ligatureComponent)&&(f=!0),!f)return!1;let p=this.coverageIndex(t.mark2Coverage,i.id);if(p===-1)return!1;let h=t.mark1Array[n],b=t.mark2Array[p][h.class];return this.applyAnchor(h,b,s),!0}case 7:return this.applyContext(t);case 8:return this.applyChainingContext(t);case 9:return this.applyLookup(t.lookupType,t.extension);default:throw new Error(`Unsupported GPOS table: ${e}`)}}applyAnchor(e,t,r){let n=this.getAnchor(t),s=this.getAnchor(e.markAnchor);this.positions[r];let i=this.positions[this.glyphIterator.index];i.xOffset=n.x-s.x,i.yOffset=n.y-s.y,this.glyphIterator.cur.markAttachment=r}getAnchor(e){let t=e.xCoordinate,r=e.yCoordinate,n=this.font._variationProcessor,s=this.font.GDEF&&this.font.GDEF.itemVariationStore;return n&&s&&(e.xDeviceTable&&(t+=n.getDelta(s,e.xDeviceTable.a,e.xDeviceTable.b)),e.yDeviceTable&&(r+=n.getDelta(s,e.yDeviceTable.a,e.yDeviceTable.b))),{x:t,y:r}}applyFeatures(e,t,r){super.applyFeatures(e,t,r);for(var n=0;n<this.glyphs.length;n++)this.fixCursiveAttachment(n);this.fixMarkAttachment()}fixCursiveAttachment(e){let t=this.glyphs[e];if(t.cursiveAttachment!=null){let r=t.cursiveAttachment;t.cursiveAttachment=null,this.fixCursiveAttachment(r),this.positions[e].yOffset+=this.positions[r].yOffset}}fixMarkAttachment(){for(let e=0;e<this.glyphs.length;e++){let t=this.glyphs[e];if(t.markAttachment!=null){let r=t.markAttachment;if(this.positions[e].xOffset+=this.positions[r].xOffset,this.positions[e].yOffset+=this.positions[r].yOffset,this.direction==="ltr")for(let n=r;n<e;n++)this.positions[e].xOffset-=this.positions[n].xAdvance,this.positions[e].yOffset-=this.positions[n].yAdvance;else for(let n=r+1;n<e+1;n++)this.positions[e].xOffset+=this.positions[n].xAdvance,this.positions[e].yOffset+=this.positions[n].yAdvance}}}}class l1{setup(e){this.glyphInfos=e.glyphs.map(r=>new at(this.font,r.id,[...r.codePoints]));let t=null;this.GPOSProcessor&&(t=this.GPOSProcessor.selectScript(e.script,e.language,e.direction)),this.GSUBProcessor&&(t=this.GSUBProcessor.selectScript(e.script,e.language,e.direction)),this.shaper=a1(t),this.plan=new lf(this.font,t,e.direction),this.shaper.plan(this.plan,this.glyphInfos,e.features);for(let r in this.plan.allFeatures)e.features[r]=!0}substitute(e){this.GSUBProcessor&&(this.plan.process(this.GSUBProcessor,this.glyphInfos),e.glyphs=this.glyphInfos.map(t=>this.font.getGlyph(t.id,t.codePoints)))}position(e){return this.shaper.zeroMarkWidths==="BEFORE_GPOS"&&this.zeroMarkAdvances(e.positions),this.GPOSProcessor&&this.plan.process(this.GPOSProcessor,this.glyphInfos,e.positions),this.shaper.zeroMarkWidths==="AFTER_GPOS"&&this.zeroMarkAdvances(e.positions),e.direction==="rtl"&&(e.glyphs.reverse(),e.positions.reverse()),this.GPOSProcessor&&this.GPOSProcessor.features}zeroMarkAdvances(e){for(let t=0;t<this.glyphInfos.length;t++)this.glyphInfos[t].isMark&&(e[t].xAdvance=0,e[t].yAdvance=0)}cleanup(){this.glyphInfos=null,this.plan=null,this.shaper=null}getAvailableFeatures(e,t){let r=[];return this.GSUBProcessor&&(this.GSUBProcessor.selectScript(e,t),r.push(...Object.keys(this.GSUBProcessor.features))),this.GPOSProcessor&&(this.GPOSProcessor.selectScript(e,t),r.push(...Object.keys(this.GPOSProcessor.features))),r}constructor(e){this.font=e,this.glyphInfos=null,this.plan=null,this.GSUBProcessor=null,this.GPOSProcessor=null,this.fallbackPosition=!0,e.GSUB&&(this.GSUBProcessor=new i1(e,e.GSUB)),e.GPOS&&(this.GPOSProcessor=new o1(e,e.GPOS))}}class u1{layout(e,t,r,n,s){if(typeof t=="string"&&(s=n,n=r,r=t,t=[]),typeof e=="string"){r==null&&(r=Uc(e));var i=this.font.glyphsForString(e)}else{if(r==null){let p=[];for(let h of e)p.push(...h.codePoints);r=Nc(p)}var i=e}let c=new Vc(i,t,r,n,s);return i.length===0?(c.positions=[],c):(this.engine&&this.engine.setup&&this.engine.setup(c),this.substitute(c),this.position(c),this.hideDefaultIgnorables(c.glyphs,c.positions),this.engine&&this.engine.cleanup&&this.engine.cleanup(),c)}substitute(e){this.engine&&this.engine.substitute&&this.engine.substitute(e)}position(e){e.positions=e.glyphs.map(r=>new zc(r.advanceWidth));let t=null;this.engine&&this.engine.position&&(t=this.engine.position(e)),!t&&(!this.engine||this.engine.fallbackPosition)&&(this.unicodeLayoutEngine||(this.unicodeLayoutEngine=new Mc(this.font)),this.unicodeLayoutEngine.positionGlyphs(e.glyphs,e.positions)),(!t||!t.kern)&&e.features.kern!==!1&&this.font.kern&&(this.kernProcessor||(this.kernProcessor=new Lc(this.font)),this.kernProcessor.process(e.glyphs,e.positions),e.features.kern=!0)}hideDefaultIgnorables(e,t){let r=this.font.glyphForCodePoint(32);for(let n=0;n<e.length;n++)this.isDefaultIgnorable(e[n].codePoints[0])&&(e[n]=r,t[n].xAdvance=0,t[n].yAdvance=0)}isDefaultIgnorable(e){let t=e>>16;if(t===0)switch(e>>8){case 0:return e===173;case 3:return e===847;case 6:return e===1564;case 23:return 6068<=e&&e<=6069;case 24:return 6155<=e&&e<=6158;case 32:return 8203<=e&&e<=8207||8234<=e&&e<=8238||8288<=e&&e<=8303;case 254:return 65024<=e&&e<=65039||e===65279;case 255:return 65520<=e&&e<=65528;default:return!1}else switch(t){case 1:return 113824<=e&&e<=113827||119155<=e&&e<=119162;case 14:return 917504<=e&&e<=921599;default:return!1}}getAvailableFeatures(e,t){let r=[];return this.engine&&r.push(...this.engine.getAvailableFeatures(e,t)),this.font.kern&&r.indexOf("kern")===-1&&r.push("kern"),r}stringsForGlyph(e){let t=new Set,r=this.font._cmapProcessor.codePointsForGlyph(e);for(let n of r)t.add(String.fromCodePoint(n));if(this.engine&&this.engine.stringsForGlyph)for(let n of this.engine.stringsForGlyph(e))t.add(n);return Array.from(t)}constructor(e){this.font=e,this.unicodeLayoutEngine=null,this.kernProcessor=null,this.font.morx?this.engine=new of(this.font):(this.font.GSUB||this.font.GPOS)&&(this.engine=new l1(this.font))}}const c1={moveTo:"M",lineTo:"L",quadraticCurveTo:"Q",bezierCurveTo:"C",closePath:"Z"};class l0{toFunction(){return e=>{this.commands.forEach(t=>e[t.command].apply(e,t.args))}}toSVG(){return this.commands.map(t=>{let r=t.args.map(n=>Math.round(n*100)/100);return`${c1[t.command]}${r.join(" ")}`}).join("")}get cbox(){if(!this._cbox){let e=new Ot;for(let t of this.commands)for(let r=0;r<t.args.length;r+=2)e.addPoint(t.args[r],t.args[r+1]);this._cbox=Object.freeze(e)}return this._cbox}get bbox(){if(this._bbox)return this._bbox;let e=new Ot,t=0,r=0,n=W=>Math.pow(1-W,3)*F[z]+3*Math.pow(1-W,2)*W*O[z]+3*(1-W)*Math.pow(W,2)*G[z]+Math.pow(W,3)*Q[z];for(let W of this.commands)switch(W.command){case"moveTo":case"lineTo":let[E,U]=W.args;e.addPoint(E,U),t=E,r=U;break;case"quadraticCurveTo":case"bezierCurveTo":if(W.command==="quadraticCurveTo")var[s,i,b,C]=W.args,c=t+2/3*(s-t),f=r+2/3*(i-r),p=b+2/3*(s-b),h=C+2/3*(i-C);else var[c,f,p,h,b,C]=W.args;e.addPoint(b,C);for(var F=[t,r],O=[c,f],G=[p,h],Q=[b,C],z=0;z<=1;z++){let x=6*F[z]-12*O[z]+6*G[z],te=-3*F[z]+9*O[z]-9*G[z]+3*Q[z];if(W=3*O[z]-3*F[z],te===0){if(x===0)continue;let Y=-W/x;0<Y&&Y<1&&(z===0?e.addPoint(n(Y),e.maxY):z===1&&e.addPoint(e.maxX,n(Y)));continue}let K=Math.pow(x,2)-4*W*te;if(K<0)continue;let V=(-x+Math.sqrt(K))/(2*te);0<V&&V<1&&(z===0?e.addPoint(n(V),e.maxY):z===1&&e.addPoint(e.maxX,n(V)));let ae=(-x-Math.sqrt(K))/(2*te);0<ae&&ae<1&&(z===0?e.addPoint(n(ae),e.maxY):z===1&&e.addPoint(e.maxX,n(ae)))}t=b,r=C;break}return this._bbox=Object.freeze(e)}mapPoints(e){let t=new l0;for(let r of this.commands){let n=[];for(let s=0;s<r.args.length;s+=2){let[i,c]=e(r.args[s],r.args[s+1]);n.push(i,c)}t[r.command](...n)}return t}transform(e,t,r,n,s,i){return this.mapPoints((c,f)=>{const p=e*c+r*f+s,h=t*c+n*f+i;return[p,h]})}translate(e,t){return this.transform(1,0,0,1,e,t)}rotate(e){let t=Math.cos(e),r=Math.sin(e);return this.transform(t,r,-r,t,0,0)}scale(e,t=e){return this.transform(e,0,0,t,0,0)}constructor(){this.commands=[],this._bbox=null,this._cbox=null}}for(let a of["moveTo","lineTo","quadraticCurveTo","bezierCurveTo","closePath"])l0.prototype[a]=function(...e){return this._bbox=this._cbox=null,this.commands.push({command:a,args:e}),this};var x0=[".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"];class mt{_getPath(){return new l0}_getCBox(){return this.path.cbox}_getBBox(){return this.path.bbox}_getTableMetrics(e){if(this.id<e.metrics.length)return e.metrics.get(this.id);let t=e.metrics.get(e.metrics.length-1);return{advance:t?t.advance:0,bearing:e.bearings.get(this.id-e.metrics.length)||0}}_getMetrics(e){if(this._metrics)return this._metrics;let{advance:t,bearing:r}=this._getTableMetrics(this._font.hmtx);if(this._font.vmtx)var{advance:n,bearing:s}=this._getTableMetrics(this._font.vmtx);else{let i;if((typeof e>"u"||e===null)&&({cbox:e}=this),(i=this._font["OS/2"])&&i.version>0)var n=Math.abs(i.typoAscender-i.typoDescender),s=i.typoAscender-e.maxY;else{let{hhea:c}=this._font;var n=Math.abs(c.ascent-c.descent),s=c.ascent-e.maxY}}return this._font._variationProcessor&&this._font.HVAR&&(t+=this._font._variationProcessor.getAdvanceAdjustment(this.id,this._font.HVAR)),this._metrics={advanceWidth:t,advanceHeight:n,leftBearing:r,topBearing:s}}get cbox(){return this._getCBox()}get bbox(){return this._getBBox()}get path(){return this._getPath()}getScaledPath(e){let t=1/this._font.unitsPerEm*e;return this.path.scale(t)}get advanceWidth(){return this._getMetrics().advanceWidth}get advanceHeight(){return this._getMetrics().advanceHeight}get ligatureCaretPositions(){}_getName(){let{post:e}=this._font;if(!e)return null;switch(e.version){case 1:return x0[this.id];case 2:let t=e.glyphNameIndex[this.id];return t<x0.length?x0[t]:e.names[t-x0.length];case 2.5:return x0[this.id+e.offsets[this.id]];case 4:return String.fromCharCode(e.map[this.id])}}get name(){return this._getName()}render(e,t){e.save();let r=1/this._font.head.unitsPerEm*t;e.scale(r,r),this.path.toFunction()(e),e.fill(),e.restore()}constructor(e,t,r){this.id=e,this.codePoints=t,this._font=r,this.isMark=this.codePoints.length>0&&this.codePoints.every(ia),this.isLigature=this.codePoints.length>1}}Ve([ze],mt.prototype,"cbox",null);Ve([ze],mt.prototype,"bbox",null);Ve([ze],mt.prototype,"path",null);Ve([ze],mt.prototype,"advanceWidth",null);Ve([ze],mt.prototype,"advanceHeight",null);Ve([ze],mt.prototype,"name",null);let Ms=new A({numberOfContours:P,xMin:P,yMin:P,xMax:P,yMax:P});const f1=1,h1=2,d1=4,p1=8,b1=16,g1=32,x1=1,m1=8,Rs=32,w1=64,v1=128,y1=256;class rt{copy(){return new rt(this.onCurve,this.endContour,this.x,this.y)}constructor(e,t,r=0,n=0){this.onCurve=e,this.endContour=t,this.x=r,this.y=n}}class C1{constructor(e,t,r){this.glyphID=e,this.dx=t,this.dy=r,this.pos=0,this.scaleX=this.scaleY=1,this.scale01=this.scale10=0}}class xr extends mt{_getCBox(e){if(this._font._variationProcessor&&!e)return this.path.cbox;let t=this._font._getTableStream("glyf");t.pos+=this._font.loca.offsets[this.id];let r=Ms.decode(t),n=new Ot(r.xMin,r.yMin,r.xMax,r.yMax);return Object.freeze(n)}_parseGlyphCoord(e,t,r,n){if(r){var s=e.readUInt8();n||(s=-s),s+=t}else if(n)var s=t;else var s=t+e.readInt16BE();return s}_decode(){let e=this._font.loca.offsets[this.id],t=this._font.loca.offsets[this.id+1];if(e===t)return null;let r=this._font._getTableStream("glyf");r.pos+=e;let n=r.pos,s=Ms.decode(r);return s.numberOfContours>0?this._decodeSimple(s,r):s.numberOfContours<0&&this._decodeComposite(s,r,n),s}_decodeSimple(e,t){e.points=[];let r=new w(o,e.numberOfContours).decode(t);e.instructions=new w(M,o).decode(t);let n=[],s=r[r.length-1]+1;for(;n.length<s;){var i=t.readUInt8();if(n.push(i),i&p1){let h=t.readUInt8();for(let b=0;b<h;b++)n.push(i)}}for(var c=0;c<n.length;c++){var i=n[c];let b=new rt(!!(i&f1),r.indexOf(c)>=0,0,0);e.points.push(b)}let f=0;for(var c=0;c<n.length;c++){var i=n[c];e.points[c].x=f=this._parseGlyphCoord(t,f,i&h1,i&b1)}let p=0;for(var c=0;c<n.length;c++){var i=n[c];e.points[c].y=p=this._parseGlyphCoord(t,p,i&d1,i&g1)}if(this._font._variationProcessor){let h=e.points.slice();h.push(...this._getPhantomPoints(e)),this._font._variationProcessor.transformPoints(this.id,h),e.phantomPoints=h.slice(-4)}}_decodeComposite(e,t,r=0){e.components=[];let n=!1,s=Rs;for(;s&Rs;){s=t.readUInt16BE();let p=t.pos-r,h=t.readUInt16BE();if(n||(n=(s&y1)!==0),s&x1)var i=t.readInt16BE(),c=t.readInt16BE();else var i=t.readInt8(),c=t.readInt8();var f=new C1(h,i,c);f.pos=p,s&m1?f.scaleX=f.scaleY=(t.readUInt8()<<24|t.readUInt8()<<16)/1073741824:s&w1?(f.scaleX=(t.readUInt8()<<24|t.readUInt8()<<16)/1073741824,f.scaleY=(t.readUInt8()<<24|t.readUInt8()<<16)/1073741824):s&v1&&(f.scaleX=(t.readUInt8()<<24|t.readUInt8()<<16)/1073741824,f.scale01=(t.readUInt8()<<24|t.readUInt8()<<16)/1073741824,f.scale10=(t.readUInt8()<<24|t.readUInt8()<<16)/1073741824,f.scaleY=(t.readUInt8()<<24|t.readUInt8()<<16)/1073741824),e.components.push(f)}if(this._font._variationProcessor){let p=[];for(let h=0;h<e.components.length;h++){var f=e.components[h];p.push(new rt(!0,!0,f.dx,f.dy))}p.push(...this._getPhantomPoints(e)),this._font._variationProcessor.transformPoints(this.id,p),e.phantomPoints=p.splice(-4,4);for(let h=0;h<p.length;h++){let b=p[h];e.components[h].dx=b.x,e.components[h].dy=b.y}}return n}_getPhantomPoints(e){let t=this._getCBox(!0);this._metrics==null&&(this._metrics=mt.prototype._getMetrics.call(this,t));let{advanceWidth:r,advanceHeight:n,leftBearing:s,topBearing:i}=this._metrics;return[new rt(!1,!0,e.xMin-s,0),new rt(!1,!0,e.xMin-s+r,0),new rt(!1,!0,0,e.yMax+i),new rt(!1,!0,0,e.yMax+i+n)]}_getContours(){let e=this._decode();if(!e)return[];let t=[];if(e.numberOfContours<0)for(let i of e.components){let c=this._font.getGlyph(i.glyphID)._getContours();for(let f=0;f<c.length;f++){let p=c[f];for(let h=0;h<p.length;h++){let b=p[h],C=b.x*i.scaleX+b.y*i.scale01+i.dx,F=b.y*i.scaleY+b.x*i.scale10+i.dy;t.push(new rt(b.onCurve,b.endContour,C,F))}}}else t=e.points||[];e.phantomPoints&&!this._font.directory.tables.HVAR&&(this._metrics.advanceWidth=e.phantomPoints[1].x-e.phantomPoints[0].x,this._metrics.advanceHeight=e.phantomPoints[3].y-e.phantomPoints[2].y,this._metrics.leftBearing=e.xMin-e.phantomPoints[0].x,this._metrics.topBearing=e.phantomPoints[2].y-e.yMax);let r=[],n=[];for(let i=0;i<t.length;i++){var s=t[i];n.push(s),s.endContour&&(r.push(n),n=[])}return r}_getMetrics(){if(this._metrics)return this._metrics;let e=this._getCBox(!0);return super._getMetrics(e),this._font._variationProcessor&&!this._font.HVAR&&this.path,this._metrics}_getPath(){let e=this._getContours(),t=new l0;for(let n=0;n<e.length;n++){let s=e[n],i=s[0],c=s[s.length-1],f=0;if(i.onCurve){var r=null;f=1}else{c.onCurve?i=c:i=new rt(!1,!1,(i.x+c.x)/2,(i.y+c.y)/2);var r=i}t.moveTo(i.x,i.y);for(let p=f;p<s.length;p++){let h=s[p],b=p===0?i:s[p-1];if(b.onCurve&&h.onCurve)t.lineTo(h.x,h.y);else if(b.onCurve&&!h.onCurve)var r=h;else if(!b.onCurve&&!h.onCurve){let F=(b.x+h.x)/2,O=(b.y+h.y)/2;t.quadraticCurveTo(b.x,b.y,F,O);var r=h}else if(!b.onCurve&&h.onCurve){t.quadraticCurveTo(r.x,r.y,h.x,h.y);var r=null}else throw new Error("Unknown TTF path state")}r&&t.quadraticCurveTo(r.x,r.y,i.x,i.y),t.closePath()}return t}constructor(...e){super(...e),Ke(this,"type","TTF")}}class A1 extends mt{_getName(){return this._font.CFF2?super._getName():this._font["CFF "].getGlyphName(this.id)}bias(e){return e.length<1240?107:e.length<33900?1131:32768}_getPath(){let e=this._font.CFF2||this._font["CFF "],{stream:t}=e,r=e.topDict.CharStrings[this.id],n=r.offset+r.length;t.pos=r.offset;let s=new l0,i=[],c=[],f=null,p=0,h=0,b=0,C,F,O=!1;this._usedGsubrs=C={},this._usedSubrs=F={};let G=e.globalSubrIndex||[],Q=this.bias(G),z=e.privateDictForGlyph(this.id)||{},W=z.Subrs||[],E=this.bias(W),U=e.topDict.vstore&&e.topDict.vstore.itemVariationStore,x=z.vsindex,te=this._font._variationProcessor;function K(){f==null&&(f=i.shift()+z.nominalWidthX)}function V(){return i.length%2!==0&&K(),p+=i.length>>1,i.length=0}function ae(ce,Oe){O&&s.closePath(),s.moveTo(ce,Oe),O=!0}let Y=function(){for(;t.pos<n;){let pe=t.readUInt8();if(pe<32){let Ue,ye,Ie,re,ie,ne,se,je,$e,it,Ce,Te,tt,Qe,L,T;switch(pe){case 1:case 3:case 18:case 23:V();break;case 4:i.length>1&&K(),b+=i.shift(),ae(h,b);break;case 5:for(;i.length>=2;)h+=i.shift(),b+=i.shift(),s.lineTo(h,b);break;case 6:case 7:for(Ie=pe===6;i.length>=1;)Ie?h+=i.shift():b+=i.shift(),s.lineTo(h,b),Ie=!Ie;break;case 8:for(;i.length>0;)re=h+i.shift(),ie=b+i.shift(),ne=re+i.shift(),se=ie+i.shift(),h=ne+i.shift(),b=se+i.shift(),s.bezierCurveTo(re,ie,ne,se,h,b);break;case 10:if(Ue=i.pop()+E,ye=W[Ue],ye){F[Ue]=!0;let B=t.pos,I=n;t.pos=ye.offset,n=ye.offset+ye.length,Y(),t.pos=B,n=I}break;case 11:if(e.version>=2)break;return;case 14:if(e.version>=2)break;i.length>0&&K(),O&&(s.closePath(),O=!1);break;case 15:if(e.version<2)throw new Error("vsindex operator not supported in CFF v1");x=i.pop();break;case 16:{if(e.version<2)throw new Error("blend operator not supported in CFF v1");if(!te)throw new Error("blend operator in non-variation font");let B=te.getBlendVector(U,x),I=i.pop(),q=I*B.length,H=i.length-q,$=H-I;for(let X=0;X<I;X++){let _=i[$+X];for(let j=0;j<B.length;j++)_+=B[j]*i[H++];i[$+X]=_}for(;q--;)i.pop();break}case 19:case 20:V(),t.pos+=p+7>>3;break;case 21:i.length>2&&K(),h+=i.shift(),b+=i.shift(),ae(h,b);break;case 22:i.length>1&&K(),h+=i.shift(),ae(h,b);break;case 24:for(;i.length>=8;)re=h+i.shift(),ie=b+i.shift(),ne=re+i.shift(),se=ie+i.shift(),h=ne+i.shift(),b=se+i.shift(),s.bezierCurveTo(re,ie,ne,se,h,b);h+=i.shift(),b+=i.shift(),s.lineTo(h,b);break;case 25:for(;i.length>=8;)h+=i.shift(),b+=i.shift(),s.lineTo(h,b);re=h+i.shift(),ie=b+i.shift(),ne=re+i.shift(),se=ie+i.shift(),h=ne+i.shift(),b=se+i.shift(),s.bezierCurveTo(re,ie,ne,se,h,b);break;case 26:for(i.length%2&&(h+=i.shift());i.length>=4;)re=h,ie=b+i.shift(),ne=re+i.shift(),se=ie+i.shift(),h=ne,b=se+i.shift(),s.bezierCurveTo(re,ie,ne,se,h,b);break;case 27:for(i.length%2&&(b+=i.shift());i.length>=4;)re=h+i.shift(),ie=b,ne=re+i.shift(),se=ie+i.shift(),h=ne+i.shift(),b=se,s.bezierCurveTo(re,ie,ne,se,h,b);break;case 28:i.push(t.readInt16BE());break;case 29:if(Ue=i.pop()+Q,ye=G[Ue],ye){C[Ue]=!0;let B=t.pos,I=n;t.pos=ye.offset,n=ye.offset+ye.length,Y(),t.pos=B,n=I}break;case 30:case 31:for(Ie=pe===31;i.length>=4;)Ie?(re=h+i.shift(),ie=b,ne=re+i.shift(),se=ie+i.shift(),b=se+i.shift(),h=ne+(i.length===1?i.shift():0)):(re=h,ie=b+i.shift(),ne=re+i.shift(),se=ie+i.shift(),h=ne+i.shift(),b=se+(i.length===1?i.shift():0)),s.bezierCurveTo(re,ie,ne,se,h,b),Ie=!Ie;break;case 12:switch(pe=t.readUInt8(),pe){case 3:let B=i.pop(),I=i.pop();i.push(B&&I?1:0);break;case 4:B=i.pop(),I=i.pop(),i.push(B||I?1:0);break;case 5:B=i.pop(),i.push(B?0:1);break;case 9:B=i.pop(),i.push(Math.abs(B));break;case 10:B=i.pop(),I=i.pop(),i.push(B+I);break;case 11:B=i.pop(),I=i.pop(),i.push(B-I);break;case 12:B=i.pop(),I=i.pop(),i.push(B/I);break;case 14:B=i.pop(),i.push(-B);break;case 15:B=i.pop(),I=i.pop(),i.push(B===I?1:0);break;case 18:i.pop();break;case 20:let q=i.pop(),H=i.pop();c[H]=q;break;case 21:H=i.pop(),i.push(c[H]||0);break;case 22:let $=i.pop(),X=i.pop(),_=i.pop(),j=i.pop();i.push(_<=j?$:X);break;case 23:i.push(Math.random());break;case 24:B=i.pop(),I=i.pop(),i.push(B*I);break;case 26:B=i.pop(),i.push(Math.sqrt(B));break;case 27:B=i.pop(),i.push(B,B);break;case 28:B=i.pop(),I=i.pop(),i.push(I,B);break;case 29:H=i.pop(),H<0?H=0:H>i.length-1&&(H=i.length-1),i.push(i[H]);break;case 30:let N=i.pop(),de=i.pop();if(de>=0)for(;de>0;){var ce=i[N-1];for(let Ee=N-2;Ee>=0;Ee--)i[Ee+1]=i[Ee];i[0]=ce,de--}else for(;de<0;){var ce=i[0];for(let Me=0;Me<=N;Me++)i[Me]=i[Me+1];i[N-1]=ce,de++}break;case 34:re=h+i.shift(),ie=b,ne=re+i.shift(),se=ie+i.shift(),je=ne+i.shift(),$e=se,it=je+i.shift(),Ce=$e,Te=it+i.shift(),tt=Ce,Qe=Te+i.shift(),L=tt,h=Qe,b=L,s.bezierCurveTo(re,ie,ne,se,je,$e),s.bezierCurveTo(it,Ce,Te,tt,Qe,L);break;case 35:T=[];for(let Ee=0;Ee<=5;Ee++)h+=i.shift(),b+=i.shift(),T.push(h,b);s.bezierCurveTo(...T.slice(0,6)),s.bezierCurveTo(...T.slice(6)),i.shift();break;case 36:re=h+i.shift(),ie=b+i.shift(),ne=re+i.shift(),se=ie+i.shift(),je=ne+i.shift(),$e=se,it=je+i.shift(),Ce=$e,Te=it+i.shift(),tt=Ce+i.shift(),Qe=Te+i.shift(),L=tt,h=Qe,b=L,s.bezierCurveTo(re,ie,ne,se,je,$e),s.bezierCurveTo(it,Ce,Te,tt,Qe,L);break;case 37:let Le=h,He=b;T=[];for(let Ee=0;Ee<=4;Ee++)h+=i.shift(),b+=i.shift(),T.push(h,b);Math.abs(h-Le)>Math.abs(b-He)?(h+=i.shift(),b=He):(h=Le,b+=i.shift()),T.push(h,b),s.bezierCurveTo(...T.slice(0,6)),s.bezierCurveTo(...T.slice(6));break;default:throw new Error(`Unknown op: 12 ${pe}`)}break;default:throw new Error(`Unknown op: ${pe}`)}}else if(pe<247)i.push(pe-139);else if(pe<251){var Oe=t.readUInt8();i.push((pe-247)*256+Oe+108)}else if(pe<255){var Oe=t.readUInt8();i.push(-(pe-251)*256-Oe-108)}else i.push(t.readInt32BE()/65536)}};return Y(),O&&s.closePath(),s}constructor(...e){super(...e),Ke(this,"type","CFF")}}let S1=new A({originX:o,originY:o,type:new me(4),data:new gt(a=>a.parent.buflen-a._currentOffset)});class I1 extends xr{getImageForSize(e){for(let i=0;i<this._font.sbix.imageTables.length;i++){var t=this._font.sbix.imageTables[i];if(t.ppem>=e)break}let r=t.imageOffsets,n=r[this.id],s=r[this.id+1];return n===s?null:(this._font.stream.pos=n,S1.decode(this._font.stream,{buflen:s-n}))}render(e,t){let r=this.getImageForSize(t);if(r!=null){let n=t/this._font.unitsPerEm;e.image(r.data,{height:t,x:r.originX,y:(this.bbox.minY-r.originY)*n})}this._font.sbix.flags.renderOutlines&&super.render(e,t)}constructor(...e){super(...e),Ke(this,"type","SBIX")}}class Us{constructor(e,t){this.glyph=e,this.color=t}}class E1 extends mt{_getBBox(){let e=new Ot;for(let t=0;t<this.layers.length;t++){let n=this.layers[t].glyph.bbox;e.addPoint(n.minX,n.minY),e.addPoint(n.maxX,n.maxY)}return e}get layers(){let e=this._font.CPAL,t=this._font.COLR,r=0,n=t.baseGlyphRecord.length-1;for(;r<=n;){let h=r+n>>1;var s=t.baseGlyphRecord[h];if(this.id<s.gid)n=h-1;else if(this.id>s.gid)r=h+1;else{var i=s;break}}if(i==null){var c=this._font._getBaseGlyph(this.id),f={red:0,green:0,blue:0,alpha:255};return[new Us(c,f)]}let p=[];for(let h=i.firstLayerIndex;h<i.firstLayerIndex+i.numLayers;h++){var s=t.layerRecords[h],f=e.colorRecords[s.paletteIndex],c=this._font._getBaseGlyph(s.gid);p.push(new Us(c,f))}return p}render(e,t){for(let{glyph:r,color:n}of this.layers)e.fillColor([n.red,n.green,n.blue],n.alpha/255*100),r.render(e,t)}constructor(...e){super(...e),Ke(this,"type","COLR")}}const k1=32768,F1=4095,B1=32768,Ns=16384,T1=8192,Gs=4095,Vs=128,zs=127,P1=128,O1=64,D1=63;class L1{normalizeCoords(e){let t=[];for(var r=0;r<this.font.fvar.axis.length;r++){let n=this.font.fvar.axis[r];e[r]<n.defaultValue?t.push((e[r]-n.defaultValue+Number.EPSILON)/(n.defaultValue-n.minValue+Number.EPSILON)):t.push((e[r]-n.defaultValue+Number.EPSILON)/(n.maxValue-n.defaultValue+Number.EPSILON))}if(this.font.avar)for(var r=0;r<this.font.avar.segment.length;r++){let s=this.font.avar.segment[r];for(let i=0;i<s.correspondence.length;i++){let c=s.correspondence[i];if(i>=1&&t[r]<c.fromCoord){let f=s.correspondence[i-1];t[r]=((t[r]-f.fromCoord)*(c.toCoord-f.toCoord)+Number.EPSILON)/(c.fromCoord-f.fromCoord+Number.EPSILON)+f.toCoord;break}}}return t}transformPoints(e,t){if(!this.font.fvar||!this.font.gvar)return;let{gvar:r}=this.font;if(e>=r.glyphCount)return;let n=r.offsets[e];if(n===r.offsets[e+1])return;let{stream:s}=this.font;if(s.pos=n,s.pos>=s.length)return;let i=s.readUInt16BE(),c=n+s.readUInt16BE();if(i&k1){var f=s.pos;s.pos=c;var p=this.decodePoints();c=s.pos,s.pos=f}let h=t.map(Q=>Q.copy());i&=F1;for(let Q=0;Q<i;Q++){let z=s.readUInt16BE(),W=s.readUInt16BE();if(W&B1){var b=[];for(let V=0;V<r.axisCount;V++)b.push(s.readInt16BE()/16384)}else{if((W&Gs)>=r.globalCoordCount)throw new Error("Invalid gvar table");var b=r.globalCoords[W&Gs]}if(W&Ns){var C=[];for(let V=0;V<r.axisCount;V++)C.push(s.readInt16BE()/16384);var F=[];for(let V=0;V<r.axisCount;V++)F.push(s.readInt16BE()/16384)}let E=this.tupleFactor(W,b,C,F);if(E===0){c+=z;continue}var f=s.pos;if(s.pos=c,W&T1)var O=this.decodePoints();else var O=p;let x=O.length===0?t.length:O.length,te=this.decodeDeltas(x),K=this.decodeDeltas(x);if(O.length===0)for(let V=0;V<t.length;V++){var G=t[V];G.x+=Math.round(te[V]*E),G.y+=Math.round(K[V]*E)}else{let V=h.map(Y=>Y.copy()),ae=t.map(()=>!1);for(let Y=0;Y<O.length;Y++){let ce=O[Y];if(ce<t.length){let Oe=V[ce];ae[ce]=!0,Oe.x+=te[Y]*E,Oe.y+=K[Y]*E}}this.interpolateMissingDeltas(V,h,ae);for(let Y=0;Y<t.length;Y++){let ce=V[Y].x-h[Y].x,Oe=V[Y].y-h[Y].y;t[Y].x=Math.round(t[Y].x+ce),t[Y].y=Math.round(t[Y].y+Oe)}}c+=z,s.pos=f}}decodePoints(){let e=this.font.stream,t=e.readUInt8();t&Vs&&(t=(t&zs)<<8|e.readUInt8());let r=new Uint16Array(t),n=0,s=0;for(;n<t;){let i=e.readUInt8(),c=(i&zs)+1,f=i&Vs?e.readUInt16:e.readUInt8;for(let p=0;p<c&&n<t;p++)s+=f.call(e),r[n++]=s}return r}decodeDeltas(e){let t=this.font.stream,r=0,n=new Int16Array(e);for(;r<e;){let s=t.readUInt8(),i=(s&D1)+1;if(s&P1)r+=i;else{let c=s&O1?t.readInt16BE:t.readInt8;for(let f=0;f<i&&r<e;f++)n[r++]=c.call(t)}}return n}tupleFactor(e,t,r,n){let s=this.normalizedCoords,{gvar:i}=this.font,c=1;for(let f=0;f<i.axisCount;f++)if(t[f]!==0){if(s[f]===0)return 0;if((e&Ns)===0){if(s[f]<Math.min(0,t[f])||s[f]>Math.max(0,t[f]))return 0;c=(c*s[f]+Number.EPSILON)/(t[f]+Number.EPSILON)}else{if(s[f]<r[f]||s[f]>n[f])return 0;s[f]<t[f]?c=c*(s[f]-r[f]+Number.EPSILON)/(t[f]-r[f]+Number.EPSILON):c=c*(n[f]-s[f]+Number.EPSILON)/(n[f]-t[f]+Number.EPSILON)}}return c}interpolateMissingDeltas(e,t,r){if(e.length===0)return;let n=0;for(;n<e.length;){let s=n,i=n,c=e[i];for(;!c.endContour;)c=e[++i];for(;n<=i&&!r[n];)n++;if(n>i)continue;let f=n,p=n;for(n++;n<=i;)r[n]&&(this.deltaInterpolate(p+1,n-1,p,n,t,e),p=n),n++;p===f?this.deltaShift(s,i,p,t,e):(this.deltaInterpolate(p+1,i,p,f,t,e),f>0&&this.deltaInterpolate(s,f-1,p,f,t,e)),n=i+1}}deltaInterpolate(e,t,r,n,s,i){if(e>t)return;let c=["x","y"];for(let p=0;p<c.length;p++){let h=c[p];if(s[r][h]>s[n][h]){var f=r;r=n,n=f}let b=s[r][h],C=s[n][h],F=i[r][h],O=i[n][h];if(b!==C||F===O){let G=b===C?0:(O-F)/(C-b);for(let Q=e;Q<=t;Q++){let z=s[Q][h];z<=b?z+=F-b:z>=C?z+=O-C:z=F+(z-b)*G,i[Q][h]=z}}}}deltaShift(e,t,r,n,s){let i=s[r].x-n[r].x,c=s[r].y-n[r].y;if(!(i===0&&c===0))for(let f=e;f<=t;f++)f!==r&&(s[f].x+=i,s[f].y+=c)}getAdvanceAdjustment(e,t){let r,n;if(t.advanceWidthMapping){let s=e;s>=t.advanceWidthMapping.mapCount&&(s=t.advanceWidthMapping.mapCount-1),t.advanceWidthMapping.entryFormat,{outerIndex:r,innerIndex:n}=t.advanceWidthMapping.mapData[s]}else r=0,n=e;return this.getDelta(t.itemVariationStore,r,n)}getDelta(e,t,r){if(t>=e.itemVariationData.length)return 0;let n=e.itemVariationData[t];if(r>=n.deltaSets.length)return 0;let s=n.deltaSets[r],i=this.getBlendVector(e,t),c=0;for(let f=0;f<n.regionIndexCount;f++)c+=s.deltas[f]*i[f];return c}getBlendVector(e,t){let r=e.itemVariationData[t];if(this.blendVectors.has(r))return this.blendVectors.get(r);let n=this.normalizedCoords,s=[];for(let i=0;i<r.regionIndexCount;i++){let c=1,f=r.regionIndexes[i],p=e.variationRegionList.variationRegions[f];for(let h=0;h<p.length;h++){let b=p[h],C;b.startCoord>b.peakCoord||b.peakCoord>b.endCoord||b.startCoord<0&&b.endCoord>0&&b.peakCoord!==0||b.peakCoord===0?C=1:n[h]<b.startCoord||n[h]>b.endCoord?C=0:n[h]===b.peakCoord?C=1:n[h]<b.peakCoord?C=(n[h]-b.startCoord+Number.EPSILON)/(b.peakCoord-b.startCoord+Number.EPSILON):C=(b.endCoord-n[h]+Number.EPSILON)/(b.endCoord-b.peakCoord+Number.EPSILON),c*=C}s[i]=c}return this.blendVectors.set(r,s),s}constructor(e,t){this.font=e,this.normalizedCoords=this.normalizeCoords(t),this.blendVectors=new Map}}Promise.resolve();class Za{includeGlyph(e){return typeof e=="object"&&(e=e.id),this.mapping[e]==null&&(this.glyphs.push(e),this.mapping[e]=this.glyphs.length-1),this.mapping[e]}constructor(e){this.font=e,this.glyphs=[],this.mapping={},this.includeGlyph(0)}}const M1=1,R1=2,U1=4,N1=8,G1=16,V1=32;class qs{static size(e){return e>=0&&e<=255?1:2}static encode(e,t){t>=0&&t<=255?e.writeUInt8(t):e.writeInt16BE(t)}}let Ws=new A({numberOfContours:P,xMin:P,yMin:P,xMax:P,yMax:P,endPtsOfContours:new w(o,"numberOfContours"),instructions:new w(M,o),flags:new w(M,0),xPoints:new w(qs,0),yPoints:new w(qs,0)});class z1{encodeSimple(e,t=[]){let r=[],n=[],s=[],i=[],c=0,f=0,p=0,h=0,b=0;for(let z=0;z<e.commands.length;z++){let W=e.commands[z];for(let E=0;E<W.args.length;E+=2){let U=W.args[E],x=W.args[E+1],te=0;if(W.command==="quadraticCurveTo"&&E===2){let K=e.commands[z+1];if(K&&K.command==="quadraticCurveTo"){let V=(f+K.args[0])/2,ae=(p+K.args[1])/2;if(U===V&&x===ae)continue}}W.command==="quadraticCurveTo"&&E===0||(te|=M1),te=this._encodePoint(U,f,n,te,R1,G1),te=this._encodePoint(x,p,s,te,U1,V1),te===h&&c<255?(i[i.length-1]|=N1,c++):(c>0&&(i.push(c),c=0),i.push(te),h=te),f=U,p=x,b++}W.command==="closePath"&&r.push(b-1)}e.commands.length>1&&e.commands[e.commands.length-1].command!=="closePath"&&r.push(b-1);let C=e.bbox,F={numberOfContours:r.length,xMin:C.minX,yMin:C.minY,xMax:C.maxX,yMax:C.maxY,endPtsOfContours:r,instructions:t,flags:i,xPoints:n,yPoints:s},O=Ws.size(F),G=4-O%4,Q=new X0(O+G);return Ws.encode(Q,F),G!==0&&Q.fill(0,G),Q.buffer}_encodePoint(e,t,r,n,s,i){let c=e-t;return e===t?n|=i:(-255<=c&&c<=255&&(n|=s,c<0?c=-c:n|=i),r.push(c)),n}}class q1 extends Za{_addGlyph(e){let t=this.font.getGlyph(e),r=t._decode(),n=this.font.loca.offsets[e],s=this.font.loca.offsets[e+1],i=this.font._getTableStream("glyf");i.pos+=n;let c=i.readBuffer(s-n);if(r&&r.numberOfContours<0){c=new Uint8Array(c);let f=new DataView(c.buffer);for(let p of r.components)e=this.includeGlyph(p.glyphID),f.setUint16(p.pos,e)}else r&&this.font._variationProcessor&&(c=this.glyphEncoder.encodeSimple(t.path,r.instructions));return this.glyf.push(c),this.loca.offsets.push(this.offset),this.hmtx.metrics.push({advance:t.advanceWidth,bearing:t._getMetrics().leftBearing}),this.offset+=c.length,this.glyf.length-1}encode(){this.glyf=[],this.offset=0,this.loca={offsets:[],version:this.font.loca.version},this.hmtx={metrics:[],bearings:[]};let e=0;for(;e<this.glyphs.length;)this._addGlyph(this.glyphs[e++]);let t=Rr(this.font.maxp);t.numGlyphs=this.glyf.length,this.loca.offsets.push(this.offset);let r=Rr(this.font.head);r.indexToLocFormat=this.loca.version;let n=Rr(this.font.hhea);return n.numberOfMetrics=this.hmtx.metrics.length,Na.toBuffer({tables:{head:r,hhea:n,loca:this.loca,maxp:t,"cvt ":this.font["cvt "],prep:this.font.prep,glyf:this.glyf,hmtx:this.hmtx,fpgm:this.font.fpgm}})}constructor(e){super(e),this.glyphEncoder=new z1}}class W1 extends Za{subsetCharstrings(){this.charstrings=[];let e={};for(let t of this.glyphs){this.charstrings.push(this.cff.getCharString(t));let r=this.font.getGlyph(t);r.path;for(let n in r._usedGsubrs)e[n]=!0}this.gsubrs=this.subsetSubrs(this.cff.globalSubrIndex,e)}subsetSubrs(e,t){let r=[];for(let n=0;n<e.length;n++){let s=e[n];t[n]?(this.cff.stream.pos=s.offset,r.push(this.cff.stream.readBuffer(s.length))):r.push(new Uint8Array([11]))}return r}subsetFontdict(e){e.FDArray=[],e.FDSelect={version:0,fds:[]};let t={},r=[],n={};for(let s of this.glyphs){let i=this.cff.fdForGlyph(s);if(i==null)continue;t[i]||(e.FDArray.push(Object.assign({},this.cff.topDict.FDArray[i])),r.push({}),n[i]=e.FDArray.length-1),t[i]=!0,e.FDSelect.fds.push(n[i]);let c=this.font.getGlyph(s);c.path;for(let f in c._usedSubrs)r[n[i]][f]=!0}for(let s=0;s<e.FDArray.length;s++){let i=e.FDArray[s];delete i.FontName,i.Private&&i.Private.Subrs&&(i.Private=Object.assign({},i.Private),i.Private.Subrs=this.subsetSubrs(i.Private.Subrs,r[s]))}}createCIDFontdict(e){let t={};for(let n of this.glyphs){let s=this.font.getGlyph(n);s.path;for(let i in s._usedSubrs)t[i]=!0}let r=Object.assign({},this.cff.topDict.Private);return this.cff.topDict.Private&&this.cff.topDict.Private.Subrs&&(r.Subrs=this.subsetSubrs(this.cff.topDict.Private.Subrs,t)),e.FDArray=[{Private:r}],e.FDSelect={version:3,nRanges:1,ranges:[{first:0,fd:0}],sentinel:this.charstrings.length}}addString(e){return e?(this.strings||(this.strings=[]),this.strings.push(e),W0.length+this.strings.length-1):null}encode(){this.subsetCharstrings();let e={version:this.charstrings.length>255?2:1,ranges:[{first:1,nLeft:this.charstrings.length-2}]},t=Object.assign({},this.cff.topDict);t.Private=null,t.charset=e,t.Encoding=null,t.CharStrings=this.charstrings;for(let n of["version","Notice","Copyright","FullName","FamilyName","Weight","PostScript","BaseFontName","FontName"])t[n]=this.addString(this.cff.string(t[n]));t.ROS=[this.addString("Adobe"),this.addString("Identity"),0],t.CIDCount=this.charstrings.length,this.cff.isCIDFont?this.subsetFontdict(t):this.createCIDFontdict(t);let r={version:1,hdrSize:this.cff.hdrSize,offSize:4,header:this.cff.header,nameIndex:[this.cff.postscriptName],topDictIndex:[t],stringIndex:this.strings,globalSubrIndex:this.gsubrs};return Da.toBuffer(r)}constructor(e){if(super(e),this.cff=this.font["CFF "],!this.cff)throw new Error("Not a CFF Font")}}class We{static probe(e){let t=dr.decode(e.slice(0,4));return t==="true"||t==="OTTO"||t==="\0\0\0"}setDefaultLanguage(e=null){this.defaultLanguage=e}_getTable(e){if(!(e.tag in this._tables))try{this._tables[e.tag]=this._decodeTable(e)}catch{}return this._tables[e.tag]}_getTableStream(e){let t=this.directory.tables[e];return t?(this.stream.pos=t.offset,this.stream):null}_decodeDirectory(){return this.directory=Na.decode(this.stream,{_startOffset:0})}_decodeTable(e){let t=this.stream.pos,r=this._getTableStream(e.tag),n=Q0[e.tag].decode(r,this,e.length);return this.stream.pos=t,n}getName(e,t=this.defaultLanguage||exports.defaultLanguage){let r=this.name&&this.name.records[e];return r&&(r[t]||r[this.defaultLanguage]||r[exports.defaultLanguage]||r.en||r[Object.keys(r)[0]])||null}get postscriptName(){return this.getName("postscriptName")}get fullName(){return this.getName("fullName")}get familyName(){return this.getName("fontFamily")}get subfamilyName(){return this.getName("fontSubfamily")}get copyright(){return this.getName("copyright")}get version(){return this.getName("version")}get ascent(){return this.hhea.ascent}get descent(){return this.hhea.descent}get lineGap(){return this.hhea.lineGap}get underlinePosition(){return this.post.underlinePosition}get underlineThickness(){return this.post.underlineThickness}get italicAngle(){return this.post.italicAngle}get capHeight(){let e=this["OS/2"];return e?e.capHeight:this.ascent}get xHeight(){let e=this["OS/2"];return e?e.xHeight:0}get numGlyphs(){return this.maxp.numGlyphs}get unitsPerEm(){return this.head.unitsPerEm}get bbox(){return Object.freeze(new Ot(this.head.xMin,this.head.yMin,this.head.xMax,this.head.yMax))}get _cmapProcessor(){return new An(this.cmap)}get characterSet(){return this._cmapProcessor.getCharacterSet()}hasGlyphForCodePoint(e){return!!this._cmapProcessor.lookup(e)}glyphForCodePoint(e){return this.getGlyph(this._cmapProcessor.lookup(e),[e])}glyphsForString(e){let t=[],r=e.length,n=0,s=-1,i=-1;for(;n<=r;){let c=0,f=0;if(n<r){if(c=e.charCodeAt(n++),55296<=c&&c<=56319&&n<r){let p=e.charCodeAt(n);56320<=p&&p<=57343&&(n++,c=((c&1023)<<10)+(p&1023)+65536)}f=65024<=c&&c<=65039||917760<=c&&c<=917999?1:0}else n++;i===0&&f===1?t.push(this.getGlyph(this._cmapProcessor.lookup(s,c),[s,c])):i===0&&f===0&&t.push(this.glyphForCodePoint(s)),s=c,i=f}return t}get _layoutEngine(){return new u1(this)}layout(e,t,r,n,s){return this._layoutEngine.layout(e,t,r,n,s)}stringsForGlyph(e){return this._layoutEngine.stringsForGlyph(e)}get availableFeatures(){return this._layoutEngine.getAvailableFeatures()}getAvailableFeatures(e,t){return this._layoutEngine.getAvailableFeatures(e,t)}_getBaseGlyph(e,t=[]){return this._glyphs[e]||(this.directory.tables.glyf?this._glyphs[e]=new xr(e,t,this):(this.directory.tables["CFF "]||this.directory.tables.CFF2)&&(this._glyphs[e]=new A1(e,t,this))),this._glyphs[e]||null}getGlyph(e,t=[]){return this._glyphs[e]||(this.directory.tables.sbix?this._glyphs[e]=new I1(e,t,this):this.directory.tables.COLR&&this.directory.tables.CPAL?this._glyphs[e]=new E1(e,t,this):this._getBaseGlyph(e,t)),this._glyphs[e]||null}createSubset(){return this.directory.tables["CFF "]?new W1(this):new q1(this)}get variationAxes(){let e={};if(!this.fvar)return e;for(let t of this.fvar.axis)e[t.axisTag.trim()]={name:t.name.en,min:t.minValue,default:t.defaultValue,max:t.maxValue};return e}get namedVariations(){let e={};if(!this.fvar)return e;for(let t of this.fvar.instance){let r={};for(let n=0;n<this.fvar.axis.length;n++){let s=this.fvar.axis[n];r[s.axisTag.trim()]=t.coord[n]}e[t.name.en]=r}return e}getVariation(e){if(!(this.directory.tables.fvar&&(this.directory.tables.gvar&&this.directory.tables.glyf||this.directory.tables.CFF2)))throw new Error("Variations require a font with the fvar, gvar and glyf, or CFF2 tables.");if(typeof e=="string"&&(e=this.namedVariations[e]),typeof e!="object")throw new Error("Variation settings must be either a variation name or settings object.");let t=this.fvar.axis.map((s,i)=>{let c=s.axisTag.trim();return c in e?Math.max(s.minValue,Math.min(s.maxValue,e[c])):s.defaultValue}),r=new Ge(this.stream.buffer);r.pos=this._directoryPos;let n=new We(r,t);return n._tables=this._tables,n}get _variationProcessor(){if(!this.fvar)return null;let e=this.variationCoords;return!e&&!this.CFF2?null:(e||(e=this.fvar.axis.map(t=>t.defaultValue)),new L1(this,e))}getFont(e){return this.getVariation(e)}constructor(e,t=null){Ke(this,"type","TTF"),this.defaultLanguage=null,this.stream=e,this.variationCoords=t,this._directoryPos=this.stream.pos,this._tables={},this._glyphs={},this._decodeDirectory();for(let r in this.directory.tables){let n=this.directory.tables[r];Q0[r]&&n.length>0&&Object.defineProperty(this,r,{get:this._getTable.bind(this,n)})}}}Ve([ze],We.prototype,"bbox",null);Ve([ze],We.prototype,"_cmapProcessor",null);Ve([ze],We.prototype,"characterSet",null);Ve([ze],We.prototype,"_layoutEngine",null);Ve([ze],We.prototype,"variationAxes",null);Ve([ze],We.prototype,"namedVariations",null);Ve([ze],We.prototype,"_variationProcessor",null);let $1=new A({tag:new me(4),offset:new v(y,"void",{type:"global"}),compLength:y,length:y,origChecksum:y}),Ka=new A({tag:new me(4),flavor:y,length:y,numTables:o,reserved:new Be(o),totalSfntSize:y,majorVersion:o,minorVersion:o,metaOffset:y,metaLength:y,metaOrigLength:y,privOffset:y,privLength:y,tables:new w($1,"numTables")});Ka.process=function(){let a={};for(let e of this.tables)a[e.tag]=e;this.tables=a};var H1=Ka;class X1 extends We{static probe(e){return dr.decode(e.slice(0,4))==="wOFF"}_decodeDirectory(){this.directory=H1.decode(this.stream,{_startOffset:0})}_getTableStream(e){let t=this.directory.tables[e];if(t)if(this.stream.pos=t.offset,t.compLength<t.length){this.stream.pos+=2;let r=new Uint8Array(t.length),n=Ri(this.stream.readBuffer(t.compLength-2),r);return new Ge(n)}else return this.stream;return null}constructor(...e){super(...e),Ke(this,"type","WOFF")}}class j1 extends xr{_decode(){return this._font._transformedGlyphs[this.id]}_getCBox(){return this.path.bbox}constructor(...e){super(...e),Ke(this,"type","WOFF2")}}const $s={decode(a){let e=0,t=[0,1,2,3,4];for(let r=0;r<t.length;r++){let n=a.readUInt8();if(e&3758096384)throw new Error("Overflow");if(e=e<<7|n&127,(n&128)===0)return e}throw new Error("Bad base 128 number")}};let Y1=["cmap","head","hhea","hmtx","maxp","name","OS/2","post","cvt ","fpgm","glyf","loca","prep","CFF ","VORG","EBDT","EBLC","gasp","hdmx","kern","LTSH","PCLT","VDMX","vhea","vmtx","BASE","GDEF","GPOS","GSUB","EBSC","JSTF","MATH","CBDT","CBLC","COLR","CPAL","SVG ","sbix","acnt","avar","bdat","bloc","bsln","cvar","fdsc","feat","fmtx","fvar","gvar","hsty","just","lcar","mort","morx","opbd","prop","trak","Zapf","Silf","Glat","Gloc","Feat","Sill"],Z1=new A({flags:M,customTag:new j0(new me(4),a=>(a.flags&63)===63),tag:a=>a.customTag||Y1[a.flags&63],length:$s,transformVersion:a=>a.flags>>>6&3,transformed:a=>a.tag==="glyf"||a.tag==="loca"?a.transformVersion===0:a.transformVersion!==0,transformLength:new j0($s,a=>a.transformed)}),Ja=new A({tag:new me(4),flavor:y,length:y,numTables:o,reserved:new Be(o),totalSfntSize:y,totalCompressedSize:y,majorVersion:o,minorVersion:o,metaOffset:y,metaLength:y,metaOrigLength:y,privOffset:y,privLength:y,tables:new w(Z1,"numTables")});Ja.process=function(){let a={};for(let e=0;e<this.tables.length;e++){let t=this.tables[e];a[t.tag]=t}return this.tables=a};var K1=Ja;class J1 extends We{static probe(e){return dr.decode(e.slice(0,4))==="wOF2"}_decodeDirectory(){this.directory=K1.decode(this.stream),this._dataPos=this.stream.pos}_decompress(){if(!this._decompressed){this.stream.pos=this._dataPos;let e=this.stream.readBuffer(this.directory.totalCompressedSize),t=0;for(let n in this.directory.tables){let s=this.directory.tables[n];s.offset=t,t+=s.transformLength!=null?s.transformLength:s.length}let r=Co(e,t);if(!r)throw new Error("Error decoding compressed data in WOFF2");this.stream=new Ge(r),this._decompressed=!0}}_decodeTable(e){return this._decompress(),super._decodeTable(e)}_getBaseGlyph(e,t=[]){if(!this._glyphs[e])return this.directory.tables.glyf&&this.directory.tables.glyf.transformed?(this._transformedGlyphs||this._transformGlyfTable(),this._glyphs[e]=new j1(e,t,this)):super._getBaseGlyph(e,t)}_transformGlyfTable(){this._decompress(),this.stream.pos=this.directory.tables.glyf.offset;let e=Q1.decode(this.stream),t=[];for(let n=0;n<e.numGlyphs;n++){let s={},i=e.nContours.readInt16BE();if(s.numberOfContours=i,i>0){let c=[],f=0;for(let p=0;p<i;p++){let h=Yr(e.nPoints);f+=h,c.push(f)}s.points=r2(e.flags,e.glyphs,f);for(let p=0;p<i;p++)s.points[c[p]-1].endContour=!0;var r=Yr(e.glyphs)}else if(i<0&&xr.prototype._decodeComposite.call({_font:this},s,e.composites))var r=Yr(e.glyphs);t.push(s)}this._transformedGlyphs=t}constructor(...e){super(...e),Ke(this,"type","WOFF2")}}class Mt{decode(e,t){return new Ge(this._buf.decode(e,t))}constructor(e){this.length=e,this._buf=new gt(e)}}let Q1=new A({version:y,numGlyphs:o,indexFormat:o,nContourStreamSize:y,nPointsStreamSize:y,flagStreamSize:y,glyphStreamSize:y,compositeStreamSize:y,bboxStreamSize:y,instructionStreamSize:y,nContours:new Mt("nContourStreamSize"),nPoints:new Mt("nPointsStreamSize"),flags:new Mt("flagStreamSize"),glyphs:new Mt("glyphStreamSize"),composites:new Mt("compositeStreamSize"),bboxes:new Mt("bboxStreamSize"),instructions:new Mt("instructionStreamSize")});const _1=253,e2=254,t2=255,Hs=253;function Yr(a){let e=a.readUInt8();return e===_1?a.readUInt16BE():e===t2?a.readUInt8()+Hs:e===e2?a.readUInt8()+Hs*2:e}function ut(a,e){return a&1?e:-e}function r2(a,e,t){let r,n=r=0,s=[];for(let f=0;f<t;f++){let p=0,h=0,b=a.readUInt8(),C=!(b>>7);if(b&=127,b<10)p=0,h=ut(b,((b&14)<<7)+e.readUInt8());else if(b<20)p=ut(b,((b-10&14)<<7)+e.readUInt8()),h=0;else if(b<84){var i=b-20,c=e.readUInt8();p=ut(b,1+(i&48)+(c>>4)),h=ut(b>>1,1+((i&12)<<2)+(c&15))}else if(b<120){var i=b-84;p=ut(b,1+(i/12<<8)+e.readUInt8()),h=ut(b>>1,1+(i%12>>2<<8)+e.readUInt8())}else if(b<124){var c=e.readUInt8();let O=e.readUInt8();p=ut(b,(c<<4)+(O>>4)),h=ut(b>>1,((O&15)<<8)+e.readUInt8())}else p=ut(b,e.readUInt16BE()),h=ut(b>>1,e.readUInt16BE());n+=p,r+=h,s.push(new rt(C,!1,n,r))}return s}let n2=new ue(y,{65536:{numFonts:y,offsets:new w(y,"numFonts")},131072:{numFonts:y,offsets:new w(y,"numFonts"),dsigTag:y,dsigLength:y,dsigOffset:y}});class s2{static probe(e){return dr.decode(e.slice(0,4))==="ttcf"}getFont(e){for(let t of this.header.offsets){let r=new Ge(this.stream.buffer);r.pos=t;let n=new We(r);if(n.postscriptName===e||n.postscriptName instanceof Uint8Array&&e instanceof Uint8Array&&n.postscriptName.every((s,i)=>e[i]===s))return n}return null}get fonts(){let e=[];for(let t of this.header.offsets){let r=new Ge(this.stream.buffer);r.pos=t,e.push(new We(r))}return e}constructor(e){if(Ke(this,"type","TTC"),this.stream=e,e.readString(4)!=="ttcf")throw new Error("Not a TrueType collection");this.header=n2.decode(e)}}let a2=new me(M);new A({len:y,buf:new gt("len")});let i2=new A({id:o,nameOffset:P,attr:M,dataOffset:Bt,handle:y}),o2=new A({name:new me(4),maxTypeIndex:o,refList:new v(o,new w(i2,a=>a.maxTypeIndex+1),{type:"parent"})}),l2=new A({length:o,types:new w(o2,a=>a.length+1)}),u2=new A({reserved:new Be(M,24),typeList:new v(o,l2),nameListOffset:new v(o,"void")}),Xs=new A({dataOffset:y,map:new v(y,u2),dataLength:y,mapLength:y});class c2{static probe(e){let t=new Ge(e);try{var r=Xs.decode(t)}catch{return!1}for(let n of r.map.typeList.types)if(n.name==="sfnt")return!0;return!1}getFont(e){if(!this.sfnt)return null;for(let t of this.sfnt.refList){let r=this.header.dataOffset+t.dataOffset+4,n=new Ge(this.stream.buffer.slice(r)),s=new We(n);if(s.postscriptName===e||s.postscriptName instanceof Uint8Array&&e instanceof Uint8Array&&s.postscriptName.every((i,c)=>e[c]===i))return s}return null}get fonts(){let e=[];for(let t of this.sfnt.refList){let r=this.header.dataOffset+t.dataOffset+4,n=new Ge(this.stream.buffer.slice(r));e.push(new We(n))}return e}constructor(e){Ke(this,"type","DFont"),this.stream=e,this.header=Xs.decode(this.stream);for(let t of this.header.map.typeList.types){for(let r of t.refList)r.nameOffset>=0?(this.stream.pos=r.nameOffset+this.header.map.nameListOffset,r.name=a2.decode(this.stream)):r.name=null;t.name==="sfnt"&&(this.sfnt=t)}}}Xt(We);Xt(X1);Xt(J1);Xt(s2);Xt(c2);exports.create=ba;exports.logErrors=pa;exports.registerFormat=Xt;exports.setDefaultLanguage=ga;
|
|
9
|
+
//# sourceMappingURL=browser-module-D0gHY9rY.cjs.map
|